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 );
}