Author: rbaxter85
Date: Mon Aug 19 23:44:24 2013
New Revision: 1515670
URL: http://svn.apache.org/r1515670
Log:
ClassCastException: org.apache.shindig.common.uri.Uri cannot be cast to
java.lang.String
SHINDIG-1923
Modified:
shindig/branches/2.5.0-updateX/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java
shindig/branches/2.5.0-updateX/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeIframeUriManager.java
shindig/branches/2.5.0-updateX/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java
Modified:
shindig/branches/2.5.0-updateX/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java
URL:
http://svn.apache.org/viewvc/shindig/branches/2.5.0-updateX/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java?rev=1515670&r1=1515669&r2=1515670&view=diff
==============================================================================
---
shindig/branches/2.5.0-updateX/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java
(original)
+++
shindig/branches/2.5.0-updateX/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java
Mon Aug 19 23:44:24 2013
@@ -86,9 +86,11 @@ import com.google.caja.reporting.Message
import com.google.caja.reporting.RenderContext;
import com.google.caja.util.Sets;
import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.Function;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
import com.google.inject.Inject;
import com.google.inject.name.Named;
@@ -214,8 +216,8 @@ public class GadgetsHandlerService {
HttpResponse.SC_BAD_REQUEST);
}
}
- Map<String, Uri> uris = needIfrUrls ?
- iframeUriManager.makeAllRenderingUris(gadget) : null;
+ Map<String, String> uris = needIfrUrls ?
+ translateUris(iframeUriManager.makeAllRenderingUris(gadget)) :
null;
Boolean needsTokenRefresh =
isFieldIncluded(fields, "needstokenrefresh") ?
gadget.getAllFeatures().contains("auth-refresh") : null;
@@ -234,6 +236,16 @@ public class GadgetsHandlerService {
rpcServiceIds);
}
+ private Map<String, String> translateUris(Map<String, Uri> iframeUris) {
+ Function<Uri, String> toString = new Function<Uri, String>() {
+ @Override
+ public String apply(Uri input) {
+ return input.toString();
+ }
+ };
+ return Maps.transformValues(iframeUris, toString);
+ }
+
/**
* Gets the set of allowed RPC service ids.
*
@@ -573,7 +585,7 @@ public class GadgetsHandlerService {
@VisibleForTesting
GadgetsHandlerApi.MetadataResponse createMetadataResponse(Uri url,
GadgetSpec spec, Map<String,
- Uri> iframeUris, Boolean needsTokenRefresh, Set<String> fields, Long
expireTime,
+ String> iframeUris, Boolean needsTokenRefresh, Set<String> fields,
Long expireTime,
Integer tokenTTL, Set<String> rpcServiceIds) {
return (GadgetsHandlerApi.MetadataResponse) beanFilter.createFilteredBean(
beanDelegator.createDelegator(spec,
GadgetsHandlerApi.MetadataResponse.class,
Modified:
shindig/branches/2.5.0-updateX/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeIframeUriManager.java
URL:
http://svn.apache.org/viewvc/shindig/branches/2.5.0-updateX/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeIframeUriManager.java?rev=1515670&r1=1515669&r2=1515670&view=diff
==============================================================================
---
shindig/branches/2.5.0-updateX/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeIframeUriManager.java
(original)
+++
shindig/branches/2.5.0-updateX/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/FakeIframeUriManager.java
Mon Aug 19 23:44:24 2013
@@ -29,11 +29,14 @@ import com.google.caja.util.Maps;
public class FakeIframeUriManager implements IframeUriManager {
protected boolean throwRandomFault = false;
- public static final Uri DEFAULT_IFRAME_URI =
Uri.parse("http://example.org/gadgets/foo-does-not-matter");
+ private static final String URI =
"http://example.org/gadgets/foo-does-not-matter";
+ public static final Uri DEFAULT_IFRAME_URI = Uri.parse(URI);
protected Uri iframeUrl = DEFAULT_IFRAME_URI;
public static Map<String, Uri> IFRAME_URIS = Maps.newHashMap();
+ public static Map<String, String> IFRAME_URIS_STRINGS = Maps.newHashMap();
static {
IFRAME_URIS.put("default", DEFAULT_IFRAME_URI);
+ IFRAME_URIS_STRINGS.put("default", URI);
}
FakeIframeUriManager() { }
Modified:
shindig/branches/2.5.0-updateX/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java
URL:
http://svn.apache.org/viewvc/shindig/branches/2.5.0-updateX/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java?rev=1515670&r1=1515669&r2=1515670&view=diff
==============================================================================
---
shindig/branches/2.5.0-updateX/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java
(original)
+++
shindig/branches/2.5.0-updateX/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerServiceTest.java
Mon Aug 19 23:44:24 2013
@@ -184,7 +184,7 @@ public class GadgetsHandlerServiceTest e
setupMockGadgetAdminStore(true);
setupMockRegistry(ImmutableList.<String> of("auth-refresh"));
GadgetsHandlerApi.MetadataResponse response =
gadgetHandler.getMetadata(request);
- assertEquals(FakeIframeUriManager.IFRAME_URIS, response.getIframeUrls());
+ assertEquals(FakeIframeUriManager.IFRAME_URIS_STRINGS,
response.getIframeUrls());
assertTrue(response.getNeedsTokenRefresh());
assertEquals(1, response.getViews().size());
assertEquals(FakeProcessor.SPEC_TITLE,
response.getModulePrefs().getTitle());
@@ -223,7 +223,7 @@ public class GadgetsHandlerServiceTest e
setupMockRegistry(Lists.newArrayList("example-feature",
"example-feature2"));
GadgetsHandlerApi.MetadataResponse response =
gadgetHandlerWithAdmin.getMetadata(request);
- assertEquals(FakeIframeUriManager.IFRAME_URIS, response.getIframeUrls());
+ assertEquals(FakeIframeUriManager.IFRAME_URIS_STRINGS,
response.getIframeUrls());
assertEquals(1, response.getViews().size());
assertEquals(FakeProcessor.SPEC_TITLE,
response.getModulePrefs().getTitle());
assertEquals(FakeProcessor.LINK_HREF,
@@ -310,7 +310,7 @@ public class GadgetsHandlerServiceTest e
setupMockGadgetAdminStore(true);
setupMockRegistry(Lists.newArrayList("auth-refresh"));
GadgetsHandlerApi.MetadataResponse response =
gadgetHandler.getMetadata(request);
- assertEquals(FakeIframeUriManager.IFRAME_URIS, response.getIframeUrls());
+ assertEquals(FakeIframeUriManager.IFRAME_URIS_STRINGS,
response.getIframeUrls());
verify();
}