Changeset 966


Ignore:
Timestamp:
10/30/09 13:40:15 (3 years ago)
Author:
jharrop
Message:

Register other sections in DocumentModel?.

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

Legend:

Unmodified
Added
Removed
  • trunk/docx4j/src/main/java/org/docx4j/model/structure/DocumentModel.java

    r943 r966  
    2424import java.util.List; 
    2525 
     26import org.apache.log4j.Logger; 
    2627import org.docx4j.openpackaging.packages.WordprocessingMLPackage; 
    2728import org.docx4j.openpackaging.parts.relationships.RelationshipsPart; 
     
    5152public class DocumentModel { 
    5253         
     54        protected static Logger log = Logger.getLogger(DocumentModel.class);             
     55         
    5356        private List<SectionWrapper> sections = new ArrayList<SectionWrapper>();  
    5457         
     
    6669                 
    6770                RelationshipsPart rels = wordMLPackage.getMainDocumentPart().getRelationshipsPart(); 
     71                                 
     72                Document doc = (Document)wordMLPackage.getMainDocumentPart().getJaxbElement(); 
    6873                 
    69                 // For now, we only capture the document level one 
     74                for (Object o : doc.getBody().getEGBlockLevelElts() ) { 
     75                        if (o instanceof org.docx4j.wml.P) { 
     76                                if (((org.docx4j.wml.P)o).getPPr() != null ) { 
     77                                        org.docx4j.wml.PPr ppr = ((org.docx4j.wml.P)o).getPPr(); 
     78                                        if (ppr.getSectPr()!=null) { 
     79                                                sections.add( 
     80                                                                new SectionWrapper( 
     81                                                                                ppr.getSectPr(), rels) ); 
     82                                                log.debug( "registered sectpr");                                                 
     83                                        } 
     84                                } 
     85                        } 
     86                } 
    7087                 
    71                 Document doc = (Document)wordMLPackage.getMainDocumentPart().getJaxbElement(); 
     88                 
    7289                SectPr sectPr = doc.getBody().getSectPr();       
    7390                // There might not be a sectPr, but we still add a SectionWrapper to 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/packages/WordprocessingMLPackage.java

    r943 r966  
    119119        @Deprecated      
    120120        public HeaderFooterPolicy getHeaderFooterPolicy() { 
    121                  
    122                 return getDocumentModel().getSections().get(0).getHeaderFooterPolicy(); 
     121                int last = getDocumentModel().getSections().size(); 
     122                if (last>0) { 
     123                        return getDocumentModel().getSections().get(last).getHeaderFooterPolicy(); 
     124                } else { 
     125                        return null; 
     126                } 
    123127        } 
    124128         
  • trunk/docx4j/src/main/java/org/docx4j/samples/OpenMainDocumentAndTraverse.java

    r965 r966  
    123123//              DocumentSettingsPart dsp = (DocumentSettingsPart)documentPart.getRelationshipsPart().getPart(r); 
    124124//              System.out.println(dsp.getJaxbElement().getClass().getName() ); 
     125                 
     126                // Look at our document model 
     127                System.out.println("Registered " + wordMLPackage.getDocumentModel().getSections().size() + " sections"); 
    125128                 
    126129                                 
Note: See TracChangeset for help on using the changeset viewer.