You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by jt...@apache.org on 2011/08/10 22:50:03 UTC
svn commit: r1156363 - in /shindig/trunk/java:
common/src/main/java/org/apache/shindig/config/
gadgets/src/main/java/org/apache/shindig/gadgets/http/
gadgets/src/test/java/org/apache/shindig/gadgets/http/
Author: jtarrio
Date: Wed Aug 10 20:50:03 2011
New Revision: 1156363
URL: http://svn.apache.org/viewvc?rev=1156363&view=rev
Log:
Add the no_expand query parameter to the cache key
Modified:
shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfigLoader.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java
Modified: shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfigLoader.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfigLoader.java?rev=1156363&r1=1156362&r2=1156363&view=diff
==============================================================================
--- shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfigLoader.java (original)
+++ shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfigLoader.java Wed Aug 10 20:50:03 2011
@@ -21,6 +21,7 @@ package org.apache.shindig.config;
import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
@@ -265,8 +266,12 @@ public class JsonContainerConfigLoader {
}
private static Map<String, Object> jsonToMap(JSONObject json) {
+ String[] keys = JSONObject.getNames(json);
+ if (keys == null) {
+ return ImmutableMap.of();
+ }
Map<String, Object> values = new HashMap<String, Object>(json.length(), 1);
- for (String key : JSONObject.getNames(json)) {
+ for (String key : keys) {
Object val = jsonToConfig(json.opt(key));
values.put(key, val);
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java?rev=1156363&r1=1156362&r2=1156363&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java Wed Aug 10 20:50:03 2011
@@ -77,6 +77,7 @@ public abstract class AbstractHttpCache
private static final String RESIZE_HEIGHT = UriCommon.Param.RESIZE_HEIGHT.getKey();
private static final String RESIZE_WIDTH = UriCommon.Param.RESIZE_WIDTH.getKey();
private static final String RESIZE_QUALITY = UriCommon.Param.RESIZE_QUALITY.getKey();
+ private static final String NO_EXPAND = UriCommon.Param.NO_EXPAND.getKey();
// Amount of time after which the entry in cache should be considered for a refetch for a
// non-userfacing internal fetch when the response is strict-no-cache.
@@ -205,6 +206,7 @@ public abstract class AbstractHttpCache
* - the resize height parameter
* - the resize width parameter
* - the resize quality parameter
+ * - the no_expand parameter
*
* Except for the first two, all of these may be unset or <code>null</code>,
* depending on authentication rules. See individual methods for details. New cache key items
@@ -230,6 +232,7 @@ public abstract class AbstractHttpCache
.setParam("rh", request.getParam(RESIZE_HEIGHT))
.setParam("rw", request.getParam(RESIZE_WIDTH))
.setParam("rq", request.getParam(RESIZE_QUALITY))
+ .setParam("ne", request.getParam(NO_EXPAND))
.setParam("rm", request.getRewriteMimeType());
return keyBuilder.build();
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java?rev=1156363&r1=1156362&r2=1156363&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java Wed Aug 10 20:50:03 2011
@@ -69,7 +69,7 @@ public class AbstractHttpCacheTest {
}
private HttpRequest getMockImageRequest(String height, String width, String quality,
- String mimeType) {
+ boolean noExpand, String mimeType) {
HttpRequest request = EasyMock.createMock(HttpRequest.class);
expect(request.getUri()).andReturn(IMAGE_URI).anyTimes();
expect(request.getAuthType()).andReturn(AuthType.NONE).anyTimes();
@@ -77,6 +77,7 @@ public class AbstractHttpCacheTest {
expect(request.getParam(Param.RESIZE_HEIGHT.getKey())).andReturn(height).anyTimes();
expect(request.getParam(Param.RESIZE_WIDTH.getKey())).andReturn(width).anyTimes();
expect(request.getParam(Param.RESIZE_QUALITY.getKey())).andReturn(quality).anyTimes();
+ expect(request.getParam(Param.NO_EXPAND.getKey())).andReturn(noExpand ? "1" : null).anyTimes();
expect(request.getRewriteMimeType()).andReturn(mimeType).anyTimes();
replay(request);
return request;
@@ -85,7 +86,7 @@ public class AbstractHttpCacheTest {
@Test
public void createKeySimpleImageRequest() throws Exception {
// Mock the Request with Image Resize (Quality) params, without rewrite mimeType.
- HttpRequest request = getMockImageRequest("100", "80", "70", null);
+ HttpRequest request = getMockImageRequest("100", "80", "70", false, null);
CacheKeyBuilder key = new CacheKeyBuilder()
.setLegacyParam(0, IMAGE_URI)
.setLegacyParam(1, AuthType.NONE)
@@ -99,13 +100,14 @@ public class AbstractHttpCacheTest {
@Test
public void createKeyImageRequestRewrite() throws Exception {
// Mock the Request with Image Resize (Quality) params and specified rewrite mimeType.
- HttpRequest request = getMockImageRequest("100", "80", "70", "image/jpg");
+ HttpRequest request = getMockImageRequest("100", "80", "70", true, "image/jpg");
CacheKeyBuilder key = new CacheKeyBuilder()
.setLegacyParam(0, IMAGE_URI)
.setLegacyParam(1, AuthType.NONE)
.setParam("rh", "100")
.setParam("rw", "80")
.setParam("rq", "70")
+ .setParam("ne", "1")
.setParam("rm", "image/jpg");
assertEquals(key.build(), cache.createKey(request));