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 {