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

Support null value from UriManager.Versioner (issue942042)

Reviewers: shindig.remailer_gmail.com, johnfargo,



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

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


### Eclipse Workspace Patch 1.0
#P shindig-project
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 936555)
+++  
java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java	 
(working copy)
@@ -95,7 +95,7 @@
      Map<Uri, String> versions = Maps.newHashMap();
      if (versioner != null) {
        List<String> versionList = versioner.version(resourceUris,  
resources.get(0).getContainer());
-      if (versionList.size() == resources.size()) {
+      if (versionList != null && versionList.size() == resources.size()) {
          // This should always be the case.
          // Should we error if not, or just WARNING?
          Iterator<String> versionIt = versionList.iterator();
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 936555)
+++  
java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManagerTest.java	 
(working copy)
@@ -232,6 +232,18 @@
    }

    @Test
+  public void batchedProxyChainedStyleNoVerisons() throws Exception {
+    String host = "host.com";
+    String path = "/proxy/" + DefaultProxyUriManager.CHAINED_PARAMS_TOKEN  
+ "/path";
+    List<Uri> resources = ImmutableList.<Uri>of(RESOURCE_1, RESOURCE_2,  
RESOURCE_3);
+    List<Uri> uris = makeAndGet(host, path, true, true, resources);
+    assertEquals(3, uris.size());
+    for (int i = 0; i < 3; ++i) {
+      verifyChainedUri(resources.get(i), uris.get(i), true, true, null,  
false, host, path);
+    }
+  }
+
+  @Test
    public void validateQueryStyleUnversioned() throws Exception {
      // Validate tests also serve as end-to-end tests: create, unpack.
      checkValidate("/proxy/path", UriStatus.VALID_UNVERSIONED, null);
@@ -453,8 +465,13 @@
    @SuppressWarnings("unchecked")
    private ProxyUriManager.Versioner makeVersioner(UriStatus status,  
String... versions) {
      ProxyUriManager.Versioner versioner =  
createMock(ProxyUriManager.Versioner.class);
-    expect(versioner.version(isA(List.class), eq(CONTAINER)))
-        .andReturn(Lists.newArrayList(versions)).anyTimes();
+    if (versions.length > 0) {
+      expect(versioner.version(isA(List.class), eq(CONTAINER)))
+          .andReturn(Lists.newArrayList(versions)).anyTimes();
+    } else {
+      expect(versioner.version(isA(List.class), eq(CONTAINER)))
+          .andReturn(null).anyTimes();
+    }
      expect(versioner.validate(isA(Uri.class), eq(CONTAINER),  
isA(String.class)))
          .andReturn(status).anyTimes();
      replay(versioner);