Author: vsiveton
Date: Mon Aug 24 12:14:25 2009
New Revision: 807173

URL: http://svn.apache.org/viewvc?rev=807173&view=rev
Log:
DOXIA-364:  Guarantee the state of sinks and parsers impl

o impl init() method from r807164
o use final fields

Modified:
    
maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java?rev=807173&r1=807172&r2=807173&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java
 Mon Aug 24 12:14:25 2009
@@ -39,8 +39,8 @@
 import java.util.Set;
 import java.util.TreeSet;
 
+import org.apache.maven.doxia.sink.AbstractXmlSink;
 import org.apache.maven.doxia.sink.Sink;
-import org.apache.maven.doxia.sink.SinkAdapter;
 import org.apache.maven.doxia.sink.SinkEventAttributes;
 import org.apache.maven.doxia.util.DoxiaUtils;
 import org.apache.maven.doxia.util.HtmlTools;
@@ -70,7 +70,7 @@
  * @version $Id$
  */
 public class ITextSink
-    extends SinkAdapter
+    extends AbstractXmlSink
 {
     /** This is the place where the iText DTD is located. IMPORTANT: this DTD 
is not uptodate! */
     public static final String DTD = "http://itext.sourceforge.net/itext.dtd";;
@@ -94,7 +94,7 @@
     private Writer writer;
 
     /** The XML Writer used */
-    private XMLWriter xmlWriter;
+    private final XMLWriter xmlWriter;
 
     private boolean writeStart;
 
@@ -146,7 +146,7 @@
         this( new PrettyPrintXMLWriter( writer, encoding, null ) );
 
         this.writer = writer;
-        writeStart = true;
+        this.writeStart = true;
     }
 
     /**
@@ -158,11 +158,9 @@
     {
         this.xmlWriter = xmlWriter;
 
-        actionContext = new SinkActionContext();
-        font = new ITextFont();
-        header = new ITextHeader();
+        this.writeStart = false;
 
-        writeStart = false;
+        init();
     }
 
     /**
@@ -212,6 +210,8 @@
 
             this.warnMessages = null;
         }
+
+        init();
     }
 
     /** {...@inheritdoc} */
@@ -233,6 +233,8 @@
     /** {...@inheritdoc} */
     public void head()
     {
+        init();
+
         actionContext.setAction( SinkActionContext.HEAD );
     }
 
@@ -1589,6 +1591,24 @@
         logMessage( "unknownEvent", msg );
     }
 
+    /** {...@inheritdoc} */
+    protected void init()
+    {
+        super.init();
+
+        this.actionContext = new SinkActionContext();
+        this.font = new ITextFont();
+        this.header = new ITextHeader();
+
+        this.numberDepth = 1;
+        this.depth = 0;
+        this.tableCaptionWriter = null;
+        this.tableCaptionXMLWriter = null;
+        this.anchorDefined = false;
+        this.figureDefined = false;
+        this.warnMessages = null;
+    }
+
     /**
      * Convenience method to write a starting element.
      *
@@ -1662,7 +1682,7 @@
      *
      * @param aString
      */
-    private void write( String aString )
+    protected void write( String aString )
     {
         write( aString, false );
     }


Reply via email to