aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlen Mazza <gmazza@apache.org>2004-03-31 10:55:07 +0000
committerGlen Mazza <gmazza@apache.org>2004-03-31 10:55:07 +0000
commita054ab3b7e22af6c163b5d68c04bf5868958a59e (patch)
tree158b4e54cf28f6dd1926de530309ffc2b1ceb3d4
parentb0ef412c716311de35850f0d6ae56a1b7f7d8acf (diff)
downloadxmlgraphics-fop-a054ab3b7e22af6c163b5d68c04bf5868958a59e.tar.gz
xmlgraphics-fop-a054ab3b7e22af6c163b5d68c04bf5868958a59e.zip
PR:
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
-rw-r--r--build.xml7
-rw-r--r--fop.bat1
-rw-r--r--src/documentation/content/xdocs/embedding.xml10
-rw-r--r--src/documentation/content/xdocs/servlets.xml2
-rw-r--r--src/java/org/apache/fop/apps/CommandLineOptions.java17
-rw-r--r--src/java/org/apache/fop/apps/Document.java5
-rw-r--r--src/java/org/apache/fop/apps/Driver.java47
-rw-r--r--src/java/org/apache/fop/apps/FOUserAgent.java14
-rw-r--r--src/java/org/apache/fop/apps/Fop.java8
-rw-r--r--src/java/org/apache/fop/area/AreaTreeControl.java5
-rw-r--r--src/java/org/apache/fop/fo/FOInputHandler.java27
-rw-r--r--src/java/org/apache/fop/fo/FONode.java5
-rw-r--r--src/java/org/apache/fop/fo/FOTreeBuilder.java4
-rw-r--r--src/java/org/apache/fop/fo/FOTreeControl.java5
-rw-r--r--src/java/org/apache/fop/fo/FOTreeHandler.java22
-rw-r--r--src/java/org/apache/fop/fo/pagination/PageNumberGenerator.java27
-rw-r--r--src/java/org/apache/fop/fo/pagination/PageSequence.java2
-rw-r--r--src/java/org/apache/fop/fo/properties/ToBeImplementedProperty.java2
-rw-r--r--src/java/org/apache/fop/fonts/apps/PFMReader.java103
-rw-r--r--src/java/org/apache/fop/fonts/apps/TTFReader.java99
-rw-r--r--src/java/org/apache/fop/fonts/truetype/TTFFile.java84
-rw-r--r--src/java/org/apache/fop/fonts/type1/PFMFile.java42
-rw-r--r--src/java/org/apache/fop/image/AbstractFopImage.java10
-rw-r--r--src/java/org/apache/fop/image/BmpImage.java4
-rw-r--r--src/java/org/apache/fop/image/FopImage.java6
-rw-r--r--src/java/org/apache/fop/image/GifImage.java4
-rw-r--r--src/java/org/apache/fop/image/ImageFactory.java7
-rw-r--r--src/java/org/apache/fop/image/JimiImage.java9
-rw-r--r--src/java/org/apache/fop/image/JpegImage.java4
-rw-r--r--src/java/org/apache/fop/image/analyser/SVGReader.java5
-rw-r--r--src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java4
-rw-r--r--src/java/org/apache/fop/pdf/PDFDocument.java25
-rw-r--r--src/java/org/apache/fop/pdf/PDFEncryptionManager.java4
-rw-r--r--src/java/org/apache/fop/pdf/PDFFactory.java3
-rw-r--r--src/java/org/apache/fop/render/AbstractRenderer.java25
-rw-r--r--src/java/org/apache/fop/render/Renderer.java9
-rw-r--r--src/java/org/apache/fop/render/pdf/PDFRenderer.java2
-rw-r--r--src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java2
-rw-r--r--src/java/org/apache/fop/render/rtf/PageAttributesConverter.java6
-rw-r--r--src/java/org/apache/fop/render/rtf/RTFHandler.java6
-rw-r--r--src/java/org/apache/fop/render/rtf/TableAttributesConverter.java6
-rw-r--r--src/java/org/apache/fop/render/rtf/TableContext.java6
-rw-r--r--src/java/org/apache/fop/render/rtf/TextAttributesConverter.java6
-rw-r--r--src/java/org/apache/fop/servlet/FopPrintServlet.java17
-rw-r--r--src/java/org/apache/fop/servlet/FopServlet.java12
-rw-r--r--src/java/org/apache/fop/svg/AbstractFOPTranscoder.java23
-rw-r--r--src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java25
-rw-r--r--src/java/org/apache/fop/svg/PDFImageElementBridge.java5
-rw-r--r--src/java/org/apache/fop/svg/PDFTranscoder.java3
-rw-r--r--src/java/org/apache/fop/svg/SVGUserAgent.java10
-rw-r--r--src/java/org/apache/fop/tools/AreaTreeBuilder.java60
-rw-r--r--src/java/org/apache/fop/tools/TestConverter.java56
-rw-r--r--src/java/org/apache/fop/tools/anttasks/Fop.java57
53 files changed, 597 insertions, 362 deletions
diff --git a/build.xml b/build.xml
index 416553ca4..f4e4808ec 100644
--- 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 29728ff35..549d656b7 100644
--- 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
diff --git a/src/documentation/content/xdocs/embedding.xml b/src/documentation/content/xdocs/embedding.xml
index f8682f4f9..fe7601e7c 100644
--- a/src/documentation/content/xdocs/embedding.xml
+++ b/src/documentation/content/xdocs/embedding.xml
@@ -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>
diff --git a/src/documentation/content/xdocs/servlets.xml b/src/documentation/content/xdocs/servlets.xml
index 42833b2f6..89ce0b848 100644
--- a/src/documentation/content/xdocs/servlets.xml
+++ b/src/documentation/content/xdocs/servlets.xml
@@ -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();
}
diff --git a/src/java/org/apache/fop/apps/CommandLineOptions.java b/src/java/org/apache/fop/apps/CommandLineOptions.java
index cd010fc39..a8716b520 100644
--- a/src/java/org/apache/fop/apps/CommandLineOptions.java
+++ b/src/java/org/apache/fop/apps/CommandLineOptions.java
@@ -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")) {
diff --git a/src/java/org/apache/fop/apps/Document.java b/src/java/org/apache/fop/apps/Document.java
index 2329050cb..9868fafb9 100644
--- a/src/java/org/apache/fop/apps/Document.java
+++ b/src/java/org/apache/fop/apps/Document.java
@@ -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();
}
diff --git a/src/java/org/apache/fop/apps/Driver.java b/src/java/org/apache/fop/apps/Driver.java
index 55059cff1..3795ba8f9 100644
--- a/src/java/org/apache/fop/apps/Driver.java
+++ b/src/java/org/apache/fop/apps/Driver.java
@@ -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);
diff --git a/src/java/org/apache/fop/apps/FOUserAgent.java b/src/java/org/apache/fop/apps/FOUserAgent.java
index 024c5ad37..445c6bdbd 100644
--- a/src/java/org/apache/fop/apps/FOUserAgent.java
+++ b/src/java/org/apache/fop/apps/FOUserAgent.java
@@ -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;
}
diff --git a/src/java/org/apache/fop/apps/Fop.java b/src/java/org/apache/fop/apps/Fop.java
index cf6f4fb4c..92d7f8fb0 100644
--- a/src/java/org/apache/fop/apps/Fop.java
+++ b/src/java/org/apache/fop/apps/Fop.java
@@ -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();
diff --git a/src/java/org/apache/fop/area/AreaTreeControl.java b/src/java/org/apache/fop/area/AreaTreeControl.java
index 029c982c4..154548770 100644
--- a/src/java/org/apache/fop/area/AreaTreeControl.java
+++ b/src/java/org/apache/fop/area/AreaTreeControl.java
@@ -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.
diff --git a/src/java/org/apache/fop/fo/FOInputHandler.java b/src/java/org/apache/fop/fo/FOInputHandler.java
index 8de58ce40..051ab790f 100644
--- a/src/java/org/apache/fop/fo/FOInputHandler.java
+++ b/src/java/org/apache/fop/fo/FOInputHandler.java
@@ -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,13 +53,18 @@ 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
* the FO Tree being built
@@ -71,6 +74,22 @@ public abstract class FOInputHandler 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;
+ }
+
+ /**
* Returns the FontInfo object associated with this FOInputHandler.
* @return the FontInof object
*/
diff --git a/src/java/org/apache/fop/fo/FONode.java b/src/java/org/apache/fop/fo/FONode.java
index 7d4bc4980..661b8758e 100644
--- a/src/java/org/apache/fop/fo/FONode.java
+++ b/src/java/org/apache/fop/fo/FONode.java
@@ -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();
}
diff --git a/src/java/org/apache/fop/fo/FOTreeBuilder.java b/src/java/org/apache/fop/fo/FOTreeBuilder.java
index 4542c8e3e..e1e59f354 100644
--- a/src/java/org/apache/fop/fo/FOTreeBuilder.java
+++ b/src/java/org/apache/fop/fo/FOTreeBuilder.java
@@ -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();
}
diff --git a/src/java/org/apache/fop/fo/FOTreeControl.java b/src/java/org/apache/fop/fo/FOTreeControl.java
index 4152ef0ed..b69c49a27 100644
--- a/src/java/org/apache/fop/fo/FOTreeControl.java
+++ b/src/java/org/apache/fop/fo/FOTreeControl.java
@@ -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
diff --git a/src/java/org/apache/fop/fo/FOTreeHandler.java b/src/java/org/apache/fop/fo/FOTreeHandler.java
index 43fa9317e..8625cea91 100644
--- a/src/java/org/apache/fop/fo/FOTreeHandler.java
+++ b/src/java/org/apache/fop/fo/FOTreeHandler.java
@@ -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);
diff --git a/src/java/org/apache/fop/fo/pagination/PageNumberGenerator.java b/src/java/org/apache/fop/fo/pagination/PageNumberGenerator.java
index f5871c7bd..47a84dab5 100644
--- a/src/java/org/apache/fop/fo/pagination/PageNumberGenerator.java
+++ b/src/java/org/apache/fop/fo/pagination/PageNumberGenerator.java
@@ -18,21 +18,26 @@
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'
@@ -102,6 +107,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
* @return the formatted page number as a String
diff --git a/src/java/org/apache/fop/fo/pagination/PageSequence.java b/src/java/org/apache/fop/fo/pagination/PageSequence.java
index 125908705..6f28944e2 100644
--- a/src/java/org/apache/fop/fo/pagination/PageSequence.java
+++ b/src/java/org/apache/fop/fo/pagination/PageSequence.java
@@ -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();
diff --git a/src/java/org/apache/fop/fo/properties/ToBeImplementedProperty.java b/src/java/org/apache/fop/fo/properties/ToBeImplementedProperty.java
index 228b6a12c..c5466e2ac 100644
--- a/src/java/org/apache/fop/fo/properties/ToBeImplementedProperty.java
+++ b/src/java/org/apache/fop/fo/properties/ToBeImplementedProperty.java
@@ -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.");
}
diff --git a/src/java/org/apache/fop/fonts/apps/PFMReader.java b/src/java/org/apache/fop/fonts/apps/PFMReader.java
index 1aa8e105c..e20ed1a42 100644
--- a/src/java/org/apache/fop/fonts/apps/PFMReader.java
+++ b/src/java/org/apache/fop/fonts/apps/PFMReader.java
@@ -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,9 +42,30 @@ 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
* the arguments: -fn Perpetua,Bold -cn PerpetuaBold per.ttf Perpetua.xml
@@ -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");
diff --git a/src/java/org/apache/fop/fonts/apps/TTFReader.java b/src/java/org/apache/fop/fonts/apps/TTFReader.java
index d6636610b..681b6cee8 100644
--- a/src/java/org/apache/fop/fonts/apps/TTFReader.java
+++ b/src/java/org/apache/fop/fonts/apps/TTFReader.java
@@ -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");
diff --git a/src/java/org/apache/fop/fonts/truetype/TTFFile.java b/src/java/org/apache/fop/fonts/truetype/TTFFile.java
index e56297d5f..fc4df27fb 100644
--- a/src/java/org/apache/fop/fonts/truetype/TTFFile.java
+++ b/src/java/org/apache/fop/fonts/truetype/TTFFile.java
@@ -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;
@@ -101,6 +100,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]);
diff --git a/src/java/org/apache/fop/fonts/type1/PFMFile.java b/src/java/org/apache/fop/fonts/type1/PFMFile.java
index c0ff6e415..f2cd1391c 100644
--- a/src/java/org/apache/fop/fonts/type1/PFMFile.java
+++ b/src/java/org/apache/fop/fonts/type1/PFMFile.java
@@ -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;
@@ -63,6 +63,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
*
* @param inStream The stream from which to read the 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,
diff --git a/src/java/org/apache/fop/image/AbstractFopImage.java b/src/java/org/apache/fop/image/AbstractFopImage.java
index e34ada6b1..818768226 100644
--- a/src/java/org/apache/fop/image/AbstractFopImage.java
+++ b/src/java/org/apache/fop/image/AbstractFopImage.java
@@ -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;
}
diff --git a/src/java/org/apache/fop/image/BmpImage.java b/src/java/org/apache/fop/image/BmpImage.java
index 3ea3b9a69..c3bbea192 100644
--- a/src/java/org/apache/fop/image/BmpImage.java
+++ b/src/java/org/apache/fop/image/BmpImage.java
@@ -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];
diff --git a/src/java/org/apache/fop/image/FopImage.java b/src/java/org/apache/fop/image/FopImage.java
index 27f088c26..c1b4aaa86 100644
--- a/src/java/org/apache/fop/image/FopImage.java
+++ b/src/java/org/apache/fop/image/FopImage.java
@@ -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.
diff --git a/src/java/org/apache/fop/image/GifImage.java b/src/java/org/apache/fop/image/GifImage.java
index 257c03b6a..8a23a7d0c 100644
--- a/src/java/org/apache/fop/image/GifImage.java
+++ b/src/java/org/apache/fop/image/GifImage.java
@@ -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);
diff --git a/src/java/org/apache/fop/image/ImageFactory.java b/src/java/org/apache/fop/image/ImageFactory.java
index 45aef78c5..93253240a 100644
--- a/src/java/org/apache/fop/image/ImageFactory.java
+++ b/src/java/org/apache/fop/image/ImageFactory.java
@@ -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;
diff --git a/src/java/org/apache/fop/image/JimiImage.java b/src/java/org/apache/fop/image/JimiImage.java
index c64055d45..ab07e8ecf 100644
--- a/src/java/org/apache/fop/image/JimiImage.java
+++ b/src/java/org/apache/fop/image/JimiImage.java
@@ -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 =
diff --git a/src/java/org/apache/fop/image/JpegImage.java b/src/java/org/apache/fop/image/JpegImage.java
index c0146c840..3ce3ed13e 100644
--- a/src/java/org/apache/fop/image/JpegImage.java
+++ b/src/java/org/apache/fop/image/JpegImage.java
@@ -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;
diff --git a/src/java/org/apache/fop/image/analyser/SVGReader.java b/src/java/org/apache/fop/image/analyser/SVGReader.java
index c7382f3f1..2a3bade9d 100644
--- a/src/java/org/apache/fop/image/analyser/SVGReader.java
+++ b/src/java/org/apache/fop/image/analyser/SVGReader.java
@@ -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 {
diff --git a/src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java b/src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java
index f71b70c31..1a11396ba 100644
--- a/src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java
@@ -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();
}
diff --git a/src/java/org/apache/fop/pdf/PDFDocument.java b/src/java/org/apache/fop/pdf/PDFDocument.java
index ba33a4c6e..9ac36e29d 100644
--- a/src/java/org/apache/fop/pdf/PDFDocument.java
+++ b/src/java/org/apache/fop/pdf/PDFDocument.java
@@ -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
@@ -236,6 +234,14 @@ public class PDFDocument implements LogEnabled {
}
/**
+ * 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
*/
@@ -254,20 +260,13 @@ public class PDFDocument implements LogEnabled {
}
/**
- * @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.
*
* <p>There is no performance penalty as this is a final method
* and will be inlined by the JVM.</p>
* @return the Logger
*/
- protected final Logger getLogger() {
+ protected final Log getLogger() {
return this.logger;
}
diff --git a/src/java/org/apache/fop/pdf/PDFEncryptionManager.java b/src/java/org/apache/fop/pdf/PDFEncryptionManager.java
index a99e7a886..6bf5a5e1c 100644
--- a/src/java/org/apache/fop/pdf/PDFEncryptionManager.java
+++ b/src/java/org/apache/fop/pdf/PDFEncryptionManager.java
@@ -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");
}
diff --git a/src/java/org/apache/fop/pdf/PDFFactory.java b/src/java/org/apache/fop/pdf/PDFFactory.java
index 982c170a6..1fd969dbb 100644
--- a/src/java/org/apache/fop/pdf/PDFFactory.java
+++ b/src/java/org/apache/fop/pdf/PDFFactory.java
@@ -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());
diff --git a/src/java/org/apache/fop/render/AbstractRenderer.java b/src/java/org/apache/fop/render/AbstractRenderer.java
index 8f5a96f7f..cc4781649 100644
--- a/src/java/org/apache/fop/render/AbstractRenderer.java
+++ b/src/java/org/apache/fop/render/AbstractRenderer.java
@@ -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 {
/**
@@ -84,6 +84,11 @@ public abstract class AbstractRenderer extends AbstractLogEnabled
protected FOUserAgent userAgent;
/**
+ * logging instance
+ */
+ protected Log logger = null;
+
+ /**
* producer (usually "FOP")
*/
protected String producer = "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;
diff --git a/src/java/org/apache/fop/render/Renderer.java b/src/java/org/apache/fop/render/Renderer.java
index ef5f4526f..62446bf0b 100644
--- a/src/java/org/apache/fop/render/Renderer.java
+++ b/src/java/org/apache/fop/render/Renderer.java
@@ -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);
}
diff --git a/src/java/org/apache/fop/render/pdf/PDFRenderer.java b/src/java/org/apache/fop/render/pdf/PDFRenderer.java
index d28063b2a..e4a7bb289 100644
--- a/src/java/org/apache/fop/render/pdf/PDFRenderer.java
+++ b/src/java/org/apache/fop/render/pdf/PDFRenderer.java
@@ -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);
diff --git a/src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java b/src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java
index d37326671..567197606 100644
--- a/src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java
+++ b/src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java
@@ -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);
diff --git a/src/java/org/apache/fop/render/rtf/PageAttributesConverter.java b/src/java/org/apache/fop/render/rtf/PageAttributesConverter.java
index 7f8016aa0..fb34f9413 100644
--- a/src/java/org/apache/fop/render/rtf/PageAttributesConverter.java
+++ b/src/java/org/apache/fop/render/rtf/PageAttributesConverter.java
@@ -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) {
diff --git a/src/java/org/apache/fop/render/rtf/RTFHandler.java b/src/java/org/apache/fop/render/rtf/RTFHandler.java
index 593c67d71..3d65a071a 100644
--- a/src/java/org/apache/fop/render/rtf/RTFHandler.java
+++ b/src/java/org/apache/fop/render/rtf/RTFHandler.java
@@ -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;
diff --git a/src/java/org/apache/fop/render/rtf/TableAttributesConverter.java b/src/java/org/apache/fop/render/rtf/TableAttributesConverter.java
index ea695bd24..c8c88927c 100644
--- a/src/java/org/apache/fop/render/rtf/TableAttributesConverter.java
+++ b/src/java/org/apache/fop/render/rtf/TableAttributesConverter.java
@@ -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
diff --git a/src/java/org/apache/fop/render/rtf/TableContext.java b/src/java/org/apache/fop/render/rtf/TableContext.java
index f9d08e634..fa847f09e 100644
--- a/src/java/org/apache/fop/render/rtf/TableContext.java
+++ b/src/java/org/apache/fop/render/rtf/TableContext.java
@@ -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;
diff --git a/src/java/org/apache/fop/render/rtf/TextAttributesConverter.java b/src/java/org/apache/fop/render/rtf/TextAttributesConverter.java
index 25e1d8173..f53bc937d 100644
--- a/src/java/org/apache/fop/render/rtf/TextAttributesConverter.java
+++ b/src/java/org/apache/fop/render/rtf/TextAttributesConverter.java
@@ -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
diff --git a/src/java/org/apache/fop/servlet/FopPrintServlet.java b/src/java/org/apache/fop/servlet/FopPrintServlet.java
index 6655df565..0320a706e 100644
--- a/src/java/org/apache/fop/servlet/FopPrintServlet.java
+++ b/src/java/org/apache/fop/servlet/FopPrintServlet.java
@@ -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());
diff --git a/src/java/org/apache/fop/servlet/FopServlet.java b/src/java/org/apache/fop/servlet/FopServlet.java
index 887c2dc18..497d4b64f 100644
--- a/src/java/org/apache/fop/servlet/FopServlet.java
+++ b/src/java/org/apache/fop/servlet/FopServlet.java
@@ -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();
diff --git a/src/java/org/apache/fop/svg/AbstractFOPTranscoder.java b/src/java/org/apache/fop/svg/AbstractFOPTranscoder.java
index 284879b8d..d0d81452a 100644
--- a/src/java/org/apache/fop/svg/AbstractFOPTranscoder.java
+++ b/src/java/org/apache/fop/svg/AbstractFOPTranscoder.java
@@ -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 {
diff --git a/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java b/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java
index a081c4e67..75480629a 100644
--- a/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java
+++ b/src/java/org/apache/fop/svg/PDFDocumentGraphics2D.java
@@ -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));
diff --git a/src/java/org/apache/fop/svg/PDFImageElementBridge.java b/src/java/org/apache/fop/svg/PDFImageElementBridge.java
index 4db9d87db..b3eebb5ef 100644
--- a/src/java/org/apache/fop/svg/PDFImageElementBridge.java
+++ b/src/java/org/apache/fop/svg/PDFImageElementBridge.java
@@ -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);
diff --git a/src/java/org/apache/fop/svg/PDFTranscoder.java b/src/java/org/apache/fop/svg/PDFTranscoder.java
index 1ded7d99b..7cbbeb9f5 100644
--- a/src/java/org/apache/fop/svg/PDFTranscoder.java
+++ b/src/java/org/apache/fop/svg/PDFTranscoder.java
@@ -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);
diff --git a/src/java/org/apache/fop/svg/SVGUserAgent.java b/src/java/org/apache/fop/svg/SVGUserAgent.java
index 06aaee0f6..aefdd1169 100644
--- a/src/java/org/apache/fop/svg/SVGUserAgent.java
+++ b/src/java/org/apache/fop/svg/SVGUserAgent.java
@@ -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;
}
diff --git a/src/java/org/apache/fop/tools/AreaTreeBuilder.java b/src/java/org/apache/fop/tools/AreaTreeBuilder.java
index 1f580a7ea..288a89db2 100644
--- a/src/java/org/apache/fop/tools/AreaTreeBuilder.java
+++ b/src/java/org/apache/fop/tools/AreaTreeBuilder.java
@@ -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);
}
}
}
diff --git a/src/java/org/apache/fop/tools/TestConverter.java b/src/java/org/apache/fop/tools/TestConverter.java
index c8dfdf462..a569a934d 100644
--- a/src/java/org/apache/fop/tools/TestConverter.java
+++ b/src/java/org/apache/fop/tools/TestConverter.java
@@ -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;
@@ -60,6 +62,28 @@ public class TestConverter extends AbstractLogEnabled {
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.
* This will take a specified testsuite xml and process all
@@ -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;
diff --git a/src/java/org/apache/fop/tools/anttasks/Fop.java b/src/java/org/apache/fop/tools/anttasks/Fop.java
index caeacbde8..0e37400f9 100644
--- a/src/java/org/apache/fop/tools/anttasks/Fop.java
+++ b/src/java/org/apache/fop/tools/anttasks/Fop.java
@@ -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);
}
}
}