You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by aw...@apache.org on 2009/02/19 18:09:55 UTC
svn commit: r745928 - in /incubator/shindig/trunk/java/gadgets/src:
main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java
test/java/org/apache/shindig/gadgets/rewrite/TemplateRewriterTest.java
Author: awiner
Date: Thu Feb 19 17:09:54 2009
New Revision: 745928
URL: http://svn.apache.org/viewvc?rev=745928&view=rev
Log:
Server-side template rewriting: temporarily, require
<Param name="process-on-server">true</Param>
for server-side templating to kick in. Once the server-side templating is feature
complete, this can be removed (or switched to a param that forces client-side
processing)
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/TemplateRewriterTest.java
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java?rev=745928&r1=745927&r2=745928&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java Thu Feb 19 17:09:54 2009
@@ -52,6 +52,9 @@
public class TemplateRewriter implements ContentRewriter {
public final static Set<String> TAGS = ImmutableSet.of("script");
+
+ /** A temporary parameter while server-side templating is in development */
+ static final String SERVER_TEMPLATING_PARAM = "process-on-server";
/**
* Provider of the processor. TemplateRewriters are stateless and multithreaded,
@@ -72,12 +75,20 @@
public RewriterResults rewrite(Gadget gadget, MutableContent content) {
Feature f = gadget.getSpec().getModulePrefs().getFeatures()
.get("opensocial-templates");
- if (f != null) {
+ if (f != null && isServerTemplatingEnabled(f)) {
return rewriteImpl(gadget, content);
}
return null;
}
-
+
+ /**
+ * For now, only enable server-side templating when the feature contains:
+ * <Param name="process-on-server">true</Param>
+ */
+ private boolean isServerTemplatingEnabled(Feature f) {
+ return ("true".equalsIgnoreCase(f.getParams().get(SERVER_TEMPLATING_PARAM)));
+ }
+
private RewriterResults rewriteImpl(Gadget gadget, MutableContent content) {
List<Element> tagList =
DomUtil.getElementsByTagNameCaseInsensitive(content.getDocument(), TAGS);
Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/TemplateRewriterTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/TemplateRewriterTest.java?rev=745928&r1=745927&r2=745928&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/TemplateRewriterTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/TemplateRewriterTest.java Thu Feb 19 17:09:54 2009
@@ -150,7 +150,9 @@
private static String getGadgetXml(String content, boolean requireFeature) {
String feature = requireFeature ?
- "<Require feature='opensocial-templates'/>" : "";
+ "<Require feature='opensocial-templates'>" +
+ " <Param name='" + TemplateRewriter.SERVER_TEMPLATING_PARAM + "'>true</Param>" +
+ "</Require>" : "";
return "<Module>" + "<ModulePrefs title='Title'>"
+ feature + "</ModulePrefs>"
+ "<Content>"