Changeset 1436


Ignore:
Timestamp:
02/23/11 12:29:38 (15 months ago)
Author:
jharrop
Message:

generics; flesh out example.

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

Legend:

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

    r1256 r1436  
    2828 
    2929 
    30 public final class CustomXmlDataStoragePropertiesPart extends JaxbXmlPart { 
     30public final class CustomXmlDataStoragePropertiesPart extends JaxbXmlPart<DatastoreItem> { 
    3131         
    3232        public CustomXmlDataStoragePropertiesPart(PartName partName) throws InvalidFormatException { 
  • trunk/docx4j/src/main/java/org/docx4j/samples/CreateDocxWithCustomXml.java

    r1004 r1436  
    2323 
    2424import java.io.File; 
     25import java.util.UUID; 
    2526 
     27import org.docx4j.customXmlProperties.DatastoreItem; 
     28import org.docx4j.jaxb.Context; 
    2629import org.docx4j.model.datastorage.CustomXmlDataStorage; 
    2730import org.docx4j.model.datastorage.CustomXmlDataStorageImpl; 
    2831import org.docx4j.openpackaging.Base; 
    2932import org.docx4j.openpackaging.packages.WordprocessingMLPackage; 
     33import org.docx4j.openpackaging.parts.CustomXmlDataStoragePart; 
     34import org.docx4j.openpackaging.parts.CustomXmlDataStoragePropertiesPart; 
     35import org.docx4j.openpackaging.parts.Part; 
    3036import org.docx4j.openpackaging.parts.PartName; 
    3137import org.docx4j.openpackaging.parts.Parts; 
    3238import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart; 
     39import org.docx4j.openpackaging.exceptions.Docx4JException; 
    3340import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    3441import org.docx4j.openpackaging.io.SaveToZipFile; 
     
    5360                 
    5461                                 
    55                 injectCustomXmlDataStoragePart(wordMLPackage.getMainDocumentPart(), 
     62                CustomXmlDataStoragePart customXmlDataStoragePart = injectCustomXmlDataStoragePart(wordMLPackage.getMainDocumentPart(), 
    5663                                wordMLPackage.getParts() ); 
     64                 
     65                addProperties(customXmlDataStoragePart); 
    5766                 
    5867                // Now save it  
     
    6473         
    6574         
    66         public static void injectCustomXmlDataStoragePart(Base base, Parts parts) { 
     75        public static CustomXmlDataStoragePart injectCustomXmlDataStoragePart(Part parent, Parts parts) throws Exception { 
    6776                 
    68                 try { 
    6977                        org.docx4j.openpackaging.parts.CustomXmlDataStoragePart customXmlDataStoragePart =  
    7078                                new org.docx4j.openpackaging.parts.CustomXmlDataStoragePart(parts); 
     
    7886//                      customXmlDataStoragePart.setDocument( createCustomXmlDocument() ); 
    7987                                         
    80                         base.addTargetPart(customXmlDataStoragePart); 
    81                          
    82                 } catch (Exception e) { 
    83                         // TODO Auto-generated catch block 
    84                         e.printStackTrace(); 
    85                 } 
     88                        parent.addTargetPart(customXmlDataStoragePart); 
     89 
     90                        return customXmlDataStoragePart; 
     91 
     92        } 
     93         
     94        public static void addProperties(CustomXmlDataStoragePart customXmlDataStoragePart) throws InvalidFormatException { 
     95 
     96                CustomXmlDataStoragePropertiesPart part = new CustomXmlDataStoragePropertiesPart(); 
    8697                 
     98                org.docx4j.customXmlProperties.ObjectFactory of = new org.docx4j.customXmlProperties.ObjectFactory(); 
    8799                 
     100                DatastoreItem dsi = of.createDatastoreItem(); 
     101                String newItemId = "{" + UUID.randomUUID().toString() + "}";                                     
     102                dsi.setItemID(newItemId); 
     103                 
     104                part.setJaxbElement(dsi ); 
     105                 
     106                customXmlDataStoragePart.addTargetPart(part); 
    88107        } 
    89108         
Note: See TracChangeset for help on using the changeset viewer.