You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by jm...@apache.org on 2007/12/03 21:58:51 UTC

svn commit: r600687 - /incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/util/PrettyWriter.java

Author: jmsnell
Date: Mon Dec  3 12:58:50 2007
New Revision: 600687

URL: http://svn.apache.org/viewvc?rev=600687&view=rev
Log:
Fix class cast exception when working with extension elements

Modified:
    incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/util/PrettyWriter.java

Modified: incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/util/PrettyWriter.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/util/PrettyWriter.java?rev=600687&r1=600686&r2=600687&view=diff
==============================================================================
--- incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/util/PrettyWriter.java (original)
+++ incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/util/PrettyWriter.java Mon Dec  3 12:58:50 2007
@@ -30,6 +30,8 @@
 
 import org.apache.abdera.model.Base;
 import org.apache.abdera.model.Document;
+import org.apache.abdera.model.Element;
+import org.apache.abdera.model.ElementWrapper;
 import org.apache.abdera.util.AbstractNamedWriter;
 import org.apache.abdera.util.AbstractWriterOptions;
 import org.apache.abdera.writer.NamedWriter;
@@ -86,7 +88,7 @@
       XMLStreamWriter w = StAXUtils.createXMLStreamWriter(out);
       XMLStreamWriter pw = new PrettyStreamWriter(w);
       OMElement om = (base instanceof Document) ? 
-        (OMElement)((Document)base).getRoot() : 
+        getOMElement(((Document)base).getRoot()) : 
         (OMElement)base;
       String charset = options.getCharset();
       if (om.getParent() != null && om.getParent() instanceof OMDocument) {
@@ -103,6 +105,12 @@
     }
   }
 
+  private OMElement getOMElement(Element el) {
+    if (el instanceof ElementWrapper) {
+      return getOMElement(((ElementWrapper)el).getInternal());
+    } else return (OMElement)el;
+  }
+  
   private static class PrettyStreamWriter implements XMLStreamWriter {
     
     private static final int INDENT = 2;