Changeset 1176


Ignore:
Timestamp:
07/16/10 12:28:10 (19 months ago)
Author:
jharrop
Message:

Extract method createRelationshipsPartForPart, and use it.

Location:
trunk/docx4j/src/main/java/org/docx4j/openpackaging
Files:
3 edited

Legend:

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

    r1107 r1176  
    196196 
    197197                // Create RelationshipsPart for this part if necessary 
    198                 if (this.getRelationshipsPart() == null ) { 
    199                         RelationshipsPart rp = new RelationshipsPart( this ); 
    200                         rp.setPackage(this.getPackage()); 
    201                          
    202                         this.setRelationships(rp); 
    203                          
    204                         // Make sure content manager knows how to handle .rels 
    205                         getPackage().getContentTypeManager().addDefaultContentType("rels",  
    206                                         org.docx4j.openpackaging.contenttype.ContentTypes.RELATIONSHIPS_PART); 
    207                 } 
     198                if (this.getRelationshipsPart() == null )  
     199                        RelationshipsPart.createRelationshipsPartForPart(this); 
    208200                 
    209201                // Now add the targetpart to the relationships 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/BinaryPartAbstractImage.java

    r1141 r1176  
    5757import org.docx4j.openpackaging.parts.Part; 
    5858import org.docx4j.openpackaging.parts.PartName; 
     59import org.docx4j.openpackaging.parts.relationships.RelationshipsPart; 
    5960import org.docx4j.relationships.Relationship; 
    6061import org.docx4j.wml.SectPr; 
     
    188189                 
    189190                ContentTypeManager ctm = wordMLPackage.getContentTypeManager(); 
     191                 
     192                // Ensure the relationships part exists 
     193                if (sourcePart.getRelationshipsPart()==null)  
     194                        RelationshipsPart.createRelationshipsPartForPart(sourcePart); 
     195                 
    190196                String proposedRelId = sourcePart.getRelationshipsPart().getNextId(); 
    191197                // In order to ensure unique part name, 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/relationships/RelationshipsPart.java

    r1107 r1176  
    155155                init(); 
    156156        } 
    157  
     157         
    158158        /** 
    159159         * Constructor.  Creates an appropriately named .rels XML document. 
     
    184184                jaxbElement = factory.createRelationships();             
    185185        } 
     186                 
    186187         
    187188        public void init() {             
     
    191192 
    192193                setJAXBContext(Context.jcRelationships);                                 
     194        } 
     195         
     196        public static RelationshipsPart createRelationshipsPartForPart( 
     197                        Base sourcePart) { 
     198 
     199                if (sourcePart.getRelationshipsPart() != null) 
     200                        return sourcePart.getRelationshipsPart(); 
     201 
     202                RelationshipsPart rp = null; 
     203                try { 
     204                        rp = new RelationshipsPart(sourcePart); 
     205                } catch (InvalidFormatException e) { 
     206                        // TODO Auto-generated catch block 
     207                        e.printStackTrace(); 
     208                } 
     209                rp.setPackage(sourcePart.getPackage()); 
     210 
     211                // sourcePart.setRelationships(rp); 
     212 
     213                // Make sure content manager knows how to handle .rels 
     214                sourcePart 
     215                                .getPackage() 
     216                                .getContentTypeManager() 
     217                                .addDefaultContentType( 
     218                                                "rels", 
     219                                                org.docx4j.openpackaging.contenttype.ContentTypes.RELATIONSHIPS_PART); 
     220 
     221                return rp; 
    193222        }        
    194223         
Note: See TracChangeset for help on using the changeset viewer.