Author: etnu
Date: Wed Apr 1 22:23:28 2009
New Revision: 761092
URL: http://svn.apache.org/viewvc?rev=761092&view=rev
Log:
Long delayed patch for SHINDIG-401, eliminating most remaining java.net.URI ->
shindig Uri conversions due to GadgetContext.
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactory.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/GadgetOAuthTokenStore.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/HttpPreloader.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/Renderer.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ContentRewriterFeatureFactory.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/CajaContentRewriter.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsonRpcGadgetContext.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactoryTest.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/FakeGadgetSpecFactory.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/preload/PreloaderTestFixture.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/JsonRpcHandlerTest.java
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactory.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactory.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactory.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactory.java
Wed Apr 1 22:23:28 2009
@@ -30,16 +30,17 @@
import org.apache.shindig.gadgets.spec.ApplicationManifest;
import org.apache.shindig.gadgets.spec.GadgetSpec;
import org.apache.shindig.gadgets.spec.SpecParserException;
-import org.w3c.dom.Element;
-
-import java.util.concurrent.ExecutorService;
-import java.util.logging.Logger;
import com.google.common.base.Objects;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.google.inject.name.Named;
+import org.w3c.dom.Element;
+
+import java.util.concurrent.ExecutorService;
+import java.util.logging.Logger;
+
/**
* Default implementation of a gadget spec factory.
*/
@@ -84,7 +85,7 @@
}
}
- return fetchObject(Uri.fromJavaUri(context.getUrl()), context, false);
+ return fetchObject(context.getUrl(), context, false);
}
private GadgetSpec getSpecFromManifest(ApplicationManifest manifest,
GadgetContext context)
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java
Wed Apr 1 22:23:28 2009
@@ -18,10 +18,10 @@
package org.apache.shindig.gadgets;
import org.apache.shindig.auth.SecurityToken;
+import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.config.ContainerConfig;
import org.apache.shindig.gadgets.spec.GadgetSpec;
-import java.net.URI;
import java.util.Locale;
/**
@@ -52,7 +52,7 @@
/**
* @return The url for this gadget.
*/
- public URI getUrl() {
+ public Uri getUrl() {
return delegate == null ? null : delegate.getUrl();
}
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/GadgetOAuthTokenStore.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/GadgetOAuthTokenStore.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/GadgetOAuthTokenStore.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/GadgetOAuthTokenStore.java
Wed Apr 1 22:23:28 2009
@@ -42,9 +42,6 @@
import org.apache.commons.lang.StringUtils;
-import java.net.URI;
-import java.net.URISyntaxException;
-
/**
* Higher-level interface that allows callers to store and retrieve
* OAuth-related data directly from {...@code GadgetSpec}s, {...@code
GadgetContext}s,
@@ -154,7 +151,7 @@
service.getAuthorizationUrl().toJavaUri().toASCIIString(),
service.getAccessUrl().url.toJavaUri().toASCIIString());
}
-
+
private OAuthServiceProvider loadProgrammaticConfig(OAuthArguments arguments,
AccessorInfoBuilder accessorBuilder, OAuthResponseParams responseParams)
throws OAuthRequestException {
@@ -166,7 +163,7 @@
String requestMethod =
arguments.getRequestOption(OAuthArguments.REQUEST_METHOD_PARAM, "GET");
Method m = Method.parse(requestMethod);
accessorBuilder.setMethod(getStoreMethod(m, responseParams));
-
+
String requestTokenUrl =
arguments.getRequestOption(OAuthArguments.REQUEST_TOKEN_URL_PARAM);
verifyUrl(requestTokenUrl, responseParams);
String accessTokenUrl =
arguments.getRequestOption(OAuthArguments.ACCESS_TOKEN_URL_PARAM);
@@ -181,7 +178,7 @@
e.getMessage());
}
}
-
+
private void verifyUrl(String url, OAuthResponseParams responseParams)
throws OAuthRequestException {
if (url == null) {
@@ -283,8 +280,8 @@
private GadgetSpec findSpec(final SecurityToken securityToken, final
OAuthArguments arguments,
OAuthResponseParams responseParams) throws OAuthRequestException {
try {
- final URI uri = new URI(securityToken.getAppUrl());
-
+ final Uri uri = Uri.parse(securityToken.getAppUrl());
+
GadgetContext context = new GadgetContext() {
@Override
public String getContainer() {
@@ -298,7 +295,7 @@
}
@Override
- public URI getUrl() {
+ public Uri getUrl() {
return uri;
}
@@ -307,9 +304,9 @@
return arguments.getBypassSpecCache();
}
};
-
+
return specFactory.getGadgetSpec(context);
- } catch (URISyntaxException e) {
+ } catch (IllegalArgumentException e) {
throw responseParams.oauthRequestException(OAuthError.UNKNOWN_PROBLEM,
"Could not fetch gadget spec, gadget URI invalid.", e);
} catch (GadgetException e) {
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/HttpPreloader.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/HttpPreloader.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/HttpPreloader.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/HttpPreloader.java
Wed Apr 1 22:23:28 2009
@@ -18,7 +18,6 @@
*/
package org.apache.shindig.gadgets.preload;
-import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.gadgets.FetchResponseUtils;
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.GadgetContext;
@@ -29,6 +28,11 @@
import org.apache.shindig.gadgets.oauth.OAuthArguments;
import org.apache.shindig.gadgets.spec.Preload;
import org.apache.shindig.gadgets.spec.RequestAuthenticationInfo;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
+import com.google.inject.Inject;
+
import org.json.JSONException;
import org.json.JSONObject;
@@ -37,10 +41,6 @@
import java.util.Set;
import java.util.concurrent.Callable;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-import com.google.inject.Inject;
-
/**
* Handles HTTP Preloading (/ModulePrefs/Preload elements).
*
@@ -59,7 +59,7 @@
List<Callable<PreloadedData>> preloads = Lists.newArrayList();
GadgetContext context = gadget.getContext();
-
+
if (phase == PreloaderService.PreloadPhase.HTML_RENDER) {
for (Preload preload : gadget.getSpec().getModulePrefs().getPreloads()) {
Set<String> preloadViews = preload.getViews();
@@ -81,7 +81,7 @@
.setOAuthArguments(new OAuthArguments(authenticationInfo))
.setAuthType(authenticationInfo.getAuthType())
.setContainer(context.getContainer())
- .setGadget(Uri.fromJavaUri(context.getUrl()));
+ .setGadget(context.getUrl());
}
class PreloadTask implements Callable<PreloadedData> {
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/preload/PipelinedDataPreloader.java
Wed Apr 1 22:23:28 2009
@@ -33,6 +33,13 @@
import org.apache.shindig.gadgets.spec.PipelinedData;
import org.apache.shindig.gadgets.spec.RequestAuthenticationInfo;
import org.apache.shindig.gadgets.spec.View;
+
+import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Lists;
+import com.google.inject.Inject;
+
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@@ -47,12 +54,6 @@
import javax.el.ELResolver;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Lists;
-import com.google.inject.Inject;
-
/**
* Preloader for loading Data Pipelining Preload data.
*/
@@ -63,7 +64,7 @@
private static final Charset UTF8 = Charset.forName("UTF-8");
private static Set<String> HTTP_RESPONSE_HEADERS =
ImmutableSet.of("content-type", "location", "set-cookie");
-
+
private final Expressions expressions;
@Inject
@@ -125,7 +126,7 @@
/**
* Hook for executing a JSON RPC fetch for social data. Subclasses can
override
* to provide special handling (e.g., directly invoking a local API)
- *
+ *
* @param request the social request
* @return the response to the request
*/
@@ -157,7 +158,7 @@
.setPostBody(UTF8.encode(array.toString()).array())
.addHeader("Content-Type", "application/json; charset=UTF-8")
.setContainer(context.getContainer())
- .setGadget(Uri.fromJavaUri(context.getUrl()));
+ .setGadget(context.getUrl());
HttpResponse response = executeSocialRequest(request);
@@ -206,10 +207,10 @@
if (method != null) {
request.setMethod(method);
}
-
+
// TODO: params EL implementation is not yet properly escaped per spec
String params = preload.getAttributes().get("params");
- if ((params != null) && !"".equals(params)) {
+ if ((params != null) && !"".equals(params)) {
if ("POST".equalsIgnoreCase(request.getMethod())) {
request.setPostBody(params.getBytes("UTF-8"));
request.setHeader("Content-Type",
"application/x-www-form-urlencoded; charset=utf-8");
@@ -239,20 +240,20 @@
if (response.getHttpStatusCode() >= 400) {
wrapper.put("error", createJSONError(response.getHttpStatusCode(),
null, response));
} else {
- // Create {data: {status: [CODE], content: {...}|[...]|"...",
headers:{...}}}
+ // Create {data: {status: [CODE], content: {...}|[...]|"...",
headers:{...}}}
JSONObject data = new JSONObject();
wrapper.put("data", data);
// Add the status
data.put("status", response.getHttpStatusCode());
String responseText = response.getResponseAsString();
-
+
// Add allowed headers
JSONObject headers = createJSONHeaders(response);
if (headers != null) {
data.put("headers", headers);
}
-
+
// And add the parsed content
if (format == null || "json".equals(format)) {
try {
@@ -287,7 +288,7 @@
private static JSONObject createJSONHeaders(HttpResponse response)
throws JSONException {
JSONObject headers = null;
-
+
// Add allowed headers
for (String header: HTTP_RESPONSE_HEADERS) {
Collection<String> values = response.getHeaders(header);
@@ -304,10 +305,10 @@
headers.put(header, array);
}
}
-
+
return headers;
}
-
+
/**
* Create {error: { code: [CODE], data: {content: "....", headers: {...}}}}
*/
@@ -328,10 +329,10 @@
if (headers != null) {
data.put("headers", headers);
}
-
+
return error;
}
-
+
private Uri getSocialUri(GadgetContext context) {
String jsonUri = config.getString(context.getContainer(),
"gadgets.osDataUri");
Preconditions.checkNotNull(jsonUri, "No JSON URI available for social
preloads");
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java
Wed Apr 1 22:23:28 2009
@@ -17,6 +17,7 @@
*/
package org.apache.shindig.gadgets.process;
+import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.config.ContainerConfig;
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.GadgetBlacklist;
@@ -30,7 +31,6 @@
import com.google.inject.Inject;
import com.google.inject.Singleton;
-import java.net.URI;
import java.util.logging.Logger;
/**
@@ -62,7 +62,7 @@
* @throws ProcessingException If there is a problem processing the gadget.
*/
public Gadget process(GadgetContext context) throws ProcessingException {
- URI url = context.getUrl();
+ Uri url = context.getUrl();
if (url == null) {
throw new ProcessingException("Missing or malformed url parameter");
@@ -72,7 +72,7 @@
throw new ProcessingException("Unsupported scheme (must be http or
https).");
}
- if (blacklist.isBlacklisted(context.getUrl())) {
+ if (blacklist.isBlacklisted(context.getUrl().toJavaUri())) {
LOG.info("Attempted to render blacklisted gadget: " + context.getUrl());
throw new ProcessingException("The requested gadget is unavailable");
}
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/Renderer.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/Renderer.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/Renderer.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/Renderer.java
Wed Apr 1 22:23:28 2009
@@ -18,6 +18,7 @@
*/
package org.apache.shindig.gadgets.render;
+import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.config.ContainerConfig;
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.GadgetContext;
@@ -30,7 +31,6 @@
import com.google.inject.Inject;
-import java.net.URI;
import java.util.List;
import java.util.logging.Logger;
import java.util.regex.Pattern;
@@ -99,7 +99,7 @@
}
}
- private RenderingResults logError(URI gadgetUrl, Throwable t) {
+ private RenderingResults logError(Uri gadgetUrl, Throwable t) {
LOG.info("Failed to render gadget " + gadgetUrl + ": " + t.getMessage());
return RenderingResults.error(t.getMessage());
}
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ContentRewriterFeatureFactory.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ContentRewriterFeatureFactory.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ContentRewriterFeatureFactory.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ContentRewriterFeatureFactory.java
Wed Apr 1 22:23:28 2009
@@ -29,7 +29,6 @@
import com.google.inject.Singleton;
import com.google.inject.name.Named;
-import java.net.URI;
import java.util.Collections;
import java.util.Set;
@@ -45,7 +44,7 @@
private final String expires;
private final Set<String> includeTags;
- private ContentRewriterFeature defaultFeature;
+ private final ContentRewriterFeature defaultFeature;
@Inject
public ContentRewriterFeatureFactory(
@@ -73,18 +72,17 @@
}
public ContentRewriterFeature get(HttpRequest request) {
- Uri gadgetUri = request.getGadget();
+ final Uri gadgetUri = request.getGadget();
GadgetSpec spec;
if (gadgetUri != null) {
- final URI gadgetJavaUri = gadgetUri.toJavaUri();
try {
GadgetContext context = new GadgetContext() {
@Override
- public URI getUrl() {
- return gadgetJavaUri;
+ public Uri getUrl() {
+ return gadgetUri;
}
};
-
+
spec = specFactory.getGadgetSpec(context);
if (spec != null) {
return get(spec);
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/CajaContentRewriter.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/CajaContentRewriter.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/CajaContentRewriter.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/CajaContentRewriter.java
Wed Apr 1 22:23:28 2009
@@ -18,7 +18,6 @@
*/
package org.apache.shindig.gadgets.servlet;
-import org.apache.commons.lang.StringUtils;
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.http.HttpRequest;
import org.apache.shindig.gadgets.http.HttpResponse;
@@ -45,6 +44,8 @@
import com.google.caja.reporting.SnippetProducer;
import com.google.common.collect.Maps;
+import org.apache.commons.lang.StringUtils;
+
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
@@ -64,7 +65,7 @@
if (gadget.getSpec().getModulePrefs().getFeatures().containsKey("caja") ||
"1".equals(gadget.getContext().getParameter("caja"))) {
- final URI retrievedUri = gadget.getContext().getUrl();
+ final URI retrievedUri = gadget.getContext().getUrl().toJavaUri();
UriCallback cb = new UriCallback() {
public UriCallbackOption getOption(ExternalReference
externalReference, String string) {
return UriCallbackOption.REWRITE;
@@ -87,7 +88,7 @@
throw new UriCallbackException(externalReference, ex);
} catch (IOException ex) {
throw new UriCallbackException(externalReference, ex);
- }
+ }
}
public URI rewrite(ExternalReference externalReference, String string)
{
@@ -106,7 +107,7 @@
FilePosition.instance(is, 5, 5, 5));
StringBuilder output = new StringBuilder();
- // Secure default to remove content in case there
+ // Secure default to remove content in case there
// are problems cajoling a gadget
content.setContent("");
try {
@@ -174,7 +175,7 @@
for (Message m : mq.getMessages()) {
errbuilder.append(m.format(mc)).append('\n');
}
-
+
logger.info("Unable to cajole gadget: " + errbuilder);
// throw new GadgetException(
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java
Wed Apr 1 22:23:28 2009
@@ -19,16 +19,15 @@
package org.apache.shindig.gadgets.servlet;
-import com.google.common.collect.Maps;
-
import org.apache.shindig.auth.AuthInfo;
import org.apache.shindig.auth.SecurityToken;
+import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.gadgets.GadgetContext;
import org.apache.shindig.gadgets.RenderingContext;
import org.apache.shindig.gadgets.UserPrefs;
-import java.net.URI;
-import java.net.URISyntaxException;
+import com.google.common.collect.Maps;
+
import java.util.Enumeration;
import java.util.Locale;
import java.util.Map;
@@ -49,7 +48,7 @@
private final Locale locale;
private final Integer moduleId;
private final RenderingContext renderingContext;
- private final URI url;
+ private final Uri url;
private final UserPrefs userPrefs;
private final String view;
@@ -144,7 +143,7 @@
}
@Override
- public URI getUrl() {
+ public Uri getUrl() {
if (url == null) {
return super.getUrl();
}
@@ -254,14 +253,14 @@
* @param req
* @return The ignore cache setting, if appropriate params are set, or null.
*/
- private static URI getUrl(HttpServletRequest req) {
+ private static Uri getUrl(HttpServletRequest req) {
String url = req.getParameter("url");
if (url == null) {
return null;
}
try {
- return new URI(url);
- } catch (URISyntaxException e) {
+ return Uri.parse(url);
+ } catch (IllegalArgumentException e) {
return null;
}
}
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsonRpcGadgetContext.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsonRpcGadgetContext.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsonRpcGadgetContext.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsonRpcGadgetContext.java
Wed Apr 1 22:23:28 2009
@@ -18,17 +18,16 @@
*/
package org.apache.shindig.gadgets.servlet;
-import com.google.common.collect.Maps;
-
+import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.gadgets.GadgetContext;
import org.apache.shindig.gadgets.RenderingContext;
import org.apache.shindig.gadgets.UserPrefs;
+import com.google.common.collect.Maps;
+
import org.json.JSONException;
import org.json.JSONObject;
-import java.net.URI;
-import java.net.URISyntaxException;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
@@ -46,7 +45,7 @@
private final Locale locale;
private final Integer moduleId;
private final RenderingContext renderingContext;
- private final URI url;
+ private final Uri url;
private final UserPrefs userPrefs;
private final String view;
@@ -124,7 +123,7 @@
return renderingContext;
}
@Override
- public URI getUrl() {
+ public Uri getUrl() {
if (url == null) {
return super.getUrl();
}
@@ -177,11 +176,11 @@
* @return URL from the request, or null if not present
* @throws JSONException
*/
- private static URI getUrl(JSONObject json) throws JSONException {
+ private static Uri getUrl(JSONObject json) throws JSONException {
try {
String url = json.getString("url");
- return new URI(url);
- } catch (URISyntaxException e) {
+ return Uri.parse(url);
+ } catch (IllegalArgumentException e) {
return null;
}
}
Modified:
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactoryTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactoryTest.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactoryTest.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactoryTest.java
Wed Apr 1 22:23:28 2009
@@ -42,7 +42,6 @@
import org.easymock.EasyMock;
import org.junit.Test;
-import java.net.URI;
/**
* Tests for DefaultGadgetSpecFactory
@@ -91,8 +90,8 @@
}
@Override
- public URI getUrl() {
- return SPEC_URL.toJavaUri();
+ public Uri getUrl() {
+ return SPEC_URL;
}
@Override
@@ -131,8 +130,8 @@
private static GadgetContext createContext(final Uri uri, final boolean
ignoreCache) {
return new GadgetContext() {
@Override
- public URI getUrl() {
- return uri.toJavaUri();
+ public Uri getUrl() {
+ return uri;
}
@Override
@@ -207,8 +206,8 @@
GadgetSpec spec = specFactory.getGadgetSpec(new GadgetContext() {
@Override
- public URI getUrl() {
- return MANIFEST_URI.toJavaUri();
+ public Uri getUrl() {
+ return MANIFEST_URI;
}
@Override
Modified:
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java
Wed Apr 1 22:23:28 2009
@@ -22,12 +22,20 @@
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.isA;
-import org.apache.commons.lang.StringEscapeUtils;
import org.apache.shindig.common.EasyMockTestCase;
import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.config.AbstractContainerConfig;
import org.apache.shindig.gadgets.spec.GadgetSpec;
+import com.google.caja.util.Join;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+
+import org.apache.commons.lang.StringEscapeUtils;
+
+import junitx.framework.StringAssert;
+
import java.net.URI;
import java.util.Arrays;
import java.util.Collection;
@@ -35,13 +43,6 @@
import java.util.Locale;
import java.util.Map;
-import junitx.framework.StringAssert;
-
-import com.google.caja.util.Join;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
/**
* Tests for DefaultUrlGenerator.
*/
@@ -70,7 +71,7 @@
public void setUp() throws Exception {
super.setUp();
expect(context.getContainer()).andReturn(CONTAINER).anyTimes();
- expect(context.getUrl()).andReturn(URI.create(SPEC_URL)).anyTimes();
+ expect(context.getUrl()).andReturn(Uri.parse(SPEC_URL)).anyTimes();
Map<String, String> prefMap = Maps.newHashMap();
prefMap.put(UP_NAME, UP_VALUE);
UserPrefs prefs = new UserPrefs(prefMap);
Modified:
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/FakeGadgetSpecFactory.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/FakeGadgetSpecFactory.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/FakeGadgetSpecFactory.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/FakeGadgetSpecFactory.java
Wed Apr 1 22:23:28 2009
@@ -30,10 +30,10 @@
public static final String SERVICE_NAME_NO_KEY = "nokey";
public GadgetSpec getGadgetSpec(GadgetContext context) throws
GadgetException {
- Uri uri = Uri.fromJavaUri(context.getUrl());
+ Uri uri = context.getUrl();
String gadget = uri.toString();
String baseSpec = GadgetTokenStoreTest.GADGET_SPEC;
-
+
if (gadget.contains("nokey")) {
// For testing key lookup failures
String nokeySpec = baseSpec.replace(SERVICE_NAME, SERVICE_NAME_NO_KEY);
Modified:
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/preload/PreloaderTestFixture.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/preload/PreloaderTestFixture.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/preload/PreloaderTestFixture.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/preload/PreloaderTestFixture.java
Wed Apr 1 22:23:28 2009
@@ -18,13 +18,13 @@
*/
package org.apache.shindig.gadgets.preload;
-import com.google.common.collect.Maps;
import org.apache.shindig.auth.SecurityToken;
import org.apache.shindig.common.testing.FakeGadgetToken;
import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.gadgets.GadgetContext;
-import java.net.URI;
+import com.google.common.collect.Maps;
+
import java.util.Map;
/**
@@ -54,8 +54,8 @@
}
@Override
- public URI getUrl() {
- return GADGET_URL.toJavaUri();
+ public Uri getUrl() {
+ return GADGET_URL;
}
@Override
Modified:
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java
Wed Apr 1 22:23:28 2009
@@ -32,6 +32,7 @@
import org.apache.shindig.gadgets.GadgetSpecFactory;
import org.apache.shindig.gadgets.spec.GadgetSpec;
import org.apache.shindig.gadgets.variables.VariableSubstituter;
+
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
@@ -63,7 +64,7 @@
"{'gadgets.features':{views:" +
"{aliased: {aliases: ['some-alias', 'alias']}}" +
"}}}");
-
+
containerConfig = new JsonContainerConfig(config, new Expressions());
processor = new Processor(gadgetSpecFactory, substituter, containerConfig,
blacklist);
}
@@ -71,11 +72,11 @@
private GadgetContext makeContext(final String view, final Uri specUrl) {
return new GadgetContext() {
@Override
- public URI getUrl() {
+ public Uri getUrl() {
if (specUrl == null) {
return null;
}
- return specUrl.toJavaUri();
+ return specUrl;
}
@Override
@@ -170,7 +171,7 @@
if (exception != null) {
throw exception;
}
- return new GadgetSpec(Uri.fromJavaUri(context.getUrl()), GADGET);
+ return new GadgetSpec(context.getUrl(), GADGET);
}
}
Modified:
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java
Wed Apr 1 22:23:28 2009
@@ -17,7 +17,6 @@
*/
package org.apache.shindig.gadgets.rewrite;
-import org.apache.commons.lang.StringUtils;
import org.apache.shindig.common.PropertiesModule;
import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.config.AbstractContainerConfig;
@@ -33,17 +32,18 @@
import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
import org.apache.shindig.gadgets.parse.ParseModule;
import org.apache.shindig.gadgets.spec.GadgetSpec;
+
+import com.google.inject.AbstractModule;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+import org.apache.commons.lang.StringUtils;
import org.easymock.classextension.EasyMock;
import org.easymock.classextension.IMocksControl;
import org.junit.Before;
-import java.net.URI;
import java.util.Set;
-import com.google.inject.AbstractModule;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
/**
* Base class for testing content rewriting functionality
*/
@@ -53,9 +53,9 @@
public static final String DEFAULT_CONCAT_BASE =
"http://www.test.com/dir/concat?";
public static final String MOCK_CONTAINER = "mock";
- public static final String MOCK_PROXY_BASE =
+ public static final String MOCK_PROXY_BASE =
replaceDefaultWithMockServer(DEFAULT_PROXY_BASE);
- public static final String MOCK_CONCAT_BASE =
+ public static final String MOCK_CONCAT_BASE =
replaceDefaultWithMockServer(DEFAULT_CONCAT_BASE);
protected Set<String> tags;
@@ -94,11 +94,11 @@
return MOCK_CONCAT_BASE;
}
}
-
+
return null;
}
};
-
+
rewriterUris = new ContentRewriterUris(config, DEFAULT_PROXY_BASE,
DEFAULT_CONCAT_BASE);
control = EasyMock.createControl();
@@ -132,7 +132,7 @@
public static String replaceDefaultWithMockServer(String originalText) {
return originalText.replace("test.com", "mock.com");
}
-
+
ContentRewriterFeatureFactory mockContentRewriterFeatureFactory(
ContentRewriterFeature feature) {
return new FakeRewriterFeatureFactory(feature);
@@ -161,10 +161,10 @@
GadgetContext context = new GadgetContext() {
@Override
- public URI getUrl() {
- return SPEC_URL.toJavaUri();
+ public Uri getUrl() {
+ return SPEC_URL;
}
-
+
@Override
public String getContainer() {
return container;
Modified:
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/JsonRpcHandlerTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/JsonRpcHandlerTest.java?rev=761092&r1=761091&r2=761092&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/JsonRpcHandlerTest.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/JsonRpcHandlerTest.java
Wed Apr 1 22:23:28 2009
@@ -41,7 +41,6 @@
import org.junit.Before;
import org.junit.Test;
-import java.net.URI;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
@@ -89,8 +88,8 @@
@Before
public void setUp() {
- processor.gadgets.put(SPEC_URL.toJavaUri(), SPEC_XML);
- processor.gadgets.put(SPEC_URL2.toJavaUri(), SPEC_XML2);
+ processor.gadgets.put(SPEC_URL, SPEC_XML);
+ processor.gadgets.put(SPEC_URL2, SPEC_XML2);
}
private JSONObject createGadget(String url, int moduleId, Map<String,
String> prefs)
@@ -201,7 +200,7 @@
.put("context", createContext("en", "US"))
.put("gadgets", gadgets);
- processor.exceptions.put(SPEC_URL2.toJavaUri(), new
ProcessingException("broken"));
+ processor.exceptions.put(SPEC_URL2, new ProcessingException("broken"));
JSONObject response = jsonRpcHandler.process(input);
@@ -228,8 +227,8 @@
}
private static class FakeProcessor extends Processor {
- protected final Map<URI, ProcessingException> exceptions =
Maps.newHashMap();
- protected final Map<URI, String> gadgets = Maps.newHashMap();
+ protected final Map<Uri, ProcessingException> exceptions =
Maps.newHashMap();
+ protected final Map<Uri, String> gadgets = Maps.newHashMap();
public FakeProcessor() {
super(null, null, null, null);
@@ -237,6 +236,7 @@
@Override
public Gadget process(GadgetContext context) throws ProcessingException {
+
ProcessingException exception = exceptions.get(context.getUrl());
if (exception != null) {
throw exception;