Changeset 887


Ignore:
Timestamp:
09/02/09 00:59:59 (3 years ago)
Author:
jharrop
Message:

Apply Holger Schlegel's patch adding a generic parameter for the JaxbElement? property. Also alter interface:

public E unmarshal( java.io.InputStream? is )
public E unmarshal(org.w3c.dom.Element el)

Location:
trunk/docx4j/src/main/java/org/docx4j
Files:
21 edited

Legend:

Unmodified
Added
Removed
  • trunk/docx4j/src/main/java/org/docx4j/convert/out/pdf/viaIText/Conversion.java

    r736 r887  
    11package org.docx4j.convert.out.pdf.viaIText; 
    22 
    3 import java.awt.Dimension; 
    43import java.io.IOException; 
    54import java.io.OutputStream; 
     
    1110import javax.xml.bind.JAXBElement; 
    1211 
    13 import org.apache.fop.fonts.FontTriplet; 
    1412import org.apache.log4j.Logger; 
    1513import org.docx4j.XmlUtils; 
    16 import org.docx4j.convert.out.pdf.PdfConversion; 
    1714import org.docx4j.fonts.Mapper; 
    1815import org.docx4j.fonts.PhysicalFont; 
     
    2320import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; 
    2421import org.docx4j.wml.Body; 
    25 import org.docx4j.wml.Drawing; 
    2622import org.docx4j.wml.Ftr; 
    2723import org.docx4j.wml.Hdr; 
    28 import org.docx4j.wml.PPr; 
    2924import org.docx4j.wml.RFonts; 
    3025import org.docx4j.wml.RPr; 
    31 import org.w3c.dom.Element; 
    3226 
    3327import com.lowagie.text.Chunk; 
    3428import com.lowagie.text.Document; 
    35 import com.lowagie.text.DocumentException; 
    3629import com.lowagie.text.ExceptionConverter; 
    3730import com.lowagie.text.Font; 
     
    4336import com.lowagie.text.pdf.PdfPCell; 
    4437import com.lowagie.text.pdf.PdfPTable; 
    45 import com.lowagie.text.pdf.PdfPageEvent; 
    4638import com.lowagie.text.pdf.PdfPageEventHelper; 
    4739import com.lowagie.text.pdf.PdfWriter; 
     
    139131                 
    140132                org.docx4j.wml.Document wmlDocumentEl  
    141                         = (org.docx4j.wml.Document)wordMLPackage.getMainDocumentPart().getJaxbElement(); 
     133                        = wordMLPackage.getMainDocumentPart().getJaxbElement(); 
    142134                Body body =  wmlDocumentEl.getBody(); 
    143135                List <Object> bodyChildren = body.getEGBlockLevelElts(); 
     
    441433 
    442434                    if (headerFooterPolicy.getHeader(writer.getPageNumber())!=null) { 
    443                             Hdr hdr = (Hdr)headerFooterPolicy.getHeader(writer.getPageNumber()).getJaxbElement(); 
     435                            Hdr hdr = headerFooterPolicy.getHeader(writer.getPageNumber()).getJaxbElement(); 
    444436                            PdfPTable head = new PdfPTable(1); // num cols                   
    445437                            // TODO - no cell borders 
     
    451443                     
    452444                    if (headerFooterPolicy.getFooter(writer.getPageNumber())!=null) { 
    453                             Ftr ftr = (Ftr)headerFooterPolicy.getHeader(writer.getPageNumber()).getJaxbElement();                    
     445                            Ftr ftr = headerFooterPolicy.getFooter(writer.getPageNumber()).getJaxbElement();                 
    454446                            PdfPTable foot = new PdfPTable(1); 
    455447                            traverseBlockLevelContent( ftr.getEGBlockLevelElts(), foot); 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/packages/WordprocessingMLPackage.java

    r871 r887  
    2222 
    2323 
    24 import java.io.File; 
    2524import java.io.FileInputStream; 
    2625import java.io.FileNotFoundException; 
    27 import java.io.OutputStream; 
    28 import java.util.Iterator; 
    2926import java.util.Map; 
    3027 
    3128import javax.xml.bind.JAXBContext; 
    32 import javax.xml.bind.JAXBElement; 
    3329import javax.xml.bind.Marshaller; 
    34 import javax.xml.bind.Unmarshaller; 
    35 import javax.xml.parsers.DocumentBuilderFactory; 
    3630import javax.xml.transform.Source; 
    3731import javax.xml.transform.Templates; 
     
    4337import org.docx4j.fonts.IdentityPlusMapper; 
    4438import org.docx4j.fonts.Mapper; 
    45 import org.docx4j.fonts.FontUtils; 
    4639import org.docx4j.jaxb.Context; 
    4740import org.docx4j.model.HeaderFooterPolicy; 
     
    5144import org.docx4j.openpackaging.exceptions.Docx4JException; 
    5245import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    53 import org.docx4j.openpackaging.io.LoadFromZipFile; 
    5446import org.docx4j.openpackaging.io.LoadFromZipNG; 
    5547import org.docx4j.openpackaging.io.SaveToZipFile; 
     
    6254import org.docx4j.openpackaging.parts.WordprocessingML.GlossaryDocumentPart; 
    6355import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart; 
    64 import org.docx4j.openpackaging.parts.WordprocessingML.StyleDefinitionsPart; 
    6556import org.docx4j.openpackaging.parts.relationships.Namespaces; 
    66  
    67 import com.lowagie.text.pdf.BaseFont; 
     57import org.docx4j.wml.Document; 
     58import org.docx4j.wml.Styles; 
    6859 
    6960 
     
    248239//                      this.getMainDocumentPart().setJaxbElement(wmlDocument); 
    249240//              }        
    250                 this.getMainDocumentPart().setJaxbElement(  ((JaxbXmlPart)tmpDocPart).getJaxbElement() ); 
     241                this.getMainDocumentPart().setJaxbElement( 
     242                                ((JaxbXmlPart<Document>) tmpDocPart).getJaxbElement() ); 
    251243//                               
    252244//              if (wmlStyles==null) { 
     
    255247//                      this.getMainDocumentPart().getStyleDefinitionsPart().setJaxbElement(wmlStyles); 
    256248//              } 
    257                 this.getMainDocumentPart().getStyleDefinitionsPart().setJaxbElement(  ((JaxbXmlPart)tmpStylesPart).getJaxbElement() ); 
     249                this.getMainDocumentPart().getStyleDefinitionsPart().setJaxbElement( 
     250                                ((JaxbXmlPart<Styles>) tmpStylesPart).getJaxbElement() ); 
    258251         
    259252    } 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/DocPropsCorePart.java

    r871 r887  
    2424 
    2525import org.apache.log4j.Logger; 
    26  
     26import org.docx4j.docProps.core.CoreProperties; 
    2727import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    2828import org.docx4j.openpackaging.parts.relationships.Namespaces; 
    29 import org.dom4j.Document; 
     29import org.w3c.dom.Element; 
    3030 
    3131 
    32 public class DocPropsCorePart extends JaxbXmlPart { 
     32public class DocPropsCorePart extends JaxbXmlPart<CoreProperties> { 
    3333         
    3434        /* 
     
    8888     *     If any unexpected errors occur while unmarshalling 
    8989     */ 
    90     public Object unmarshal( java.io.InputStream is ) throws JAXBException { 
     90        @Override 
     91    public CoreProperties unmarshal( java.io.InputStream is ) throws JAXBException { 
    9192         
    9293                try { 
     
    104105                        log.info("unmarshalling " + this.getClass().getName() + " \n\n" );                                                                       
    105106                                                 
    106                         jaxbElement = u.unmarshal( is ); 
     107                        jaxbElement = (CoreProperties) u.unmarshal( is ); 
    107108                         
    108109                         
     
    116117         
    117118    } 
    118                          
     119 
     120     
    119121         
    120122} 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/DocPropsCustomPart.java

    r871 r887  
    2222 
    2323 
    24 import java.util.Iterator; 
    25 import java.util.Map; 
    26  
    2724import javax.xml.bind.JAXBException; 
    2825import javax.xml.bind.Unmarshaller; 
    2926 
    30  
    3127import org.apache.log4j.Logger; 
    32  
     28import org.docx4j.docProps.custom.Properties; 
    3329import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    3430import org.docx4j.openpackaging.parts.relationships.Namespaces; 
     
    4036 * 
    4137 */ 
    42 public class DocPropsCustomPart extends JaxbXmlPart { 
     38public class DocPropsCustomPart extends JaxbXmlPart<Properties> { 
    4339         
    4440        /* Specification > Shared ML > Metadata > Custom Properties 
     
    113109     *     If any unexpected errors occur while unmarshalling 
    114110     */ 
    115     public Object unmarshal( java.io.InputStream is ) throws JAXBException { 
     111        @Override 
     112    public Properties unmarshal( java.io.InputStream is ) throws JAXBException { 
    116113         
    117114                try { 
     
    129126                        log.info("unmarshalling " + this.getClass().getName() + " \n\n" );                                                                       
    130127                                                 
    131                         jaxbElement = u.unmarshal( is ); 
     128                        jaxbElement = (Properties) u.unmarshal( is ); 
    132129                         
    133130                         
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/DocPropsExtendedPart.java

    r871 r887  
    2222 
    2323 
    24 import javax.xml.bind.JAXBContext; 
    2524import javax.xml.bind.JAXBException; 
    2625import javax.xml.bind.Unmarshaller; 
    2726 
    2827import org.apache.log4j.Logger; 
    29  
     28import org.docx4j.docProps.extended.Properties; 
    3029import org.docx4j.jaxb.Context; 
    3130import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    3231import org.docx4j.openpackaging.parts.relationships.Namespaces; 
    33 import org.dom4j.Document; 
    3432 
    3533 
    3634 
    3735 
    38 public class DocPropsExtendedPart extends JaxbXmlPart { 
     36public class DocPropsExtendedPart extends JaxbXmlPart<Properties> { 
    3937         
    4038        /* 
     
    10098     *     If any unexpected errors occur while unmarshalling 
    10199     */ 
    102     public Object unmarshal( java.io.InputStream is ) throws JAXBException { 
     100        @Override 
     101    public Properties unmarshal( java.io.InputStream is ) throws JAXBException { 
    103102         
    104103                try { 
     
    116115                        log.info("unmarshalling " + this.getClass().getName() + " \n\n" );                                                                       
    117116                                                 
    118                         jaxbElement = u.unmarshal( is ); 
     117                        jaxbElement = (Properties) u.unmarshal( is ); 
    119118                         
    120119                         
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/JaxbXmlPart.java

    r869 r887  
    2121 
    2222 
    23 import java.io.File; 
    24  
    2523import javax.xml.bind.JAXBContext; 
    2624import javax.xml.bind.JAXBException; 
    27 import javax.xml.bind.MarshalException; 
    2825import javax.xml.bind.Marshaller; 
    29 import javax.xml.bind.UnmarshalException; 
    3026import javax.xml.bind.Unmarshaller; 
    31 import javax.xml.bind.ValidationEventHandler; 
    3227 
    3328import org.docx4j.jaxb.Context; 
    3429import org.docx4j.jaxb.NamespacePrefixMapperUtils; 
    3530import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    36 import org.dom4j.Document; 
    3731 
    3832/** OPC Parts are either XML, or binary (or text) documents. 
     
    5751 *  TODO - what is the best thing to unmarshall from? 
    5852 *   
    59  *   
     53 *  @param <E> type of the content tree object 
    6054 * */ 
    61 public abstract class JaxbXmlPart extends Part { 
     55public abstract class JaxbXmlPart<E> extends Part { 
    6256         
    6357        // This class is abstract 
     
    8680         
    8781        /** The content tree (ie JAXB representation of the Part) */ 
    88         public Object jaxbElement = null; 
    89  
    90         public Object getJaxbElement() { 
     82        public E jaxbElement = null; 
     83 
     84        public E getJaxbElement() { 
    9185                return jaxbElement; 
    9286        } 
    9387 
    94         public void setJaxbElement(Object jaxbElement) { 
     88        public void setJaxbElement(E jaxbElement) { 
    9589                this.jaxbElement = jaxbElement; 
    9690        } 
     
    206200         *             If any unexpected errors occur while unmarshalling 
    207201         */ 
    208     public Object unmarshal( java.io.InputStream is ) throws JAXBException { 
     202    public E unmarshal( java.io.InputStream is ) throws JAXBException { 
    209203         
    210204                try { 
     
    220214 
    221215                        log.debug("unmarshalling " + this.getClass().getName() );                                                                                                                        
    222                         jaxbElement = u.unmarshal( is );                                                 
     216                        jaxbElement = (E) u.unmarshal( is );                                             
    223217                        log.debug( this.getClass().getName() + " unmarshalled" );                                                                        
    224218 
     
    234228//    public abstract Object unmarshal( java.io.InputStream is ) throws JAXBException; 
    235229 
    236     public Object unmarshal(org.w3c.dom.Element el) throws JAXBException { 
     230    public E unmarshal(org.w3c.dom.Element el) throws JAXBException { 
    237231 
    238232                try { 
     
    242236                        u.setEventHandler(new org.docx4j.jaxb.JaxbValidationEventHandler()); 
    243237 
    244                         jaxbElement = u.unmarshal( el ); 
     238                        jaxbElement = (E) u.unmarshal( el ); 
    245239 
    246240                        return jaxbElement; 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/ThemePart.java

    r871 r887  
    2525 
    2626import org.apache.log4j.Logger; 
     27import org.docx4j.dml.Theme; 
    2728import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    28 import org.docx4j.openpackaging.parts.Part; 
    2929import org.docx4j.openpackaging.parts.relationships.Namespaces; 
    30  
    31 import org.dom4j.Document; 
    3230 
    3331 
    3432 
    35 public final class ThemePart extends JaxbXmlPart { 
     33public final class ThemePart extends JaxbXmlPart<Theme> { 
    3634         
    3735        private static Logger log = Logger.getLogger(ThemePart.class);           
     
    8785     *     If any unexpected errors occur while unmarshalling 
    8886     */ 
    89     public Object unmarshal( java.io.InputStream is ) throws JAXBException { 
     87    @Override 
     88    public Theme unmarshal( java.io.InputStream is ) throws JAXBException { 
    9089         
    9190                try { 
     
    10099                        log.info("unmarshalling " + this.getClass().getName() + " \n\n" );                                                                       
    101100                                                 
    102                         jaxbElement = u.unmarshal( is ); 
     101                        jaxbElement = (Theme) u.unmarshal( is ); 
    103102                         
    104103                         
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/CommentsPart.java

    r666 r887  
    2121package org.docx4j.openpackaging.parts.WordprocessingML; 
    2222 
    23 import javax.xml.bind.JAXBException; 
    24 import javax.xml.bind.Unmarshaller; 
    25  
    2623import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    27 import org.docx4j.openpackaging.parts.Part; 
     24import org.docx4j.openpackaging.parts.JaxbXmlPart; 
    2825import org.docx4j.openpackaging.parts.PartName; 
    2926import org.docx4j.openpackaging.parts.relationships.Namespaces; 
    30  
    31 import org.docx4j.openpackaging.parts.JaxbXmlPart; 
     27import org.docx4j.wml.Comments; 
    3228 
    3329 
    3430 
    35 public final class CommentsPart extends JaxbXmlPart { 
     31public final class CommentsPart extends JaxbXmlPart<Comments> { 
    3632         
    3733        public CommentsPart(PartName partName) throws InvalidFormatException { 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/DocumentPart.java

    r660 r887  
    2929 
    3030import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    31 //import org.docx4j.openpackaging.exceptions.Docx4JException; 
    32 //import org.docx4j.openpackaging.parts.DocPropsCorePart; 
    33 //import org.docx4j.openpackaging.parts.DocPropsExtendedPart; 
     31import org.docx4j.openpackaging.parts.JaxbXmlPart; 
    3432import org.docx4j.openpackaging.parts.Part; 
    35 import org.docx4j.openpackaging.parts.JaxbXmlPart; 
    3633import org.docx4j.openpackaging.parts.PartName; 
     34import org.docx4j.openpackaging.parts.ThemePart; 
    3735import org.docx4j.openpackaging.parts.relationships.Namespaces; 
    38 import org.docx4j.openpackaging.parts.ThemePart; 
    39 //import org.dom4j.Document; 
    4036 
    4137 
    4238 
    43 public abstract class DocumentPart extends JaxbXmlPart { 
     39public abstract class DocumentPart<E> extends JaxbXmlPart<E> { 
    4440         
    4541        /** Parts which can be the target of a relationship from either 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/EndnotesPart.java

    r666 r887  
    2222 
    2323 
     24import javax.xml.bind.JAXBElement; 
     25 
    2426import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    2527import org.docx4j.openpackaging.parts.JaxbXmlPart; 
    2628import org.docx4j.openpackaging.parts.PartName; 
    2729import org.docx4j.openpackaging.parts.relationships.Namespaces; 
     30import org.docx4j.wml.CTEndnotes; 
    2831 
    2932 
    30 public final class EndnotesPart extends JaxbXmlPart { 
     33public final class EndnotesPart extends JaxbXmlPart<JAXBElement<CTEndnotes>> { 
    3134         
    3235        public EndnotesPart(PartName partName) throws InvalidFormatException { 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/FontTablePart.java

    r871 r887  
    3030 
    3131import org.apache.log4j.Logger; 
    32 //import org.docx4j.jaxb.Context; 
    33  
    34 import org.docx4j.wml.Fonts; 
    35 import org.docx4j.wml.FontRel; 
    36 import org.docx4j.openpackaging.parts.WordprocessingML.ObfuscatedFontPart; 
    37  
    3832import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    39 import org.docx4j.openpackaging.io.LoadFromZipFile; 
    40 //import org.docx4j.openpackaging.parts.Part; 
    4133import org.docx4j.openpackaging.packages.WordprocessingMLPackage; 
     34import org.docx4j.openpackaging.parts.JaxbXmlPart; 
    4235import org.docx4j.openpackaging.parts.PartName; 
    4336import org.docx4j.openpackaging.parts.relationships.Namespaces; 
    44  
    45 import org.docx4j.openpackaging.parts.JaxbXmlPart; 
     37import org.docx4j.wml.FontRel; 
     38import org.docx4j.wml.Fonts; 
    4639 
    4740 
    48 public final class FontTablePart extends JaxbXmlPart { 
     41public final class FontTablePart extends JaxbXmlPart<Fonts> { 
    4942         
    5043        private static Logger log = Logger.getLogger(FontTablePart.class);               
     
    8376     *     If any unexpected errors occur while unmarshalling 
    8477     */ 
    85     public Object unmarshal( java.io.InputStream is ) throws JAXBException { 
     78        @Override 
     79    public Fonts unmarshal( java.io.InputStream is ) throws JAXBException { 
    8680         
    8781                try { 
     
    9892                        log.info("unmarshalling " + this.getClass().getName() + " \n\n" );                                                                       
    9993                                                 
    100                         jaxbElement = u.unmarshal( is ); 
     94                        jaxbElement = (Fonts) u.unmarshal( is ); 
    10195                         
    10296                         
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/FooterPart.java

    r871 r887  
    2222 
    2323 
    24 import java.io.IOException; 
    25  
    26 import javax.xml.bind.JAXBElement; 
    2724import javax.xml.bind.JAXBException; 
    2825import javax.xml.bind.Unmarshaller; 
    2926 
    3027import org.apache.log4j.Logger; 
    31 import org.docx4j.jaxb.Context; 
    3228import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
     29import org.docx4j.openpackaging.parts.JaxbXmlPart; 
    3330import org.docx4j.openpackaging.parts.PartName; 
    3431import org.docx4j.openpackaging.parts.relationships.Namespaces; 
    35  
    36 import org.docx4j.openpackaging.parts.JaxbXmlPart; 
     32import org.docx4j.wml.Ftr; 
    3733 
    3834 
    39 public final class FooterPart extends JaxbXmlPart { 
     35public final class FooterPart extends JaxbXmlPart<Ftr> { 
    4036         
    4137        private static Logger log = Logger.getLogger(FooterPart.class);                  
     
    7672             *     If any unexpected errors occur while unmarshalling 
    7773             */ 
    78             public Object unmarshal( java.io.InputStream is ) throws JAXBException { 
     74                @Override 
     75            public Ftr unmarshal( java.io.InputStream is ) throws JAXBException { 
    7976                 
    8077                        try { 
     
    9188                                log.info("unmarshalling " + this.getClass().getName() + " \n\n" );                                                                       
    9289                                                         
    93                                 jaxbElement = u.unmarshal( is ); 
     90                                jaxbElement = (Ftr) u.unmarshal( is ); 
    9491                                                                 
    9592                                log.info("\n\n" + this.getClass().getName() + " unmarshalled \n\n" );                                                                    
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/FootnotesPart.java

    r666 r887  
    2222 
    2323 
     24import javax.xml.bind.JAXBElement; 
     25 
    2426import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    2527import org.docx4j.openpackaging.parts.JaxbXmlPart; 
    2628import org.docx4j.openpackaging.parts.PartName; 
    2729import org.docx4j.openpackaging.parts.relationships.Namespaces; 
     30import org.docx4j.wml.CTFootnotes; 
    2831 
    2932 
    30 public final class FootnotesPart extends JaxbXmlPart { 
     33public final class FootnotesPart extends JaxbXmlPart<JAXBElement<CTFootnotes>> { 
    3134         
    3235        public FootnotesPart(PartName partName) throws InvalidFormatException { 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/GlossaryDocumentPart.java

    r349 r887  
    2222 
    2323 
    24 import javax.xml.bind.JAXBContext; 
    2524import javax.xml.bind.JAXBException; 
    2625import javax.xml.bind.Unmarshaller; 
     
    3029import org.docx4j.openpackaging.parts.PartName; 
    3130import org.docx4j.openpackaging.parts.relationships.Namespaces; 
     31import org.docx4j.wml.GlossaryDocument; 
    3232 
    3333 
    3434 
    35 public final class GlossaryDocumentPart extends DocumentPart  { 
     35public final class GlossaryDocumentPart extends DocumentPart<GlossaryDocument> { 
    3636 
    3737         
     
    7373     *     If any unexpected errors occur while unmarshalling 
    7474     */ 
    75     public Object unmarshal( java.io.InputStream is ) throws JAXBException { 
     75        @Override 
     76    public GlossaryDocument unmarshal( java.io.InputStream is ) throws JAXBException { 
    7677         
    7778                try { 
     
    8586//                      jaxbElement = (org.docx4j.wml.Document)root.getValue(); 
    8687                         
    87                         jaxbElement =  u.unmarshal( is ); 
     88                        jaxbElement =  (GlossaryDocument) u.unmarshal( is ); 
    8889                        return jaxbElement; 
    8990                         
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/HeaderPart.java

    r871 r887  
    2222 
    2323 
    24 import java.io.IOException; 
    25  
    26 import javax.xml.bind.JAXBElement; 
    2724import javax.xml.bind.JAXBException; 
    2825import javax.xml.bind.Unmarshaller; 
    2926 
    3027import org.apache.log4j.Logger; 
    31 import org.docx4j.jaxb.Context; 
    3228import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
     29import org.docx4j.openpackaging.parts.JaxbXmlPart; 
    3330import org.docx4j.openpackaging.parts.PartName; 
    3431import org.docx4j.openpackaging.parts.relationships.Namespaces; 
    35  
    36 import org.docx4j.openpackaging.parts.JaxbXmlPart; 
     32import org.docx4j.wml.Hdr; 
    3733 
    3834 
    3935 
    40 public final class HeaderPart extends JaxbXmlPart { 
     36public final class HeaderPart extends JaxbXmlPart<Hdr> { 
    4137         
    4238        private static Logger log = Logger.getLogger(HeaderPart.class);                  
     
    7672     *     If any unexpected errors occur while unmarshalling 
    7773     */ 
    78     public Object unmarshal( java.io.InputStream is ) throws JAXBException { 
     74        @Override 
     75    public Hdr unmarshal( java.io.InputStream is ) throws JAXBException { 
    7976         
    8077                try { 
     
    9188                        log.info("unmarshalling " + this.getClass().getName() + " \n\n" );                                                                       
    9289                                                 
    93                         jaxbElement = u.unmarshal( is ); 
     90                        jaxbElement = (Hdr) u.unmarshal( is ); 
    9491                                                         
    9592                        log.info("\n\n" + this.getClass().getName() + " unmarshalled \n\n" );                                                                    
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/MainDocumentPart.java

    r817 r887  
    2323 
    2424 
    25 import java.net.URL; 
    2625import java.util.HashMap; 
    2726import java.util.Iterator; 
     
    2928import java.util.Map; 
    3029 
     30import javax.xml.bind.JAXBElement; 
     31import javax.xml.bind.JAXBException; 
     32import javax.xml.bind.Unmarshaller; 
     33 
    3134import org.apache.log4j.Logger; 
    32  
    33 import org.docx4j.dml.BaseStyles; 
    3435import org.docx4j.model.PropertyResolver; 
    3536import org.docx4j.openpackaging.exceptions.Docx4JException; 
     
    3738import org.docx4j.openpackaging.packages.WordprocessingMLPackage; 
    3839import org.docx4j.openpackaging.parts.PartName; 
    39 import org.docx4j.openpackaging.parts.ThemePart; 
    4040import org.docx4j.openpackaging.parts.relationships.Namespaces; 
    4141import org.docx4j.wml.Body; 
    42 import org.docx4j.wml.SdtBlock; 
    43  
    4442import org.dom4j.Document; 
    4543import org.dom4j.io.OutputFormat; 
    4644import org.dom4j.io.XMLWriter; 
    47  
    48 import javax.xml.bind.JAXBContext; 
    49 import javax.xml.bind.JAXBException; 
    50 import javax.xml.bind.Marshaller; 
    51 import javax.xml.bind.Unmarshaller; 
    52 import javax.xml.bind.JAXBElement;  
    53  
    54 import javax.xml.parsers.DocumentBuilderFactory; 
    55 import javax.xml.parsers.ParserConfigurationException; 
    5645 
    5746 
     
    6049 * 
    6150 */ 
    62 public class MainDocumentPart extends DocumentPart  { 
     51public class MainDocumentPart extends DocumentPart<org.docx4j.wml.Document>  { 
    6352         
    6453        private static Logger log = Logger.getLogger(MainDocumentPart.class); 
     
    11099     *     If any unexpected errors occur while unmarshalling 
    111100     */ 
    112     public Object unmarshal( java.io.InputStream is ) throws JAXBException { 
     101        @Override 
     102    public org.docx4j.wml.Document unmarshal( java.io.InputStream is ) throws JAXBException { 
    113103         
    114104                try { 
     
    122112//                      jaxbElement = (org.docx4j.wml.Document)root.getValue(); 
    123113                         
    124                         jaxbElement =  u.unmarshal( is ); 
     114                        jaxbElement =  (org.docx4j.wml.Document) u.unmarshal( is ); 
    125115                        return jaxbElement; 
    126116                         
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/NumberingDefinitionsPart.java

    r871 r887  
    3636import org.docx4j.openpackaging.exceptions.InvalidOperationException; 
    3737import org.docx4j.openpackaging.packages.WordprocessingMLPackage; 
     38import org.docx4j.openpackaging.parts.JaxbXmlPart; 
    3839import org.docx4j.openpackaging.parts.PartName; 
    3940import org.docx4j.openpackaging.parts.relationships.Namespaces; 
    40  
    41 import org.docx4j.openpackaging.parts.JaxbXmlPart; 
    4241import org.docx4j.wml.Lvl; 
    4342import org.docx4j.wml.Numbering; 
     
    5049 
    5150 
    52 public final class NumberingDefinitionsPart extends JaxbXmlPart { 
     51public final class NumberingDefinitionsPart extends JaxbXmlPart<Numbering> { 
    5352         
    5453        public NumberingDefinitionsPart(PartName partName) throws InvalidFormatException { 
     
    290289     *     If any unexpected errors occur while unmarshalling 
    291290     */ 
    292     public Object unmarshal( java.io.InputStream is ) throws JAXBException { 
     291        @Override 
     292    public Numbering unmarshal( java.io.InputStream is ) throws JAXBException { 
    293293         
    294294                try { 
     
    308308                        u.setEventHandler(new org.docx4j.jaxb.JaxbValidationEventHandler()); 
    309309                                                 
    310                         jaxbElement = u.unmarshal( is ); 
     310                        jaxbElement = (Numbering) u.unmarshal( is ); 
    311311                         
    312312                        log.info("\n\n" + this.getClass().getName() + " unmarshalled \n\n" );                                                                    
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/StyleDefinitionsPart.java

    r871 r887  
    2424 
    2525import javax.xml.bind.JAXBContext; 
    26 import javax.xml.bind.JAXBElement; 
    2726import javax.xml.bind.JAXBException; 
    2827import javax.xml.bind.Unmarshaller; 
     
    3029import org.apache.log4j.Logger; 
    3130import org.docx4j.jaxb.Context; 
    32 import org.docx4j.model.PropertyResolver; 
    3331import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
     32import org.docx4j.openpackaging.parts.JaxbXmlPart; 
    3433import org.docx4j.openpackaging.parts.PartName; 
    3534import org.docx4j.openpackaging.parts.relationships.Namespaces; 
    36  
    37 import org.docx4j.openpackaging.parts.JaxbXmlPart; 
    38  
    39  
    40 public final class StyleDefinitionsPart extends JaxbXmlPart { 
     35import org.docx4j.wml.Styles; 
     36 
     37 
     38public final class StyleDefinitionsPart extends JaxbXmlPart<Styles> { 
    4139         
    4240        private static Logger log = Logger.getLogger(StyleDefinitionsPart.class);                
     
    8280     *     If any unexpected errors occur while unmarshalling 
    8381     */ 
    84     public Object unmarshal( java.io.InputStream is ) throws JAXBException { 
     82        @Override 
     83    public Styles unmarshal( java.io.InputStream is ) throws JAXBException { 
    8584         
    8685                try { 
     
    9796                        log.info("unmarshalling " + this.getClass().getName() + " \n\n" );                                                                       
    9897                                                 
    99                         jaxbElement = u.unmarshal( is ); 
     98                        jaxbElement = (Styles) u.unmarshal( is ); 
    10099                         
    101100                        log.info("\n\n" + this.getClass().getName() + " unmarshalled \n\n" );                                                                    
     
    109108    } 
    110109     
    111     public Object unmarshal(org.w3c.dom.Element el) throws JAXBException { 
     110        @Override 
     111    public Styles unmarshal(org.w3c.dom.Element el) throws JAXBException { 
    112112         
    113113        // Note: This is used when we read in a pkg:package  
     
    119119                        u.setEventHandler(new org.docx4j.jaxb.JaxbValidationEventHandler()); 
    120120 
    121                         jaxbElement = u.unmarshal( el ); 
     121                        jaxbElement = (Styles) u.unmarshal( el ); 
    122122                         
    123123                        return jaxbElement; 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/relationships/RelationshipsPart.java

    r871 r887  
    5151package org.docx4j.openpackaging.parts.relationships; 
    5252 
     53import java.net.URI; 
     54import java.net.URISyntaxException; 
     55 
    5356import javax.xml.bind.JAXBException; 
    5457import javax.xml.bind.Unmarshaller; 
    5558 
    56 import org.docx4j.relationships.Relationships; 
    57 import org.docx4j.relationships.Relationship; 
    58  
     59import org.apache.log4j.Logger; 
    5960import org.docx4j.jaxb.Context; 
    6061import org.docx4j.jaxb.NamespacePrefixMapperUtils; 
    61 import org.docx4j.openpackaging.parts.JaxbXmlPart; 
    62  
    63 import java.io.InputStream; 
    64 import java.net.URI; 
    65 import java.net.URISyntaxException; 
    66  
    67 import org.apache.log4j.Logger; 
    68  
     62import org.docx4j.openpackaging.Base; 
    6963import org.docx4j.openpackaging.URIHelper; 
    7064import org.docx4j.openpackaging.contenttype.ContentTypeManager; 
    7165import org.docx4j.openpackaging.contenttype.ContentTypes; 
    72 import org.docx4j.openpackaging.exceptions.Docx4JRuntimeException; 
    7366import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    74 import org.docx4j.openpackaging.exceptions.InvalidOperationException; 
    75 import org.docx4j.openpackaging.Base; 
    7667import org.docx4j.openpackaging.packages.Package; 
    7768import org.docx4j.openpackaging.parts.ExternalTarget; 
     69import org.docx4j.openpackaging.parts.JaxbXmlPart; 
    7870import org.docx4j.openpackaging.parts.Part; 
    7971import org.docx4j.openpackaging.parts.PartName; 
     72import org.docx4j.relationships.Relationship; 
     73import org.docx4j.relationships.Relationships; 
    8074 
    8175 
     
    9084 * @version 0.1 
    9185 */ 
    92 public final class RelationshipsPart extends JaxbXmlPart {  
     86public final class RelationshipsPart extends JaxbXmlPart<Relationships> {  
    9387        // implements Iterable<Relationship> { 
    9488 
     
    743737     *     If any unexpected errors occur while unmarshalling 
    744738     */ 
    745     public Object unmarshal( java.io.InputStream is ) throws JAXBException { 
     739        @Override 
     740    public Relationships unmarshal( java.io.InputStream is ) throws JAXBException { 
    746741         
    747742                try { 
     
    758753                        log.info("unmarshalling " + this.getClass().getName() + " \n\n" );                                                                       
    759754                                                 
    760                         jaxbElement = u.unmarshal( is ); 
     755                        jaxbElement = (Relationships) u.unmarshal( is ); 
    761756                         
    762757                         
  • trunk/docx4j/src/main/java/org/docx4j/samples/NumberingRestart.java

    r652 r887  
    2222package org.docx4j.samples; 
    2323 
    24 import java.io.File; 
    2524import java.math.BigInteger; 
    2625 
     
    2827import org.docx4j.openpackaging.packages.WordprocessingMLPackage; 
    2928import org.docx4j.openpackaging.parts.WordprocessingML.NumberingDefinitionsPart; 
    30 import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    31 import org.docx4j.openpackaging.io.SaveToZipFile; 
     29import org.docx4j.wml.Numbering; 
    3230import org.docx4j.wml.P; 
    3331import org.docx4j.wml.PPrBase.NumPr; 
     
    5755                NumberingDefinitionsPart ndp = new NumberingDefinitionsPart(); 
    5856                wordMLPackage.getMainDocumentPart().addTargetPart(ndp); 
    59                 ndp.setJaxbElement( XmlUtils.unmarshalString(initialNumbering) ); 
     57                ndp.setJaxbElement( (Numbering) XmlUtils.unmarshalString(initialNumbering) ); 
    6058                 
    6159                 
  • trunk/docx4j/src/main/java/org/docx4j/samples/UnmarshallFromTemplate.java

    r588 r887  
    2323 
    2424import java.util.HashMap; 
    25 import java.util.List; 
    2625 
    2726import javax.xml.bind.JAXBContext; 
    28 import javax.xml.bind.JAXBElement; 
    29 import javax.xml.bind.JAXBException; 
    30 import javax.xml.bind.Unmarshaller; 
    3127 
    3228import org.docx4j.XmlUtils; 
    33 import org.docx4j.openpackaging.io.LoadFromZipFile; 
    3429import org.docx4j.openpackaging.io.SaveToZipFile; 
    3530import org.docx4j.openpackaging.packages.WordprocessingMLPackage; 
    3631import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart; 
    37 import org.docx4j.wml.Body; 
     32import org.docx4j.wml.Document; 
    3833 
    3934 
     
    7570               
    7671              //change  JaxbElement 
    77               documentPart.setJaxbElement(obj); 
     72              documentPart.setJaxbElement((Document) obj); 
    7873 
    7974              // Save it                 
Note: See TracChangeset for help on using the changeset viewer.