gmazza      2004/06/17 00:02:14

  Modified:    src/java/org/apache/fop/apps Document.java Driver.java
               src/java/org/apache/fop/fo FOInputHandler.java
                        FOTreeHandler.java
               src/java/org/apache/fop/fo/pagination LayoutMasterSet.java
                        PageSequenceMaster.java
  Log:
  1. Child element validity checking added for fo:page-sequence-master.
  
  2. AreaTree object moved from Document/Driver to FOTreeHandler, as it is specific to 
this subclass of FOInputHandler only (RTFHandler and MIFHandler don't use area trees).
  
  Revision  Changes    Path
  1.22      +8 -12     xml-fop/src/java/org/apache/fop/apps/Document.java
  
  Index: Document.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/Document.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- Document.java     16 Jun 2004 00:27:26 -0000      1.21
  +++ Document.java     17 Jun 2004 07:02:13 -0000      1.22
  @@ -19,10 +19,9 @@
   package org.apache.fop.apps;
   
   // FOP
  -import org.apache.fop.area.AreaTree;
  -import org.apache.fop.area.AreaTreeModel;
   import org.apache.fop.fo.FOInputHandler;
   import org.apache.fop.fonts.FontInfo;
  +import org.apache.fop.render.Renderer;
   
   // SAX
   import org.xml.sax.SAXException;
  @@ -39,11 +38,8 @@
       /** The Font information relevant for this document */
       private FontInfo fontInfo;
       
  -    /** The current AreaTree for the PageSequence being rendered. */
  -    public AreaTree areaTree;
  -
  -    /** The AreaTreeModel for the PageSequence being rendered. */
  -    public AreaTreeModel atModel;
  +    /** The Renderer being used for this document */
  +    protected Renderer renderer;
   
       /**
        * Structure handler used to notify structure
  @@ -77,12 +73,12 @@
       }
   
       /**
  -     * Get the area tree for this layout handler.
  +     * Get the renderer for this document
        *
  -     * @return the area tree for this document
  +     * @return the renderer for this document
        */
  -    public AreaTree getAreaTree() {
  -        return areaTree;
  +    public Renderer getRenderer() {
  +        return renderer;
       }
   
       /**
  
  
  
  1.67      +3 -8      xml-fop/src/java/org/apache/fop/apps/Driver.java
  
  Index: Driver.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/Driver.java,v
  retrieving revision 1.66
  retrieving revision 1.67
  diff -u -r1.66 -r1.67
  --- Driver.java       17 Jun 2004 04:53:59 -0000      1.66
  +++ Driver.java       17 Jun 2004 07:02:13 -0000      1.67
  @@ -19,9 +19,6 @@
   package org.apache.fop.apps;
   
   // FOP
  -import org.apache.fop.area.AreaTree;
  -import org.apache.fop.area.RenderPagesModel;
  -
   import org.apache.fop.fo.ElementMapping;
   import org.apache.fop.fo.FOTreeBuilder;
   
  @@ -490,11 +487,9 @@
                           "Renderer not set when using standard foInputHandler");
               }
   
  +            currentDocument.renderer = renderer;
               foInputHandler = new FOTreeHandler(currentDocument, true);
  -            currentDocument.areaTree = new AreaTree();
  -            currentDocument.atModel = new RenderPagesModel(renderer);
  -            //this.atModel = new CachedRenderPagesModel(renderer);
  -            currentDocument.areaTree.setTreeModel(currentDocument.atModel);
  +
               try {
                   renderer.setupFontInfo(currentDocument.getFontInfo());
                   // check that the "any,normal,400" font exists
  
  
  
  1.19      +1 -8      xml-fop/src/java/org/apache/fop/fo/FOInputHandler.java
  
  Index: FOInputHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FOInputHandler.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- FOInputHandler.java       16 Jun 2004 00:27:26 -0000      1.18
  +++ FOInputHandler.java       17 Jun 2004 07:02:13 -0000      1.19
  @@ -119,13 +119,6 @@
           return doc;
       }
   
  -    /**   
  -      * @return the current Area Tree object
  -      */   
  -     public AreaTree getAreaTree() {
  -        return doc.getAreaTree();
  -     } 
  -    
       /**
        * Returns the Driver object associated with this FOInputHandler.
        * @return the Driver object
  
  
  
  1.21      +18 -1     xml-fop/src/java/org/apache/fop/fo/FOTreeHandler.java
  
  Index: FOTreeHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FOTreeHandler.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- FOTreeHandler.java        15 Jun 2004 06:26:55 -0000      1.20
  +++ FOTreeHandler.java        17 Jun 2004 07:02:13 -0000      1.21
  @@ -30,6 +30,7 @@
   import org.apache.fop.apps.Document;
   import org.apache.fop.apps.FOPException;
   import org.apache.fop.area.AreaTree;
  +import org.apache.fop.area.RenderPagesModel;
   import org.apache.fop.area.Title;
   import org.apache.fop.fo.extensions.Bookmarks;
   import org.apache.fop.fo.flow.BasicLink;
  @@ -76,6 +77,9 @@
        */
       private Runtime runtime;
   
  +    /** The current AreaTree for the FOTreeHandler. */
  +    public AreaTree areaTree;
  +
       /**
        * Keep track of the number of pages rendered.
        */
  @@ -105,6 +109,11 @@
        */
       public FOTreeHandler(Document doc, boolean store) {
           super(doc);
  +        
  +        areaTree = new AreaTree();
  +        // this.atModel = new CachedRenderPagesModel(renderer);
  +        areaTree.setTreeModel(new RenderPagesModel(doc.getRenderer()));
  +        
           if (collectStatistics) {
               runtime = Runtime.getRuntime();
           }
  @@ -597,4 +606,12 @@
        */
       public void endPageNumber(PageNumber pagenum) {
       }
  +    
  +    /**   
  +      * @return the current Area Tree object
  +      */   
  +     public AreaTree getAreaTree() {
  +        return areaTree;
  +     } 
  +    
   }
  
  
  
  1.11      +1 -1      
xml-fop/src/java/org/apache/fop/fo/pagination/LayoutMasterSet.java
  
  Index: LayoutMasterSet.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/LayoutMasterSet.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- LayoutMasterSet.java      16 Jun 2004 23:40:58 -0000      1.10
  +++ LayoutMasterSet.java      17 Jun 2004 07:02:13 -0000      1.11
  @@ -24,6 +24,7 @@
   
   // XML
   import org.xml.sax.Attributes;
  +import org.xml.sax.Locator;
   
   // FOP
   import org.apache.fop.fo.FONode;
  @@ -31,7 +32,6 @@
   import org.apache.fop.fo.FOElementMapping;
   import org.apache.fop.fo.FOTreeVisitor;
   import org.apache.fop.apps.FOPException;
  -import org.xml.sax.Locator;
   
   /**
    * The layout-master-set formatting object.
  
  
  
  1.10      +31 -2     
xml-fop/src/java/org/apache/fop/fo/pagination/PageSequenceMaster.java
  
  Index: PageSequenceMaster.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/PageSequenceMaster.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- PageSequenceMaster.java   12 Jun 2004 23:18:52 -0000      1.9
  +++ PageSequenceMaster.java   17 Jun 2004 07:02:13 -0000      1.10
  @@ -21,13 +21,15 @@
   // Java
   import java.util.List;
   
  -// SAX
  +// XML
   import org.xml.sax.Attributes;
  +import org.xml.sax.Locator;
   
   // FOP
   import org.apache.fop.fo.Constants;
  -import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.FObj;
  +import org.apache.fop.fo.FONode;
  +import org.apache.fop.fo.FOElementMapping;
   import org.apache.fop.fo.FOTreeVisitor;
   import org.apache.fop.apps.FOPException;
   
  @@ -57,6 +59,33 @@
       public PageSequenceMaster(FONode parent) {
           super(parent);
       }
  +
  +
  +
  +    /**
  +     * @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String)
  +     * XSL/FOP: (single-page-master-reference|repeatable-page-master-reference|
  +     *     repeatable-page-master-alternatives)+
  +     */
  +    protected void validateChildNode(Locator loc, String nsURI, String localName) {
  +        if (nsURI == FOElementMapping.URI) {
  +            if (!localName.equals("single-page-master-reference") 
  +                && !localName.equals("repeatable-page-master-reference")
  +                && !localName.equals("repeatable-page-master-alternatives")) {   
  +                    invalidChildError(loc, nsURI, localName);
  +            }
  +        } else {
  +            invalidChildError(loc, nsURI, localName);
  +        }
  +    }
  +
  +    protected void end() {
  +        if (children == null) {
  +           missingChildElementError("(single-page-master-reference|" +
  +            
"repeatable-page-master-reference|repeatable-page-master-alternatives)+");
  +        }
  +    }
  +
   
       /**
        * @see org.apache.fop.fo.FObj#addProperties
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to