Author: schulte Date: Sat Dec 12 12:36:57 2015 New Revision: 1719676 URL: http://svn.apache.org/viewvc?rev=1719676&view=rev Log: [DOXIA-532] Updated handling of comments.
o Updated to process comments as is without any trimming or addition of whitespace. Modified: maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/XhtmlBaseParser.java maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/XhtmlBaseSink.java maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/sink/XhtmlBaseSinkTest.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSink.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptSinkTest.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookSinkTest.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/test/java/org/apache/maven/doxia/module/latex/LatexSinkTest.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/test/java/org/apache/maven/doxia/module/xdoc/XdocSinkTest.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java Modified: maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java (original) +++ maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java Sat Dec 12 12:36:57 2015 @@ -371,7 +371,7 @@ public abstract class AbstractXmlParser protected void handleComment( XmlPullParser parser, Sink sink ) throws XmlPullParserException { - sink.comment( getText( parser ).trim() ); + sink.comment( getText( parser ) ); } /** Modified: maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/XhtmlBaseParser.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/XhtmlBaseParser.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/XhtmlBaseParser.java (original) +++ maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/XhtmlBaseParser.java Sat Dec 12 12:36:57 2015 @@ -789,9 +789,9 @@ public class XhtmlBaseParser protected void handleComment( XmlPullParser parser, Sink sink ) throws XmlPullParserException { - String text = getText( parser ).trim(); + String text = getText( parser ); - if ( "PB".equals( text ) ) + if ( "PB".equals( text.trim() ) ) { sink.pageBreak(); } Modified: maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/XhtmlBaseSink.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/XhtmlBaseSink.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/XhtmlBaseSink.java (original) +++ maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/sink/XhtmlBaseSink.java Sat Dec 12 12:36:57 2015 @@ -1779,7 +1779,7 @@ public class XhtmlBaseSink @Override public void pageBreak() { - comment( "PB" ); + comment( " PB " ); } /** {@inheritDoc} */ @@ -1891,14 +1891,19 @@ public class XhtmlBaseSink cmt = StringUtils.replace( cmt, "--", "- -" ); } + if ( cmt.endsWith( "-" ) ) + { + cmt += " "; + } + getLog().warn( "[Xhtml Sink] Modified invalid comment: '" + originalComment + "' to '" + cmt + "'" ); } - StringBuilder buf = new StringBuilder( cmt.length() + 9 ); + StringBuilder buf = new StringBuilder( cmt.length() + 7 ); - buf.append( LESS_THAN ).append( BANG ).append( MINUS ).append( MINUS ).append( SPACE ); + buf.append( LESS_THAN ).append( BANG ).append( MINUS ).append( MINUS ); buf.append( cmt ); - buf.append( SPACE ).append( MINUS ).append( MINUS ).append( GREATER_THAN ); + buf.append( MINUS ).append( MINUS ).append( GREATER_THAN ); write( buf.toString() ); } Modified: maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/sink/XhtmlBaseSinkTest.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/sink/XhtmlBaseSinkTest.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/sink/XhtmlBaseSinkTest.java (original) +++ maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/sink/XhtmlBaseSinkTest.java Sat Dec 12 12:36:57 2015 @@ -916,13 +916,16 @@ public class XhtmlBaseSinkTest { sink = new XhtmlBaseSink( writer ); sink.comment( "a comment" ); + sink.comment( " a comment" ); + sink.comment( "a comment " ); + sink.comment( " a comment " ); } finally { sink.close(); } - assertEquals( "<!-- a comment -->", writer.toString() ); + assertEquals( "<!--a comment--><!-- a comment--><!--a comment --><!-- a comment -->", writer.toString() ); } /** Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java Sat Dec 12 12:36:57 2015 @@ -1368,7 +1368,7 @@ public class AptParser case COMMENT: if ( charAt( line, length, i + 1 ) == COMMENT ) { - block = new Comment( line.substring( i + 2 ).trim() ); + block = new Comment( line.substring( i + 2 ) ); } break; default: Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSink.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSink.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSink.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSink.java Sat Dec 12 12:36:57 2015 @@ -907,7 +907,7 @@ public class AptSink /** {@inheritDoc} */ public void comment( String comment ) { - rawText( ( startFlag ? "" : EOL ) + COMMENT + COMMENT + SPACE + comment.trim() ); + rawText( ( startFlag ? "" : EOL ) + COMMENT + COMMENT + comment ); } /** Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptSinkTest.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptSinkTest.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptSinkTest.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptSinkTest.java Sat Dec 12 12:36:57 2015 @@ -273,6 +273,6 @@ public class AptSinkTest extends Abstrac /** {@inheritDoc} */ protected String getCommentBlock( String text ) { - return "~~ Simple comment with ----"; + return "~~Simple comment with ----"; } } Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java Sat Dec 12 12:36:57 2015 @@ -514,7 +514,7 @@ public class DocBookParser } else { - sink.comment( text.trim() ); + sink.comment( text ); } } Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java Sat Dec 12 12:36:57 2015 @@ -1441,7 +1441,7 @@ public class DocBookSink */ public void anchor_() { - comment( "anchor_end" ); + comment( " anchor_end " ); } /** @@ -1574,15 +1574,20 @@ public class DocBookSink comment = StringUtils.replace( comment, "--", "- -" ); } + if ( comment.endsWith( "-" ) ) + { + comment += " "; + } + String msg = "Modified invalid comment: '" + originalComment + "' to '" + comment + "'"; logMessage( "modifiedComment", msg ); } - StringBuilder buffer = new StringBuilder( comment.length() + 9 ); + StringBuilder buffer = new StringBuilder( comment.length() + 7 ); - buffer.append( LESS_THAN ).append( BANG ).append( MINUS ).append( MINUS ).append( SPACE ); + buffer.append( LESS_THAN ).append( BANG ).append( MINUS ).append( MINUS ); buffer.append( comment ); - buffer.append( SPACE ).append( MINUS ).append( MINUS ).append( GREATER_THAN ); + buffer.append( MINUS ).append( MINUS ).append( GREATER_THAN ); markup( buffer.toString() ); } Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookSinkTest.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookSinkTest.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookSinkTest.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookSinkTest.java Sat Dec 12 12:36:57 2015 @@ -260,6 +260,6 @@ public class DocBookSinkTest extends Abs /** {@inheritDoc} */ protected String getCommentBlock( String text ) { - return "<!-- Simple comment with - - - - -->"; + return "<!--Simple comment with - - - - -->"; } } Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fml/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java Sat Dec 12 12:36:57 2015 @@ -404,7 +404,7 @@ public class FmlParser } else { - sink.comment( comment.trim() ); + sink.comment( comment ); } } Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java Sat Dec 12 12:36:57 2015 @@ -1379,15 +1379,20 @@ public class FoSink comment = StringUtils.replace( comment, "--", "- -" ); } + if ( comment.endsWith( "-" ) ) + { + comment += " "; + } + String msg = "Modified invalid comment: '" + originalComment + "' to '" + comment + "'"; logMessage( "modifyComment", msg ); } - StringBuilder buf = new StringBuilder( comment.length() + 9 ); + StringBuilder buf = new StringBuilder( comment.length() + 7 ); - buf.append( LESS_THAN ).append( BANG ).append( MINUS ).append( MINUS ).append( SPACE ); + buf.append( LESS_THAN ).append( BANG ).append( MINUS ).append( MINUS ); buf.append( comment ); - buf.append( SPACE ).append( MINUS ).append( MINUS ).append( GREATER_THAN ); + buf.append( MINUS ).append( MINUS ).append( GREATER_THAN ); write( buf.toString() ); } Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java Sat Dec 12 12:36:57 2015 @@ -439,7 +439,7 @@ public class FoSinkTest /** {@inheritDoc} */ protected String getCommentBlock( String text ) { - return "<!-- Simple comment with - - - - -->"; + return "<!--Simple comment with - - - - -->"; } /** Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java Sat Dec 12 12:36:57 2015 @@ -1234,7 +1234,7 @@ public class LatexSink /** {@inheritDoc} */ public void comment( String comment ) { - rawText( EOL + "% " + comment ); + rawText( EOL + "%" + comment ); } /** Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/test/java/org/apache/maven/doxia/module/latex/LatexSinkTest.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/test/java/org/apache/maven/doxia/module/latex/LatexSinkTest.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/test/java/org/apache/maven/doxia/module/latex/LatexSinkTest.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/test/java/org/apache/maven/doxia/module/latex/LatexSinkTest.java Sat Dec 12 12:36:57 2015 @@ -243,6 +243,6 @@ public class LatexSinkTest /** {@inheritDoc} */ protected String getCommentBlock( String text ) { - return EOL + "% Simple comment with ----"; + return EOL + "%Simple comment with ----"; } } Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/test/java/org/apache/maven/doxia/module/xdoc/XdocSinkTest.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/test/java/org/apache/maven/doxia/module/xdoc/XdocSinkTest.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/test/java/org/apache/maven/doxia/module/xdoc/XdocSinkTest.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/test/java/org/apache/maven/doxia/module/xdoc/XdocSinkTest.java Sat Dec 12 12:36:57 2015 @@ -298,6 +298,6 @@ public class XdocSinkTest /** {@inheritDoc} */ protected String getCommentBlock( String text ) { - return "<!-- Simple comment with - - - - -->"; + return "<!--Simple comment with - - - - -->"; } } Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java?rev=1719676&r1=1719675&r2=1719676&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java Sat Dec 12 12:36:57 2015 @@ -345,7 +345,7 @@ public class XhtmlSinkTest } String expected = - "<head>\n<title>Title</title><!-- A comment --><meta name=\"author\" content=\"ģ&\" />" + "<head>\n<title>Title</title><!--A comment--><meta name=\"author\" content=\"ģ&\" />" + "<base href=\"http://maven.apache.org/\" /></head>"; String actual = writer.toString(); assertTrue( actual, actual.indexOf( expected ) != -1 ); @@ -354,6 +354,6 @@ public class XhtmlSinkTest /** {@inheritDoc} */ protected String getCommentBlock( String text ) { - return "<!-- Simple comment with - - - - -->"; + return "<!--Simple comment with - - - - -->"; } }