You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by jo...@apache.org on 2010/04/23 01:17:36 UTC
svn commit: r937101 - in /shindig/trunk/java/gadgets/src:
main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java
test/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManagerTest.java
Author: johnh
Date: Thu Apr 22 23:17:36 2010
New Revision: 937101
URL: http://svn.apache.org/viewvc?rev=937101&view=rev
Log:
NPE safety for DefaultProxyUriManager.
Patch supplied by Ziv Horesh.
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.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/DefaultProxyUriManager.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java?rev=937101&r1=937100&r2=937101&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 Thu Apr 22 23:17:36 2010
@@ -95,7 +95,7 @@ public class DefaultProxyUriManager impl
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();
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=937101&r1=937100&r2=937101&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 Thu Apr 22 23:17:36 2010
@@ -232,6 +232,18 @@ public class DefaultProxyUriManagerTest
}
@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 @@ public class DefaultProxyUriManagerTest
@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);