You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by ga...@apache.org on 2011/05/23 09:20:09 UTC

svn commit: r1126344 - in /shindig/trunk/java/gadgets/src: main/java/org/apache/shindig/gadgets/uri/ test/java/org/apache/shindig/gadgets/uri/

Author: gagan
Date: Mon May 23 07:20:09 2011
New Revision: 1126344

URL: http://svn.apache.org/viewvc?rev=1126344&view=rev
Log:
Patch by pulkitgoyal2000 | Issue 4321043: Changing version function definition in ConcatUri & ProxyUri Versioner interface | http://codereview.appspot.com/4321043/

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/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriManager.java
    shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManagerTest.java
    shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManagerTest.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=1126344&r1=1126343&r2=1126344&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 Mon May 23 07:20:09 2011
@@ -197,9 +197,13 @@ public interface ConcatUriManager {
      * Generates a version for each of the provided resources.
      * @param resourceUris List of resource "batches" to version.
      * @param container Container making the request
+     * @param resourceTags Index-correlated list of html tags, one per list of resouceUris as only
+     * similar tags can be concat. Each entry in resourceTags corresponds to html tag of resources
+     * uris. Any older implementations can just ignore.
      * @return Index-correlated list of version strings, one per input.
      */
-    List<String> version(List<List<Uri>> resourceUris, String container);
+    List<String> version(List<List<Uri>> resourceUris, String container,
+                         List<String> resourceTags);
     
     /**
      * Validate the version of the resource list.

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=1126344&r1=1126343&r2=1126344&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 Mon May 23 07:20:09 2011
@@ -100,7 +100,6 @@ public class DefaultConcatUriManager imp
     for (ConcatUri ctx : resourceUris) {
       concatUris.add(makeConcatUri(ctx, isAdjacent, container));
     }
-
     return concatUris;
   }
 
@@ -146,7 +145,8 @@ public class DefaultConcatUriManager imp
       if (uriBuilder.toString().length() > injectedMaxUrlLength) {
         uriBuilder.removeQueryParameter(i.toString());
 
-        addVersionAndSplitParam(uriBuilder, splitParam, doSplit, batchUris, container);
+        addVersionAndSplitParam(uriBuilder, splitParam, doSplit, batchUris, container,
+            ctx.getType());
         uris.add(uriBuilder.toUri());
 
         uriBuilder = makeUriBuilder(ctx, concatHost, concatPath);
@@ -159,7 +159,7 @@ public class DefaultConcatUriManager imp
     }
 
     if (batchUris != null && uriBuilder != ctx.makeQueryParams(null, null)) {
-      addVersionAndSplitParam(uriBuilder, splitParam, doSplit, batchUris, container);
+      addVersionAndSplitParam(uriBuilder, splitParam, doSplit, batchUris, container, ctx.getType());
       uris.add(uriBuilder.toUri());
     }
 
@@ -170,7 +170,7 @@ public class DefaultConcatUriManager imp
   }
 
   private void addVersionAndSplitParam(UriBuilder uriBuilder, String splitParam, boolean doSplit,
-                                       List<Uri> batchUris, String container) {
+                                       List<Uri> batchUris, String container, Type type) {
     // HashCode is used to differentiate splitParam paramter across ConcatUris
     // within single page/url. This value is appended to the splitParam value which
     // is recieved from config container.
@@ -179,12 +179,14 @@ public class DefaultConcatUriManager imp
       uriBuilder.addQueryParameter(Param.JSON.getKey(),
           (splitParam + String.valueOf(Math.abs(hashCode))));
     }
-    
+
     if (versioner != null) {
       List<String> versions = null;
       List<List<Uri>> batches = Lists.newArrayList();
+      List<String> resourceTags = Lists.newArrayList();
       batches.add(batchUris);
-      versions = versioner.version(batches, container);
+      resourceTags.add(type.getTagName().toLowerCase());
+      versions = versioner.version(batches, container, resourceTags);
       if (versions != null && versions.size() == 1) {
         String version = versions.get(0);
         if (version != null) {

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java?rev=1126344&r1=1126343&r2=1126344&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java Mon May 23 07:20:09 2011
@@ -98,9 +98,11 @@ public class DefaultProxyUriManager impl
     }
 
     List<Uri> resourceUris = Lists.newArrayListWithCapacity(resources.size());
+    List<String> resourceTags = Lists.newArrayListWithCapacity(resources.size());
 
     for (ProxyUri puc : resources) {
       resourceUris.add(puc.getResource());
+      resourceTags.add(puc.getHtmlTagContext());
     }
 
     Map<Uri, String> versions;
@@ -108,7 +110,8 @@ public class DefaultProxyUriManager impl
       versions = Collections.emptyMap();
     } else {
       versions = Maps.newHashMapWithExpectedSize(resources.size());
-      List<String> versionList = versioner.version(resourceUris, resources.get(0).getContainer());
+      List<String> versionList = versioner.version(resourceUris, resources.get(0).getContainer(),
+          resourceTags);
       if (versionList != null && versionList.size() == resources.size()) {
         // This should always be the case.
         // Should we error if not, or just WARNING?

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriManager.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriManager.java?rev=1126344&r1=1126343&r2=1126344&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriManager.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriManager.java Mon May 23 07:20:09 2011
@@ -241,16 +241,18 @@ public interface ProxyUriManager {
    * @return Status of the Uri passed in
    */
   ProxyUri process(Uri uri) throws GadgetException;
-  
+                                                                  
   public interface Versioner {
     /**
      * Generates a version for each of the provided resources.
      * @param resources Resources to version.
      * @param container Container making the request
+     * @param resourceTags Index-correlated list of html tags, one per resouceUris. Any older
+     * implementations can just ignore.
      * @return Index-correlated list of version strings
      */
-    List<String> version(List<Uri> resources, String container);
-    
+    List<String> version(List<Uri> resources, String container, List<String> resourceTags);
+
     /**
      * Validate the version of the resource.
      * @param resource Uri of a proxied resource

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=1126344&r1=1126343&r2=1126344&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 Mon May 23 07:20:09 2011
@@ -594,7 +594,7 @@ public class DefaultConcatUriManagerTest
   @SuppressWarnings("unchecked")
   private ConcatUriManager.Versioner makeVersioner(UriStatus status, String... versions) {
     ConcatUriManager.Versioner versioner = createMock(ConcatUriManager.Versioner.class);
-    expect(versioner.version(isA(List.class), eq(CONTAINER)))
+    expect(versioner.version(isA(List.class), eq(CONTAINER), isA(List.class)))
         .andReturn(ImmutableList.copyOf(versions)).anyTimes();
     expect(versioner.validate(isA(List.class), eq(CONTAINER), isA(String.class)))
         .andReturn(status).anyTimes();

Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManagerTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManagerTest.java?rev=1126344&r1=1126343&r2=1126344&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManagerTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManagerTest.java Mon May 23 07:20:09 2011
@@ -545,10 +545,10 @@ public class DefaultProxyUriManagerTest 
   private ProxyUriManager.Versioner makeVersioner(UriStatus status, String... versions) {
     ProxyUriManager.Versioner versioner = createMock(ProxyUriManager.Versioner.class);
     if (versions.length > 0) {
-      expect(versioner.version(isA(List.class), eq(CONTAINER)))
+      expect(versioner.version(isA(List.class), eq(CONTAINER), isA(List.class)))
           .andReturn(Lists.newArrayList(versions)).anyTimes();
     } else {
-      expect(versioner.version(isA(List.class), eq(CONTAINER)))
+      expect(versioner.version(isA(List.class), eq(CONTAINER), isA(List.class)))
           .andReturn(null).anyTimes();
     }
     expect(versioner.validate(isA(Uri.class), eq(CONTAINER), isA(String.class)))