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/18 03:35:00 UTC
svn commit: r955811 - in /shindig/trunk/java/gadgets/src:
main/java/org/apache/shindig/gadgets/parse/
main/java/org/apache/shindig/gadgets/parse/nekohtml/
main/java/org/apache/shindig/gadgets/rewrite/
test/java/org/apache/shindig/gadgets/parse/ test/ja...
Author: johnh
Date: Fri Jun 18 01:34:59 2010
New Revision: 955811
URL: http://svn.apache.org/viewvc?rev=955811&view=rev
Log:
Factor out helper method to get all social data (os/data and os/template) tags from a Document. Use this method in OpenSocial template and Data Pipelining rewriters.
For the most part this is just a restructuring CL, but prepares rewriters to be able to work with either Caja (no custom substitution of <script...> for <OSData...>/<OSTemplate...> tags) or Neko side-by-side with no code changes.
Yell at me if you feel this CL too large to commit w/o a full review...
Added:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/SocialDataTags.java
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/DefaultHtmlSerializer.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/GadgetHtmlParser.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/nekohtml/NekoSimplifiedHtmlParser.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/PipelineDataGadgetRewriter.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/TemplateRewriter.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/parse/AbstractSocialMarkupHtmlParserTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/DefaultTemplateProcessorTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/RenderTagHandlerTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/TemplateBasedTagHandlerTest.java
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/DefaultHtmlSerializer.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/DefaultHtmlSerializer.java?rev=955811&r1=955810&r2=955811&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/DefaultHtmlSerializer.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/DefaultHtmlSerializer.java Fri Jun 18 01:34:59 2010
@@ -107,7 +107,7 @@ public class DefaultHtmlSerializer imple
* type attribute on output
*/
private Element substituteElement(Element elem) {
- String scriptType = GadgetHtmlParser.SCRIPT_TYPE_TO_OSML_TAG.inverse().get(elem.getNodeName());
+ String scriptType = SocialDataTags.SCRIPT_TYPE_TO_OSML_TAG.inverse().get(elem.getNodeName());
if (scriptType != null) {
Element replacement = elem.getOwnerDocument().createElement("script");
replacement.setAttribute("type", scriptType);
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/GadgetHtmlParser.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/GadgetHtmlParser.java?rev=955811&r1=955810&r2=955811&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/GadgetHtmlParser.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/GadgetHtmlParser.java Fri Jun 18 01:34:59 2010
@@ -17,8 +17,6 @@
*/
package org.apache.shindig.gadgets.parse;
-import com.google.common.collect.BiMap;
-import com.google.common.collect.ImmutableBiMap;
import com.google.common.collect.Lists;
import com.google.inject.ImplementedBy;
import com.google.inject.Inject;
@@ -53,18 +51,6 @@ public abstract class GadgetHtmlParser {
private Cache<String, DocumentFragment> fragmentCache;
private Provider<HtmlSerializer> serializerProvider = new DefaultSerializerProvider();
protected final DOMImplementation documentFactory;
-
- /**
- * Allowed tag names for OpenSocial Data and template blocks.
- */
- public static final String OSML_DATA_TAG = "OSData";
- public static final String OSML_TEMPLATE_TAG = "OSTemplate";
-
- /**
- * Bi-map of OpenSocial tags to their script type attribute values.
- */
- public static final BiMap<String, String> SCRIPT_TYPE_TO_OSML_TAG = ImmutableBiMap.of(
- "text/os-data", OSML_DATA_TAG, "text/os-template", OSML_TEMPLATE_TAG);
protected GadgetHtmlParser(DOMImplementation documentFactory) {
this.documentFactory = documentFactory;
@@ -311,7 +297,8 @@ public abstract class GadgetHtmlParser {
if (next.getNodeType() == Node.ELEMENT_NODE &&
"script".equalsIgnoreCase(next.getNodeName())) {
Attr typeAttr = (Attr)next.getAttributes().getNamedItem("type");
- if (typeAttr != null && SCRIPT_TYPE_TO_OSML_TAG.get(typeAttr.getValue()) != null) {
+ if (typeAttr != null &&
+ SocialDataTags.SCRIPT_TYPE_TO_OSML_TAG.get(typeAttr.getValue()) != null) {
// The underlying parser impl may have already parsed these.
// Only re-parse with the coalesced text children if that's all there are.
boolean parseOs = true;
Added: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/SocialDataTags.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/SocialDataTags.java?rev=955811&view=auto
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/SocialDataTags.java (added)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/SocialDataTags.java Fri Jun 18 01:34:59 2010
@@ -0,0 +1,85 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+package org.apache.shindig.gadgets.parse;
+
+import java.util.List;
+
+import org.apache.shindig.common.xml.DomUtil;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+import com.google.common.collect.BiMap;
+import com.google.common.collect.ImmutableBiMap;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Lists;
+
+import org.w3c.dom.Document;
+
+/**
+ * Helper class containing all defs regarding social data tags,
+ * and one helper method to retrieve all such tags from the document.
+ * Neko's parser implementation disallows script tags with children,
+ * so as a workaround they convert such tags' name to OSData or OSTemplate.
+ * This class provides a helper to select all OSData or OSTemplate tags,
+ * irrespective whether this conversion occurred, ensuring that
+ * data pipelining and templating can work with any parser.
+ */
+public class SocialDataTags {
+ private SocialDataTags() { }
+
+ /**
+ * Allowed tag names for OpenSocial Data and template blocks.
+ */
+ public static final String OSML_DATA_TAG = "OSData";
+ public static final String OSML_TEMPLATE_TAG = "OSTemplate";
+
+ /**
+ * Bi-map of OpenSocial tags to their script type attribute values.
+ */
+ public static final BiMap<String, String> SCRIPT_TYPE_TO_OSML_TAG = ImmutableBiMap.of(
+ "text/os-data", OSML_DATA_TAG, "text/os-template", OSML_TEMPLATE_TAG);
+
+ public static List<Element> getTags(Document doc, String tagName) {
+ NodeList list = doc.getElementsByTagName(tagName);
+ List<Element> elements = Lists.newArrayListWithExpectedSize(list.getLength());
+ for (int i = 0; i < list.getLength(); i++) {
+ elements.add((Element) list.item(i));
+ }
+
+ // Add equivalent <script> elements
+ String scriptType = SCRIPT_TYPE_TO_OSML_TAG.inverse().get(tagName);
+ if (scriptType != null) {
+ List<Element> scripts =
+ DomUtil.getElementsByTagNameCaseInsensitive(doc, ImmutableSet.of("script"));
+ for (Element script : scripts) {
+ Attr typeAttr = (Attr)script.getAttributes().getNamedItem("type");
+ if (typeAttr != null && scriptType.equalsIgnoreCase(typeAttr.getValue())) {
+ elements.add(script);
+ }
+ }
+ }
+ return elements;
+ }
+
+ public static boolean isOpenSocialScript(Element script) {
+ Attr typeAttr = (Attr)script.getAttributes().getNamedItem("type");
+ return (typeAttr != null && typeAttr.getValue() != null &&
+ SCRIPT_TYPE_TO_OSML_TAG.containsKey(typeAttr.getValue()));
+ }
+}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/nekohtml/NekoSimplifiedHtmlParser.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/nekohtml/NekoSimplifiedHtmlParser.java?rev=955811&r1=955810&r2=955811&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/nekohtml/NekoSimplifiedHtmlParser.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/nekohtml/NekoSimplifiedHtmlParser.java Fri Jun 18 01:34:59 2010
@@ -22,6 +22,7 @@ import org.apache.commons.lang.StringUti
import org.apache.shindig.common.xml.DomUtil;
import org.apache.shindig.gadgets.GadgetException;
import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
+import org.apache.shindig.gadgets.parse.SocialDataTags;
import org.apache.xerces.xni.Augmentations;
import org.apache.xerces.xni.NamespaceContext;
import org.apache.xerces.xni.QName;
@@ -70,8 +71,8 @@ public class NekoSimplifiedHtmlParser ex
static {
HTMLElements.Element unknown = HTMLElements.getElement(HTMLElements.UNKNOWN);
- OSML_TEMPLATE_ELEMENT = new HTMLElements.Element(unknown.code, OSML_TEMPLATE_TAG,
- unknown.flags, HTMLElements.BODY, unknown.closes);
+ OSML_TEMPLATE_ELEMENT = new HTMLElements.Element(unknown.code,
+ SocialDataTags.OSML_TEMPLATE_TAG, unknown.flags, HTMLElements.BODY, unknown.closes);
// Passing parent in constructor is ignored.
// Only allow template tags in BODY
OSML_TEMPLATE_ELEMENT.parent =
@@ -79,14 +80,15 @@ public class NekoSimplifiedHtmlParser ex
// data tags are allowed in BODY only, since Neko disallows HEAD elements from
// having child elements of their own.
- OSML_DATA_ELEMENT = new HTMLElements.Element(unknown.code, OSML_TEMPLATE_TAG,
- unknown.flags, HTMLElements.BODY, unknown.closes);
+ OSML_DATA_ELEMENT = new HTMLElements.Element(unknown.code,
+ SocialDataTags.OSML_TEMPLATE_TAG, unknown.flags, HTMLElements.BODY, unknown.closes);
OSML_DATA_ELEMENT.parent = new HTMLElements.Element[]{
HTMLElements.getElement(HTMLElements.BODY)};
}
private static final Map<String, HTMLElements.Element> OSML_ELEMENTS = ImmutableMap.of(
- OSML_TEMPLATE_TAG, OSML_TEMPLATE_ELEMENT, OSML_DATA_TAG, OSML_DATA_ELEMENT);
+ SocialDataTags.OSML_TEMPLATE_TAG, OSML_TEMPLATE_ELEMENT,
+ SocialDataTags.OSML_DATA_TAG, OSML_DATA_ELEMENT);
@Inject
public NekoSimplifiedHtmlParser(DOMImplementation documentFactory) {
@@ -532,7 +534,7 @@ public class NekoSimplifiedHtmlParser ex
// Convert script tags of an OSML type to OSTemplate/OSData tags
if ("script".equalsIgnoreCase(elem.rawname)) {
String value = attrs.getValue("type");
- String osmlTagName = SCRIPT_TYPE_TO_OSML_TAG.get(value);
+ String osmlTagName = SocialDataTags.SCRIPT_TYPE_TO_OSML_TAG.get(value);
if (osmlTagName != null) {
if (currentOsmlTag != null) {
throw new XNIException("Nested OpenSocial script elements");
@@ -551,7 +553,6 @@ public class NekoSimplifiedHtmlParser ex
super.startElement(elem, attrs, augs);
}
-
@Override
public void endElement(QName element, Augmentations augs) throws XNIException {
if (currentOsmlTag != null && "script".equalsIgnoreCase(element.rawname)) {
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/PipelineDataGadgetRewriter.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/PipelineDataGadgetRewriter.java?rev=955811&r1=955810&r2=955811&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/PipelineDataGadgetRewriter.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/PipelineDataGadgetRewriter.java Fri Jun 18 01:34:59 2010
@@ -21,7 +21,7 @@ package org.apache.shindig.gadgets.rewri
import org.apache.shindig.common.JsonSerializer;
import org.apache.shindig.common.xml.DomUtil;
import org.apache.shindig.gadgets.Gadget;
-import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
+import org.apache.shindig.gadgets.parse.SocialDataTags;
import org.apache.shindig.gadgets.preload.PipelineExecutor;
import org.apache.shindig.gadgets.spec.PipelinedData;
import org.apache.shindig.gadgets.spec.SpecParserException;
@@ -31,8 +31,8 @@ import com.google.inject.Inject;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
+import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -114,12 +114,11 @@ public class PipelineDataGadgetRewriter
* Parses pipelined data out of a Document.
*/
Map<PipelinedData, Node> parsePipelinedData(Gadget gadget, Document doc) {
- NodeList dataTags = doc.getElementsByTagName(GadgetHtmlParser.OSML_DATA_TAG);
+ List<Element> dataTags = SocialDataTags.getTags(doc, SocialDataTags.OSML_DATA_TAG);
Map<PipelinedData, Node> pipelineNodes = Maps.newHashMap();
- for (int i = 0; i < dataTags.getLength(); i++) {
- Node n = dataTags.item(i);
+ for (Element n : dataTags) {
try {
- PipelinedData pipelineData = new PipelinedData((Element) n, gadget.getSpec().getUrl());
+ PipelinedData pipelineData = new PipelinedData(n, gadget.getSpec().getUrl());
pipelineNodes.put(pipelineData, n);
} catch (SpecParserException e) {
// Leave the element to the client
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=955811&r1=955810&r2=955811&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 Fri Jun 18 01:34:59 2010
@@ -32,7 +32,7 @@ import org.apache.shindig.gadgets.Gadget
import org.apache.shindig.gadgets.GadgetContext;
import org.apache.shindig.gadgets.GadgetException;
import org.apache.shindig.gadgets.MessageBundleFactory;
-import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
+import org.apache.shindig.gadgets.parse.SocialDataTags;
import org.apache.shindig.gadgets.render.SanitizingGadgetRewriter;
import org.apache.shindig.gadgets.spec.Feature;
import org.apache.shindig.gadgets.spec.MessageBundle;
@@ -52,7 +52,6 @@ import org.apache.shindig.gadgets.templa
import org.w3c.dom.DocumentFragment;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
import java.io.IOException;
import java.util.Collection;
@@ -155,13 +154,9 @@ public class TemplateRewriter implements
registries.add(osmlLibrary.getTagRegistry());
libraries.add(osmlLibrary);
- NodeList templateElements = content.getDocument()
- .getElementsByTagName(GadgetHtmlParser.OSML_TEMPLATE_TAG);
- ImmutableList.Builder<Element> builder = ImmutableList.builder();
- for (int i = 0; i < templateElements.getLength(); i++) {
- builder.add((Element) templateElements.item(i));
- }
- List<Element> templates = builder.build();
+ List<Element> templateElements = SocialDataTags.getTags(content.getDocument(),
+ SocialDataTags.OSML_TEMPLATE_TAG);
+ List<Element> templates = ImmutableList.copyOf(templateElements);
if (!OSML_FEATURE_NAME.equals(feature.getName())) {
// User-defined custom tags - Priority 3
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/parse/AbstractSocialMarkupHtmlParserTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/parse/AbstractSocialMarkupHtmlParserTest.java?rev=955811&r1=955810&r2=955811&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/parse/AbstractSocialMarkupHtmlParserTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/parse/AbstractSocialMarkupHtmlParserTest.java Fri Jun 18 01:34:59 2010
@@ -21,15 +21,10 @@ package org.apache.shindig.gadgets.parse
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Lists;
-
import org.apache.commons.lang.StringUtils;
-import org.apache.shindig.common.xml.DomUtil;
import org.apache.shindig.gadgets.spec.PipelinedData;
import org.junit.Before;
import org.junit.Test;
-import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -58,7 +53,7 @@ public abstract class AbstractSocialMark
@Test
public void testSocialData() {
// Verify elements are preserved in social data
- List<Element> scripts = getTags(GadgetHtmlParser.OSML_DATA_TAG);
+ List<Element> scripts = SocialDataTags.getTags(document, SocialDataTags.OSML_DATA_TAG);
assertEquals(1, scripts.size());
NodeList viewerRequests = scripts.get(0).getElementsByTagNameNS(
@@ -72,7 +67,7 @@ public abstract class AbstractSocialMark
@Test
public void testSocialTemplate() {
// Verify elements and text content are preserved in social templates
- List<Element> scripts = getTags(GadgetHtmlParser.OSML_TEMPLATE_TAG);
+ List<Element> scripts = SocialDataTags.getTags(document, SocialDataTags.OSML_TEMPLATE_TAG);
assertEquals(1, scripts.size());
assertEquals("template-id", scripts.get(0).getAttribute("id"));
@@ -99,12 +94,12 @@ public abstract class AbstractSocialMark
@Test
public void testJavascript() {
// Verify text content is unmodified in javascript blocks
- List<Element> scripts = getTags("script");
+ List<Element> scripts = SocialDataTags.getTags(document, "script");
// Remove any OpenSocial-specific nodes.
Iterator<Element> scriptIt = scripts.iterator();
while (scriptIt.hasNext()) {
- if (isOpenSocialScript(scriptIt.next())) {
+ if (SocialDataTags.isOpenSocialScript(scriptIt.next())) {
scriptIt.remove();
}
}
@@ -161,32 +156,4 @@ public abstract class AbstractSocialMark
StringUtils.isWhitespace(n.getTextContent()));
}
}
-
- private List<Element> getTags(String tagName) {
- NodeList list = document.getElementsByTagName(tagName);
- List<Element> elements = Lists.newArrayListWithExpectedSize(list.getLength());
- for (int i = 0; i < list.getLength(); i++) {
- elements.add((Element) list.item(i));
- }
-
- // Add equivalent <script> elements
- String scriptType = GadgetHtmlParser.SCRIPT_TYPE_TO_OSML_TAG.inverse().get(tagName);
- if (scriptType != null) {
- List<Element> scripts =
- DomUtil.getElementsByTagNameCaseInsensitive(document, ImmutableSet.of("script"));
- for (Element script : scripts) {
- Attr typeAttr = (Attr)script.getAttributes().getNamedItem("type");
- if (typeAttr != null && scriptType.equalsIgnoreCase(typeAttr.getValue())) {
- elements.add(script);
- }
- }
- }
- return elements;
- }
-
- private boolean isOpenSocialScript(Element script) {
- Attr typeAttr = (Attr)script.getAttributes().getNamedItem("type");
- return (typeAttr != null && typeAttr.getValue() != null &&
- GadgetHtmlParser.SCRIPT_TYPE_TO_OSML_TAG.containsKey(typeAttr.getValue()));
- }
}
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=955811&r1=955810&r2=955811&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 Fri Jun 18 01:34:59 2010
@@ -31,8 +31,8 @@ import org.apache.shindig.expressions.Ro
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.GadgetException;
import org.apache.shindig.gadgets.parse.DefaultHtmlSerializer;
-import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
import org.apache.shindig.gadgets.parse.ParseModule;
+import org.apache.shindig.gadgets.parse.SocialDataTags;
import org.apache.shindig.gadgets.parse.nekohtml.NekoSimplifiedHtmlParser;
import org.apache.shindig.gadgets.render.SanitizingGadgetRewriter;
import org.apache.shindig.gadgets.templates.tags.AbstractTagHandler;
@@ -281,7 +281,7 @@ public class DefaultTemplateProcessorTes
private Element prepareTemplate(String markup, String extra) throws GadgetException {
String content = "<script type=\"text/os-template\"" + extra + '>' + markup + "</script>";
Document document = parser.parseDom(content);
- return (Element) document.getElementsByTagName(GadgetHtmlParser.OSML_TEMPLATE_TAG).item(0);
+ return SocialDataTags.getTags(document, SocialDataTags.OSML_TEMPLATE_TAG).get(0);
}
private String serialize(Node node) throws IOException {
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/RenderTagHandlerTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/RenderTagHandlerTest.java?rev=955811&r1=955810&r2=955811&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/RenderTagHandlerTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/RenderTagHandlerTest.java Fri Jun 18 01:34:59 2010
@@ -24,8 +24,8 @@ import org.apache.shindig.gadgets.Gadget
import org.apache.shindig.gadgets.GadgetContext;
import org.apache.shindig.gadgets.GadgetException;
import org.apache.shindig.gadgets.parse.DefaultHtmlSerializer;
-import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
import org.apache.shindig.gadgets.parse.ParseModule;
+import org.apache.shindig.gadgets.parse.SocialDataTags;
import org.apache.shindig.gadgets.parse.nekohtml.NekoSimplifiedHtmlParser;
import org.apache.shindig.gadgets.templates.DefaultTemplateProcessor;
import org.apache.shindig.gadgets.templates.TagRegistry;
@@ -117,7 +117,7 @@ public class RenderTagHandlerTest {
String content = "<script type=\"text/os-template\" xmlns:foo=\"" + TEST_NS +
"\" xmlns:os=\"" + TagHandler.OPENSOCIAL_NAMESPACE + "\">" + markup + "</script>";
Document document = parser.parseDom(content);
- return (Element) document.getElementsByTagName(GadgetHtmlParser.OSML_TEMPLATE_TAG).item(0);
+ return SocialDataTags.getTags(document, SocialDataTags.OSML_TEMPLATE_TAG).get(0);
}
private String serialize(Node node) throws IOException {
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/TemplateBasedTagHandlerTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/TemplateBasedTagHandlerTest.java?rev=955811&r1=955810&r2=955811&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/TemplateBasedTagHandlerTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/templates/tags/TemplateBasedTagHandlerTest.java Fri Jun 18 01:34:59 2010
@@ -25,6 +25,7 @@ import org.apache.shindig.gadgets.Gadget
import org.apache.shindig.gadgets.oauth.OAuthModule;
import org.apache.shindig.gadgets.parse.DefaultHtmlSerializer;
import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
+import org.apache.shindig.gadgets.parse.SocialDataTags;
import org.apache.shindig.gadgets.templates.TagRegistry;
import org.apache.shindig.gadgets.templates.TemplateContext;
import org.apache.shindig.gadgets.templates.TemplateProcessor;
@@ -166,7 +167,7 @@ public class TemplateBasedTagHandlerTest
String content = "<script type=\"text/os-template\" xmlns:foo=\"" + TEST_NS +
"\" xmlns:os=\"" + TagHandler.OPENSOCIAL_NAMESPACE + "\">" + markup + "</script>";
Document document = parser.parseDom(content);
- return (Element) document.getElementsByTagName(GadgetHtmlParser.OSML_TEMPLATE_TAG).item(0);
+ return SocialDataTags.getTags(document, SocialDataTags.OSML_TEMPLATE_TAG).get(0);
}
private String serialize(Node node) throws IOException {