]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
PR:
authorGlen Mazza <gmazza@apache.org>
Wed, 31 Mar 2004 10:55:07 +0000 (10:55 +0000)
committerGlen Mazza <gmazza@apache.org>
Wed, 31 Mar 2004 10:55:07 +0000 (10:55 +0000)
Obtained from:
Submitted by:
Reviewed by:
Conversion of Avalon to Commons-Logger.  (Will still need to update the
examples, which I will take care of next; Jeremias will be modifying
the PDF libraries for more efficient use of the CL loggers.)

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197474 13f79535-47bb-0310-9956-ffa450edef68

53 files changed:
build.xml
fop.bat
src/documentation/content/xdocs/embedding.xml
src/documentation/content/xdocs/servlets.xml
src/java/org/apache/fop/apps/CommandLineOptions.java
src/java/org/apache/fop/apps/Document.java
src/java/org/apache/fop/apps/Driver.java
src/java/org/apache/fop/apps/FOUserAgent.java
src/java/org/apache/fop/apps/Fop.java
src/java/org/apache/fop/area/AreaTreeControl.java
src/java/org/apache/fop/fo/FOInputHandler.java
src/java/org/apache/fop/fo/FONode.java
src/java/org/apache/fop/fo/FOTreeBuilder.java
src/java/org/apache/fop/fo/FOTreeControl.java
src/java/org/apache/fop/fo/FOTreeHandler.java
src/java/org/apache/fop/fo/pagination/PageNumberGenerator.java
src/java/org/apache/fop/fo/pagination/PageSequence.java
src/java/org/apache/fop/fo/properties/ToBeImplementedProperty.java
src/java/org/apache/fop/fonts/apps/PFMReader.java
src/java/org/apache/fop/fonts/apps/TTFReader.java
src/java/org/apache/fop/fonts/truetype/TTFFile.java
src/java/org/apache/fop/fonts/type1/PFMFile.java
src/java/org/apache/fop/image/AbstractFopImage.java
src/java/org/apache/fop/image/BmpImage.java
src/java/org/apache/fop/image/FopImage.java
src/java/org/apache/fop/image/GifImage.java
src/java/org/apache/fop/image/ImageFactory.java
src/java/org/apache/fop/image/JimiImage.java
src/java/org/apache/fop/image/JpegImage.java
src/java/org/apache/fop/image/analyser/SVGReader.java
src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java
src/java/org/apache/fop/pdf/PDFDocument.java
src/java/org/apache/fop/pdf/PDFEncryptionManager.java
src/java/org/apache/fop/pdf/PDFFactory.java
src/java/org/apache/fop/render/AbstractRenderer.java
src/java/org/apache/fop/render/Renderer.java
src/java/org/apache/fop/render/pdf/PDFRenderer.java
src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java
src/java/org/apache/fop/render/rtf/PageAttributesConverter.java
src/java/org/apache/fop/render/rtf/RTFHandler.java
src/java/org/apache/fop/render/rtf/TableAttributesConverter.java
src/java/org/apache/fop/render/rtf/TableContext.java
src/java/org/apache/fop/render/rtf/TextAttributesConverter.java
src/java/org/apache/fop/servlet/FopPrintServlet.java
src/java/org/apache/fop/servlet/FopServlet.java
src/java/org/apache/fop/svg/AbstractFOPTranscoder.java
src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java
src/java/org/apache/fop/svg/PDFImageElementBridge.java
src/java/org/apache/fop/svg/PDFTranscoder.java
src/java/org/apache/fop/svg/SVGUserAgent.java
src/java/org/apache/fop/tools/AreaTreeBuilder.java
src/java/org/apache/fop/tools/TestConverter.java
src/java/org/apache/fop/tools/anttasks/Fop.java

index 416553ca4abaca695bd98abbe3cfdf75a0d2570c..f4e4808ecf0511a5864bc718456a97e41bc36aa2 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -79,6 +79,7 @@ list of possible build targets.
     <include name="lib/xml-apis.jar"/>
     <include name="lib/batik.jar"/>
     <include name="lib/avalon-framework*.jar"/>
+    <include name="lib/commons-logging*.jar"/>
   </fileset>
 
   <fileset dir="${basedir}" id="dist.src">
@@ -503,6 +504,7 @@ list of possible build targets.
     <war warfile="${build.dir}/fop.war" webxml="${src.dir}/conf/web.xml">
       <lib dir="${lib.dir}">
         <include name="avalon-framework*.jar"/>
+        <include name="commons-logging*.jar"/>
         <include name="batik*.jar"/>
         <include name="commons-io*.jar"/>
       </lib>
@@ -575,6 +577,7 @@ list of possible build targets.
     <unjar dest="${transcoder-deps}">
       <patternset>
         <include name="org/apache/avalon/framework/*"/>
+        <include name="org/apache/commons/logging/*"/>
         <include name="org/apache/commons/io/CopyUtils.class"/>
         <include name="org/apache/commons/io/IOUtils.class"/>
         <include name="org/apache/commons/io/output/ProxyOutputStream.class"/>
@@ -584,13 +587,15 @@ list of possible build targets.
       <fileset dir="${lib.dir}">
         <include name="commons-io*.jar"/>
         <include name="avalon-framework*.jar"/>
-      </fileset>
+        <include name="commons-logging*.jar"/>
+       </fileset>
     </unjar>
     <mkdir dir="${transcoder-deps}/legal"/>
     <copy todir="${transcoder-deps}/legal">
       <fileset dir="${lib.dir}">
         <include name="avalon.LICENSE.txt"/>
         <include name="commons-io.LICENSE.txt"/>
+        <include name="commons-logging.LICENSE.txt"/>
       </fileset>
     </copy>
     <jar jarfile="${build.dir}/fop-transcoder-allinone.jar">
diff --git a/fop.bat b/fop.bat
index 29728ff35863ebef6d932fb8fbca82e7dcf5cd63..549d656b790591aa0975648a4a67c2ecfad8d13b 100644 (file)
--- a/fop.bat
+++ b/fop.bat
@@ -29,6 +29,7 @@ set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xalan-2.4.1.jar
 set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\batik.jar
 set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\avalon-framework-4.1.4.jar
 set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\commons-io-dev-20040206.jar
+set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\commons-logging-1.0.3.jar
 set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\jimi-1.0.jar
 set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\jai_core.jar
 set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\jai_codec.jar
index f8682f4f9d693c54e94c97b9a9075f4548fca7b6..fe7601e7c61a35b7ed729f7ed12f4a4a42fb4fd7 100644 (file)
@@ -71,7 +71,7 @@ args[1] contains a path for the target PDF file.
       You also need to set up logging. Global logging for all FOP
       processes is managed by MessageHandler. Per-instance logging
       is handled by Driver. You want to set both using an implementation
-      of org.apache.avalon.framework.logger.Logger. See 
+      of org.apache.commons.logging.Log. See 
       <jump href="#logging">below</jump> for more information.
     </p>
     <p>
@@ -79,13 +79,13 @@ args[1] contains a path for the target PDF file.
       instantiating the Driver object. See here:
     </p>
     <source><![CDATA[
-import org.apache.avalon.framework.logger.Logger
-import org.apache.avalon.framework.logger.ConsoleLogger
+import org.apache.commons.logging.Log
+import org.apache.commons.logging.impl.SimpleLog
 
 /*..*/
 
 Driver driver = new Driver();
-Logger logger = new ConsoleLogger(ConsoleLogger.LEVEL_INFO);
+Log logger = new SimpleLog(SimpleLog.LOG_LEVEL_INFO);
 MessageHandler.setScreenLogger(logger);
 driver.setLogger(logger);]]></source>
   </section>
@@ -167,7 +167,7 @@ transformer.transform(src, res);]]></source>
       for more information.
     </p>
     <p>
-      Per default FOP uses the ConsoleLogger which logs to System.out. If you want to do logging using a
+      Per default FOP uses the SimpleLog which logs to System.out. If you want to do logging using a
       logging framework (such as LogKit, Log4J or JDK 1.4 Logging) you can set a
       different Logger implementation on the Driver object. Here's an example how you would use LogKit:
     </p>
index 42833b2f6d82b7fd7919864ea05a1b8e1163464e..89ce0b848e07bb90f667bf2a1a141a456f7e5b8e 100644 (file)
@@ -89,7 +89,7 @@ protected Logger log;
 protected TransformerFactory transformerFactory;
 
 public void init() throws ServletException {
-    this.log = new ConsoleLogger(ConsoleLogger.LEVEL_WARN);
+    this.log = new SimpleLog(SimpleLog.LOG_LEVEL_WARN);
     this.transformerFactory = TransformerFactory.newInstance();
 }
 
index cd010fc3980db02975eca1d602b8cdffa6a7c9a6..a8716b520ed7a48478dd49858d41c2f8742f8c0b 100644 (file)
@@ -24,9 +24,7 @@ import java.io.FileNotFoundException;
 import java.util.Locale;
 import java.util.Vector;
 
-// Avalon
-import org.apache.avalon.framework.logger.ConsoleLogger;
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.impl.SimpleLog;
 
 /**
  * Options parses the commandline arguments
@@ -83,7 +81,7 @@ public class CommandLineOptions {
 
     private java.util.HashMap rendererOptions;
 
-    private Logger log;
+    private SimpleLog log;
 
     private Vector xsltParams = null;
     
@@ -96,7 +94,8 @@ public class CommandLineOptions {
     public CommandLineOptions(String[] args)
             throws FOPException, FileNotFoundException {
 
-        log = new ConsoleLogger(ConsoleLogger.LEVEL_INFO);
+        log = new SimpleLog("FOP");
+        log.setLevel(SimpleLog.LOG_LEVEL_INFO);
 
         boolean optionsParsed = true;
         rendererOptions = new java.util.HashMap();
@@ -118,7 +117,7 @@ public class CommandLineOptions {
      * Get the logger.
      * @return the logger
      */
