You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by jo...@gmail.com on 2010/04/05 23:16:58 UTC

Update DefaultProxyUriManager and ProxyUriBase to support "synd" param (issue869043)

Reviewers: shindig.remailer_gmail.com, zhoresh,

Description:
"synd" is the legacy version of "container".

Use of this would be relatively odd (hard-coded use cases), but still of
some value.

Please review this at http://codereview.appspot.com/869043/show

Affected files:
    
java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java
    
java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriBase.java
    
java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManagerTest.java


Index:  
java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManagerTest.java
===================================================================
---  
java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManagerTest.java	 
(revision 930950)
+++  
java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManagerTest.java	 
(working copy)
@@ -85,7 +85,6 @@
      String path = "/proxy/path";
      ProxyUriManager.Versioner versioner = makeVersioner(null, version);
      DefaultProxyUriManager manager = makeManager(host, path, versioner);
-    Gadget gadget = mockGadget(debug, noCache);
      List<ProxyUri> proxyUris = Lists.newLinkedList();
      proxyUris.add(new ProxyUri(refresh, debug, noCache, CONTAINER,  
SPEC_URI.toString(),
          RESOURCE_1));
@@ -102,7 +101,6 @@
      String path = "/proxy/path";
      ProxyUriManager.Versioner versioner =  
makeVersioner(null, "version1", "version2");
      DefaultProxyUriManager manager = makeManager(host, path, versioner);
-    Gadget gadget = mockGadget(false, true);
      List<ProxyUri> proxyUris = Lists.newLinkedList();
      ProxyUri pUri = new ProxyUri(null, false, true, CONTAINER,  
SPEC_URI.toString(),
          RESOURCE_1);
@@ -135,7 +133,6 @@
      String path = "/proxy/" + DefaultProxyUriManager.CHAINED_PARAMS_TOKEN  
+ "/path";
      ProxyUriManager.Versioner versioner = makeVersioner(null, "version");
      DefaultProxyUriManager manager = makeManager(host, path, versioner);
-    Gadget gadget = mockGadget(false, true);
      List<ProxyUri> proxyUris = Lists.newLinkedList();
      ProxyUri pUri = new ProxyUri(null, false, true, CONTAINER,  
SPEC_URI.toString(),
          RESOURCE_1);
@@ -278,6 +275,26 @@
      assertEquals(false, proxyUri.isNoCache());
    }

+  @Test
+  public void containerFallsBackToSynd() throws Exception {
+    String host = "host.com";
+    String path = "/path";
+    DefaultProxyUriManager manager = makeManager(host, path, null);
+    UriBuilder uriBuilder = new UriBuilder();
+    uriBuilder.setScheme("http").setAuthority(host).setPath(path);
+    uriBuilder.addQueryParameter(Param.URL.getKey(),  
RESOURCE_1.toString());
+    uriBuilder.addQueryParameter("synd", CONTAINER);
+    uriBuilder.addQueryParameter(Param.GADGET.getKey(),  
SPEC_URI.toString());
+    uriBuilder.addQueryParameter(Param.REFRESH.getKey(), "321");
+    ProxyUriManager.ProxyUri proxyUri =  
manager.process(uriBuilder.toUri());
+    assertEquals(RESOURCE_1, proxyUri.getResource());
+    assertEquals(CONTAINER, proxyUri.getContainer());
+    assertEquals(SPEC_URI.toString(), proxyUri.getGadget());
+    assertEquals(321, (int)proxyUri.getRefresh());
+    assertEquals(false, proxyUri.isDebug());
+    assertEquals(false, proxyUri.isNoCache());
+  }
+
    @Test(expected = GadgetException.class)
    public void mismatchedHostStrict() throws Exception {
      String host = "host.com";
Index:  
java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java
===================================================================
---  
java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java	 
(revision 930950)
+++  
java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java	 
(working copy)
@@ -144,6 +144,9 @@

      // First determine if the URI is chained-syntax or query-style.
      String container = uriIn.getQueryParameter(Param.CONTAINER.getKey());
+    if (container == null) {
+      container = uriIn.getQueryParameter("synd");
+    }
      String uriStr = null;
      Uri queryUri = null;
      if (container != null &&
Index:  
java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriBase.java
===================================================================
---  
java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriBase.java	 
(revision 930950)
+++  
java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriBase.java	 
(working copy)
@@ -73,6 +73,10 @@
        debug = getBooleanValue(uri.getQueryParameter(Param.DEBUG.getKey()));
        noCache =  
getBooleanValue(uri.getQueryParameter(Param.NO_CACHE.getKey()));
        container = uri.getQueryParameter(Param.CONTAINER.getKey());
+      if (container == null) {
+        // Support "synd" for legacy purposes.
+        container = uri.getQueryParameter("synd");
+      }
        gadget = uri.getQueryParameter(Param.GADGET.getKey());
        rewriteMimeType =  
uri.getQueryParameter(Param.REWRITE_MIME_TYPE.getKey());
        sanitizeContent =  
getBooleanValue(uri.getQueryParameter(Param.SANITIZE.getKey()));