Author: vsiveton Date: Mon Aug 24 12:27:26 2009 New Revision: 807182 URL: http://svn.apache.org/viewvc?rev=807182&view=rev Log: DOXIA-364: Guarantee the state of sinks and parsers impl
o impl init() method from r807164 Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java?rev=807182&r1=807181&r2=807182&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java Mon Aug 24 12:27:26 2009 @@ -76,6 +76,9 @@ public void parse( Reader source, Sink sink ) throws ParseException { + this.sourceContent = null; + init(); + try { StringWriter contentWriter = new StringWriter(); @@ -96,9 +99,17 @@ // leave this at default (false) until everything is properly implemented, see DOXIA-226 //setIgnorableWhitespace( true ); - super.parse( tmp, sink ); + try + { + super.parse( tmp, sink ); + } + finally + { + this.sourceContent = null; - this.hasTitle = false; + setSecondParsing( false ); + init(); + } } /** {...@inheritdoc} */ @@ -311,6 +322,18 @@ setSectionLevel( newLevel ); } + /** {...@inheritdoc} */ + protected void init() + { + super.init(); + + this.isEmptyElement = false; + this.macroName = null; + this.macroParameters = null; + this.inHead = false; + this.hasTitle = false; + } + /** * Close open h4, h5, h6 sections. */ Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java?rev=807182&r1=807181&r2=807182&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java Mon Aug 24 12:27:26 2009 @@ -108,14 +108,11 @@ // Public protected methods // ---------------------------------------------------------------------- - /** - * {...@inheritdoc} - * - * Reset all variables. - */ - protected void resetState() + /** {...@inheritdoc} */ + protected void init() { - super.resetState(); + super.init(); + boxedFlag = false; } @@ -135,7 +132,7 @@ */ public void head( SinkEventAttributes attributes ) { - resetState(); + init(); setHeadFlag( true ); @@ -266,7 +263,7 @@ flush(); - resetState(); + init(); } // ---------------------------------------------------------------------- @@ -491,6 +488,13 @@ setCellCount( 0 ); } + public void close() + { + super.close(); + + init(); + } + /** * Adds a link with an optional target. *