You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by li...@apache.org on 2009/04/30 19:39:58 UTC
svn commit: r770346 - in /incubator/shindig/trunk/java: common/conf/
gadgets/src/main/java/org/apache/shindig/gadgets/render/
server/src/test/java/org/apache/shindig/server/endtoend/
Author: lindner
Date: Thu Apr 30 17:39:58 2009
New Revision: 770346
URL: http://svn.apache.org/viewvc?rev=770346&view=rev
Log:
SHINDIG-1033: Allow global setting for forced libs
Modified:
incubator/shindig/trunk/java/common/conf/shindig.properties
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java
incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java
incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
Modified: incubator/shindig/trunk/java/common/conf/shindig.properties
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/conf/shindig.properties?rev=770346&r1=770345&r2=770346&view=diff
==============================================================================
--- incubator/shindig/trunk/java/common/conf/shindig.properties (original)
+++ incubator/shindig/trunk/java/common/conf/shindig.properties Thu Apr 30 17:39:58 2009
@@ -27,6 +27,13 @@
shindig.content-rewrite.proxy-url=/gadgets/proxy?url=
shindig.content-rewrite.concat-url=/gadgets/concat?
+#
+# Default set of forced libs to allow for better caching
+#
+# NOTE: setting this causes the EndToEnd test to fail the opensocial-templates test
+#shindig.gadget-rewrite.default-forced-libs=core:core.io
+shindig.gadget-rewrite.default-forced-libs=
+
# Configuration for image rewriter
shindig.image-rewrite.max-inmem-bytes = 1048576
shindig.image-rewrite.max-palette-size = 256
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java?rev=770346&r1=770345&r2=770346&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingGadgetRewriter.java Thu Apr 30 17:39:58 2009
@@ -59,10 +59,12 @@
import java.util.logging.Logger;
import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.ImmutableSortedSet;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import com.google.inject.Inject;
+import com.google.inject.name.Named;
/**
* Produces a valid HTML document for the gadget output, automatically inserting appropriate HTML
@@ -94,6 +96,7 @@
private final ContainerConfig containerConfig;
private final GadgetFeatureRegistry featureRegistry;
private final UrlGenerator urlGenerator;
+ private Set<String> defaultForcedLibs = ImmutableSet.of();
/**
* @param messageBundleFactory Used for injecting message bundles into gadget output.
@@ -109,6 +112,13 @@
this.urlGenerator = urlGenerator;
}
+ @Inject
+ public void setDefaultForcedLibs(@Named("shindig.gadget-rewrite.default-forced-libs")String forcedLibs) {
+ if (forcedLibs != null && forcedLibs.length() > 0) {
+ defaultForcedLibs = ImmutableSortedSet.copyOf(Arrays.asList(forcedLibs.split(":")));
+ }
+ }
+
public void rewrite(Gadget gadget, MutableContent mutableContent) {
// Don't touch sanitized gadgets.
if (gadget.sanitizeOutput()) {
@@ -204,17 +214,16 @@
GadgetContext context = gadget.getContext();
String forcedLibs = context.getParameter("libs");
- // List of libraries we need
+ // List of forced libraries we need
Set<String> forced;
// gather the libraries we'll need to generate the forced libs
if (forcedLibs == null || forcedLibs.length() == 0) {
- // TODO allow containers to have a default set of forced libs
- forced = ImmutableSet.of();
+ // Don't bother making a mutable copy if the list is empty
+ forced = (defaultForcedLibs.isEmpty()) ? defaultForcedLibs : Sets.newTreeSet(defaultForcedLibs);
} else {
forced = Sets.newTreeSet(Arrays.asList(forcedLibs.split(":")));
}
-
if (!forced.isEmpty()) {
String jsUrl = urlGenerator.getBundledJsUrl(forced, context);
Element libsTag = headTag.getOwnerDocument().createElement("script");
Modified: incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java?rev=770346&r1=770345&r2=770346&view=diff
==============================================================================
--- incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java (original)
+++ incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndServer.java Thu Apr 30 17:39:58 2009
@@ -25,6 +25,7 @@
import org.apache.shindig.gadgets.oauth.OAuthModule;
import org.apache.shindig.gadgets.servlet.ConcatProxyServlet;
import org.apache.shindig.gadgets.servlet.GadgetRenderingServlet;
+import org.apache.shindig.gadgets.servlet.JsServlet;
import org.apache.shindig.gadgets.servlet.MakeRequestServlet;
import org.apache.shindig.protocol.DataServiceServlet;
import org.apache.shindig.protocol.JsonRpcServlet;
@@ -61,6 +62,7 @@
private static final String REST_BASE = "/social/rest/*";
private static final String JSON_RPC_BASE = "/social/rpc/*";
private static final String CONCAT_BASE = "/gadgets/concat";
+ private static final String JS_BASE = "/gadgets/js/*";
private static final String MAKE_REQUEST_BASE = "/gadgets/makeRequest";
public static final String SERVER_URL = "http://localhost:" + JETTY_PORT;
public static final String GADGET_BASEURL = SERVER_URL + GADGET_BASE;
@@ -139,6 +141,10 @@
ServletHolder concatHolder = new ServletHolder(new ConcatProxyServlet());
context.addServlet(concatHolder, CONCAT_BASE);
+ // Attach the JsServlet - needed for rewritten JS
+ ServletHolder jsHolder = new ServletHolder(new JsServlet());
+ context.addServlet(jsHolder, JS_BASE);
+
// Attach MakeRequestServlet
ServletHolder makeRequestHolder = new ServletHolder(new MakeRequestServlet());
context.addServlet(makeRequestHolder, MAKE_REQUEST_BASE);
Modified: incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java?rev=770346&r1=770345&r2=770346&view=diff
==============================================================================
--- incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java (original)
+++ incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java Thu Apr 30 17:39:58 2009
@@ -29,6 +29,7 @@
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.DomNode;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
+import com.gargoylesoftware.htmlunit.html.HTMLParserListener;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
@@ -292,6 +293,8 @@
// to synchronous, saving the test from needing to wait or sleep for XHR
// completion.
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
+ webClient.setHTMLParserListener(HTMLParserListener.LOG_REPORTER);
+
alertHandler = new CollectingAlertHandler();
webClient.setAlertHandler(alertHandler);
token = createToken("canonical", "john.doe");