You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by jo...@apache.org on 2010/06/03 20:43:33 UTC
svn commit: r951107 - in /shindig/trunk: ./ config/
java/gadgets/src/main/java/org/apache/shindig/gadgets/
java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/
java/gadgets/src/main/java/org/apache/shindig/gadgets/render/
java/gadgets/src/main/...
Author: johnh
Date: Thu Jun 3 18:43:32 2010
New Revision: 951107
URL: http://svn.apache.org/viewvc?rev=951107&view=rev
Log:
This CL bites the bullet and removes all traces of the UrlGenerator
interface from Shindig, instead favoring the replacement *UriManager
classes.
@see UPGRADING for comments re: upgrading existing custom UrlGenerator impls
to *UriManager, as well as config updates that are required.
Removed:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultUrlGenerator.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/UrlGenerator.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/UrlValidationStatus.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/GlueUrlGenerator.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/GlueUrlGeneratorTest.java
Modified:
shindig/trunk/UPGRADING
shindig/trunk/config/container.js
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/GadgetOAuthCallbackGenerator.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServlet.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsServlet.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsonRpcHandler.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactoryTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultMessageBundleFactoryTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/GadgetOAuthCallbackGeneratorTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/GadgetTokenStoreTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServletTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HtmlAccelServletTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/JsonRpcHandlerTest.java
Modified: shindig/trunk/UPGRADING
URL: http://svn.apache.org/viewvc/shindig/trunk/UPGRADING?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/UPGRADING (original)
+++ shindig/trunk/UPGRADING Thu Jun 3 18:43:32 2010
@@ -75,6 +75,24 @@ provision for reading "original" HttpRes
ImageRewriters may be migrated to ResponseRewriters as well by mutating the builder,
where previously a new HttpResponse was returned.
+* UrlManager -> IframeUriManager, JsUriManager, OAuthUriManager
+
+The UrlManager interface has been removed. In its place are IframeUriManager, JsUriManager, and OAuthUriManager,
+producing Uris (equivalent to previous Strings). This change is done to better encapsulate Uri logic, putting
+creation and processing logic in the same place.
+
+@see (now-removed) shim class
+http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/GlueUrlGenerator.java?revision=906688&view=markup
+
+...for a schematic on how the previous methods map to new versions. This class was a bridge between the new
+and old interfaces.
+
+Default implementations of each UriManager class are provided in org.apache.shindig.gadgets.uri, each
+named DefaultX, where X = interface. These classes are suitable for subclassing to extend, should you prefer.
+Note that the ContainerConfig values the default implementations use are different (mostly by name/key)
+than those DefaultUrlGenerator used. Specific values are documented in the class comment and statics
+for each impl.
+
* MediaItem
Location field changed from String to Address.
Modified: shindig/trunk/config/container.js
URL: http://svn.apache.org/viewvc/shindig/trunk/config/container.js?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/config/container.js (original)
+++ shindig/trunk/config/container.js Thu Jun 3 18:43:32 2010
@@ -91,9 +91,18 @@
//"gadgets.securityTokenType" : "secure",
//"gadgets.securityTokenKeyFile" : "/path/to/key/file.txt",
+"defaultShindigTestHost": "http://localhost:9003",
+
+// Default Uri config: these must be overridden - specified here for testing purposes
+"gadgets.uri.iframe.unlockedDomain": "${Cur['defaultShindigTestHost']}",
+"gadgets.uri.iframe.lockedDomainSuffix": "${Cur['defaultShindigTestHost']}",
+
+// Default Js Uri config: also must be overridden.
+"gadgets.uri.js.host": "${Cur['defaultShindigTestHost']}",
+"gadgets.uri.js.path": "/gadgets/js",
// Default concat Uri config; used for testing.
-"gadgets.uri.concat.host" : "localhost:9003",
+"gadgets.uri.concat.host" : "${Cur['defaultShindigTestHost']}",
"gadgets.uri.concat.path" : "/gadgets/concat",
// This config data will be passed down to javascript. Please
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java Thu Jun 3 18:43:32 2010
@@ -99,7 +99,8 @@ public class DefaultGuiceModule extends
* Sets up the multibinding for extended feature resources
*/
protected void registerFeatureHandlers() {
- Multibinder<String> featureBinder = Multibinder.newSetBinder(binder(), String.class, Names.named("org.apache.shindig.features-extended"));
+ /*Multibinder<String> featureBinder = */
+ Multibinder.newSetBinder(binder(), String.class, Names.named("org.apache.shindig.features-extended"));
}
/**
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/GadgetOAuthCallbackGenerator.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/GadgetOAuthCallbackGenerator.java?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/GadgetOAuthCallbackGenerator.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/oauth/GadgetOAuthCallbackGenerator.java Thu Jun 3 18:43:32 2010
@@ -30,11 +30,11 @@ import org.apache.shindig.common.uri.Uri
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.GadgetContext;
import org.apache.shindig.gadgets.LockedDomainService;
-import org.apache.shindig.gadgets.UrlGenerator;
import org.apache.shindig.gadgets.http.HttpRequest;
import org.apache.shindig.gadgets.process.ProcessingException;
import org.apache.shindig.gadgets.process.Processor;
import org.apache.shindig.gadgets.servlet.OAuthCallbackServlet;
+import org.apache.shindig.gadgets.uri.OAuthUriManager;
/**
* Generates callback URLs for gadgets using OAuth 1.0a. There are three relevant callback URLs:
@@ -82,16 +82,16 @@ public class GadgetOAuthCallbackGenerato
private final Processor processor;
private final LockedDomainService lockedDomainService;
- private final UrlGenerator urlGenerator;
+ private final OAuthUriManager oauthUriManager;
private final BlobCrypter stateCrypter;
@Inject
public GadgetOAuthCallbackGenerator(Processor processor, LockedDomainService lockedDomainService,
- UrlGenerator urlGenerator, @Named(OAuthFetcherConfig.OAUTH_STATE_CRYPTER)
+ OAuthUriManager oauthUriManager, @Named(OAuthFetcherConfig.OAUTH_STATE_CRYPTER)
BlobCrypter stateCrypter) {
this.processor = processor;
this.lockedDomainService = lockedDomainService;
- this.urlGenerator = urlGenerator;
+ this.oauthUriManager = oauthUriManager;
this.stateCrypter = stateCrypter;
}
@@ -128,14 +128,13 @@ public class GadgetOAuthCallbackGenerato
}
private String getGadgetDomainCallback(SecurityToken securityToken, Uri activeUrl) {
- String baseCallback = urlGenerator.getGadgetDomainOAuthCallback(
+ Uri gadgetCallback = oauthUriManager.makeOAuthCallbackUri(
securityToken.getContainer(), activeUrl.getAuthority());
- if (baseCallback == null) {
+ if (gadgetCallback == null) {
return null;
}
- UriBuilder gadgetCallback = UriBuilder.parse(baseCallback);
if (StringUtils.isEmpty(gadgetCallback.getScheme())) {
- gadgetCallback.setScheme(activeUrl.getScheme());
+ gadgetCallback = new UriBuilder(gadgetCallback).setScheme(activeUrl.getScheme()).toUri();
}
return gadgetCallback.toString();
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java Thu Jun 3 18:43:32 2010
@@ -29,7 +29,6 @@ import org.apache.shindig.gadgets.Gadget
import org.apache.shindig.gadgets.GadgetException;
import org.apache.shindig.gadgets.MessageBundleFactory;
import org.apache.shindig.gadgets.UnsupportedFeatureException;
-import org.apache.shindig.gadgets.UrlGenerator;
import org.apache.shindig.gadgets.features.FeatureRegistry;
import org.apache.shindig.gadgets.features.FeatureResource;
import org.apache.shindig.gadgets.oauth.OAuthArguments;
@@ -43,6 +42,7 @@ import org.apache.shindig.gadgets.spec.M
import org.apache.shindig.gadgets.spec.ModulePrefs;
import org.apache.shindig.gadgets.spec.UserPref;
import org.apache.shindig.gadgets.spec.View;
+import org.apache.shindig.gadgets.uri.JsUriManager;
import org.apache.commons.lang.StringUtils;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -99,7 +99,7 @@ public class RenderingGadgetRewriter imp
protected final MessageBundleFactory messageBundleFactory;
protected final ContainerConfig containerConfig;
protected final FeatureRegistry featureRegistry;
- protected final UrlGenerator urlGenerator;
+ protected final JsUriManager jsUriManager;
protected final RpcServiceLookup rpcServiceLookup;
protected Set<String> defaultExternLibs = ImmutableSet.of();
@@ -112,12 +112,12 @@ public class RenderingGadgetRewriter imp
public RenderingGadgetRewriter(MessageBundleFactory messageBundleFactory,
ContainerConfig containerConfig,
FeatureRegistry featureRegistry,
- UrlGenerator urlGenerator,
+ JsUriManager jsUriManager,
RpcServiceLookup rpcServiceLookup) {
this.messageBundleFactory = messageBundleFactory;
this.containerConfig = containerConfig;
this.featureRegistry = featureRegistry;
- this.urlGenerator = urlGenerator;
+ this.jsUriManager = jsUriManager;
this.rpcServiceLookup = rpcServiceLookup;
}
@@ -242,7 +242,7 @@ public class RenderingGadgetRewriter imp
}
if (!externForcedLibs.isEmpty()) {
- String jsUrl = urlGenerator.getBundledJsUrl(externForcedLibs, context);
+ String jsUrl = jsUriManager.makeExternJsUri(gadget, externForcedLibs).toString();
Element libsTag = headTag.getOwnerDocument().createElement("script");
libsTag.setAttribute("src", StringUtils.replace(jsUrl, "&", "&"));
headTag.appendChild(libsTag);
@@ -284,7 +284,7 @@ public class RenderingGadgetRewriter imp
externGadgetLibs.removeAll(externForcedLibs);
if (!externGadgetLibs.isEmpty()) {
- String jsUrl = urlGenerator.getBundledJsUrl(externGadgetLibs, context);
+ String jsUrl = jsUriManager.makeExternJsUri(gadget, externGadgetLibs).toString();
Element libsTag = headTag.getOwnerDocument().createElement("script");
libsTag.setAttribute("src", StringUtils.replace(jsUrl, "&", "&"));
headTag.appendChild(libsTag);
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServlet.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServlet.java?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServlet.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServlet.java Thu Jun 3 18:43:32 2010
@@ -19,12 +19,13 @@ package org.apache.shindig.gadgets.servl
import org.apache.shindig.common.servlet.HttpUtil;
import org.apache.shindig.common.servlet.InjectedServlet;
+import org.apache.shindig.common.uri.UriBuilder;
import org.apache.shindig.gadgets.GadgetContext;
-import org.apache.shindig.gadgets.UrlGenerator;
-import org.apache.shindig.gadgets.UrlValidationStatus;
import org.apache.shindig.gadgets.http.HttpRequest;
import org.apache.shindig.gadgets.render.Renderer;
import org.apache.shindig.gadgets.render.RenderingResults;
+import org.apache.shindig.gadgets.uri.IframeUriManager;
+import org.apache.shindig.gadgets.uri.UriStatus;
import com.google.inject.Inject;
@@ -46,7 +47,7 @@ public class GadgetRenderingServlet exte
private static final Logger LOG = Logger.getLogger(GadgetRenderingServlet.class.getName());
private Renderer renderer;
- private UrlGenerator urlGenerator;
+ private IframeUriManager iframeUriManager;
@Inject
public void setRenderer(Renderer renderer) {
@@ -54,11 +55,11 @@ public class GadgetRenderingServlet exte
}
@Inject
- public void setUrlGenerator(UrlGenerator gadgetUrlGenerator) {
- this.urlGenerator = gadgetUrlGenerator;
+ public void setIframeUriManager(IframeUriManager iframeUriManager) {
+ this.iframeUriManager = iframeUriManager;
}
- private void render(HttpServletRequest req, HttpServletResponse resp, UrlValidationStatus urlstatus)
+ private void render(HttpServletRequest req, HttpServletResponse resp, UriStatus urlstatus)
throws IOException {
if (req.getHeader(HttpRequest.DOS_PREVENTION_HEADER) != null) {
// Refuse to render for any request that came from us.
@@ -76,9 +77,9 @@ public class GadgetRenderingServlet exte
switch (results.getStatus()) {
case OK:
if (context.getIgnoreCache() ||
- urlstatus == UrlValidationStatus.INVALID) {
+ urlstatus == UriStatus.INVALID_VERSION) {
HttpUtil.setCachingHeaders(resp, 0);
- } else if (urlstatus == UrlValidationStatus.VALID_VERSIONED) {
+ } else if (urlstatus == UriStatus.VALID_VERSIONED) {
// Versioned files get cached indefinitely
HttpUtil.setCachingHeaders(resp, true);
} else {
@@ -113,10 +114,10 @@ public class GadgetRenderingServlet exte
// If an If-Modified-Since header is ever provided, we always say
// not modified. This is because when there actually is a change,
// cache busting should occur.
- UrlValidationStatus urlstatus = getUrlStatus(req);
+ UriStatus urlstatus = getUrlStatus(req);
if (req.getHeader("If-Modified-Since") != null &&
!"1".equals(req.getParameter("nocache")) &&
- urlstatus == UrlValidationStatus.VALID_VERSIONED) {
+ urlstatus == UriStatus.VALID_VERSIONED) {
resp.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
return;
}
@@ -128,8 +129,7 @@ public class GadgetRenderingServlet exte
render(req, resp, getUrlStatus(req));
}
- private UrlValidationStatus getUrlStatus(HttpServletRequest req) {
- return urlGenerator.validateIframeUrl(
- req.getRequestURL().append('?').append(req.getQueryString()).toString());
+ private UriStatus getUrlStatus(HttpServletRequest req) {
+ return iframeUriManager.validateRenderingUri(new UriBuilder(req).toUri());
}
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsServlet.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsServlet.java?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsServlet.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsServlet.java Thu Jun 3 18:43:32 2010
@@ -26,13 +26,14 @@ import org.apache.commons.lang.StringUti
import org.apache.shindig.common.JsonSerializer;
import org.apache.shindig.common.servlet.HttpUtil;
import org.apache.shindig.common.servlet.InjectedServlet;
+import org.apache.shindig.common.uri.UriBuilder;
import org.apache.shindig.config.ContainerConfig;
import org.apache.shindig.gadgets.GadgetContext;
import org.apache.shindig.gadgets.RenderingContext;
-import org.apache.shindig.gadgets.UrlGenerator;
-import org.apache.shindig.gadgets.UrlValidationStatus;
import org.apache.shindig.gadgets.features.FeatureRegistry;
import org.apache.shindig.gadgets.features.FeatureResource;
+import org.apache.shindig.gadgets.uri.JsUriManager;
+import org.apache.shindig.gadgets.uri.UriStatus;
import com.google.inject.Inject;
@@ -64,10 +65,10 @@ public class JsServlet extends InjectedS
this.registry = registry;
}
- private UrlGenerator urlGenerator;
+ private JsUriManager jsUriManager;
@Inject
- public void setUrlGenerator(UrlGenerator urlGenerator) {
- this.urlGenerator = urlGenerator;
+ public void setUrlGenerator(JsUriManager jsUriManager) {
+ this.jsUriManager = jsUriManager;
}
private ContainerConfig containerConfig;
@@ -82,10 +83,9 @@ public class JsServlet extends InjectedS
// If an If-Modified-Since header is ever provided, we always say
// not modified. This is because when there actually is a change,
// cache busting should occur.
- UrlValidationStatus vstatus = urlGenerator.validateJsUrl(
- req.getRequestURL().append('?').append(req.getQueryString()).toString());
+ UriStatus vstatus = jsUriManager.processExternJsUri(new UriBuilder(req).toUri()).getStatus();
if (req.getHeader("If-Modified-Since") != null &&
- vstatus == UrlValidationStatus.VALID_VERSIONED) {
+ vstatus == UriStatus.VALID_VERSIONED) {
resp.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
return;
}
@@ -182,7 +182,7 @@ public class JsServlet extends InjectedS
// Unversioned files get cached for 1 hour.
HttpUtil.setCachingHeaders(resp, 60 * 60, !isProxyCacheable);
break;
- case INVALID:
+ case INVALID_VERSION:
// URL is invalid in some way, likely version mismatch.
// Indicate no-cache forcing subsequent requests to regenerate URLs.
HttpUtil.setNoCache(resp);
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsonRpcHandler.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsonRpcHandler.java?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsonRpcHandler.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/JsonRpcHandler.java Thu Jun 3 18:43:32 2010
@@ -20,13 +20,13 @@ package org.apache.shindig.gadgets.servl
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.GadgetContext;
-import org.apache.shindig.gadgets.UrlGenerator;
import org.apache.shindig.gadgets.process.Processor;
import org.apache.shindig.gadgets.spec.GadgetSpec;
import org.apache.shindig.gadgets.spec.LinkSpec;
import org.apache.shindig.gadgets.spec.ModulePrefs;
import org.apache.shindig.gadgets.spec.UserPref;
import org.apache.shindig.gadgets.spec.View;
+import org.apache.shindig.gadgets.uri.IframeUriManager;
import com.google.common.collect.Lists;
import com.google.inject.Inject;
@@ -51,13 +51,13 @@ import java.util.concurrent.ExecutorServ
public class JsonRpcHandler {
protected final ExecutorService executor;
protected final Processor processor;
- protected final UrlGenerator urlGenerator;
+ protected final IframeUriManager iframeUriManager;
@Inject
- public JsonRpcHandler(ExecutorService executor, Processor processor, UrlGenerator urlGenerator) {
+ public JsonRpcHandler(ExecutorService executor, Processor processor, IframeUriManager iframeUriManager) {
this.executor = executor;
this.processor = processor;
- this.urlGenerator = urlGenerator;
+ this.iframeUriManager = iframeUriManager;
}
/**
@@ -195,7 +195,7 @@ public class JsonRpcHandler {
// TODO: This should probably just copy all data from
// ModulePrefs.getAttributes(), but names have to be converted to
// camel case.
- gadgetJson.put("iframeUrl", urlGenerator.getIframeUrl(gadget))
+ gadgetJson.put("iframeUrl", iframeUriManager.makeRenderingUri(gadget).toString())
.put("url",context.getUrl().toString())
.put("moduleId", context.getModuleId())
.put("title", prefs.getTitle())
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java Thu Jun 3 18:43:32 2010
@@ -105,7 +105,7 @@ public class DefaultJsUriManager impleme
}
// Get config values up front.
- String jsHost = getReqConfig(container, JS_HOST_PARAM);
+ getReqConfig(container, JS_HOST_PARAM); // validate that it exists
String jsPrefix = getReqConfig(container, JS_PATH_PARAM);
String host = uri.getAuthority();
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactoryTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactoryTest.java?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactoryTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultGadgetSpecFactoryTest.java Thu Jun 3 18:43:32 2010
@@ -152,7 +152,7 @@ public class DefaultGadgetSpecFactoryTes
expect(pipeline.execute(request)).andReturn(response);
replay(pipeline);
- GadgetSpec spec = specFactory.getGadgetSpec(createContext(SPEC_URL, true));
+ specFactory.getGadgetSpec(createContext(SPEC_URL, true));
}
@Test(expected = GadgetException.class)
@@ -351,9 +351,5 @@ public class DefaultGadgetSpecFactoryTes
this.request = request;
return new HttpResponse(LOCAL_SPEC_XML);
}
-
- public void normalizeProtocol(HttpRequest request) throws GadgetException {
- //No Op
- }
}
}
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultMessageBundleFactoryTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultMessageBundleFactoryTest.java?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultMessageBundleFactoryTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultMessageBundleFactoryTest.java Thu Jun 3 18:43:32 2010
@@ -347,7 +347,5 @@ public class DefaultMessageBundleFactory
this.request = request;
return new HttpResponse(BASIC_BUNDLE);
}
-
- public void normalizeProtocol(HttpRequest request) { }
}
}
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/GadgetOAuthCallbackGeneratorTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/GadgetOAuthCallbackGeneratorTest.java?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/GadgetOAuthCallbackGeneratorTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/GadgetOAuthCallbackGeneratorTest.java Thu Jun 3 18:43:32 2010
@@ -31,10 +31,10 @@ import org.apache.shindig.common.uri.Uri
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.GadgetContext;
import org.apache.shindig.gadgets.LockedDomainService;
-import org.apache.shindig.gadgets.UrlGenerator;
import org.apache.shindig.gadgets.http.HttpRequest;
import org.apache.shindig.gadgets.process.ProcessingException;
import org.apache.shindig.gadgets.process.Processor;
+import org.apache.shindig.gadgets.uri.OAuthUriManager;
import org.easymock.IArgumentMatcher;
import org.easymock.EasyMock;
import org.easymock.IMocksControl;
@@ -51,7 +51,7 @@ public class GadgetOAuthCallbackGenerato
private IMocksControl control;
private Processor processor;
private LockedDomainService lockedDomainService;
- private UrlGenerator urlGenerator;
+ private OAuthUriManager oauthUriManager;
private BlobCrypter stateCrypter;
private SecurityToken securityToken;
private Gadget gadget;
@@ -63,7 +63,7 @@ public class GadgetOAuthCallbackGenerato
control = EasyMock.createNiceControl();
processor = control.createMock(Processor.class);
lockedDomainService = control.createMock(LockedDomainService.class);
- urlGenerator = control.createMock(UrlGenerator.class);
+ oauthUriManager = control.createMock(OAuthUriManager.class);
stateCrypter = new BasicBlobCrypter("1111111111111111111".getBytes());
securityToken = new BasicSecurityToken("viewer", "viewer", "app", "container.com",
"gadget", "0", "default", MAKE_REQUEST_URL, null);
@@ -73,7 +73,7 @@ public class GadgetOAuthCallbackGenerato
}
private GadgetOAuthCallbackGenerator getGenerator() {
- return new GadgetOAuthCallbackGenerator(processor, lockedDomainService, urlGenerator,
+ return new GadgetOAuthCallbackGenerator(processor, lockedDomainService, oauthUriManager,
stateCrypter);
}
@@ -128,8 +128,8 @@ public class GadgetOAuthCallbackGenerato
.andReturn(gadget);
expect(lockedDomainService.gadgetCanRender("renderinghost", gadget, "default"))
.andReturn(true);
- expect(urlGenerator.getGadgetDomainOAuthCallback("default", "renderinghost"))
- .andReturn("//renderinghost/final/callback");
+ expect(oauthUriManager.makeOAuthCallbackUri("default", "renderinghost"))
+ .andReturn(Uri.parse("//renderinghost/final/callback"));
control.replay();
@@ -155,8 +155,8 @@ public class GadgetOAuthCallbackGenerato
.andReturn(gadget);
expect(lockedDomainService.gadgetCanRender("renderinghost", gadget, "default"))
.andReturn(true);
- expect(urlGenerator.getGadgetDomainOAuthCallback("default", "renderinghost"))
- .andReturn("https://renderinghost/final/callback");
+ expect(oauthUriManager.makeOAuthCallbackUri("default", "renderinghost"))
+ .andReturn(Uri.parse("https://renderinghost/final/callback"));
control.replay();
@@ -182,8 +182,8 @@ public class GadgetOAuthCallbackGenerato
.andReturn(gadget);
expect(lockedDomainService.gadgetCanRender("renderinghost", gadget, "default"))
.andReturn(true);
- expect(urlGenerator.getGadgetDomainOAuthCallback("default", "renderinghost"))
- .andReturn("https://renderinghost/final/callback");
+ expect(oauthUriManager.makeOAuthCallbackUri("default", "renderinghost"))
+ .andReturn(Uri.parse("https://renderinghost/final/callback"));
control.replay();
@@ -210,7 +210,7 @@ public class GadgetOAuthCallbackGenerato
.andReturn(gadget);
expect(lockedDomainService.gadgetCanRender("renderinghost", gadget, "default"))
.andReturn(true);
- expect(urlGenerator.getGadgetDomainOAuthCallback("default", "renderinghost"))
+ expect(oauthUriManager.makeOAuthCallbackUri("default", "renderinghost"))
.andReturn(null);
control.replay();
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/GadgetTokenStoreTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/GadgetTokenStoreTest.java?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/GadgetTokenStoreTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/GadgetTokenStoreTest.java Thu Jun 3 18:43:32 2010
@@ -82,7 +82,6 @@ public class GadgetTokenStoreTest {
private OAuthClientState clientState;
private OAuthResponseParams responseParams;
private OAuthFetcherConfig fetcherConfig;
- private OAuthFetcherConfig fetcherConfigSecureOwner;
@Before
public void setUp() throws Exception {
@@ -106,7 +105,6 @@ public class GadgetTokenStoreTest {
clientState = new OAuthClientState(stateCrypter);
responseParams = new OAuthResponseParams(socialToken, null, stateCrypter);
fetcherConfig = new OAuthFetcherConfig(stateCrypter, store, new FakeTimeSource(), null, false);
- fetcherConfigSecureOwner = new OAuthFetcherConfig(stateCrypter, store, new FakeTimeSource(), null, true);
}
@Test
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriterTest.java Thu Jun 3 18:43:32 2010
@@ -41,8 +41,6 @@ import org.apache.shindig.config.Abstrac
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.GadgetContext;
import org.apache.shindig.gadgets.GadgetException;
-import org.apache.shindig.gadgets.UrlGenerator;
-import org.apache.shindig.gadgets.UrlValidationStatus;
import org.apache.shindig.gadgets.features.FeatureRegistry;
import org.apache.shindig.gadgets.features.FeatureResource;
import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
@@ -53,6 +51,7 @@ import org.apache.shindig.gadgets.rewrit
import org.apache.shindig.gadgets.rewrite.RewritingException;
import org.apache.shindig.gadgets.spec.GadgetSpec;
import org.apache.shindig.gadgets.spec.View;
+import org.apache.shindig.gadgets.uri.JsUriManager;
import org.easymock.IAnswer;
import org.json.JSONArray;
import org.json.JSONException;
@@ -96,7 +95,7 @@ public class RenderingGadgetRewriterTest
private final FakeMessageBundleFactory messageBundleFactory = new FakeMessageBundleFactory();
private final FakeContainerConfig config = new FakeContainerConfig();
- private final UrlGenerator urlGenerator = new FakeUrlGenerator();
+ private final JsUriManager jsUriManager = new FakeJsUriManager();
private final MapGadgetContext context = new MapGadgetContext();
private FeatureRegistry featureRegistry;
@@ -107,7 +106,7 @@ public class RenderingGadgetRewriterTest
public void setUp() throws Exception {
featureRegistry = createMock(FeatureRegistry.class);
rewriter
- = new RenderingGadgetRewriter(messageBundleFactory, config, featureRegistry, urlGenerator, null);
+ = new RenderingGadgetRewriter(messageBundleFactory, config, featureRegistry, jsUriManager, null);
Injector injector = Guice.createInjector(new ParseModule(), new PropertiesModule());
parser = injector.getInstance(GadgetHtmlParser.class);
}
@@ -984,31 +983,12 @@ public class RenderingGadgetRewriterTest
}
}
- private static class FakeUrlGenerator implements UrlGenerator {
- protected FakeUrlGenerator() {
+ private static class FakeJsUriManager implements JsUriManager {
+ public Uri makeExternJsUri(Gadget gadget, Collection<String> extern) {
+ return Uri.parse("/js/" + Join.join(":", extern));
}
- public String getBundledJsParam(Collection<String> features, GadgetContext context) {
- throw new UnsupportedOperationException();
- }
-
- public UrlValidationStatus validateJsUrl(String url) {
- throw new UnsupportedOperationException();
- }
-
- public String getIframeUrl(Gadget gadget) {
- throw new UnsupportedOperationException();
- }
-
- public UrlValidationStatus validateIframeUrl(String url) {
- throw new UnsupportedOperationException();
- }
-
- public String getBundledJsUrl(Collection<String> features, GadgetContext context) {
- return "/js/" + Join.join(":", features);
- }
-
- public String getGadgetDomainOAuthCallback(String container, String gadgetHost) {
+ public JsUri processExternJsUri(Uri uri) {
throw new UnsupportedOperationException();
}
}
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServletTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServletTest.java?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServletTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/GadgetRenderingServletTest.java Thu Jun 3 18:43:32 2010
@@ -24,12 +24,13 @@ import static org.junit.Assert.assertEqu
import static org.junit.Assert.assertNull;
import org.apache.shindig.common.servlet.HttpServletResponseRecorder;
+import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.gadgets.GadgetContext;
-import org.apache.shindig.gadgets.UrlGenerator;
-import org.apache.shindig.gadgets.UrlValidationStatus;
import org.apache.shindig.gadgets.http.HttpRequest;
import org.apache.shindig.gadgets.render.Renderer;
import org.apache.shindig.gadgets.render.RenderingResults;
+import org.apache.shindig.gadgets.uri.IframeUriManager;
+import org.apache.shindig.gadgets.uri.UriStatus;
import org.easymock.IMocksControl;
import org.easymock.EasyMock;
@@ -44,19 +45,19 @@ public class GadgetRenderingServletTest
= "Games, HQ, Mang\u00E1, Anime e tudo que um bom nerd ama";
private final IMocksControl control = EasyMock.createNiceControl();
- private final HttpServletRequest request = control.createMock(HttpServletRequest.class);
+ private final HttpServletRequest request = makeRequestMock(this);
private final HttpServletResponse response = control.createMock(HttpServletResponse.class);
private final Renderer renderer = control.createMock(Renderer.class);
public final HttpServletResponseRecorder recorder = new HttpServletResponseRecorder(response);
private final GadgetRenderingServlet servlet = new GadgetRenderingServlet();
- private final UrlGenerator urlGenerator = control.createMock(UrlGenerator.class);
+ private final IframeUriManager iframeUriManager = control.createMock(IframeUriManager.class);
@Before
public void setUpUrlGenerator() {
- expect(urlGenerator.validateIframeUrl(isA(String.class))).andReturn(UrlValidationStatus.VALID_UNVERSIONED);
+ expect(iframeUriManager.validateRenderingUri(isA(Uri.class))).andReturn(UriStatus.VALID_UNVERSIONED);
expect(request.getRequestURL()).andReturn(new StringBuffer("http://foo.com"));
expect(request.getQueryString()).andReturn("?q=a");
- servlet.setUrlGenerator(urlGenerator);
+ servlet.setIframeUriManager(iframeUriManager);
}
@Test
@@ -172,4 +173,13 @@ public class GadgetRenderingServletTest
servlet.doGet(request, recorder);
assertEquals("private,max-age=300", recorder.getHeader("Cache-Control"));
}
+
+ private static HttpServletRequest makeRequestMock(GadgetRenderingServletTest testcase) {
+ HttpServletRequest req = testcase.control.createMock(HttpServletRequest.class);
+ expect(req.getScheme()).andReturn("http").anyTimes();
+ expect(req.getServerPort()).andReturn(80).anyTimes();
+ expect(req.getServerName()).andReturn("example.com").anyTimes();
+ expect(req.getRequestURI()).andReturn("/path").anyTimes();
+ return req;
+ }
}
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HtmlAccelServletTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HtmlAccelServletTest.java?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HtmlAccelServletTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HtmlAccelServletTest.java Thu Jun 3 18:43:32 2010
@@ -27,18 +27,17 @@ import com.google.common.collect.Maps;
import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.GadgetContext;
-import org.apache.shindig.gadgets.UrlGenerator;
-import org.apache.shindig.gadgets.UrlValidationStatus;
import org.apache.shindig.gadgets.http.HttpRequest;
import org.apache.shindig.gadgets.http.HttpResponse;
import org.apache.shindig.gadgets.http.HttpResponseBuilder;
import org.apache.shindig.gadgets.render.Renderer;
import org.apache.shindig.gadgets.render.RenderingResults;
+import org.apache.shindig.gadgets.uri.IframeUriManager;
+import org.apache.shindig.gadgets.uri.UriStatus;
import org.easymock.Capture;
import org.junit.Before;
import org.junit.Test;
-import java.util.Collection;
import java.util.Map;
public class HtmlAccelServletTest extends ServletTestFixture {
@@ -52,7 +51,7 @@ public class HtmlAccelServletTest extend
public void setUp() throws Exception {
servlet = new HtmlAccelServlet();
servlet.setRequestPipeline(pipeline);
- servlet.setUrlGenerator(new FakeUrlGenerator());
+ servlet.setIframeUriManager(new FakeIframeUriManager());
renderer = mock(Renderer.class);
servlet.setRenderer(renderer);
}
@@ -251,9 +250,9 @@ public class HtmlAccelServletTest extend
private void expectRequest(String extraPath, String url) {
expect(request.getServletPath()).andReturn(SERVLET).anyTimes();
- expect(request.getScheme()).andReturn("http").once();
- expect(request.getServerName()).andReturn("apache.org").once();
- expect(request.getServerPort()).andReturn(-1).once();
+ expect(request.getScheme()).andReturn("http").anyTimes();
+ expect(request.getServerName()).andReturn("apache.org").anyTimes();
+ expect(request.getServerPort()).andReturn(-1).anyTimes();
expect(request.getRequestURI()).andReturn(SERVLET + extraPath).anyTimes();
expect(request.getRequestURL())
.andReturn(new StringBuffer("apache.org" + SERVLET + extraPath))
@@ -262,25 +261,12 @@ public class HtmlAccelServletTest extend
expect(request.getQueryString()).andReturn(queryParams).anyTimes();
}
- private static class FakeUrlGenerator implements UrlGenerator {
-
- public UrlValidationStatus validateJsUrl(String url) {
- throw new UnsupportedOperationException();
- }
-
- public String getIframeUrl(Gadget gadget) {
- throw new UnsupportedOperationException();
- }
-
- public UrlValidationStatus validateIframeUrl(String url) {
- return UrlValidationStatus.VALID_UNVERSIONED;
- }
-
- public String getBundledJsUrl(Collection<String> features, GadgetContext context) {
- throw new UnsupportedOperationException();
+ private static class FakeIframeUriManager implements IframeUriManager {
+ public UriStatus validateRenderingUri(Uri uri) {
+ return UriStatus.VALID_UNVERSIONED;
}
- public String getGadgetDomainOAuthCallback(String container, String gadgetHost) {
+ public Uri makeRenderingUri(Gadget gadget) {
throw new UnsupportedOperationException();
}
}
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/JsonRpcHandlerTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/JsonRpcHandlerTest.java?rev=951107&r1=951106&r2=951107&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/JsonRpcHandlerTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/JsonRpcHandlerTest.java Thu Jun 3 18:43:32 2010
@@ -27,12 +27,12 @@ import org.apache.shindig.common.uri.Uri
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.GadgetContext;
import org.apache.shindig.gadgets.GadgetException;
-import org.apache.shindig.gadgets.UrlGenerator;
-import org.apache.shindig.gadgets.UrlValidationStatus;
import org.apache.shindig.gadgets.process.ProcessingException;
import org.apache.shindig.gadgets.process.Processor;
import org.apache.shindig.gadgets.spec.GadgetSpec;
import org.apache.shindig.gadgets.spec.View;
+import org.apache.shindig.gadgets.uri.IframeUriManager;
+import org.apache.shindig.gadgets.uri.UriStatus;
import com.google.common.collect.Maps;
@@ -42,7 +42,6 @@ import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
-import java.util.Collection;
import java.util.Collections;
import java.util.Map;
@@ -80,7 +79,7 @@ public class JsonRpcHandlerTest {
"</Module>";
private final FakeProcessor processor = new FakeProcessor();
- private final FakeUrlGenerator urlGenerator = new FakeUrlGenerator();
+ private final FakeIframeUriManager urlGenerator = new FakeIframeUriManager();
private final JsonRpcHandler jsonRpcHandler
= new JsonRpcHandler(new TestExecutorService(), processor, urlGenerator);
@@ -111,7 +110,7 @@ public class JsonRpcHandlerTest {
.put("context", createContext("en", "US"))
.put("gadgets", gadgets);
- urlGenerator.iframeUrl = SPEC_URL.toString();
+ urlGenerator.iframeUrl = SPEC_URL;
JSONObject response = jsonRpcHandler.process(input);
@@ -261,37 +260,20 @@ public class JsonRpcHandlerTest {
}
}
- protected static class FakeUrlGenerator implements UrlGenerator {
+ protected static class FakeIframeUriManager implements IframeUriManager {
protected boolean throwRandomFault = false;
- protected String iframeUrl = "http://example.org/gadgets/foo-does-not-matter";
+ protected Uri iframeUrl = Uri.parse("http://example.org/gadgets/foo-does-not-matter");
- protected FakeUrlGenerator() {
- }
-
- public String getBundledJsParam(Collection<String> features, GadgetContext context) {
- throw new UnsupportedOperationException();
- }
+ protected FakeIframeUriManager() { }
- public String getBundledJsUrl(Collection<String> features, GadgetContext context) {
- throw new UnsupportedOperationException();
- }
-
- public UrlValidationStatus validateJsUrl(String jsUrl) {
- throw new UnsupportedOperationException();
- }
-
- public String getIframeUrl(Gadget gadget) {
+ public Uri makeRenderingUri(Gadget gadget) {
if (throwRandomFault) {
throw new RuntimeException("BROKEN");
}
return iframeUrl;
}
-
- public UrlValidationStatus validateIframeUrl(String url) {
- throw new UnsupportedOperationException();
- }
- public String getGadgetDomainOAuthCallback(String container, String gadgetHost) {
+ public UriStatus validateRenderingUri(Uri uri) {
throw new UnsupportedOperationException();
}
}