]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Added pool operations to XML event handling.
authorPeter Bernard West <pbwest@apache.org>
Sun, 1 Dec 2002 14:56:26 +0000 (14:56 +0000)
committerPeter Bernard West <pbwest@apache.org>
Sun, 1 Dec 2002 14:56:26 +0000 (14:56 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/FOP_0-20-0_Alt-Design@195698 13f79535-47bb-0310-9956-ffa450edef68

src/org/apache/fop/fo/FoRoot.java

index 0c19cc7d61bac4020fdf4f29ad599d495cf10625..7b654f50fcd7cdf38871041d31c554f26235aabc 100644 (file)
@@ -134,8 +134,7 @@ public class FoRoot extends FONode {
                                 new FoLayoutMasterSet(getFOTree(), this, ev);
             // Clean up the fo:layout-master-set event
             pageSequenceMasters = layoutMasters.getPageSequenceMasters();
-            xmlevents.getEndElement(ev);
-            //System.out.println("Surrendering layout-master-set ev");
+            ev = xmlevents.getEndElement(xmlevents.DISCARD_EV, ev);
             pool.surrenderEvent(ev);
             layoutMasters.deleteSubTree();
 
@@ -147,8 +146,7 @@ public class FoRoot extends FONode {
                 // process the declarations
                 declarations = numChildren();
                 new FoDeclarations(getFOTree(), this, ev);
-                xmlevents.getEndElement(ev);
-                //System.out.println("Surrendering declarations ev");
+                ev = xmlevents.getEndElement(xmlevents.DISCARD_EV, ev);
                 pool.surrenderEvent(ev);
             }
 
@@ -161,13 +159,14 @@ public class FoRoot extends FONode {
                 throw new FOPException("No page-sequence found.");
             firstPageSeq = numChildren();
             new FoPageSequence(getFOTree(), this, ev);
-            xmlevents.getEndElement(ev);
+            ev = xmlevents.getEndElement(xmlevents.DISCARD_EV, ev);
+            pool.surrenderEvent(ev);
             while ((ev = xmlevents.expectStartElement
                     (FObjectNames.PAGE_SEQUENCE, XMLEvent.DISCARD_W_SPACE))
                    != null) {
                 // Loop over remaining fo:page-sequences
                 new FoPageSequence(getFOTree(), this, ev);
-                xmlevents.getEndElement(ev);
+                ev = xmlevents.getEndElement(xmlevents.DISCARD_EV, ev);
                 pool.surrenderEvent(ev);
             }
         } catch (NoSuchElementException e) {
@@ -180,5 +179,9 @@ public class FoRoot extends FONode {
         }
         // Clean up root's FO tree build environment
         makeSparsePropsSet();
+        // Provide some stats
+        System.out.println("Size of event pool: " + pool.getPoolSize());
+        System.out.println("Next event id     : " + 
+                           xmlevents.getNamespaces().getSequence());
     }
 }