-    public Logger getLogger() {
+    public SimpleLog getLogger() {
         return log;
     }
 
@@ -131,13 +130,15 @@ public class CommandLineOptions {
     private boolean parseOptions(String[] args) throws FOPException {
         for (int i = 0; i < args.length; i++) {
             if (args[i].equals("-d") || args[i].equals("--full-error-dump")) {
-                log = new ConsoleLogger(ConsoleLogger.LEVEL_DEBUG);
+                log = new SimpleLog("FOP");
+                log.setLevel(SimpleLog.LOG_LEVEL_DEBUG);
             } else if (args[i].equals("-x")
                        || args[i].equals("--dump-config")) {
                 dumpConfiguration = Boolean.TRUE;
             } else if (args[i].equals("-q") || args[i].equals("--quiet")) {
                 quiet = Boolean.TRUE;
-                log = new ConsoleLogger(ConsoleLogger.LEVEL_ERROR);
+                log = new SimpleLog("FOP");
+                log.setLevel(SimpleLog.LOG_LEVEL_ERROR);
             } else if (args[i].equals("-c")) {
                 i = i + parseConfigurationOption(args, i);
             } else if (args[i].equals("-l")) {
index 2329050cbbdd0db09b0fce54f13dad43865db30b..9868fafb9317fbf6df2ede2d47244171055f4d79 100644 (file)
@@ -45,8 +45,7 @@ import org.apache.fop.layout.LayoutStrategy;
 // SAX
 import org.xml.sax.SAXException;
 
-// Avalon
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 
 /**
  * Class storing information for the FOP Document being processed, and managing
@@ -376,7 +375,7 @@ public class Document implements FOTreeControl, FOTreeListener,
     /**
      * @return the Logger to be used for processing this Document
      */
-    public Logger getLogger() {
+    public Log getLogger() {
         return getDriver().getLogger();
     }
 
index 55059cff11631fae3d481bf663627f4e0ae4758a..3795ba8f99051ec29a96a3f715efe6c58c6e5ab8 100644 (file)
@@ -36,10 +36,8 @@ import org.apache.fop.tools.DocumentReader;
 import org.apache.fop.tools.ProxyContentHandler;
 import org.apache.fop.layoutmgr.LayoutManagerLS;
 
-// Avalon
-import org.apache.avalon.framework.logger.ConsoleLogger;
-import org.apache.avalon.framework.logger.LogEnabled;
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.impl.SimpleLog;
+import org.apache.commons.logging.Log;
 
 // DOM
 /* org.w3c.dom.Document is not imported to reduce confusion with
@@ -67,7 +65,7 @@ import java.io.OutputStream;
  * <PRE>
  * Driver driver = new Driver(new InputSource (args[0]),
  * new FileOutputStream(args[1]));
- * driver.enableLogging(myLogger); //optional
+ * driver.setLogger(myLogger); //optional
  * driver.setRenderer(RENDER_PDF);
  * driver.run();
  * </PRE>
@@ -97,12 +95,12 @@ import java.io.OutputStream;
  *
  * <PRE>
  * Driver driver = new Driver();
- * driver.enableLogging(myLogger); //optional
+ * driver.setLogger(myLogger); //optional
  * driver.setRenderer(new org.apache.fop.render.awt.AWTRenderer(translator));
  * driver.render(parser, fileInputSource(args[0]));
  * </PRE>
  */
-public class Driver implements LogEnabled {
+public class Driver {
 
     /**
      * private constant to indicate renderer was not defined.
@@ -197,7 +195,7 @@ public class Driver implements LogEnabled {
     /**
      * the system resources that FOP will use
      */
-    private Logger log = null;
+    private Log log = null;
     private FOUserAgent userAgent = null;
 
     private Document currentDocument = null;
@@ -247,20 +245,16 @@ public class Driver implements LogEnabled {
     protected FOUserAgent getUserAgent() {
         if (userAgent == null) {
             userAgent = new FOUserAgent();
-            userAgent.enableLogging(getLogger());
+            userAgent.setLogger(getLogger());
         }
         return userAgent;
     }
 
     /**
-     * Provide the Driver instance with a logger. More information on Avalon
-     * logging can be found at the
-     * <a href="http://avalon.apache.org">Avalon site</a>.
-     *
+     * Provide the Driver instance with a logger.
      * @param log the logger. Must not be <code>null</code>.
-     * @see org.apache.avalon.framework.logger.LogEnabled#enableLogging(Logger)
      */
-    public void enableLogging(Logger log) {
+    public void setLogger(Log log) {
         if (this.log == null) {
             this.log = log;
         } else {
@@ -268,25 +262,16 @@ public class Driver implements LogEnabled {
         }
     }
 
-    /**
-     * Provide the Driver instance with a logger.
-     * @param log the logger. Must not be <code>null</code>.
-     * @deprecated Use #enableLogging(Logger) instead.
-     */
-    public void setLogger(Logger log) {
-        enableLogging(log);
-    }
-
 
     /**
      * Returns the logger for use by FOP.
      * @return the logger
-     * @see #enableLogging(Logger)
      */
-    public Logger getLogger() {
+    public Log getLogger() {
         if (this.log == null) {
-            // use ConsoleLogger as default when logger not explicitly set
-            this.log = new ConsoleLogger(ConsoleLogger.LEVEL_INFO);
+            // use SimpleLog as default when logger not explicitly set
+            log = new SimpleLog("FOP");
+            ((SimpleLog) log).setLevel(SimpleLog.LOG_LEVEL_INFO);
         }
 
         return this.log;
@@ -436,9 +421,7 @@ public class Driver implements LogEnabled {
                 throws IllegalArgumentException {
         try {
             renderer = (Renderer)Class.forName(rendererClassName).newInstance();
-            if (renderer instanceof LogEnabled) {
-                ((LogEnabled)renderer).enableLogging(getLogger());
-            }
+            renderer.setLogger(getLogger());
             renderer.setProducer(Version.getVersion());
             renderer.setUserAgent(getUserAgent());
         } catch (ClassNotFoundException e) {
@@ -535,7 +518,7 @@ public class Driver implements LogEnabled {
             }
         }
 
-        foInputHandler.enableLogging(getLogger());
+        foInputHandler.setLogger(getLogger());
 
         treeBuilder.setUserAgent(getUserAgent());
         treeBuilder.setFOInputHandler(foInputHandler);
index 024c5ad37342e1943b64850acc240d5a1ea1d4fd..445c6bdbd20edc4775dae3294d148d235b6a4641 100644 (file)
@@ -23,9 +23,7 @@ import java.util.Map;
 import java.io.IOException;
 import java.io.InputStream;
 
-// Avalon
-import org.apache.avalon.framework.logger.LogEnabled;
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 
 // FOP
 import org.apache.fop.pdf.PDFEncryptionParams;
@@ -50,9 +48,9 @@ import org.apache.fop.pdf.PDFEncryptionParams;
  * These areas may contain resolveable areas that will be processed
  * with other resolveable areas
  */
-public class FOUserAgent implements LogEnabled {
+public class FOUserAgent {
 
-    private Logger log;
+    private Log log;
     /** Map containing various default values */
     public Map defaults = new java.util.HashMap();
     /** Map containing XML handlers for various document types */
@@ -64,18 +62,16 @@ public class FOUserAgent implements LogEnabled {
     /**
      * Sets the logger.
      * @param log Logger to use
-     * @see org.apache.avalon.framework.logger.LogEnabled#enableLogging(Logger)
      */
-    public void enableLogging(Logger log) {
+    public void setLogger(Log log) {
         this.log = log;
     }
 
     /**
      * Returns the logger to use.
-     * @see org.apache.avalon.framework.logger.AbstractLogEnabled#getLogger()
      * (todo) This breaks IoC/SoC. Should be improved.
      */
-    public Logger getLogger() {
+    public Log getLogger() {
         return this.log;
     }
 
index cf6f4fb4cebbefd8439756430e18971ec1480cc5..92d7f8fb002335e25791cd9f4d16464cb0267c38 100644 (file)
@@ -22,8 +22,7 @@ package org.apache.fop.apps;
 import java.io.BufferedOutputStream;
 import java.io.FileOutputStream;
 
-// Avalon
-import org.apache.avalon.framework.logger.ConsoleLogger;
+import org.apache.commons.logging.impl.SimpleLog;
 
 // FOP
 import org.apache.fop.render.awt.AWTRenderer;
@@ -46,7 +45,10 @@ public class Fop {
 
         try {
             Driver driver = new Driver();
-            driver.enableLogging(new ConsoleLogger(ConsoleLogger.LEVEL_INFO));
+            SimpleLog log = new SimpleLog("FOP");
+            log.setLevel(SimpleLog.LOG_LEVEL_INFO);
+            driver.setLogger(log);
+            
             driver.getLogger().info(version);
             options = new CommandLineOptions(args);
             inputHandler = options.getInputHandler();
index 029c982c45b9756ff7dc14f3048ee7eca060aa5b..154548770b72f3d24a560ad75332ca6a54b3c8e9 100644 (file)
@@ -22,8 +22,7 @@ package org.apache.fop.area;
 // FOP
 import org.apache.fop.fo.extensions.Bookmarks;
 
-// Avalon
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 
 // Java
 import java.util.Set;
@@ -45,7 +44,7 @@ public interface AreaTreeControl {
     /**
      * @return the Logger being used with this FO Tree
      */
-    Logger getLogger();
+    Log getLogger();
 
     /**
      * The current set of IDs in the document.
index 8de58ce402b626077bc1ada17a29df863578dca3..051ab790f2ad3c55fb55fd451e8aa2675e470e98 100644 (file)
@@ -18,9 +18,6 @@
 
 package org.apache.fop.fo;
 
-// Avalon
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-
 // FOP
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.fo.flow.BasicLink;
@@ -41,6 +38,7 @@ import org.apache.fop.fo.flow.TableCell;
 import org.apache.fop.fo.flow.TableRow;
 import org.apache.fop.fo.pagination.Flow;
 import org.apache.fop.fo.pagination.PageSequence;
+import org.apache.commons.logging.Log;
 
 import org.xml.sax.SAXException;
 
@@ -55,12 +53,17 @@ import org.xml.sax.SAXException;
  * handler that builds a structured (as opposed to formatted) document, such
  * as our MIF and RTF output targets.
  */
-public abstract class FOInputHandler extends AbstractLogEnabled {
+public abstract class FOInputHandler {
     /**
      * The FOTreeControl object that is controlling the FO Tree being built
      */
     public FOTreeControl foTreeControl = null;
 
+    /**
+     * logging instance
+     */
+    protected Log logger = null;
+
     /**
      * Main constructor
      * @param foTreeControl the FOTreeControl implementation that is controlling
@@ -70,6 +73,22 @@ public abstract class FOInputHandler extends AbstractLogEnabled {
         this.foTreeControl = foTreeControl;
     }
 
+    /**
+     * Sets the Commons-Logging instance for this class
+     * @param logger The Commons-Logging instance
+     */
+    public void setLogger(Log logger) {
+        this.logger = logger;
+    }
+
+    /**
+     * Returns the Commons-Logging instance for this class
+     * @return  The Commons-Logging instance
+     */
+    protected Log getLogger(Log logger) {
+        return logger;
+    }
+
     /**
      * Returns the FontInfo object associated with this FOInputHandler.
      * @return the FontInof object
index 7d4bc498083041d5c7bfd74917210ea27e4ae57f..661b8758e9f09b8f2e0f18618a1105be33fe994a 100644 (file)
@@ -25,8 +25,7 @@ import java.util.ListIterator;
 import org.xml.sax.Attributes;
 import org.xml.sax.Locator;
 
-// Avalon
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 
 // FOP
 import org.apache.fop.apps.FOPException;
@@ -71,7 +70,7 @@ public abstract class FONode {
      * Returns the logger for the node.
      * @return the logger
      */
-    public Logger getLogger() {
+    public Log getLogger() {
         return getFOTreeControl().getLogger();
     }
 
index 4542c8e3e971f3e395cc7860851601ab18c2da18..e1e59f354b6eddefcc73c5a1377961f6c6c59e9e 100644 (file)
@@ -29,7 +29,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.fo.ElementMapping.Maker;
@@ -89,7 +89,7 @@ public class FOTreeBuilder extends DefaultHandler {
         setupDefaultMappings();
     }
 
-    private Logger getLogger() {
+    private Log getLogger() {
         return userAgent.getLogger();
     }
 
index 4152ef0ed5ad69847d22043e0cdac2fda2d2bb07..b69c49a273d24f3367643283a8953d01ba8f6c27 100644 (file)
@@ -28,8 +28,7 @@ import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.fo.extensions.Bookmarks;
 import org.apache.fop.fonts.FontMetrics;
 
-// Avalon
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 
 /**
  * An interface for classes that are conceptually the parent class of the
@@ -94,7 +93,7 @@ public interface FOTreeControl {
     /**
      * @return the Logger being used with this FO Tree
      */
-    Logger getLogger();
+    Log getLogger();
 
     /**
      * @return the FOUserAgent used for processing this FO Tree
index 43fa9317e2dd7c885b8ba5a9e0a5ccf75fcbbd38..8625cea9109d35b57675569f88522d66ddd6aa72 100644 (file)
@@ -135,18 +135,18 @@ public class FOTreeHandler extends FOInputHandler {
             long memoryNow = runtime.totalMemory() - runtime.freeMemory();
             long memoryUsed = (memoryNow - initialMemory) / 1024L;
             long timeUsed = System.currentTimeMillis() - startTime;
-            if (getLogger().isDebugEnabled()) {
-                getLogger().debug("Initial heap size: " + (initialMemory / 1024L) + "Kb");
-                getLogger().debug("Current heap size: " + (memoryNow / 1024L) + "Kb");
-                getLogger().debug("Total memory used: " + memoryUsed + "Kb");
+            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 (!MEM_PROFILE_WITH_GC) {
-                    getLogger().debug("  Memory use is indicative; no GC was performed");
-                    getLogger().debug("  These figures should not be used comparatively");
+                    logger.debug("  Memory use is indicative; no GC was performed");
+                    logger.debug("  These figures should not be used comparatively");
                 }
-                getLogger().debug("Total time used: " + timeUsed + "ms");
-                getLogger().debug("Pages rendered: " + pageCount);
+                logger.debug("Total time used: " + timeUsed + "ms");
+                logger.debug("Pages rendered: " + pageCount);
                 if (pageCount > 0) {
-                    getLogger().debug("Avg render time: " + (timeUsed / pageCount) + "ms/page");
+                    logger.debug("Avg render time: " + (timeUsed / pageCount) + "ms/page");
                 }
             }
         }
@@ -180,8 +180,8 @@ public class FOTreeHandler extends FOInputHandler {
                 System.gc();
             }
             long memoryNow = runtime.totalMemory() - runtime.freeMemory();
-            if (getLogger().isDebugEnabled()) {
-                getLogger().debug("Current heap size: " + (memoryNow / 1024L) + "Kb");
+            if (logger != null) {
+                logger.debug("Current heap size: " + (memoryNow / 1024L) + "Kb");
             }
         }
         notifyPageSequenceComplete(pageSequence);
index f5871c7bd7da0c70dcfeabb08ab1ba432f8f0464..47a84dab54ee9c6c822ae6a10e4ea541089973da 100644 (file)
  
 package org.apache.fop.fo.pagination;
 
-// Avalon
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
+import org.apache.commons.logging.Log;
+
 
 /**
  * This class uses the 'format', 'groupingSeparator', 'groupingSize',
  * and 'letterValue' properties on fo:page-sequence to return a String
  * corresponding to the supplied integer page number.
  */
-public class PageNumberGenerator extends AbstractLogEnabled {
+public class PageNumberGenerator {
 
     private String format;
     private char groupingSeparator;
     private int groupingSize;
     private int letterValue;
 
+    /**
+     * logging instance
+     */
+    protected Log logger = null;
+
     // constants
     private static final int DECIMAL = 1;       // '0*1'
     private static final int LOWERALPHA = 2;    // 'a'
@@ -101,6 +106,22 @@ public class PageNumberGenerator extends AbstractLogEnabled {
         }
     }
 
+    /**
+     * Sets the Commons-Logging instance for this class
+     * @param logger The Commons-Logging instance
+     */
+    public void setLogger(Log logger) {
+        this.logger = logger;
+    }
+
+    /**
+     * Returns the Commons-Logging instance for this class
+     * @return  The Commons-Logging instance
+     */
+    protected Log getLogger(Log logger) {
+        return logger;
+    }
+
     /**
      * Formats a page number.
      * @param number page number to format
index 125908705c8d294d807ebe7c3c2a56b61fd93383..6f28944e261c0d63459412fb8e0d4267ee7574f9 100644 (file)
@@ -196,7 +196,7 @@ public class PageSequence extends FObj {
                                     this.propertyList.get(PR_GROUPING_SEPARATOR).getCharacter(),
                                     this.propertyList.get(PR_GROUPING_SIZE).getNumber().intValue(),
                                     this.propertyList.get(PR_LETTER_VALUE).getEnum());
-        this.pageNumberGenerator.enableLogging(getLogger());
+        this.pageNumberGenerator.setLogger(getLogger());
 
         this.forcePageCount =
             this.propertyList.get(PR_FORCE_PAGE_COUNT).getEnum();
index 228b6a12c92aa0502c7452af3efe299669050051..c5466e2ac9a90a6c1690d21997fc35d88275f915 100644 (file)
@@ -51,7 +51,7 @@ public class ToBeImplementedProperty extends Property {
         //UnimplementedPropertyException or something similar should
         //get thrown here instead.
 
-//         Logger log = Hierarchy.getDefaultHierarchy().getLoggerFor("fop");
+//         Log log = Hierarchy.getDefaultHierarchy().getLoggerFor("fop");
 //         log.warn("property - \"" + propName
 //                                + "\" is not implemented yet.");
     }
index 1aa8e105c018957a4db2d86ed6993fb64d5e801c..e20ed1a4219eface62ec7c6caba7403033019fa2 100644 (file)
@@ -32,10 +32,8 @@ import javax.xml.transform.TransformerFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
-//Avalon
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.avalon.framework.logger.Logger;
-import org.apache.avalon.framework.logger.ConsoleLogger;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.impl.SimpleLog;
 
 //FOP
 import org.apache.fop.fonts.type1.PFMFile;
@@ -44,8 +42,29 @@ import org.apache.fop.fonts.type1.PFMFile;
  * A tool which reads PFM files from Adobe Type 1 fonts and creates
  * XML font metrics file for use in FOP.
  */
-public class PFMReader extends AbstractLogEnabled {
+public class PFMReader {
     
+    /**
+     * logging instance
+     */
+    protected Log logger = null;
+
+    /**
+     * Sets the Commons-Logging instance for this class
+     * @param logger The Commons-Logging instance
+     */
+    public void setLogger(Log logger) {
+        this.logger = logger;
+    }
+
+    /**
+     * Returns the Commons-Logging instance for this class
+     * @return  The Commons-Logging instance
+     */
+    protected Log getLogger(Log logger) {
+        return logger;
+    }
+
     /**
      * Parse commandline arguments. put options in the HashMap and return
      * arguments in the String array
@@ -72,15 +91,17 @@ public class PFMReader extends AbstractLogEnabled {
     }
 
     private void displayUsage() {
-        getLogger().info(
-            " java org.apache.fop.fonts.apps.PFMReader [options] metricfile.pfm xmlfile.xml");
-        getLogger().info(" where options can be:");
-        getLogger().info(" -fn <fontname>");
-        getLogger().info("     default is to use the fontname in the .pfm file, but");
-        getLogger().info("     you can override that name to make sure that the");
-        getLogger().info("     embedded font is used (if you're embedding fonts)");
-        getLogger().info("     instead of installed fonts when viewing documents ");
-        getLogger().info("     with Acrobat Reader.");
+        if (logger != null && logger.isInfoEnabled()) {
+            logger.info(
+                " java org.apache.fop.fonts.apps.PFMReader [options] metricfile.pfm xmlfile.xml");
+            logger.info(" where options can be:");
+            logger.info(" -fn <fontname>");
+            logger.info("     default is to use the fontname in the .pfm file, but");
+            logger.info("     you can override that name to make sure that the");
+            logger.info("     embedded font is used (if you're embedding fonts)");
+            logger.info("     instead of installed fonts when viewing documents ");
+            logger.info("     with Acrobat Reader.");
+        }
     }
 
 
@@ -113,13 +134,15 @@ public class PFMReader extends AbstractLogEnabled {
         String[] arguments = parseArguments(options, args);
 
         PFMReader app = new PFMReader();
-        Logger log;
+        Log log;
         if (options.get("-d") != null) {
-            log = new ConsoleLogger(ConsoleLogger.LEVEL_DEBUG);
+            log = new SimpleLog("FOP/Fonts");
+            ((SimpleLog) log).setLevel(SimpleLog.LOG_LEVEL_DEBUG);
         } else {
-            log = new ConsoleLogger(ConsoleLogger.LEVEL_INFO);
+            log = new SimpleLog("FOP/Fonts");
+            ((SimpleLog) log).setLevel(SimpleLog.LOG_LEVEL_INFO);
         }
-        app.enableLogging(log);
+        app.setLogger(log);
 
         log.info("PFM Reader v1.1a");
         log.info("");
@@ -170,12 +193,12 @@ public class PFMReader extends AbstractLogEnabled {
      * @throws IOException In case of an I/O problem
      */
     public PFMFile loadPFM(String filename) throws IOException {
-        getLogger().info("Reading " + filename + "...");
-        getLogger().info("");
+        logger.info("Reading " + filename + "...");
+        logger.info("");
         InputStream in = new java.io.FileInputStream(filename);
         try {
             PFMFile pfm = new PFMFile();
-            setupLogger(pfm);
+            pfm.setLogger(logger);
             pfm.load(in);
             return pfm;
         } finally {
@@ -189,19 +212,21 @@ public class PFMReader extends AbstractLogEnabled {
      * @param   pfm The PFM file to preview.
      */
     public void preview(PFMFile pfm) {
-        getLogger().info("Font: " + pfm.getWindowsName());
-        getLogger().info("Name: " + pfm.getPostscriptName());
-        getLogger().info("CharSet: " + pfm.getCharSetName());
-        getLogger().info("CapHeight: " + pfm.getCapHeight());
-        getLogger().info("XHeight: " + pfm.getXHeight());
-        getLogger().info("LowerCaseAscent: " + pfm.getLowerCaseAscent());
-        getLogger().info("LowerCaseDescent: " + pfm.getLowerCaseDescent());
-        getLogger().info("Having widths for " + (pfm.getLastChar() - pfm.getFirstChar()) 
-                    + " characters (" + pfm.getFirstChar()
-                    + "-" + pfm.getLastChar() + ").");
-        getLogger().info("for example: Char " + pfm.getFirstChar()
-                    + " has a width of " + pfm.getCharWidth(pfm.getFirstChar()));
-        getLogger().info("");
+        if (logger != null & logger.isInfoEnabled()) {
+            logger.info("Font: " + pfm.getWindowsName());
+            logger.info("Name: " + pfm.getPostscriptName());
+            logger.info("CharSet: " + pfm.getCharSetName());
+            logger.info("CapHeight: " + pfm.getCapHeight());
+            logger.info("XHeight: " + pfm.getXHeight());
+            logger.info("LowerCaseAscent: " + pfm.getLowerCaseAscent());
+            logger.info("LowerCaseDescent: " + pfm.getLowerCaseDescent());
+            logger.info("Having widths for " + (pfm.getLastChar() - pfm.getFirstChar()) 
+                        + " characters (" + pfm.getFirstChar()
+                        + "-" + pfm.getLastChar() + ").");
+            logger.info("for example: Char " + pfm.getFirstChar()
+                        + " has a width of " + pfm.getCharWidth(pfm.getFirstChar()));
+            logger.info("");
+       }
     }
 
     /**
@@ -213,8 +238,8 @@ public class PFMReader extends AbstractLogEnabled {
      */
     public void writeFontXML(org.w3c.dom.Document doc, String target) 
                 throws TransformerException {
-        getLogger().info("Writing xml font file " + target + "...");
-        getLogger().info("");
+        logger.info("Writing xml font file " + target + "...");
+        logger.info("");
 
         TransformerFactory factory = TransformerFactory.newInstance();
         Transformer transformer = factory.newTransformer();
@@ -235,15 +260,15 @@ public class PFMReader extends AbstractLogEnabled {
      */
     public org.w3c.dom.Document constructFontXML(PFMFile pfm,
             String fontName, String className, String resource, String file) {
-        getLogger().info("Creating xml font file...");
-        getLogger().info("");
+        logger.info("Creating xml font file...");
+        logger.info("");
 
         Document doc;
         try {
             DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
             doc = factory.newDocumentBuilder().newDocument();
         } catch (javax.xml.parsers.ParserConfigurationException e) {
-            getLogger().error("Can't create DOM implementation", e);
+            logger.error("Can't create DOM implementation", e);
             return null;
         }
         Element root = doc.createElement("font-metrics");
index d6636610b3efcfd3459c8b845cf7322d51001401..681b6cee843a1f6e5799a6c11e65623f3108cd04 100644 (file)
@@ -31,21 +31,42 @@ import javax.xml.transform.TransformerFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
-//Avalon
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.avalon.framework.logger.ConsoleLogger;
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.impl.SimpleLog;
+import org.apache.commons.logging.Log;
 
 //FOP
 import org.apache.fop.fonts.truetype.FontFileReader;
 import org.apache.fop.fonts.truetype.TTFCmapEntry;
 import org.apache.fop.fonts.truetype.TTFFile;
+import org.apache.commons.logging.Log;
+
 
 /**
  * A tool which reads TTF files and generates
  * XML font metrics file for use in FOP.
  */
-public class TTFReader extends AbstractLogEnabled {
+public class TTFReader {
+
+    /**
+     * logging instance
+     */
+    protected Log logger = null;
+
+    /**
+     * Sets the Commons-Logging instance for this class
+     * @param logger The Commons-Logging instance
+     */
+    public void setLogger(Log logger) {
+        this.logger = logger;
+    }
+
+    /**
+     * Returns the Commons-Logging instance for this class
+     * @return  The Commons-Logging instance
+     */
+    protected Log getLogger(Log logger) {
+        return logger;
+    }
 
     /**
      * Parse commandline arguments. put options in the HashMap and return
@@ -74,29 +95,31 @@ public class TTFReader extends AbstractLogEnabled {
 
 
     private void displayUsage() {
-        getLogger().info(
-                " java org.apache.fop.fonts.apps.TTFReader [options] fontfile.ttf xmlfile.xml");
-        getLogger().info(" where options can be:");
-        getLogger().info("-d <DEBUG|INFO>");
-        getLogger().info("     Set debug level (default: INFO).");
-        getLogger().info("-enc ansi");
-        getLogger().info("     With this option you create a WinAnsi encoded font.");
-        getLogger().info("     The default is to create a CID keyed font.");
-        getLogger().info("     If you're not going to use characters outside the");
-        getLogger().info("     pdfencoding range (almost the same as iso-8889-1)");
-        getLogger().info("     you can add this option.");
-        getLogger().info("-ttcname <fontname>");
-        getLogger().info("     If you're reading data from a TrueType Collection");
-        getLogger().info("     (.ttc file) you must specify which font from the");
-        getLogger().info("     collection you will read metrics from. If you read");
-        getLogger().info("     from a .ttc file without this option, the fontnames");
-        getLogger().info("      will be listed for you.");
-        getLogger().info(" -fn <fontname>");
-        getLogger().info("     default is to use the fontname in the .ttf file, but");
-        getLogger().info("     you can override that name to make sure that the");
-        getLogger().info("     embedded font is used (if you're embedding fonts)");
-        getLogger().info("     instead of installed fonts when viewing documents ");
-        getLogger().info("     with Acrobat Reader.");
+        if (logger != null & logger.isInfoEnabled()) {
+            logger.info(
+                    " java org.apache.fop.fonts.apps.TTFReader [options] fontfile.ttf xmlfile.xml");
+            logger.info(" where options can be:");
+            logger.info("-d <DEBUG|INFO>");
+            logger.info("     Set debug level (default: INFO).");
+            logger.info("-enc ansi");
+            logger.info("     With this option you create a WinAnsi encoded font.");
+            logger.info("     The default is to create a CID keyed font.");
+            logger.info("     If you're not going to use characters outside the");
+            logger.info("     pdfencoding range (almost the same as iso-8889-1)");
+            logger.info("     you can add this option.");
+            logger.info("-ttcname <fontname>");
+            logger.info("     If you're reading data from a TrueType Collection");
+            logger.info("     (.ttc file) you must specify which font from the");
+            logger.info("     collection you will read metrics from. If you read");
+            logger.info("     from a .ttc file without this option, the fontnames");
+            logger.info("      will be listed for you.");
+            logger.info(" -fn <fontname>");
+            logger.info("     default is to use the fontname in the .ttf file, but");
+            logger.info("     you can override that name to make sure that the");
+            logger.info("     embedded font is used (if you're embedding fonts)");
+            logger.info("     instead of installed fonts when viewing documents ");
+            logger.info("     with Acrobat Reader.");
+        }
     }
 
 
@@ -130,19 +153,20 @@ public class TTFReader extends AbstractLogEnabled {
         Map options = new java.util.HashMap();
         String[] arguments = parseArguments(options, args);
 
-        int level = ConsoleLogger.LEVEL_INFO;
+        int level = SimpleLog.LOG_LEVEL_INFO;
         if (options.get("-d") != null) {
             String lev = (String)options.get("-d");
             if (lev.equals("DEBUG")) {
-                level = ConsoleLogger.LEVEL_DEBUG;
+                level = SimpleLog.LOG_LEVEL_DEBUG;
             } else if (lev.equals("INFO")) {
-                level = ConsoleLogger.LEVEL_INFO;
+                level = SimpleLog.LOG_LEVEL_INFO;
             }
         }
-        Logger log = new ConsoleLogger(level);
+
+        SimpleLog log = new SimpleLog("FOP/Fonts");
 
         TTFReader app = new TTFReader();
-        app.enableLogging(log);
+        app.setLogger(log);
 
         log.info("TTF Reader v1.1.4");
 
@@ -218,8 +242,7 @@ public class TTFReader extends AbstractLogEnabled {
      */
     public TTFFile loadTTF(String fileName, String fontName) throws IOException {
         TTFFile ttfFile = new TTFFile();
-        setupLogger(ttfFile);
-        getLogger().info("Reading " + fileName + "...");
+        logger.info("Reading " + fileName + "...");
 
         FontFileReader reader = new FontFileReader(fileName);
         boolean supported = ttfFile.readFont(reader, fontName);
@@ -239,7 +262,7 @@ public class TTFReader extends AbstractLogEnabled {
      */
     public void writeFontXML(org.w3c.dom.Document doc, String target) 
                 throws TransformerException {
-        getLogger().info("Writing xml font file " + target + "...");
+        logger.info("Writing xml font file " + target + "...");
 
         TransformerFactory factory = TransformerFactory.newInstance();
         Transformer transformer = factory.newTransformer();
@@ -263,14 +286,14 @@ public class TTFReader extends AbstractLogEnabled {
     public org.w3c.dom.Document constructFontXML(TTFFile ttf,
             String fontName, String className, String resource, String file,
             boolean isCid, String ttcName) {
-        getLogger().info("Creating xml font file...");
+        logger.info("Creating xml font file...");
 
         Document doc;
         try {
             DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
             doc = factory.newDocumentBuilder().newDocument();
         } catch (javax.xml.parsers.ParserConfigurationException e) {
-            getLogger().error("Can't create DOM implementation", e);
+            logger.error("Can't create DOM implementation", e);
             return null;
         }
         Element root = doc.createElement("font-metrics");
index e56297d5f94fc762e17c5c5c2ed2a1788eef2539..fc4df27fbb38e269fdf996506d498644fe95b951 100644 (file)
@@ -23,9 +23,8 @@ import java.util.Iterator;
 import java.util.Map;
 import java.util.List;
 
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.avalon.framework.logger.ConsoleLogger;
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.impl.SimpleLog;
+import org.apache.commons.logging.Log;
 import org.apache.fop.fonts.Glyphs;
 
 /**
@@ -33,7 +32,7 @@ import org.apache.fop.fonts.Glyphs;
  * The TrueType spec can be found at the Microsoft.
  * Typography site: http://www.microsoft.com/truetype/
  */
-public class TTFFile extends AbstractLogEnabled {
+public class TTFFile {
 
     static final byte NTABS = 24;
     static final int NMACGLYPHS = 258;
@@ -100,6 +99,27 @@ public class TTFFile extends AbstractLogEnabled {
 
     private TTFDirTabEntry currentDirTab;
 
+    /**
+     * logging instance
+     */
+    protected Log logger = null;
+
+    /**
+     * Sets the Commons-Logging instance for this class
+     * @param logger The Commons-Logging instance
+     */
+    public void setLogger(Log logger) {
+        this.logger = logger;
+    }
+
+    /**
+     * Returns the Commons-Logging instance for this class
+     * @return  The Commons-Logging instance
+     */
+    protected Log getLogger() {
+        return logger;
+    }
+
     /**
      * Position inputstream to position indicated
      * in the dirtab offset + offset
@@ -108,7 +128,9 @@ public class TTFFile extends AbstractLogEnabled {
                   long offset) throws IOException {
         TTFDirTabEntry dt = (TTFDirTabEntry)dirTabs.get(name);
         if (dt == null) {
-            getLogger().error("Dirtab " + name + " not found.");
+            if (logger != null) {
+                logger.error("Dirtab " + name + " not found.");
+            }
         } else {
             in.seekSet(dt.getOffset() + offset);
             this.currentDirTab = dt;
@@ -153,7 +175,9 @@ public class TTFFile extends AbstractLogEnabled {
         int numCMap = in.readTTFUShort();    // Number of cmap subtables
         long cmapUniOffset = 0;
 
-        getLogger().info(numCMap + " cmap tables");
+        if (logger != null) {
+            logger.info(numCMap + " cmap tables");
+        }
 
         //Read offset for all tables. We are only interested in the unicode table
         for (int i = 0; i < numCMap; i++) {
@@ -161,8 +185,10 @@ public class TTFFile extends AbstractLogEnabled {
             int cmapEID = in.readTTFUShort();
             long cmapOffset = in.readTTFULong();
 
-            getLogger().debug("Platform ID: " + cmapPID
-                + " Encoding: " + cmapEID);
+            if (logger != null) {
+                logger.debug("Platform ID: " + cmapPID
+                    + " Encoding: " + cmapEID);
+            }
 
             if (cmapPID == 3 && cmapEID == 1) {
                 cmapUniOffset = cmapOffset;
@@ -170,8 +196,10 @@ public class TTFFile extends AbstractLogEnabled {
         }
 
         if (cmapUniOffset <= 0) {
-            getLogger().fatalError("Unicode cmap table not present");
-            getLogger().fatalError("Unsupported format: Aborting");
+            if (logger != null) {
+                logger.fatal("Unicode cmap table not present");
+                logger.fatal("Unsupported format: Aborting");
+            }
             return false;
         }
 
@@ -180,7 +208,10 @@ public class TTFFile extends AbstractLogEnabled {
         int cmapFormat = in.readTTFUShort();
         /*int cmap_length =*/ in.readTTFUShort(); //skip cmap length
 
-        getLogger().info("CMAP format: " + cmapFormat);
+        if (logger != null) {
+            logger.info("CMAP format: " + cmapFormat);
+        }
+
         if (cmapFormat == 4) {
             in.skip(2);    // Skip version number
             int cmapSegCountX2 = in.readTTFUShort();
@@ -188,11 +219,11 @@ public class TTFFile extends AbstractLogEnabled {
             int cmapEntrySelector = in.readTTFUShort();
             int cmapRangeShift = in.readTTFUShort();
 
-            if (getLogger().isDebugEnabled()) {
-                getLogger().debug("segCountX2   : " + cmapSegCountX2);
-                getLogger().debug("searchRange  : " + cmapSearchRange);
-                getLogger().debug("entrySelector: " + cmapEntrySelector);
-                getLogger().debug("rangeShift   : " + cmapRangeShift);
+            if (logger != null & logger.isDebugEnabled()) {
+                logger.debug("segCountX2   : " + cmapSegCountX2);
+                logger.debug("searchRange  : " + cmapSearchRange);
+                logger.debug("entrySelector: " + cmapEntrySelector);
+                logger.debug("rangeShift   : " + cmapRangeShift);
             }
 
 
@@ -228,8 +259,10 @@ public class TTFFile extends AbstractLogEnabled {
 
             for (int i = 0; i < cmapStartCounts.length; i++) {
 
-                getLogger().debug(i + ": " + cmapStartCounts[i]
-                    + " - " + cmapEndCounts[i]);
+                if (logger != null) {
+                    logger.debug(i + ": " + cmapStartCounts[i]
+                        + " - " + cmapEndCounts[i]);
+                }
 
                 for (int j = cmapStartCounts[i]; j <= cmapEndCounts[i]; j++) {
 
@@ -265,8 +298,8 @@ public class TTFFile extends AbstractLogEnabled {
                                     ansiWidth[aIdx.intValue()] =
                                         mtxTab[glyphIdx].getWx();
 
-                                    if (getLogger().isDebugEnabled()) {
-                                        getLogger().debug("Added width "
+                                    if (logger != null) {
+                                        logger.debug("Added width "
                                             + mtxTab[glyphIdx].getWx()
                                             + " uni: " + j
                                             + " ansi: " + aIdx.intValue());
@@ -274,8 +307,8 @@ public class TTFFile extends AbstractLogEnabled {
                                 }
                             }
 
-                            if (getLogger().isDebugEnabled()) {
-                                getLogger().debug("Idx: "
+                            if (logger != null) {
+                                logger.debug("Idx: "
                                     + glyphIdx
                                     + " Delta: " + cmapDeltas[i]
                                     + " Unicode: " + j
@@ -1256,11 +1289,12 @@ public class TTFFile extends AbstractLogEnabled {
      * @param args The command line arguments
      */
     public static void main(String[] args) {
-        int level = ConsoleLogger.LEVEL_WARN;
-        Logger log = new ConsoleLogger(level);
+        SimpleLog log = new SimpleLog("FOP/Fonts");
+        log.setLevel(SimpleLog.LOG_LEVEL_WARN);
+        
         try {
             TTFFile ttfFile = new TTFFile();
-            ttfFile.enableLogging(log);
+            ttfFile.setLogger(log);
 
             FontFileReader reader = new FontFileReader(args[0]);
 
index c0ff6e415d7ff831f4bbce467c51984bd822c228..f2cd1391c76af438033f0897920b4df5961302b6 100644 (file)
@@ -23,9 +23,9 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.Map;
 
-// Apache libs
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+
 
 // FOP
 import org.apache.fop.fonts.Glyphs;
@@ -33,7 +33,7 @@ import org.apache.fop.fonts.Glyphs;
 /**
  * This class represents a PFM file (or parts of it) as a Java object.
  */
-public class PFMFile extends AbstractLogEnabled {
+public class PFMFile {
 
     // Header stuff
     private String windowsName;
@@ -62,6 +62,28 @@ public class PFMFile extends AbstractLogEnabled {
 
     private Map kerningTab = new java.util.HashMap();
 
+    /**
+     * logging instance
+     */
+    protected Log logger = null;
+
+
+    /**
+     * Sets the Commons-Logging instance for this class
+     * @param logger The Commons-Logging instance
+     */
+    public void setLogger(Log logger) {
+        this.logger = logger;
+    }
+
+    /**
+     * Returns the Commons-Logging instance for this class
+     * @return  The Commons-Logging instance
+     */
+    protected Log getLogger() {
+        return logger;
+    }
+
     /**
      * Parses a PFM file
      *
@@ -75,7 +97,7 @@ public class PFMFile extends AbstractLogEnabled {
         /*final int version =*/ in.readShort();
         final long filesize = in.readInt();
         if (filesize != buf.length) {
-            getLogger().warn("Effective file size is not the same as indicated in the header.");
+            logger.warn("Effective file size is not the same as indicated in the header.");
         }
         bufin.reset();
 
@@ -120,7 +142,7 @@ public class PFMFile extends AbstractLogEnabled {
     private void loadExtension(PFMInputStream inStream) throws IOException {
         final int size = inStream.readShort();
         if (size != 30) {
-            getLogger().warn("Size of extension block was expected to be "
+            logger.warn("Size of extension block was expected to be "
                 + "30 bytes, but was " + size + " bytes.");
         }
         final long extMetricsOffset = inStream.readInt();
@@ -162,7 +184,7 @@ public class PFMFile extends AbstractLogEnabled {
         int i = inStream.readShort();
 
 
-        getLogger().info(i + " kerning pairs");
+        logger.info(i + " kerning pairs");
         while (i > 0) {
             int g1 = (int)inStream.readByte();
             i--;
@@ -173,12 +195,12 @@ public class PFMFile extends AbstractLogEnabled {
             if (adj > 0x8000) {
                 adj = -(0x10000 - adj);
             }
-            getLogger().debug("Char no: (" + g1 + ", " + g2 + ") kern: " + adj);
+            logger.debug("Char no: (" + g1 + ", " + g2 + ") kern: " + adj);
 
-            if (getLogger().isDebugEnabled()) {
+            if (logger.isDebugEnabled()) {
                 final String glyph1 = Glyphs.TEX8R_GLYPH_NAMES[g1];
                 final String glyph2 = Glyphs.TEX8R_GLYPH_NAMES[g2];
-                getLogger().debug("glyphs: " + glyph1 + ", " + glyph2);
+                logger.debug("glyphs: " + glyph1 + ", " + glyph2);
             }
 
             Map adjTab = (Map)kerningTab.get(new Integer(g1));
@@ -198,7 +220,7 @@ public class PFMFile extends AbstractLogEnabled {
     private void loadExtMetrics(PFMInputStream inStream) throws IOException {
         final int size = inStream.readShort();
         if (size != 52) {
-            getLogger().warn("Size of extension block was expected to be "
+            logger.warn("Size of extension block was expected to be "
                 + "52 bytes, but was " + size + " bytes.");
         }
         inStream.skip(12); //Skip etmPointSize, etmOrientation, etmMasterHeight,
index e34ada6b19d57e46eaaba9da63bf059791afaf4a..818768226ed9f9bc7c973e8a1ffb6b8c113b3dfa 100644 (file)
@@ -25,7 +25,7 @@ import java.io.InputStream;
 import java.awt.Color;
 
 // FOP
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 
 /**
  * Base class to implement the FopImage interface.
@@ -125,7 +125,7 @@ public abstract class AbstractFopImage implements FopImage {
      * @param ua the user agent for handling logging etc.
      * @return true if the loading was successful
      */
-    public synchronized boolean load(int type, Logger logger) {
+    public synchronized boolean load(int type, Log logger) {
         if ((loaded & type) != 0) {
             return true;
         }
@@ -161,7 +161,7 @@ public abstract class AbstractFopImage implements FopImage {
      * @param ua the user agent
      * @return true if the loading was successful
      */
-    protected boolean loadDimensions(Logger logger) {
+    protected boolean loadDimensions(Log logger) {
         return false;
     }
 
@@ -173,7 +173,7 @@ public abstract class AbstractFopImage implements FopImage {
      * @param ua the user agent
      * @return true if the loading was successful
      */
-    protected boolean loadBitmap(Logger logger) {
+    protected boolean loadBitmap(Log logger) {
         return false;
     }
 
@@ -185,7 +185,7 @@ public abstract class AbstractFopImage implements FopImage {
      * @param ua the user agent
      * @return true if the loading was successful
      */
-    protected boolean loadOriginalData(Logger logger) {
+    protected boolean loadOriginalData(Log logger) {
         return false;
     }
 
index 3ea3b9a69b40fa162de12aba4545bd2e9723a3c3..c3bbea19297713750780a64b2534d56b3e50a0f4 100644 (file)
@@ -23,7 +23,7 @@ import java.io.IOException;
 import java.awt.color.ColorSpace;
 
 // FOP
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 
 /**
  * Bitmap image.
@@ -50,7 +50,7 @@ public class BmpImage extends AbstractFopImage {
      * @param ua the user agent
      * @return true if it was loaded successfully
      */
-    protected boolean loadBitmap(Logger logger) {
+    protected boolean loadBitmap(Log logger) {
         int wpos = 18;
         int hpos = 22; // offset positioning for w and height in  bmp files
         int[] headermap = new int[54];
index 27f088c26321fcaf4381ee4ce4912595449c1422..c1b4aaa86f3477d47914b79a182a1d3a4f9270ca 100644 (file)
@@ -23,7 +23,7 @@ import java.awt.color.ColorSpace;
 import java.awt.color.ICC_Profile;
 import java.awt.Color;
 
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 
 /**
  * Fop image interface for loading images.
@@ -61,10 +61,10 @@ public interface FopImage {
      * the information.
      *
      * @param type the type of loading required
-     * @param logger the Avalon logger
+     * @param logger the Commons-logging component
      * @return boolean true if the information could be loaded
      */
-    boolean load(int type, Logger logger);
+    boolean load(int type, Log logger);
 
     /**
      * Returns the image width.
index 257c03b6a2ea8fb9cc4c1725293115a9fecddfb4..8a23a7d0c2da523c30867cdd9c3572cc7e762ff2 100644 (file)
@@ -29,7 +29,7 @@ import java.io.IOException;
 import java.net.URLConnection;
 
 // FOP
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 
 /**
  * FopImage object for GIF images, using Java native classes.
@@ -58,7 +58,7 @@ public class GifImage extends AbstractFopImage {
      * @param ua the user agent for loading
      * @return True if the load process succeeded
      */
-    protected boolean loadBitmap(Logger logger) {
+    protected boolean loadBitmap(Log logger) {
         int[] tmpMap = null;
         try {
             URLConnection con = new DummyConnection(inputStream);
index 45aef78c501a4d4748a94e0841444de2fc901d3b..93253240a5844e80a0938669471bc42819853f80 100644 (file)
@@ -29,8 +29,7 @@ import java.util.Set;
 import java.util.Collections;
 import java.util.Iterator;
 
-// Avalon
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 
 // FOP
 import org.apache.fop.image.analyser.ImageReaderFactory;
@@ -130,7 +129,7 @@ public class ImageFactory {
      * @return the fop image instance
      */
     public static FopImage loadImage(String href, FOUserAgent ua) {
-        Logger log = ua.getLogger();
+        Log log = ua.getLogger();
 
         InputStream in = openStream(href, ua);
 
@@ -215,7 +214,7 @@ public class ImageFactory {
      * @return a new FopImage object
      */
     protected static InputStream openStream(String href, FOUserAgent ua) {
-        Logger log = ua.getLogger();
+        Log log = ua.getLogger();
         // Get the absolute URL
         URL absoluteURL = null;
         InputStream in = null;
index c64055d45c6fc8947fb7b723e4f82b8d049aa3d0..ab07e8ecf0c3d24f615913db052fcf523edbc386 100644 (file)
@@ -28,8 +28,7 @@ import java.awt.Color;
 // Jimi
 import com.sun.jimi.core.Jimi;
 
-// Avalon
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 
 /**
  * FopImage object for several images types, using Jimi.
@@ -49,7 +48,7 @@ public class JimiImage extends AbstractFopImage {
         }
     }
 
-    protected boolean loadDimensions(Logger logger) {
+    protected boolean loadDimensions(Log logger) {
         if (this.bitmaps == null) {
             loadImage(logger);
         }
@@ -60,7 +59,7 @@ public class JimiImage extends AbstractFopImage {
     /**
      * @see org.apache.fop.image.AbstractFopImage#loadBitmap(Logger)
      */
-    protected boolean loadBitmap(Logger logger) {
+    protected boolean loadBitmap(Log logger) {
         if (this.bitmaps == null) {
             loadImage(logger);
         }
@@ -68,7 +67,7 @@ public class JimiImage extends AbstractFopImage {
         return this.bitmaps != null;
     }
 
-    protected void loadImage(Logger log) {
+    protected void loadImage(Log log) {
         int[] tmpMap = null;
         try {
             ImageProducer ip =
index c0146c8407ab9c4c2d7a51ae0dc342b1d50b64f8..3ce3ed13e6a604180a7ed38ee44a87f28678bbfc 100644 (file)
@@ -24,7 +24,7 @@ import java.awt.color.ColorSpace;
 import java.awt.color.ICC_Profile;
 
 // FOP
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 import org.apache.fop.util.CMYKColorSpace;
 
 /**
@@ -55,7 +55,7 @@ public class JpegImage extends AbstractFopImage {
      * @param ua the user agent
      * @return true if loaded false for any error
      */
-    protected boolean loadOriginalData(Logger logger) {
+    protected boolean loadOriginalData(Log logger) {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         ByteArrayOutputStream iccStream = new ByteArrayOutputStream();
         int index = 0;
index c7382f3f1e98e1ec86a324d273986a666e044be6..2a3bade9d62708ee075b8beaf7f0822b8c787827 100644 (file)
@@ -27,8 +27,7 @@ import java.awt.geom.AffineTransform;
 import org.w3c.dom.Element;
 import org.w3c.dom.svg.SVGDocument;
 
-// Avalon
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 
 // Batik
 import org.apache.batik.dom.svg.SAXSVGDocumentFactory;
@@ -108,7 +107,7 @@ public class SVGReader implements ImageReader {
      */
     class Loader {
         private FopImage.ImageInfo getImage(String uri, InputStream fis,
-                Logger logger, float pixelUnitToMM) {
+                Log logger, float pixelUnitToMM) {
             // parse document and get the size attributes of the svg element
 
             try {
index f71b70c3118c99fb14fcf5022562a9e0ca7b9423..1a11396ba3d2ac5a00f43cff015a35b2f1c468fd 100644 (file)
@@ -27,7 +27,7 @@ import org.apache.fop.area.PageViewport;
 import org.apache.fop.fo.Constants;
 import org.apache.fop.fo.PropertyManager;
 
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 
 import java.util.ListIterator;
 import java.util.Map;
@@ -93,7 +93,7 @@ public abstract class AbstractLayoutManager implements LayoutManager, Constants
         return userAgent;
     }
 
-    protected Logger getLogger() {
+    protected Log getLogger() {
         return userAgent.getLogger();
     }
 
index ba33a4c6e8e76c628180e4ab2c10ecfefd8e45a3..9ac36e29d4d0a57014f79be6a86228168de29d8e 100644 (file)
@@ -28,9 +28,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Iterator;
 
-// Avalon
-import org.apache.avalon.framework.logger.LogEnabled;
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 
 /* image support modified from work of BoBoGi */
 /* font support based on work by Takayuki Takeuchi */
@@ -56,7 +54,7 @@ import org.apache.avalon.framework.logger.Logger;
  * the object list; enhanced trailer output; cleanups.
  *
  */
-public class PDFDocument implements LogEnabled {
+public class PDFDocument {
 
     private static final Integer LOCATION_PLACEHOLDER = new Integer(0);
     /**
@@ -69,7 +67,7 @@ public class PDFDocument implements LogEnabled {
      */
     public static final String ENCODING = "ISO-8859-1";
 
-    private Logger logger;
+    private Log logger;
 
     /**
      * the current character position
@@ -235,6 +233,14 @@ public class PDFDocument implements LogEnabled {
         this.info = getFactory().makeInfo(prod);
     }
 
+    /**
+     * Sets the Commons-Logging instance for this class
+     * @param logger The Commons-Logging instance
+     */
+    public void setLogger(Log logger) {
+        this.logger = logger;
+    }
+
     /**
      * Returns the factory for PDF objects.
      * @return PDFFactory the factory
@@ -253,13 +259,6 @@ public class PDFDocument implements LogEnabled {
         return this.encodingOnTheFly;
     }
 
-    /**
-     * @see org.apache.avalon.framework.logger.LogEnabled#enableLogging(Logger)
-     */
-    public void enableLogging(Logger logger) {
-        this.logger = logger;
-    }
-
     /**
      * Helper method to allow sub-classes to aquire logger.
      *
@@ -267,7 +266,7 @@ public class PDFDocument implements LogEnabled {
      * and will be inlined by the JVM.</p>
      * @return the Logger
      */
-    protected final Logger getLogger() {
+    protected final Log getLogger() {
         return this.logger;
     }
 
index a99e7a886f380d069063617bec8f1317eaa55490..6bf5a5e1c9a4293908fd98bb3101bf9da07b999d 100644 (file)
@@ -23,7 +23,7 @@ import java.lang.reflect.Method;
 import java.security.Provider;
 import java.security.Security;
 
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 import org.apache.fop.apps.FOUserAgent;
 
 /**
@@ -77,7 +77,7 @@ public class PDFEncryptionManager {
      */
     public static void setupPDFEncryption(FOUserAgent userAgent, 
                                           PDFDocument pdf,
-                                          Logger log) {
+                                          Log log) {
         if (userAgent == null) {
             throw new NullPointerException("User agent must not be null");
         }
index 982c170a6fdcd1e6dd8531d73a934d45ea5a3fb3..1fd969dbbf3fd322d32d45ed3822d5d1448c1741 100644 (file)
@@ -1133,8 +1133,7 @@ public class PDFFactory {
                         FontFileReader reader = new FontFileReader(in);
 
                         TTFSubSetFile subset = new TTFSubSetFile();
-                        ContainerUtil.enableLogging(subset,
-                            getDocument().getLogger().getChildLogger("fonts"));
+                        subset.setLogger(getDocument().getLogger());
 
                         byte[] subsetFont = subset.readFont(reader,
                                              mbfont.getTTCName(), mbfont.getUsedGlyphs());
index 8f5a96f7f3b6b1a2fe1ba3e7ecc4129a40d0c4b7..cc4781649c1ef151158cb7de1fcedf73bbb6c45d 100644 (file)
@@ -63,9 +63,9 @@ import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.fo.Constants;
 import org.apache.fop.fo.FOTreeControl;
 import org.apache.fop.fo.pagination.Region;
+import org.apache.commons.logging.Log;
 
 // Avalon
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.avalon.framework.configuration.Configurable;
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
@@ -75,7 +75,7 @@ import org.apache.avalon.framework.configuration.ConfigurationException;
  * top level processing of the area tree and adds some abstract methods to
  * handle viewports. This keeps track of the current block and inline position.
  */
-public abstract class AbstractRenderer extends AbstractLogEnabled
+public abstract class AbstractRenderer 
          implements Renderer, Configurable, Constants {
 
     /**
@@ -83,6 +83,11 @@ public abstract class AbstractRenderer extends AbstractLogEnabled
      */
     protected FOUserAgent userAgent;
 
+    /**
+     * logging instance
+     */
+    protected Log logger = null;
+
     /**
      * producer (usually "FOP")
      */
@@ -136,6 +141,22 @@ public abstract class AbstractRenderer extends AbstractLogEnabled
     public void configure(Configuration conf) throws ConfigurationException {
     }
 
+    /**
+     * Sets the Commons-Logging instance for this class
+     * @param logger The Commons-Logging instance
+     */
+    public void setLogger(Log logger) {
+        this.logger = logger;
+    }
+
+    /**
+     * Returns the Commons-Logging instance for this class
+     * @return  The Commons-Logging instance
+     */
+    protected Log getLogger() {
+        return logger;
+    }
+
     /** @see org.apache.fop.render.Renderer */
     public void setProducer(String inProducer) {
         producer = inProducer;
index ef5f4526f6d8bec7a7fa58aa45ad44fa7dec59b7..62446bf0b59b35adcfcb0e1cf57aa3e9467251f2 100644 (file)
@@ -37,6 +37,8 @@ import org.apache.fop.area.inline.Viewport;
 import org.apache.fop.area.inline.TextArea;
 import org.apache.fop.fo.FOTreeControl;
 import org.apache.fop.apps.FOUserAgent;
+import org.apache.commons.logging.Log;
+
 
 /**
  * Interface implemented by all renderers. This interface is used to control
@@ -185,6 +187,13 @@ public interface Renderer {
      * @param cont  The inline container area
      */
     void renderContainer(Container cont);
+    
+    /**
+     * Tells the renderer to render an inline container.
+     *
+     * @param cont  The inline container area
+     */
+    void setLogger(Log logger);
 
 }
 
index d28063b2a9f6e2fbfe4b00d4e24552139f16558c..e4a7bb28993a58ecc0a47bf9fe4e1f147bf1a9d3 100644 (file)
@@ -249,7 +249,7 @@ public class PDFRenderer extends PrintRenderer {
         ostream = stream;
         producer = "FOP " + Version.getVersion();
         this.pdfDoc = new PDFDocument(producer);
-        setupLogger(this.pdfDoc);
+        this.pdfDoc.setLogger(logger);
         this.pdfDoc.setCreator(creator);
         this.pdfDoc.setCreationDate(creationDate);
         this.pdfDoc.setFilterMap(filterMap);
index d37326671b27afa27820094ecf9d5faa971268d0..567197606e6f1d276be1ef3329c11bffb8198d74 100644 (file)
@@ -105,7 +105,7 @@ public abstract class AbstractPSTranscoder extends AbstractFOPTranscoder {
         throws TranscoderException {
 
         graphics = createDocumentGraphics2D();
-        ContainerUtil.enableLogging(graphics, getLogger());
+        
         try {
             if (this.cfg != null) {
                 ContainerUtil.configure(graphics, this.cfg);
index 7f8016aa05bf6ec45c1f3e5af2d26dfbc1c5e129..fb34f94133fc74d0c370f4aea70765ee0bb0cd33 100644 (file)
@@ -19,8 +19,8 @@
 
 package org.apache.fop.render.rtf;
 
-import org.apache.avalon.framework.logger.Logger;
-import org.apache.avalon.framework.logger.ConsoleLogger;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.impl.SimpleLog;
 
 //FOP
 import org.apache.fop.apps.FOPException;
@@ -40,7 +40,7 @@ import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfPage;
 
 class PageAttributesConverter {
 
-    private static Logger log = new ConsoleLogger();
+    private static Log log = new SimpleLog("FOP/RTF");
 
     /** convert xsl:fo attributes to RTF text attributes */
     static RtfAttributes convertPageAttributes(SimplePageMaster pagemaster) {
index 593c67d710b8c311651809247a9bb77974398635..3d65a071a7cc0fd93f7381524a52b416bb23b5a2 100644 (file)
@@ -24,8 +24,8 @@ import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.util.Iterator;
 
-import org.apache.avalon.framework.logger.ConsoleLogger;
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.impl.SimpleLog;
+import org.apache.commons.logging.Log;
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.fo.FOInputHandler;
 import org.apache.fop.fo.FObj;
@@ -98,7 +98,7 @@ public class RTFHandler extends FOInputHandler {
 
     private RtfFile rtfFile;
     private final OutputStream os;
-    private final Logger log = new ConsoleLogger();
+    private final Log log = new SimpleLog("FOP/RTF");
     private RtfSection sect;
     private RtfDocumentArea docArea;
     private int iNestCount;
index ea695bd2407ee0b1d3ef34e3957c6781119aaaf6..c8c88927cd347e99201623bcc8cc64f4cf1d9d95 100644 (file)
@@ -22,8 +22,8 @@ package org.apache.fop.render.rtf;
 import org.apache.fop.render.rtf.rtflib.rtfdoc.BorderAttributesConverter;
 
 //FOP
-import org.apache.avalon.framework.logger.Logger;
-import org.apache.avalon.framework.logger.ConsoleLogger;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.impl.SimpleLog;
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.fo.expr.NCnameProperty;
 import org.apache.fop.fo.properties.ColorTypeProperty;
@@ -57,7 +57,7 @@ import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfColorTable;
 
 public class TableAttributesConverter {
 
-    private static Logger log = new ConsoleLogger();
+    private static Log log = new SimpleLog("FOP/RTF");
 
     //////////////////////////////////////////////////
     // @@ Construction
index f9d08e63467f51ea73e43b7780721c3d36ffc83a..fa847f09e1fd76251589ef5e7025fe6d8b10b56e 100644 (file)
@@ -20,8 +20,8 @@ package org.apache.fop.render.rtf;
 
 import java.util.List;
 
-import org.apache.avalon.framework.logger.ConsoleLogger;
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.impl.SimpleLog;
+import org.apache.commons.logging.Log;
 import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfAttributes;
 import org.apache.fop.render.rtf.rtflib.interfaces.ITableColumnsInfo;
 
@@ -39,7 +39,7 @@ import org.apache.fop.render.rtf.rtflib.interfaces.ITableColumnsInfo;
  */
 
 class TableContext implements ITableColumnsInfo {
-    private final Logger log = new ConsoleLogger();
+    private final Log log = new SimpleLog("FOP/RTF");
     private final BuilderContext context;
     private final List colWidths = new java.util.ArrayList();
     private int colIndex;
index 25e1d8173d91bba6e71ec9378da47f5558c66ba0..f53bc937d684b1fd3c7d2a4a676aff8322729bdc 100644 (file)
@@ -20,8 +20,8 @@
 package org.apache.fop.render.rtf;
 
 //FOP
-import org.apache.avalon.framework.logger.Logger;
-import org.apache.avalon.framework.logger.ConsoleLogger;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.impl.SimpleLog;
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.fo.Constants;
 import org.apache.fop.fo.PropertyList;
@@ -49,7 +49,7 @@ import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfText;
  */
 
 class TextAttributesConverter {
-    private static Logger log = new ConsoleLogger();
+    private static Log log = new SimpleLog("FOP/RTF");
 
     /**
      * Converts all known text FO properties to RtfAttributes
index 6655df5655ee227c2937e05a8d5c65a4e5603109..0320a706ee1eac09200a454e507295b1f496834a 100644 (file)
@@ -28,8 +28,8 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.xml.transform.TransformerFactory;
 
-import org.apache.avalon.framework.logger.ConsoleLogger;
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.impl.SimpleLog;
+import org.apache.commons.logging.Log;
 import org.apache.fop.apps.Driver;
 import org.apache.fop.apps.XSLTInputHandler;
 import org.apache.fop.render.awt.AWTPrintRenderer;
@@ -69,7 +69,8 @@ public class FopPrintServlet extends HttpServlet {
     protected static final String XSLT_REQUEST_PARAM = "xslt";
 
     /** Logger to give to FOP */
-    protected Logger log = null;
+    protected SimpleLog log = null;
+    
     /** The TransformerFactory to use to create Transformer instances */
     protected TransformerFactory transFactory = null;
 
@@ -77,7 +78,8 @@ public class FopPrintServlet extends HttpServlet {
      * @see javax.servlet.GenericServlet#init()
      */
     public void init() throws ServletException {
-        this.log = new ConsoleLogger(ConsoleLogger.LEVEL_WARN);
+        this.log = new SimpleLog("FOP/Print Servlet");
+        log.setLevel(SimpleLog.LOG_LEVEL_WARN);
         this.transFactory = TransformerFactory.newInstance();
     }
 
@@ -87,7 +89,8 @@ public class FopPrintServlet extends HttpServlet {
     public void doGet(HttpServletRequest request,
                       HttpServletResponse response) throws ServletException {
         if (log == null) {
-            log = new ConsoleLogger(ConsoleLogger.LEVEL_WARN);
+            log = new SimpleLog("FOP/Print Servlet");
+            log.setLevel(SimpleLog.LOG_LEVEL_WARN);
         }
 
         try {
@@ -131,7 +134,7 @@ public class FopPrintServlet extends HttpServlet {
             Driver driver = new Driver(foFile, null);
             AWTPrintRenderer renderer = new AWTPrintRenderer();
 
-            driver.enableLogging(log);
+            driver.setLogger(log);
             driver.setRenderer(renderer);
             driver.run();
 
@@ -153,7 +156,7 @@ public class FopPrintServlet extends HttpServlet {
             Driver driver = new Driver();
             AWTPrintRenderer renderer = new AWTPrintRenderer();
 
-            driver.enableLogging(log);
+            driver.setLogger(log);
             driver.setRenderer(renderer);
             driver.render(input.getParser(), input.getInputSource());
 
index 887c2dc184d33c8105f59a8099d35dc0a8b0510c..497d4b64f6ff568c174233465b993c6386c77c09 100644 (file)
@@ -34,9 +34,8 @@ import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.sax.SAXResult;
 import javax.xml.transform.stream.StreamSource;
 
-// Avalon
-import org.apache.avalon.framework.logger.ConsoleLogger;
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.impl.SimpleLog;
+import org.apache.commons.logging.Log;
 
 //FOP
 import org.apache.fop.apps.Driver;
@@ -76,7 +75,7 @@ public class FopServlet extends HttpServlet {
     protected static final String XSLT_REQUEST_PARAM = "xslt";
 
     /** Logger to give to FOP */
-    protected Logger log = null;
+    protected SimpleLog log = null;
     /** The TransformerFactory to use to create Transformer instances */
     protected TransformerFactory transFactory = null;
 
@@ -84,7 +83,8 @@ public class FopServlet extends HttpServlet {
      * @see javax.servlet.GenericServlet#init()
      */
     public void init() throws ServletException {
-        this.log = new ConsoleLogger(ConsoleLogger.LEVEL_WARN);
+        this.log = new SimpleLog("FOP/Servlet");
+        log.setLevel(SimpleLog.LOG_LEVEL_WARN);
         this.transFactory = TransformerFactory.newInstance();
     }
 
@@ -202,7 +202,7 @@ public class FopServlet extends HttpServlet {
 
         //Setup FOP
         Driver driver = new Driver();
-        driver.enableLogging(this.log);
+        driver.setLogger(this.log);
         driver.setRenderer(Driver.RENDER_PDF);
         driver.initialize();
 
index 284879b8dc9d0a8a69b12e96501343f79c963bc1..d0d81452a1af0634f2c6df5c9728762d28e9a8a5 100644 (file)
@@ -20,9 +20,8 @@ package org.apache.fop.svg;
 
 import org.xml.sax.EntityResolver;
 
-import org.apache.avalon.framework.logger.ConsoleLogger;
-import org.apache.avalon.framework.logger.LogEnabled;
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.impl.SimpleLog;
+import org.apache.commons.logging.Log;
 import org.apache.batik.bridge.UserAgent;
 import org.apache.batik.dom.svg.SVGDOMImplementation;
 import org.apache.batik.dom.util.DocumentFactory;
@@ -39,7 +38,7 @@ import org.w3c.dom.DOMImplementation;
  * This is the common base class of all of FOP's transcoders.
  */
 public abstract class AbstractFOPTranscoder extends SVGAbstractTranscoder
-            implements LogEnabled {
+            {
 
     /**
      * The key to specify whether to stroke text instead of using text 
@@ -58,7 +57,7 @@ public abstract class AbstractFOPTranscoder extends SVGAbstractTranscoder
      */
     protected UserAgent userAgent = createUserAgent();
 
-    private Logger logger;
+    private Log logger;
     private EntityResolver resolver;
 
     /**
@@ -81,10 +80,7 @@ public abstract class AbstractFOPTranscoder extends SVGAbstractTranscoder
         return new FOPTranscoderUserAgent();
     }
     
-    /**
-     * @see org.apache.avalon.framework.logger.LogEnabled#enableLogging(Logger)
-     */
-    public void enableLogging(Logger logger) {
+    public void setLogger(Log logger) {
         this.logger = logger;
     }
 
@@ -98,12 +94,13 @@ public abstract class AbstractFOPTranscoder extends SVGAbstractTranscoder
     
     /**
      * Returns the logger associated with this transcoder. It returns a 
-     * ConsoleLogger if no logger has been explicitly set.
+     * SimpleLog if no logger has been explicitly set.
      * @return Logger the logger for the transcoder.
      */
-    protected final Logger getLogger() {
+    protected final Log getLogger() {
         if (this.logger == null) {
-            this.logger = new ConsoleLogger(ConsoleLogger.LEVEL_INFO);
+            this.logger = new SimpleLog("FOP/Transcoder");
+            ((SimpleLog) logger).setLevel(SimpleLog.LOG_LEVEL_INFO);
         }
         return this.logger;
     }
@@ -133,7 +130,7 @@ public abstract class AbstractFOPTranscoder extends SVGAbstractTranscoder
 
     /**
      * This is the default transcoder error handler for FOP. It logs error
-     * to an Avalon Logger instead of to System.out. The remaining behaviour 
+     * to an Commons Logger instead of to System.out. The remaining behaviour 
      * is the same as Batik's DefaultErrorHandler.
      */    
     protected class FOPErrorHandler implements ErrorHandler {
index a081c4e676428c9cf6749315b08f32e6eff55ba7..75480629adf92eaac21be59bff02dfbb3d94daa1 100644 (file)
@@ -34,9 +34,8 @@ import org.apache.avalon.framework.configuration.Configurable;
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
 import org.apache.avalon.framework.container.ContainerUtil;
-import org.apache.avalon.framework.logger.ConsoleLogger;
-import org.apache.avalon.framework.logger.LogEnabled;
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.impl.SimpleLog;
+import org.apache.commons.logging.Log;
 import org.apache.fop.apps.Document;
 
 import java.awt.Graphics;
@@ -60,7 +59,7 @@ import java.util.List;
  * @see org.apache.fop.svg.PDFGraphics2D
  */
 public class PDFDocumentGraphics2D extends PDFGraphics2D
-            implements LogEnabled, Configurable, Initializable {
+            implements Configurable, Initializable {
 
     private PDFPage currentPage;
     private PDFStream pdfStream;
@@ -68,8 +67,9 @@ public class PDFDocumentGraphics2D extends PDFGraphics2D
     private int height;
     private List fontList;
 
-    //Avalon-dependent stuff
-    private Logger logger;
+    private Log logger;
+
+    //Avalon component
     private Configuration cfg;
 
     /**
@@ -132,10 +132,7 @@ public class PDFDocumentGraphics2D extends PDFGraphics2D
         super(false);
     }
 
-    /**
-     * @see org.apache.avalon.framework.logger.LogEnabled#enableLogging(Logger)
-     */
-    public void enableLogging(Logger logger) {
+    public void setLogger(Log logger) {
         this.logger = logger;
     }
 
@@ -143,9 +140,10 @@ public class PDFDocumentGraphics2D extends PDFGraphics2D
      * Returns the logger.
      * @return Logger the logger
      */
-    protected final Logger getLogger() {
+    protected final Log getLogger() {
         if (this.logger == null) {
-            this.logger = new ConsoleLogger(ConsoleLogger.LEVEL_INFO);
+            this.logger = new SimpleLog("FOP/PDF");
+            ((SimpleLog) logger).setLevel(SimpleLog.LOG_LEVEL_INFO);
         }
         return this.logger;
     }
@@ -170,7 +168,8 @@ public class PDFDocumentGraphics2D extends PDFGraphics2D
         }
 
         this.pdfDoc = new PDFDocument("Apache FOP: SVG to PDF Transcoder");
-        ContainerUtil.enableLogging(this.pdfDoc, getLogger().getChildLogger("pdf"));
+        this.pdfDoc.setLogger(getLogger());
+
         if (this.cfg != null) {
             this.pdfDoc.setFilterMap(
                 PDFFilterList.buildFilterMapFromConfiguration(cfg));
index 4db9d87db1507965bd6fa5d5f8e537dc6978c5fc..b3eebb5efc9a03a82360dfa198d63092a0741f03 100644 (file)
@@ -30,7 +30,7 @@ import java.awt.geom.Rectangle2D;
 
 import org.w3c.dom.Element;
 
-import org.apache.avalon.framework.logger.ConsoleLogger;
+import org.apache.commons.logging.impl.SimpleLog;
 import org.apache.batik.bridge.BridgeContext;
 import org.apache.batik.gvt.AbstractGraphicsNode;
 import org.apache.batik.gvt.GraphicsNode;
@@ -66,7 +66,8 @@ public class PDFImageElementBridge extends SVGImageElementBridge {
                 (purl.toString(), purl.openStream(), null);
             if (ii.mimeType.toLowerCase() == "image/jpeg") {
                 JpegImage jpeg = new JpegImage(ii);
-                ConsoleLogger logger = new ConsoleLogger(ConsoleLogger.LEVEL_INFO);
+                SimpleLog logger = new SimpleLog("FOP/SVG");
+                logger.setLevel(SimpleLog.LOG_LEVEL_INFO);
                 jpeg.load(FopImage.ORIGINAL_DATA, logger);
                 PDFJpegNode node = new PDFJpegNode(jpeg, origGN);
 
index 1ded7d99b65f4705da6edfd035a66661d9ec3a17..7cbbeb9f5fa4317b5d4bd2b776a09bd124394dbc 100644 (file)
@@ -108,7 +108,8 @@ public class PDFTranscoder extends AbstractFOPTranscoder
         throws TranscoderException {
 
         graphics = new PDFDocumentGraphics2D();
-        ContainerUtil.enableLogging(graphics, getLogger());
+        graphics.setLogger(getLogger());
+        
         try {
             if (this.cfg != null) {
                 ContainerUtil.configure(graphics, this.cfg);
index 06aaee0f67f5ea5140f11f696c0d0e19f4a1d8e7..aefdd1169e326e6d057550fc443af593ea69c755 100644 (file)
@@ -20,7 +20,7 @@ package org.apache.fop.svg;
 
 import org.apache.fop.apps.FOFileHandler;
 import org.apache.batik.bridge.UserAgentAdapter;
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.Log;
 
 // Java
 import java.awt.geom.AffineTransform;
@@ -34,17 +34,17 @@ import java.awt.Dimension;
  */
 public class SVGUserAgent extends UserAgentAdapter {
     private AffineTransform currentTransform = null;
-    private Logger logger;
+    private Log logger;
     private float pixelUnitToMillimeter = 0.0f;
 
     /**
      * Creates a new SVGUserAgent.
-     * @param log an Avalon logging instance
+     * @param log an Commons logging instance
      * @param pixelUnitToMM The pixel to millimeter conversion factor 
      *                  currently in effect
      * @param at the current transform
      */
-    public SVGUserAgent(Logger log, float pixelUnitToMM, AffineTransform at) {
+    public SVGUserAgent(Log log, float pixelUnitToMM, AffineTransform at) {
         logger = log;
         pixelUnitToMillimeter = pixelUnitToMM;
         currentTransform = at;
@@ -54,7 +54,7 @@ public class SVGUserAgent extends UserAgentAdapter {
      * Returns the logger associated with this user agent.
      * @return Logger the logger
      */
-    protected final Logger getLogger() {
+    protected final Log getLogger() {
         return logger;
     }
 
index 1f580a7ea9edacff099446c41618de28e479c1fa..288a89db2d2b3fcc971638f4e639652cc20852fd 100644 (file)
@@ -79,9 +79,8 @@ import org.apache.fop.fo.Constants;
 import org.apache.fop.fo.pagination.Region;
 import org.apache.fop.fonts.FontMetrics;
 
-// Avalon
-import org.apache.avalon.framework.logger.ConsoleLogger;
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.impl.SimpleLog;
 
 
 /**
@@ -96,7 +95,28 @@ import org.apache.avalon.framework.logger.AbstractLogEnabled;
  * Tests: different renderers, saving and loading pages with serialization
  * out of order rendering
  */
-public class AreaTreeBuilder extends AbstractLogEnabled {
+public class AreaTreeBuilder {
+
+    /**
+     * logging instance
+     */
+    protected Log logger = null;
+
+    /**
+     * Sets the Commons-Logging instance for this class
+     * @param logger The Commons-Logging instance
+     */
+    public void setLogger(Log logger) {
+        this.logger = logger;
+    }
+
+    /**
+     * Returns the Commons-Logging instance for this class
+     * @return  The Commons-Logging instance
+     */
+    protected Log getLogger() {
+        return logger;
+    }
 
     /**
      * Main method
@@ -104,7 +124,9 @@ public class AreaTreeBuilder extends AbstractLogEnabled {
      */
     public static void main(String[] args) {
         AreaTreeBuilder atb = new AreaTreeBuilder();
-        atb.enableLogging(new ConsoleLogger(ConsoleLogger.LEVEL_DEBUG));
+        SimpleLog logger = new SimpleLog("FOP");
+        logger.setLevel(SimpleLog.LOG_LEVEL_DEBUG);
+        atb.setLogger(logger);
 
         atb.runTests(args[0], args[1], args[2]);
         System.exit(0);
@@ -117,9 +139,9 @@ public class AreaTreeBuilder extends AbstractLogEnabled {
      * @param out output filename
      */
     protected void runTests(String in, String type, String out) {
-        getLogger().debug("Starting tests");
+        logger.debug("Starting tests");
         runTest(in, type, out);
-        getLogger().debug("Finished");
+        logger.debug("Finished");
     }
 
     /**
@@ -137,16 +159,17 @@ public class AreaTreeBuilder extends AbstractLogEnabled {
         } else if ("svg".equals(type)) {
             rend = new SVGRenderer();
         }
-        setupLogger(rend);
+
+        rend.setLogger(logger);
         Document fi = new Document(null);
         rend.setupFontInfo(fi);
         FOUserAgent ua = new FOUserAgent();
-        setupLogger(ua);
+        ua.setLogger(logger);
         rend.setUserAgent(ua);
 
         StorePagesModel sm = AreaTree.createStorePagesModel();
         TreeLoader tl = new TreeLoader(fi);
-        setupLogger(tl);
+        tl.setLogger(logger);
         tl.setTreeModel(sm);
         try {
             InputStream is =
@@ -154,7 +177,7 @@ public class AreaTreeBuilder extends AbstractLogEnabled {
             tl.buildAreaTree(is);
             renderAreaTree(sm, rend, out);
         } catch (IOException e) {
-            getLogger().error("error reading file" + e.getMessage(), e);
+            logger.error("error reading file" + e.getMessage(), e);
         }
     }
 
@@ -205,7 +228,7 @@ public class AreaTreeBuilder extends AbstractLogEnabled {
             rend.stopRenderer();
             os.close();
         } catch (Exception e) {
-            getLogger().error("error rendering output", e);
+            logger.error("error rendering output", e);
         }
     }
 
@@ -214,16 +237,25 @@ public class AreaTreeBuilder extends AbstractLogEnabled {
 
 // this loads an area tree from an xml file
 // the xml format is the same as the xml renderer output
-class TreeLoader extends AbstractLogEnabled {
+class TreeLoader {
     private AreaTree areaTree;
     private AreaTreeModel model;
     private Document fontInfo;
     private Font currentFontState;
+    private Log logger = null;
 
     TreeLoader(Document fi) {
         fontInfo = fi;
     }
 
+    /**
+     * Sets the Commons-Logging instance for this class
+     * @param logger The Commons-Logging instance
+     */
+    public void setLogger(Log logger) {
+        this.logger = logger;
+    }
+
     public void setTreeModel(AreaTreeModel mo) {
         model = mo;
     }
@@ -720,7 +752,7 @@ class TreeLoader extends AbstractLogEnabled {
                       Trait.makeTraitValue(traitCode,
                                tok.substring(index + 1)));
             } else {
-                getLogger().error("Unknown trait: " + id);
+                logger.error("Unknown trait: " + id);
             }
         }
     }
index c8dfdf46252fd807d39638b13432bb5d53d42def..a569a934d3bd5d5eb144c5397c638166f7f15a11 100644 (file)
@@ -26,8 +26,6 @@ import java.util.Map;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.avalon.framework.logger.ConsoleLogger;
 import org.apache.fop.apps.Driver;
 import org.apache.fop.apps.FOFileHandler;
 import org.apache.fop.apps.FOUserAgent;
@@ -37,6 +35,10 @@ import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.impl.SimpleLog;
+
+
 /**
  * TestConverter is used to process a set of tests specified in
  * a testsuite.
@@ -50,7 +52,7 @@ import org.w3c.dom.NodeList;
  * Modified by Mark Lillywhite mark-fop@inomial.com to use the new Driver
  * interface.
  */
-public class TestConverter extends AbstractLogEnabled {
+public class TestConverter {
     
     private boolean failOnly = false;
     private boolean outputPDF = false;
@@ -59,6 +61,28 @@ public class TestConverter extends AbstractLogEnabled {
     private String baseDir = "./";
     private Map differ = new java.util.HashMap();
 
+    /**
+     * logging instance
+     */
+    protected Log logger = null;
+
+
+    /**
+     * Sets the Commons-Logging instance for this class
+     * @param logger The Commons-Logging instance
+     */
+    public void setLogger(Log logger) {
+        this.logger = logger;
+    }
+
+    /**
+     * Returns the Commons-Logging instance for this class
+     * @return  The Commons-Logging instance
+     */
+    protected Log getLogger() {
+        return logger;
+    }
+
     /**
      * This main method can be used to run the test converter from
      * the command line.
@@ -104,7 +128,9 @@ public class TestConverter extends AbstractLogEnabled {
      * Construct a new TestConverter
      */
     public TestConverter() {
-        enableLogging(new ConsoleLogger(ConsoleLogger.LEVEL_ERROR));
+        SimpleLog log = new SimpleLog("FOP/Test");
+        log.setLevel(SimpleLog.LOG_LEVEL_ERROR);
+        setLogger(log);
     }
 
     /**
@@ -138,7 +164,9 @@ public class TestConverter extends AbstractLogEnabled {
      */
     public void setDebug(boolean debug) {
         if (debug) {
-            enableLogging(new ConsoleLogger(ConsoleLogger.LEVEL_DEBUG));
+            SimpleLog log = new SimpleLog("FOP/Test");
+            log.setLevel(SimpleLog.LOG_LEVEL_DEBUG);
+            setLogger(log);
         }
     }
 
@@ -152,7 +180,7 @@ public class TestConverter extends AbstractLogEnabled {
      * @return Map a Map containing differences
      */
     public Map runTests(String fname, String dest, String compDir) {
-        getLogger().debug("running tests in file:" + fname);
+        logger.debug("running tests in file:" + fname);
         try {
             if (compDir != null) {
                 compare = new File(baseDir + "/" + compDir);
@@ -176,7 +204,7 @@ public class TestConverter extends AbstractLogEnabled {
             if (testsuite.hasAttributes()) {
                 String profile =
                     testsuite.getAttributes().getNamedItem("profile").getNodeValue();
-                getLogger().debug("testing test suite:" + profile);
+                logger.debug("testing test suite:" + profile);
             }
 
             NodeList testcases = testsuite.getChildNodes();
@@ -187,7 +215,7 @@ public class TestConverter extends AbstractLogEnabled {
                 }
             }
         } catch (Exception e) {
-            getLogger().error("Error while running tests", e);
+            logger.error("Error while running tests", e);
         }
         return differ;
     }
@@ -203,7 +231,7 @@ public class TestConverter extends AbstractLogEnabled {
         if (tcase.hasAttributes()) {
             String profile =
                 tcase.getAttributes().getNamedItem("profile").getNodeValue();
-            getLogger().debug("testing profile:" + profile);
+            logger.debug("testing profile:" + profile);
         }
 
         NodeList cases = tcase.getChildNodes();
@@ -251,7 +279,7 @@ public class TestConverter extends AbstractLogEnabled {
         if (xslNode != null) {
             xsl = xslNode.getNodeValue();
         }
-        getLogger().debug("converting xml:" + xml + " and xsl:" 
+        logger.debug("converting xml:" + xml + " and xsl:" 
                   + xsl + " to area tree");
 
         String res = xml;
@@ -265,7 +293,7 @@ public class TestConverter extends AbstractLogEnabled {
             try {
                 baseURL = xmlFile.getParentFile().toURL().toExternalForm();
             } catch (Exception e) {
-                getLogger().error("Error setting base directory");
+                logger.error("Error setting base directory");
             }
 
             InputHandler inputHandler = null;
@@ -279,7 +307,7 @@ public class TestConverter extends AbstractLogEnabled {
 
             Driver driver = new Driver();
             FOUserAgent userAgent = new FOUserAgent();
-            setupLogger(userAgent, "fop");
+            userAgent.setLogger(getLogger());
             userAgent.setBaseURL(baseURL);
             driver.setUserAgent(userAgent);
             if (outputPDF) {
@@ -305,7 +333,7 @@ public class TestConverter extends AbstractLogEnabled {
             OutputStream outStream = new java.io.BufferedOutputStream(
                                  new java.io.FileOutputStream(outputFile));
             driver.setOutputStream(outStream);
-            getLogger().debug("ddir:" + destdir + " on:" + 
+            logger.debug("ddir:" + destdir + " on:" + 
                               outputFile.getName());
             driver.render(inputHandler);
             outStream.close();
@@ -348,7 +376,7 @@ public class TestConverter extends AbstractLogEnabled {
                 }
             }
         } catch (Exception e) {
-            getLogger().error("Error while comparing files", e);
+            logger.error("Error while comparing files", e);
         }
 
         return false;
index caeacbde8c1cf0163768baa38ba14b98c29941d2..0e37400f953e5b03da1ace5481317788f2e296b5 100644 (file)
@@ -40,10 +40,8 @@ import org.apache.fop.apps.Driver;
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.FOUserAgent;
 
-// Avalon
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.avalon.framework.logger.ConsoleLogger;
-import org.apache.avalon.framework.logger.Logger;
+import org.apache.commons.logging.impl.SimpleLog;
+import org.apache.commons.logging.Log;
 
 /**
  * Wrapper for FOP which allows it to be accessed from within an Ant task.
@@ -279,18 +277,19 @@ public class Fop extends Task {
      * @see org.apache.tools.ant.Task#execute()
      */
     public void execute() throws BuildException {
-        int logLevel = ConsoleLogger.LEVEL_INFO;
+        int logLevel = SimpleLog.LOG_LEVEL_INFO;
         switch (getMessageType()) {
-            case Project.MSG_DEBUG  : logLevel = ConsoleLogger.LEVEL_DEBUG; break;
-            case Project.MSG_INFO   : logLevel = ConsoleLogger.LEVEL_INFO; break;
-            case Project.MSG_WARN   : logLevel = ConsoleLogger.LEVEL_WARN; break;
-            case Project.MSG_ERR    : logLevel = ConsoleLogger.LEVEL_ERROR; break;
-            case Project.MSG_VERBOSE: logLevel = ConsoleLogger.LEVEL_DEBUG; break;
+            case Project.MSG_DEBUG  : logLevel = SimpleLog.LOG_LEVEL_DEBUG; break;
+            case Project.MSG_INFO   : logLevel = SimpleLog.LOG_LEVEL_INFO; break;
+            case Project.MSG_WARN   : logLevel = SimpleLog.LOG_LEVEL_WARN; break;
+            case Project.MSG_ERR    : logLevel = SimpleLog.LOG_LEVEL_ERROR; break;
+            case Project.MSG_VERBOSE: logLevel = SimpleLog.LOG_LEVEL_DEBUG; break;
         }
-        Logger log = new ConsoleLogger(logLevel);
+        SimpleLog logger = new SimpleLog("FOP/Anttask");
+        logger.setLevel(logLevel);
         try {
             FOPTaskStarter starter = new FOPTaskStarter(this);
-            starter.enableLogging(log);
+            starter.setLogger(logger);
             starter.run();
         } catch (FOPException ex) {
             throw new BuildException(ex);
@@ -300,11 +299,33 @@ public class Fop extends Task {
 
 }
 
-class FOPTaskStarter extends AbstractLogEnabled {
+class FOPTaskStarter {
 
     private Fop task;
     private String baseURL = null;
 
+    /**
+     * logging instance
+     */
+    protected Log logger = null;
+
+
+    /**
+     * Sets the Commons-Logging instance for this class
+     * @param logger The Commons-Logging instance
+     */
+    public void setLogger(Log logger) {
+        this.logger = logger;
+    }
+
+    /**
+     * Returns the Commons-Logging instance for this class
+     * @return  The Commons-Logging instance
+     */
+    protected Log getLogger() {
+        return logger;
+    }
+
     FOPTaskStarter(Fop task) throws FOPException {
         this.task = task;
     }
@@ -386,7 +407,7 @@ class FOPTaskStarter extends AbstractLogEnabled {
             try {
                 this.baseURL = task.getBasedir().toURL().toExternalForm();
             } catch (MalformedURLException mfue) {
-                getLogger().error("Error creating base URL from base directory", mfue);
+                logger.error("Error creating base URL from base directory", mfue);
             }
         } else {
             try {
@@ -395,7 +416,7 @@ class FOPTaskStarter extends AbstractLogEnabled {
                                       toExternalForm();
                 }
             } catch (MalformedURLException mfue) {
-                getLogger().error("Error creating base URL from XSL-FO input file", mfue);
+                logger.error("Error creating base URL from XSL-FO input file", mfue);
             }
         }
 
@@ -511,10 +532,10 @@ class FOPTaskStarter extends AbstractLogEnabled {
 
         try {
             Driver driver = new Driver();
-            setupLogger(driver);
+            driver.setLogger(getLogger());
             FOUserAgent userAgent = new FOUserAgent();
             userAgent.setBaseURL(this.baseURL);
-            userAgent.enableLogging(getLogger());
+            userAgent.setLogger(getLogger());
             driver.setUserAgent(userAgent);
             driver.setRenderer(renderer);
             driver.setOutputStream(out);
@@ -525,7 +546,7 @@ class FOPTaskStarter extends AbstractLogEnabled {
             try {
                 out.close();
             } catch (IOException ioe) {
-                getLogger().error("Error closing output file", ioe);
+                logger.error("Error closing output file", ioe);
             }
         }
     }