gmazza      2004/11/27 11:58:35

  Modified:    src/java/org/apache/fop/area AreaTreeHandler.java
                        PageViewport.java Resolvable.java
               src/java/org/apache/fop/fo FOEventHandler.java
               src/java/org/apache/fop/layoutmgr
                        PageSequenceLayoutManager.java
               src/java/org/apache/fop/render/rtf RTFHandler.java
  Log:
  Removed unused logger from FOEventHandler and commented the AreaTreeHandler
  to make it more understandable (particularily idref resolving code.)
  
  Revision  Changes    Path
  1.17      +38 -34    xml-fop/src/java/org/apache/fop/area/AreaTreeHandler.java
  
  Index: AreaTreeHandler.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/area/AreaTreeHandler.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- AreaTreeHandler.java      28 Oct 2004 00:06:46 -0000      1.16
  +++ AreaTreeHandler.java      27 Nov 2004 19:58:34 -0000      1.17
  @@ -60,8 +60,9 @@
    */
   public class AreaTreeHandler extends FOEventHandler {
   
  -    // TODO: Collecting of statistics should be configurable
  -    private final boolean collectStatistics = true;
  +    // show statistics after document complete?
  +    private boolean outputStatistics;
  +
       private static final boolean MEM_PROFILE_WITH_GC = false;
       
       // for statistics gathering
  @@ -82,8 +83,9 @@
       // hashmap of arraylists containing pages with id area
       private Map idLocations = new HashMap();
   
  -    // list of id's yet to be resolved and arraylists of pages
  -    private Map resolve = new HashMap();
  +    // idref's whose corresponding id's have yet to be found
  +    // Each idref has a HashSet of Resolvable objects containing that idref
  +    private Map unresolvedIDRefs = new HashMap();
   
       private static Log log = LogFactory.getLog(AreaTreeHandler.class);
   
  @@ -98,12 +100,12 @@
           OutputStream stream) throws FOPException {
           super(userAgent);
   
  -        // model = new CachedRenderPagesModel(userAgent, renderType,
  -        //  fontInfo, stream);
           model = new RenderPagesModel(userAgent, renderType, fontInfo,
               stream);
               
  -        if (collectStatistics) {
  +        outputStatistics = log.isDebugEnabled();
  +
  +        if (outputStatistics) {
               runtime = Runtime.getRuntime();
           }
       }
  @@ -130,13 +132,13 @@
           }
           list.add(pv);
   
  -        Set todo = (Set)resolve.get(id);
  +        Set todo = (Set) unresolvedIDRefs.get(id);
           if (todo != null) {
               for (Iterator iter = todo.iterator(); iter.hasNext();) {
                   Resolvable res = (Resolvable)iter.next();
                   res.resolve(id, list);
               }
  -            resolve.remove(id);
  +            unresolvedIDRefs.remove(id);
           }
       }
   
  @@ -150,16 +152,17 @@
       }
   
       /**
  -     * Add an unresolved object with a given id.
  -     * @param id the id reference that needs resolving
  -     * @param res the Resolvable object to resolve
  +     * Add an Resolvable object with an unresolved idref
  +     * @param idref the idref whose target id has not yet been located
  +     * @param res the Resolvable object with the unresolved idref
        */
  -    public void addUnresolvedID(String id, Resolvable res) {
  -        Set todo = (Set)resolve.get(id);
  +    public void addUnresolvedIDRef(String idref, Resolvable res) {
  +        Set todo = (Set) unresolvedIDRefs.get(idref);
           if (todo == null) {
               todo = new HashSet();
  -            resolve.put(id, todo);
  +            unresolvedIDRefs.put(idref, todo);
           }
  +        // add Resolvable object to this HashSet
           todo.add(res);
       }
   
  @@ -171,7 +174,7 @@
        */
       public void startDocument() throws SAXException {
           //Initialize statistics
  -        if (collectStatistics) {
  +        if (outputStatistics) {
               pageCount = 0;
               if (MEM_PROFILE_WITH_GC) {
                   System.gc(); // This takes time but gives better results
  @@ -189,9 +192,10 @@
        */
       public void endDocument() throws SAXException {
           // deal with unresolved references
  -        for (Iterator iter = resolve.keySet().iterator(); iter.hasNext();) {
  +        for (Iterator iter = unresolvedIDRefs.keySet().iterator(); 
  +                iter.hasNext();) {
               String id = (String)iter.next();
  -            Set list = (Set)resolve.get(id);
  +            Set list = (Set) unresolvedIDRefs.get(id);
               for (Iterator resIter = list.iterator(); resIter.hasNext();) {
                   Resolvable res = (Resolvable)resIter.next();
                   if (!res.isResolved()) {
  @@ -201,7 +205,7 @@
           }
           model.endDocument();
   
  -        if (collectStatistics) {
  +        if (outputStatistics) {
               if (MEM_PROFILE_WITH_GC) {
                   // This takes time but gives better results
                   System.gc();
  @@ -209,18 +213,18 @@
               long memoryNow = runtime.totalMemory() - runtime.freeMemory();
               long memoryUsed = (memoryNow - initialMemory) / 1024L;
               long timeUsed = System.currentTimeMillis() - startTime;
  -            if (logger != null && logger.isDebugEnabled()) {
  -                logger.debug("Initial heap size: " + (initialMemory / 1024L) 
+ "Kb");
  -                logger.debug("Current heap size: " + (memoryNow / 1024L) + 
"Kb");
  -                logger.debug("Total memory used: " + memoryUsed + "Kb");
  +            if (log != null && log.isDebugEnabled()) {
  +                log.debug("Initial heap size: " + (initialMemory / 1024L) + 
"Kb");
  +                log.debug("Current heap size: " + (memoryNow / 1024L) + 
"Kb");
  +                log.debug("Total memory used: " + memoryUsed + "Kb");
                   if (!MEM_PROFILE_WITH_GC) {
  -                    logger.debug("  Memory use is indicative; no GC was 
performed");
  -                    logger.debug("  These figures should not be used 
comparatively");
  +                    log.debug("  Memory use is indicative; no GC was 
performed");
  +                    log.debug("  These figures should not be used 
comparatively");
                   }
  -                logger.debug("Total time used: " + timeUsed + "ms");
  -                logger.debug("Pages rendered: " + pageCount);
  +                log.debug("Total time used: " + timeUsed + "ms");
  +                log.debug("Pages rendered: " + pageCount);
                   if (pageCount > 0) {
  -                    logger.debug("Avg render time: " + (timeUsed / 
pageCount) + "ms/page");
  +                    log.debug("Avg render time: " + (timeUsed / pageCount) + 
"ms/page");
                   }
               }
           }
  @@ -235,14 +239,14 @@
        */
       public void endPageSequence(PageSequence pageSequence) {
   
  -        if (collectStatistics) {
  +        if (outputStatistics) {
               if (MEM_PROFILE_WITH_GC) {
                   // This takes time but gives better results
                   System.gc();
               }
               long memoryNow = runtime.totalMemory() - runtime.freeMemory();
  -            if (logger != null) {
  -                logger.debug("Current heap size: " + (memoryNow / 1024L) + 
"Kb");
  +            if (log != null) {
  +                log.debug("Current heap size: " + (memoryNow / 1024L) + 
"Kb");
               }
           }
   
  @@ -307,10 +311,10 @@
                   if (idLocations.containsKey(ids[count])) {
                       res.resolve(ids[count], 
(List)idLocations.get(ids[count]));
                   } else {
  -                    Set todo = (Set)resolve.get(ids[count]);
  +                    Set todo = (Set) unresolvedIDRefs.get(ids[count]);
                       if (todo == null) {
                           todo = new HashSet();
  -                        resolve.put(ids[count], todo);
  +                        unresolvedIDRefs.put(ids[count], todo);
                       }
                       todo.add(ext);
                   }
  
  
  
  1.6       +1 -1      xml-fop/src/java/org/apache/fop/area/PageViewport.java
  
  Index: PageViewport.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/area/PageViewport.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- PageViewport.java 24 Nov 2004 21:07:28 -0000      1.5
  +++ PageViewport.java 27 Nov 2004 19:58:34 -0000      1.6
  @@ -131,7 +131,7 @@
        * @param id the id of the reference
        * @param res the resolver of the reference
        */
  -    public void addUnresolvedID(String id, Resolvable res) {
  +    public void addUnresolvedIDRef(String id, Resolvable res) {
           if (unresolved == null) {
               unresolved = new HashMap();
           }
  
  
  
  1.2       +6 -6      xml-fop/src/java/org/apache/fop/area/Resolvable.java
  
  Index: Resolvable.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/area/Resolvable.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Resolvable.java   24 Oct 2004 00:03:49 -0000      1.1
  +++ Resolvable.java   27 Nov 2004 19:58:34 -0000      1.2
  @@ -21,9 +21,9 @@
   import java.util.List;
   
   /**
  - * Resolvable Interface.
  - * Classes that implement this can be resolved when
  - * an id is added to the area tree.
  + * Resolvable Interface.  Classes that implement this interface contain
  + * idrefs (see Section 5.11 of spec for definition of <idref> datatype)
  + * that are resolved when their target IDs are added to the area tree.
    */
   public interface Resolvable {
   
  @@ -35,9 +35,9 @@
       boolean isResolved();
   
       /**
  -     * Get the array of id references of this resolvable object.
  +     * Get the array of idrefs of this resolvable object.
        * If this object contains child resolvables that are
  -     * resolved through this then it should return the id's of
  +     * resolved through this then it should return the idref's of
        * the child also.
        *
        * @return the id references for resolving this object
  
  
  
  1.5       +1 -14     xml-fop/src/java/org/apache/fop/fo/FOEventHandler.java
  
  Index: FOEventHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FOEventHandler.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- FOEventHandler.java       20 Oct 2004 21:04:43 -0000      1.4
  +++ FOEventHandler.java       27 Nov 2004 19:58:34 -0000      1.5
  @@ -46,8 +46,6 @@
   import org.apache.fop.fo.pagination.Flow;
   import org.apache.fop.fo.pagination.PageSequence;
   import org.apache.fop.fonts.FontInfo;
  -import org.apache.commons.logging.Log;
  -import org.apache.commons.logging.LogFactory;
   
   
   /**
  @@ -73,9 +71,6 @@
        */
       protected FontInfo fontInfo;
   
  -    /** Logger for FOEventHandler-related messages **/
  -    protected static Log logger = LogFactory.getLog(FOEventHandler.class);
  -
       /**
        * The current set of id's in the FO tree.
        * This is used so we know if the FO tree contains duplicates.
  @@ -102,14 +97,6 @@
        */
       public Set getIDReferences() {
           return idReferences;
  -    }
  -
  -    /**
  -     * Returns the Commons-Logging instance for this class
  -     * @return  The Commons-Logging instance
  -     */
  -    protected Log getLogger(Log logger) {
  -        return logger;
       }
   
       /**
  
  
  
  1.14      +3 -3      
xml-fop/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java
  
  Index: PageSequenceLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- PageSequenceLayoutManager.java    24 Nov 2004 21:07:30 -0000      1.13
  +++ PageSequenceLayoutManager.java    27 Nov 2004 19:58:35 -0000      1.14
  @@ -340,8 +340,8 @@
       public void addUnresolvedArea(String id, Resolvable res) {
           // add unresolved to tree
           // adds to the page viewport so it can serialize
  -        curPage.addUnresolvedID(id, res);
  -        areaTreeHandler.addUnresolvedID(id, curPage);
  +        curPage.addUnresolvedIDRef(id, res);
  +        areaTreeHandler.addUnresolvedIDRef(id, curPage);
       }
   
       /**
  
  
  
  1.40      +3 -3      
xml-fop/src/java/org/apache/fop/render/rtf/RTFHandler.java
  
  Index: RTFHandler.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/render/rtf/RTFHandler.java,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- RTFHandler.java   24 Nov 2004 21:07:30 -0000      1.39
  +++ RTFHandler.java   27 Nov 2004 19:58:35 -0000      1.40
  @@ -24,8 +24,8 @@
   import java.io.OutputStreamWriter;
   import java.util.Iterator;
   
  -import org.apache.commons.logging.impl.SimpleLog;
   import org.apache.commons.logging.Log;
  +import org.apache.commons.logging.LogFactory;
   import org.apache.fop.apps.FOPException;
   import org.apache.fop.apps.FOUserAgent;
   import org.apache.fop.fo.FOEventHandler;
  @@ -95,7 +95,7 @@
   
       private RtfFile rtfFile;
       private final OutputStream os;
  -    private final Log log = new SimpleLog("FOP/RTF");
  +    private static Log log = LogFactory.getLog(RTFHandler.class);
       private RtfSection sect;
       private RtfDocumentArea docArea;
       private int iNestCount;
  
  
  

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

Reply via email to