Index: src/org/apache/cocoon/serialization/FOPSerializer.java
===================================================================
RCS file: /home/cvspublic/xml-cocoon2/src/org/apache/cocoon/serialization/FOPSerializer.java,v
retrieving revision 1.5
diff -u -r1.5 FOPSerializer.java
--- src/org/apache/cocoon/serialization/FOPSerializer.java	2001/08/20 13:55:16	1.5
+++ src/org/apache/cocoon/serialization/FOPSerializer.java	2001/08/21 05:34:15
@@ -18,12 +18,10 @@
 import org.apache.cocoon.components.renderer.ExtendableRendererFactory;
 import org.apache.cocoon.components.renderer.RendererFactory;
 import org.apache.cocoon.util.ClassUtils;
+import org.apache.avalon.framework.logger.Loggable;
 import org.apache.fop.apps.Driver;
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.Options;
-import org.apache.fop.messaging.MessageEvent;
-import org.apache.fop.messaging.MessageHandler;
-import org.apache.fop.messaging.MessageListener;
 import org.apache.fop.render.Renderer;
 import org.xml.sax.SAXException;
 
@@ -31,7 +29,7 @@
 import java.io.OutputStream;
 
 public class FOPSerializer extends AbstractSerializer
-    implements MessageListener, Recyclable, Configurable, Cacheable {
+    implements Recyclable, Configurable, Cacheable {
 
     /**
       * The <code>Options</code> used by FOP.
@@ -142,42 +140,12 @@
         // load the fop driver
         driver = new Driver();
 
-        // the use of static resources sucks for servlet enviornments
-        // since we could have multiple FOP that all logs in this pipe
-        // It's a concurrency and security nightmare! (SM)
-        MessageHandler.setOutputMethod(MessageHandler.EVENT);
-        MessageHandler.addListener(this);
-
+        if(driver instanceof Loggable) {
+            driver.setLogger(getLogger().getChildLogger("fop"));
+        }
         driver.setRenderer(renderer);
         driver.setOutputStream(out);
         setContentHandler(driver.getContentHandler());
-    }
-
-    /**
-     * Receive notification of the end of a document.
-     */
-    public void endDocument() throws SAXException {
-        super.endDocument();
-        try {
-            driver.format();
-            driver.render();
-        } catch (IOException e) {
-            getLogger().error("endDocument()", e);
-            throw new SAXException (e);
-        } catch (FOPException e) {
-            getLogger().error("endDocument()", e);
-            throw new SAXException (e);
-        }
-    }
-
-    /**
-     * Receive FOP events.
-     */
-    public void processMessage(MessageEvent event) {
-        // Output FOP messgaes to Cocoon logging system
-        // Rather verbose,  so wrote all as debug (including errors)
-        // Could be cleaned up to handle different messages as required (CB)
-        getLogger().debug("FOP Message: " + event.getMessage());
     }
 
     /**
