Author: johnh
Date: Wed Mar  3 22:52:35 2010
New Revision: 918750

URL: http://svn.apache.org/viewvc?rev=918750&view=rev
Log:
Add fallback determination of Type (from old/direct rewriteMime parameter) to 
enable old-style Concat Uri creation to be compatible w/ new-style. Host and 
path-matching can be achieved through proper ContainerConfig setup.


Modified:
    
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ConcatUriManager.java
    
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManager.java
    
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManagerTest.java

Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ConcatUriManager.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ConcatUriManager.java?rev=918750&r1=918749&r2=918750&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ConcatUriManager.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ConcatUriManager.java
 Wed Mar  3 22:52:35 2010
@@ -69,6 +69,15 @@
       }
       return null;
     }
+    
+    public static Type fromMime(String mime) {
+      for (Type val : Type.values()) {
+        if (val.getMimeType().equals(mime)) {
+          return val;
+        }
+      }
+      return null;
+    }
   }
   
   /**

Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManager.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManager.java?rev=918750&r1=918749&r2=918750&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManager.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManager.java
 Wed Mar  3 22:52:35 2010
@@ -164,7 +164,11 @@
     List<Uri> uris = Lists.newLinkedList();
     Type type = Type.fromType(uri.getQueryParameter(Param.TYPE.getKey()));
     if (type == null) {
-      return BAD_URI;
+      // try "legacy" method
+      type = Type.fromMime(uri.getQueryParameter("rewriteMime"));
+      if (type == null) {
+        return BAD_URI;
+      }
     }
     String splitParam = type == Type.JS ? 
uri.getQueryParameter(Param.JSON.getKey()) : null;
     

Modified: 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManagerTest.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManagerTest.java?rev=918750&r1=918749&r2=918750&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManagerTest.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManagerTest.java
 Wed Mar  3 22:52:35 2010
@@ -258,6 +258,17 @@
   }
   
   @Test
+  public void validateOldStyleTypeUri() {
+    DefaultConcatUriManager manager = makeManager("host.com", "/path", null, 
null);
+    ConcatUriManager.ConcatUri validated =
+        manager.process(
+          Uri.parse("http://host.com/path?"; + Param.CONTAINER.getKey() + "=" + 
CONTAINER +
+            "&1=http://legit.com/1.dat&"; + Param.TYPE.getKey() + 
"=NOTATYPE&rewriteMime=text/css"));
+    assertEquals(UriStatus.VALID_UNVERSIONED, validated.getStatus());
+    assertEquals(ConcatUriManager.Type.CSS, validated.getType());
+  }
+  
+  @Test
   public void validateCssUriUnversioned() {
     checkUnversionedUri(ConcatUriManager.Type.CSS, false);
   }


Reply via email to