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