Author: zhoresh
Date: Mon Nov 22 22:21:46 2010
New Revision: 1037920
URL: http://svn.apache.org/viewvc?rev=1037920&view=rev
Log:
Ref: http://codereview.appspot.com/3222041/
Add render type to GadgetHandler metadata request
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandler.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandler.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandler.java?rev=1037920&r1=1037919&r2=1037920&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandler.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandler.java
Mon Nov 22 22:21:46 2010
@@ -477,12 +477,27 @@ public class GadgetsHandler {
}
}
+ @VisibleForTesting
+ static GadgetsHandlerApi.RenderingType getRenderingType(String value)
+ throws ProcessingException {
+ GadgetsHandlerApi.RenderingType type =
GadgetsHandlerApi.RenderingType.DEFAULT;
+ if (value != null) {
+ try {
+ type = GadgetsHandlerApi.RenderingType.valueOf(value.toUpperCase());
+ } catch (IllegalArgumentException e) {
+ throw new ProcessingException("Error parsing rendering type parameter",
+ HttpServletResponse.SC_BAD_REQUEST);
+ }
+ }
+ return type;
+ }
protected class MetadataRequestData extends AbstractRequest
implements GadgetsHandlerApi.MetadataRequest {
protected final Locale locale;
protected final boolean ignoreCache;
protected final boolean debug;
+ protected final GadgetsHandlerApi.RenderingType renderingType;
public MetadataRequestData(String url, BaseRequestItem request)
throws ProcessingException {
@@ -494,6 +509,7 @@ public class GadgetsHandler {
? new Locale(lang) : GadgetSpec.DEFAULT_LOCALE;
this.ignoreCache = getBooleanParam(request, "ignoreCache");
this.debug = getBooleanParam(request, "debug");
+ this.renderingType =
GadgetsHandler.getRenderingType(request.getParameter("render"));
}
public int getModuleId() {
@@ -520,5 +536,9 @@ public class GadgetsHandler {
return beanDelegator.createDelegator(
request.getToken(), GadgetsHandlerApi.TokenData.class);
}
+
+ public GadgetsHandlerApi.RenderingType getRenderingType() {
+ return renderingType;
+ }
}
}
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java?rev=1037920&r1=1037919&r2=1037920&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java
Mon Nov 22 22:21:46 2010
@@ -67,6 +67,14 @@ public class GadgetsHandlerApi {
public boolean getDebug();
public String getView();
public TokenData getToken();
+ public RenderingType getRenderingType();
+ }
+
+ public enum RenderingType {
+ DEFAULT,
+ SANITIZED,
+ INLINE_CAJOLED,
+ IFRAME_CAJOLED
}
public interface TokenData {
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java?rev=1037920&r1=1037919&r2=1037920&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java
Mon Nov 22 22:21:46 2010
@@ -333,6 +333,11 @@ public class GadgetsHandlerService {
public SecurityToken getToken() {
return token;
}
+
+ @Override
+ public boolean getSanitize() {
+ return (request.getRenderingType() ==
GadgetsHandlerApi.RenderingType.SANITIZED);
+ }
}
private SecurityToken convertToken(GadgetsHandlerApi.TokenData token,
Modified:
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java?rev=1037920&r1=1037919&r2=1037920&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java
(original)
+++
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerTest.java
Mon Nov 22 22:21:46 2010
@@ -151,6 +151,21 @@ public class GadgetsHandlerTest extends
}
@Test
+ public void testGetRenderingType() throws Exception {
+ assertEquals(GadgetsHandlerApi.RenderingType.DEFAULT,
GadgetsHandler.getRenderingType(null));
+ assertEquals(GadgetsHandlerApi.RenderingType.SANITIZED,
+ GadgetsHandler.getRenderingType("sanitized"));
+ assertEquals(GadgetsHandlerApi.RenderingType.INLINE_CAJOLED,
+ GadgetsHandler.getRenderingType("inline_cajoled"));
+ try {
+ GadgetsHandler.getRenderingType("unknown");
+ fail("Should have failed");
+ } catch (ProcessingException e) {
+ // As expected
+ }
+ }
+
+ @Test
public void testTokenEmptyRequest() throws Exception {
registerGadgetsHandler(null);
JSONObject request = makeTokenRequest();