Ignore:
Timestamp:
09/14/11 13:05:51 (8 months ago)
Author:
jharrop
Message:

Workaround for ClassCastException? which JAXB binder throws on certain docx

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/MainDocumentPart.java

    r1650 r1659  
    318318                                 
    319319                                doc = (org.w3c.dom.Document)result.getNode(); 
    320                                          
    321                                 jaxbElement =  (org.docx4j.wml.Document) binder.unmarshal( doc );                                        
     320                                 
     321                                try { 
     322                                        jaxbElement =  (org.docx4j.wml.Document) binder.unmarshal( doc ); 
     323                                } catch (ClassCastException cce) { 
     324                                        // Work around for issue with JAXB binder, in Java 1.6 
     325                                        // encountered with /src/test/resources/jaxb-binder-issue.docx                                   
     326                                        log.warn("Binder not available for this docx"); 
     327                                        Unmarshaller u = jc.createUnmarshaller(); 
     328                                        jaxbElement = (org.docx4j.wml.Document) u.unmarshal( doc );                                      
     329                                        /* java.lang.ClassCastException: org.docx4j.wml.PPr cannot be cast to javax.xml.bind.JAXBElement 
     330                                                at com.sun.xml.internal.bind.v2.runtime.ElementBeanInfoImpl$IntercepterLoader.intercept(Unknown Source) 
     331                                                at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.endElement(Unknown Source) 
     332                                                at com.sun.xml.internal.bind.v2.runtime.unmarshaller.InterningXmlVisitor.endElement(Unknown Source) 
     333                                                at com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.endElement(Unknown Source) 
     334                                                at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(Unknown Source) 
     335                                                at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(Unknown Source) 
     336                                                at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(Unknown Source) 
     337                                                at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(Unknown Source) 
     338                                                at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(Unknown Source) 
     339                                                at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(Unknown Source) 
     340                                                at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(Unknown Source) 
     341                                                at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(Unknown Source) 
     342                                                at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(Unknown Source) 
     343                                                at com.sun.xml.internal.bind.unmarshaller.DOMScanner.scan(Unknown Source) 
     344                                                at com.sun.xml.internal.bind.unmarshaller.DOMScanner.scan(Unknown Source) 
     345                                                at com.sun.xml.internal.bind.unmarshaller.DOMScanner.scan(Unknown Source) 
     346                                                at com.sun.xml.internal.bind.v2.runtime.BinderImpl.associativeUnmarshal(Unknown Source) 
     347                                                at com.sun.xml.internal.bind.v2.runtime.BinderImpl.unmarshal(Unknown Source) 
     348                                                at org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart.unmarshal(MainDocumentPart.java:321) 
     349                                         */ 
     350                                } 
    322351                                 
    323352                        } 
Note: See TracChangeset for help on using the changeset viewer.