You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ni...@apache.org on 2010/09/21 13:43:36 UTC

svn commit: r999339 - /poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java

Author: nick
Date: Tue Sep 21 11:43:36 2010
New Revision: 999339

URL: http://svn.apache.org/viewvc?rev=999339&view=rev
Log:
Add a temporary workaround for bug #49934, while we wait for a proper xmlbeans fix

Modified:
    poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java?rev=999339&r1=999338&r2=999339&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java Tue Sep 21 11:43:36 2010
@@ -22,10 +22,13 @@ import java.util.List;
 
 import javax.xml.namespace.QName;
 
+import org.apache.poi.POIXMLException;
 import org.apache.poi.util.Internal;
 import org.apache.xmlbeans.XmlCursor;
+import org.apache.xmlbeans.XmlException;
 import org.apache.xmlbeans.XmlObject;
 import org.apache.xmlbeans.XmlString;
+import org.apache.xmlbeans.impl.values.XmlAnyTypeImpl;
 import org.openxmlformats.schemas.drawingml.x2006.picture.CTPicture;
 import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBr;
 import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTEmpty;
@@ -94,6 +97,16 @@ public class XWPFRun {
            XmlObject[] picts = o
                  .selectPath("declare namespace pic='http://schemas.openxmlformats.org/drawingml/2006/picture' .//pic:pic");
            for(XmlObject pict : picts) {
+              if(pict instanceof XmlAnyTypeImpl) {
+                 // Pesky XmlBeans bug - see Bugzilla #49934
+                 try {
+                    pict = org.openxmlformats.schemas.drawingml.x2006.picture.CTPicture.Factory.parse(
+                          pict.toString()
+                    );
+                 } catch(XmlException e) {
+                    throw new POIXMLException(e);
+                 }
+              }
               if(pict instanceof org.openxmlformats.schemas.drawingml.x2006.picture.CTPicture) {
                  XWPFPicture picture = new XWPFPicture(
                        (org.openxmlformats.schemas.drawingml.x2006.picture.CTPicture)pict, p



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org