Author: lindner
Date: Sat Mar 20 08:10:07 2010
New Revision: 925563
URL: http://svn.apache.org/viewvc?rev=925563&view=rev
Log:
Patch from [email protected] | Remove duplicate bypass enum
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/SanitizingGadgetRewriter.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/old/SanitizingGadgetRewriter.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/XmlTemplateLibrary.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/FlashTagHandler.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/old/SanitizingGadgetRewriterTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/DefaultTemplateProcessorTest.java
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/SanitizingGadgetRewriter.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/SanitizingGadgetRewriter.java?rev=925563&r1=925562&r2=925563&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/SanitizingGadgetRewriter.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/SanitizingGadgetRewriter.java
Sat Mar 20 08:10:07 2010
@@ -18,6 +18,11 @@
*/
package org.apache.shindig.gadgets.render;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+import com.google.inject.BindingAnnotation;
+import com.google.inject.Inject;
+
import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.parse.caja.CajaCssSanitizer;
@@ -40,11 +45,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Set;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableList;
-import com.google.inject.BindingAnnotation;
-import com.google.inject.Inject;
-
/**
* A content rewriter that will sanitize output for simple 'badge' like
display.
*
@@ -85,7 +85,8 @@ public class SanitizingGadgetRewriter ex
includingChildren ? Bypass.ALL : Bypass.ONLY_SELF, copyOnClone);
}
- private static enum Bypass { ALL, ONLY_SELF, NONE }
+ // Public so it can be used by the old rewriter
+ public static enum Bypass { ALL, ONLY_SELF, NONE }
private static UserDataHandler copyOnClone = new UserDataHandler() {
public void handle(short operation, String key, Object data, Node src,
Node dst) {
@@ -110,6 +111,7 @@ public class SanitizingGadgetRewriter ex
}
+ @Override
public void rewrite(Gadget gadget, MutableContent content) throws
RewritingException {
if (gadget.sanitizeOutput()) {
boolean sanitized = false;
@@ -136,7 +138,8 @@ public class SanitizingGadgetRewriter ex
return list;
}
- private static Bypass canBypassSanitization(Element element) {
+ // Public so it can be used by the old rewriter
+ public static Bypass canBypassSanitization(Element element) {
Bypass bypass = (Bypass) element.getUserData(BYPASS_SANITIZATION_KEY);
if (bypass == null) {
bypass = Bypass.NONE;
@@ -218,10 +221,12 @@ public class SanitizingGadgetRewriter ex
this.allowedAttributes = allowedAttributes;
}
+ @Override
public boolean removeTag(Gadget gadget, Element elem, Uri context) {
return !allowedTags.contains(elem.getNodeName().toLowerCase());
}
+ @Override
public boolean removeAttr(Gadget gadget, Attr attr, Uri context) {
return !allowedAttributes.contains(attr.getName().toLowerCase());
}
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/old/SanitizingGadgetRewriter.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/old/SanitizingGadgetRewriter.java?rev=925563&r1=925562&r2=925563&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/old/SanitizingGadgetRewriter.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/old/SanitizingGadgetRewriter.java
Sat Mar 20 08:10:07 2010
@@ -18,9 +18,15 @@
*/
package org.apache.shindig.gadgets.render.old;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+import com.google.inject.BindingAnnotation;
+import com.google.inject.Inject;
+
import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.parse.caja.old.CajaCssSanitizer;
+import org.apache.shindig.gadgets.render.SanitizingGadgetRewriter.Bypass;
import org.apache.shindig.gadgets.rewrite.ContentRewriterFeature;
import org.apache.shindig.gadgets.rewrite.GadgetRewriter;
import org.apache.shindig.gadgets.rewrite.MutableContent;
@@ -40,11 +46,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Set;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableList;
-import com.google.inject.BindingAnnotation;
-import com.google.inject.Inject;
-
/**
* A content rewriter that will sanitize output for simple 'badge' like
display.
*
@@ -68,26 +69,7 @@ public class SanitizingGadgetRewriter im
return ("1".equals(gadget.getContext().getParameter("sanitize")));
}
- /**
- * Marks that an element and all its attributes are trusted content.
- * This status is preserved across {...@link Node#cloneNode} calls. Be
- * extremely careful when using this, especially with {...@code
includingChildren}
- * set to {...@code true}, as untrusted content that gets inserted (e.g, via
- * os:RenderAll in templating) would become trusted.
- *
- * @param element the trusted element
- * @param includingChildren if true, children of this element will are also
- * trusted. Never set this to true on an element that will ever have
- * untrusted children inserted (e.g., if it contains or may contain
os:Render).
- */
- public static void bypassSanitization(Element element, boolean
includingChildren) {
- element.setUserData(BYPASS_SANITIZATION_KEY,
- includingChildren ? Bypass.ALL : Bypass.ONLY_SELF, copyOnClone);
- }
-
- private static enum Bypass { ALL, ONLY_SELF, NONE }
-
- private static UserDataHandler copyOnClone = new UserDataHandler() {
+ private static UserDataHandler copyOnClone = new UserDataHandler() {
public void handle(short operation, String key, Object data, Node src,
Node dst) {
if (operation == NODE_IMPORTED || operation == NODE_CLONED) {
dst.setUserData(key, data, copyOnClone);
@@ -173,7 +155,9 @@ public class SanitizingGadgetRewriter im
case Node.ELEMENT_NODE:
case Node.DOCUMENT_NODE:
Element element = (Element) node;
- Bypass bypass = canBypassSanitization(element);
+ Bypass bypass =
+ org.apache.shindig.gadgets.render.SanitizingGadgetRewriter
+ .canBypassSanitization(element);
if (bypass == Bypass.ALL) {
return;
} else if (bypass == Bypass.ONLY_SELF) {
@@ -239,14 +223,6 @@ public class SanitizingGadgetRewriter im
return list;
}
- private static Bypass canBypassSanitization(Element element) {
- Bypass bypass = (Bypass) element.getUserData(BYPASS_SANITIZATION_KEY);
- if (bypass == null) {
- bypass = Bypass.NONE;
- }
- return bypass;
- }
-
/**
* Filter DOM elements and attributes to check their validity and
* restrict their allowed content
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java?rev=925563&r1=925562&r2=925563&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java
Sat Mar 20 08:10:07 2010
@@ -17,6 +17,12 @@
*/
package org.apache.shindig.gadgets.rewrite;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Lists;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
import org.apache.commons.lang.StringUtils;
import org.apache.shindig.common.JsonSerializer;
import org.apache.shindig.common.uri.Uri;
@@ -27,7 +33,7 @@ import org.apache.shindig.gadgets.Gadget
import org.apache.shindig.gadgets.GadgetException;
import org.apache.shindig.gadgets.MessageBundleFactory;
import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
-import org.apache.shindig.gadgets.render.old.SanitizingGadgetRewriter;
+import org.apache.shindig.gadgets.render.SanitizingGadgetRewriter;
import org.apache.shindig.gadgets.spec.Feature;
import org.apache.shindig.gadgets.spec.MessageBundle;
import org.apache.shindig.gadgets.templates.ContainerTagLibraryFactory;
@@ -43,12 +49,6 @@ import org.apache.shindig.gadgets.templa
import org.apache.shindig.gadgets.templates.tags.DefaultTagRegistry;
import org.apache.shindig.gadgets.templates.tags.TagHandler;
import org.apache.shindig.gadgets.templates.tags.TemplateBasedTagHandler;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Lists;
-import com.google.inject.Inject;
-import com.google.inject.Provider;
import org.w3c.dom.DocumentFragment;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/XmlTemplateLibrary.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/XmlTemplateLibrary.java?rev=925563&r1=925562&r2=925563&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/XmlTemplateLibrary.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/XmlTemplateLibrary.java
Sat Mar 20 08:10:07 2010
@@ -18,10 +18,13 @@
*/
package org.apache.shindig.gadgets.templates;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.ImmutableSet.Builder;
+
import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.common.xml.DomUtil;
import org.apache.shindig.gadgets.GadgetException;
-import org.apache.shindig.gadgets.render.old.SanitizingGadgetRewriter;
+import org.apache.shindig.gadgets.render.SanitizingGadgetRewriter;
import org.apache.shindig.gadgets.templates.tags.DefaultTagRegistry;
import org.apache.shindig.gadgets.templates.tags.TagHandler;
import org.apache.shindig.gadgets.templates.tags.TemplateBasedTagHandler;
@@ -32,9 +35,6 @@ import org.w3c.dom.NodeList;
import java.util.Set;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSet.Builder;
-
/**
* An Object representing a Library of Template-based custom OSML tags.
*/
@@ -50,12 +50,12 @@ public class XmlTemplateLibrary implemen
private final Uri libraryUri;
private final String source;
private final boolean safe;
- private TagRegistry registry;
+ private final TagRegistry registry;
private String nsPrefix;
private String nsUri;
private String style;
private String javaScript;
- private Set<TemplateResource> libraryResources;
+ private final Set<TemplateResource> libraryResources;
/**
* @param uri URI of the template library
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/FlashTagHandler.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/FlashTagHandler.java?rev=925563&r1=925562&r2=925563&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/FlashTagHandler.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/tags/FlashTagHandler.java
Sat Mar 20 08:10:07 2010
@@ -31,7 +31,7 @@ import org.apache.shindig.common.util.Ut
import org.apache.shindig.common.JsonSerializer;
import org.apache.shindig.gadgets.features.FeatureRegistry;
import org.apache.shindig.gadgets.features.FeatureResource;
-import org.apache.shindig.gadgets.render.old.SanitizingGadgetRewriter;
+import org.apache.shindig.gadgets.render.SanitizingGadgetRewriter;
import org.apache.shindig.gadgets.templates.TemplateProcessor;
import org.apache.shindig.protocol.conversion.BeanJsonConverter;
import org.json.JSONObject;
Modified:
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/old/SanitizingGadgetRewriterTest.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/old/SanitizingGadgetRewriterTest.java?rev=925563&r1=925562&r2=925563&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/old/SanitizingGadgetRewriterTest.java
(original)
+++
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/old/SanitizingGadgetRewriterTest.java
Sat Mar 20 08:10:07 2010
@@ -18,23 +18,22 @@
*/
package org.apache.shindig.gadgets.render.old;
+import static org.junit.Assert.assertEquals;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Sets;
+
import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.GadgetContext;
import org.apache.shindig.gadgets.parse.caja.CajaCssParser;
import org.apache.shindig.gadgets.parse.caja.old.CajaCssSanitizer;
-import
org.apache.shindig.gadgets.render.old.DefaultSanitizingProxyingLinkRewriterFactory;
-import org.apache.shindig.gadgets.render.old.SanitizingGadgetRewriter;
import org.apache.shindig.gadgets.rewrite.ContentRewriterFeature;
import org.apache.shindig.gadgets.rewrite.GadgetRewriter;
import org.apache.shindig.gadgets.rewrite.MutableContent;
import org.apache.shindig.gadgets.rewrite.old.BaseRewriterTestCase;
import org.apache.shindig.gadgets.servlet.ProxyBase;
import org.apache.shindig.gadgets.spec.GadgetSpec;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Sets;
-import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
import org.w3c.dom.Document;
@@ -292,7 +291,8 @@ public class SanitizingGadgetRewriterTes
Element paragraphTag = (Element)
document.getElementsByTagName("p").item(0);
// Mark the paragraph tag element as trusted
- SanitizingGadgetRewriter.bypassSanitization(paragraphTag, true);
+ org.apache.shindig.gadgets.render.SanitizingGadgetRewriter
+ .bypassSanitization(paragraphTag, true);
rewriter.rewrite(gadget, mc);
// The document should be unchanged
@@ -310,7 +310,8 @@ public class SanitizingGadgetRewriterTes
Element paragraphTag = (Element)
document.getElementsByTagName("p").item(0);
// Mark the paragraph tag element as trusted
- SanitizingGadgetRewriter.bypassSanitization(paragraphTag, false);
+ org.apache.shindig.gadgets.render.SanitizingGadgetRewriter
+ .bypassSanitization(paragraphTag, false);
rewriter.rewrite(gadget, mc);
// The document should be unchanged
@@ -331,7 +332,8 @@ public class SanitizingGadgetRewriterTes
Element paragraphTag = (Element)
document.getElementsByTagName("p").item(0);
// Mark the paragraph tag element as trusted
- SanitizingGadgetRewriter.bypassSanitization(paragraphTag, false);
+ org.apache.shindig.gadgets.render.SanitizingGadgetRewriter
+ .bypassSanitization(paragraphTag, false);
// Now, clone the paragraph tag and replace the paragraph tag
Element cloned = (Element) paragraphTag.cloneNode(true);
Modified:
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/DefaultTemplateProcessorTest.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/DefaultTemplateProcessorTest.java?rev=925563&r1=925562&r2=925563&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/DefaultTemplateProcessorTest.java
(original)
+++
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/DefaultTemplateProcessorTest.java
Sat Mar 20 08:10:07 2010
@@ -18,6 +18,13 @@
*/
package org.apache.shindig.gadgets.templates;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Maps;
+
import org.apache.shindig.common.xml.XmlUtil;
import org.apache.shindig.expressions.Expressions;
import org.apache.shindig.expressions.RootELResolver;
@@ -27,18 +34,12 @@ import org.apache.shindig.gadgets.parse.
import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
import org.apache.shindig.gadgets.parse.ParseModule;
import org.apache.shindig.gadgets.parse.nekohtml.NekoSimplifiedHtmlParser;
-import org.apache.shindig.gadgets.render.old.SanitizingGadgetRewriter;
+import org.apache.shindig.gadgets.render.SanitizingGadgetRewriter;
import org.apache.shindig.gadgets.templates.tags.AbstractTagHandler;
import org.apache.shindig.gadgets.templates.tags.DefaultTagRegistry;
import org.apache.shindig.gadgets.templates.tags.TagHandler;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Maps;
import org.json.JSONArray;
import org.json.JSONObject;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.junit.Test;
import org.w3c.dom.Document;
@@ -47,13 +48,14 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
-import javax.el.ELResolver;
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.Hashtable;
import java.util.Map;
import java.util.Set;
+import javax.el.ELResolver;
+
/**
* Unit tests for DefaultTemplateProcessor.
* TODO: Refactor to remove boilerplate.