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/03/12 00:13:58 UTC

svn commit: r922060 - in /shindig/trunk/java/gadgets/src: main/java/org/apache/shindig/gadgets/parse/GadgetHtmlParser.java test/java/org/apache/shindig/gadgets/parse/AbstractSocialMarkupHtmlParserTest.java

Author: johnh
Date: Thu Mar 11 23:13:58 2010
New Revision: 922060

URL: http://svn.apache.org/viewvc?rev=922060&view=rev
Log:
For error dom parsing an error dom is created (CL/199073).
This error dom need a serializer too.

Patch provided by Ziv Horesh.


Modified:
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/GadgetHtmlParser.java
    shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/parse/AbstractSocialMarkupHtmlParserTest.java

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=922060&r1=922059&r2=922060&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 Thu Mar 11 23:13:58 2010
@@ -17,23 +17,23 @@
  */
 package org.apache.shindig.gadgets.parse;
 
-import org.apache.shindig.common.cache.Cache;
-import org.apache.shindig.common.cache.CacheProvider;
-import org.apache.shindig.common.util.HashUtil;
-import org.apache.shindig.gadgets.GadgetException;
-import org.apache.shindig.gadgets.parse.nekohtml.NekoSimplifiedHtmlParser;
-
 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;
 import com.google.inject.Provider;
+
+import org.apache.shindig.common.cache.Cache;
+import org.apache.shindig.common.cache.CacheProvider;
+import org.apache.shindig.common.util.HashUtil;
+import org.apache.shindig.gadgets.GadgetException;
+import org.apache.shindig.gadgets.parse.nekohtml.NekoSimplifiedHtmlParser;
 import org.w3c.dom.Attr;
+import org.w3c.dom.DOMException;
 import org.w3c.dom.DOMImplementation;
 import org.w3c.dom.Document;
 import org.w3c.dom.DocumentFragment;
-import org.w3c.dom.DOMException;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -107,7 +107,9 @@ public abstract class GadgetHtmlParser {
         throw e;
       } catch (DOMException e) {
         // DOMException is a RuntimeException
-        return errorDom(e);
+        document = errorDom(e);
+        HtmlSerialization.attach(document, serializerProvider.get(), source);      
+        return document;
       }
 
       HtmlSerialization.attach(document, serializerProvider.get(), source);

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=922060&r1=922059&r2=922060&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 Thu Mar 11 23:13:58 2010
@@ -26,10 +26,7 @@ import com.google.common.collect.Lists;
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.shindig.common.xml.DomUtil;
-import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
-import org.apache.shindig.gadgets.parse.HtmlSerialization;
 import org.apache.shindig.gadgets.spec.PipelinedData;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.w3c.dom.Attr;
@@ -154,6 +151,8 @@ public abstract class AbstractSocialMark
     assertTrue(body.getTextContent().contains("INVALID_CHARACTER_ERR"));
     assertTrue(body.getTextContent().contains(
         "Around ...<div id=\"div_super\" class=\"div_super\"..."));
+    // Verify Serialization: 
+    assertTrue(HtmlSerialization.serialize(doc).contains("INVALID_CHARACTER_ERR"));
   }
 
   private void assertEmpty(Node n) {
@@ -178,7 +177,7 @@ public abstract class AbstractSocialMark
       for (Element script : scripts) {
         Attr typeAttr = (Attr)script.getAttributes().getNamedItem("type");
         if (typeAttr != null && scriptType.equalsIgnoreCase(typeAttr.getValue())) {
-          elements.add((Element)script);
+          elements.add(script);
         }
       }
     }