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)))