Index: HTMLSerializer.java
===================================================================
RCS file: /home/cvspublic/xml-cocoon2/src/org/apache/cocoon/serialization/HTMLSerializer.java,v
retrieving revision 1.1.1.1.2.1
diff -u -r1.1.1.1.2.1 HTMLSerializer.java
--- HTMLSerializer.java	2001/08/20 14:07:33	1.1.1.1.2.1
+++ HTMLSerializer.java	2001/08/22 21:15:25
@@ -8,6 +8,8 @@
 
 package org.apache.cocoon.serialization;
 
+import org.apache.avalon.framework.activity.Initializable;
+import org.apache.avalon.framework.activity.Disposable;
 import org.apache.avalon.excalibur.pool.Poolable;
 
 import javax.xml.transform.OutputKeys;
@@ -20,22 +22,25 @@
  * @version CVS $Revision: 1.1.1.1.2.1 $ $Date: 2001/08/20 14:07:33 $
  */
 
-public class HTMLSerializer extends AbstractTextSerializer implements Poolable {
+public class HTMLSerializer extends AbstractTextSerializer implements Initializable, Disposable, Poolable {
 
     private TransformerHandler handler;
 
     public HTMLSerializer() {
     }
 
+    public void initialize() throws Exception {
+        handler = getTransformerFactory().newTransformerHandler();
+        format.put(OutputKeys.METHOD,"html");
+        handler.getTransformer().setOutputProperties(format);
+        this.setContentHandler(handler);
+        this.setLexicalHandler(handler);
+    }
+
     public void setOutputStream(OutputStream out) {
         try {
             super.setOutputStream(out);
-            handler = getTransformerFactory().newTransformerHandler();
-            format.put(OutputKeys.METHOD,"html");
             handler.setResult(new StreamResult(out));
-            handler.getTransformer().setOutputProperties(format);
-            this.setContentHandler(handler);
-            this.setLexicalHandler(handler);
         } catch (Exception e) {
             getLogger().error("HTMLSerializer.setOutputStream()", e);
             throw new RuntimeException(e.toString());
@@ -47,6 +52,10 @@
      */
     public void recycle() {
         super.recycle();
+        handler.setResult(null);
+    }
+
+    public void dispose() {
         this.handler = null;
     }
 }

