You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sc...@apache.org on 2015/12/12 18:16:29 UTC
svn commit: r1719715 - in /maven/doxia/doxia/trunk:
doxia-core/src/main/java/org/apache/maven/doxia/sink/
doxia-core/src/test/java/org/apache/maven/doxia/sink/
doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/
doxia-module...
Author: schulte
Date: Sat Dec 12 17:16:29 2015
New Revision: 1719715
URL: http://svn.apache.org/viewvc?rev=1719715&view=rev
Log:
[DOXIA-532] Updated handling of comments.
o Updated to correctly write comments ending with '-'.
Modified:
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/AbstractSinkTest.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/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-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/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/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=1719715&r1=1719714&r2=1719715&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 17:16:29 2015
@@ -1880,32 +1880,34 @@ public class XhtmlBaseSink
@Override
public void comment( String comment )
{
- String cmt = comment;
-
- if ( StringUtils.isNotEmpty( cmt ) && cmt.contains( "--" ) )
+ if ( comment != null )
{
- String originalComment = cmt;
+ final String originalComment = comment;
+
// http://www.w3.org/TR/2000/REC-xml-20001006#sec-comments
- while ( cmt.contains( "--" ) )
+ while ( comment.contains( "--" ) )
{
- cmt = StringUtils.replace( cmt, "--", "- -" );
+ comment = comment.replace( "--", "- -" );
}
- if ( cmt.endsWith( "-" ) )
+ if ( comment.endsWith( "-" ) )
{
- cmt += " ";
+ comment += " ";
}
- getLog().warn( "[Xhtml Sink] Modified invalid comment: '" + originalComment + "' to '" + cmt + "'" );
- }
+ if ( !originalComment.equals( comment ) )
+ {
+ getLog().warn( "[Xhtml Sink] Modified invalid comment '" + originalComment + "' to '" + comment + "'" );
+ }
- StringBuilder buf = new StringBuilder( cmt.length() + 7 );
+ final StringBuilder buffer = new StringBuilder( comment.length() + 7 );
- buf.append( LESS_THAN ).append( BANG ).append( MINUS ).append( MINUS );
- buf.append( cmt );
- buf.append( MINUS ).append( MINUS ).append( GREATER_THAN );
+ buffer.append( LESS_THAN ).append( BANG ).append( MINUS ).append( MINUS );
+ buffer.append( comment );
+ buffer.append( MINUS ).append( MINUS ).append( GREATER_THAN );
- write( buf.toString() );
+ write( buffer.toString() );
+ }
}
/**
Modified: maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/sink/AbstractSinkTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/sink/AbstractSinkTest.java?rev=1719715&r1=1719714&r2=1719715&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/sink/AbstractSinkTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-core/src/test/java/org/apache/maven/doxia/sink/AbstractSinkTest.java Sat Dec 12 17:16:29 2015
@@ -61,7 +61,7 @@ public abstract class AbstractSinkTest
/**
* Ability to wrap the xmlFragment with a roottag and namespaces, when required
- *
+ *
* @param xmlFragment
* @return valid XML
*/
@@ -70,6 +70,36 @@ public abstract class AbstractSinkTest
return xmlFragment;
}
+ /**
+ * Transforms a given string to be compatible to XML comments.
+ *
+ * @param comment The string to transform.
+ *
+ * @return The given string transformed to be compatible to XML comments.
+ *
+ * @see http://www.w3.org/TR/2000/REC-xml-20001006#sec-comments
+ * @since 1.7
+ */
+ protected static String toXmlComment( final String comment )
+ {
+ String processed = comment;
+
+ if ( processed != null )
+ {
+ while ( processed.contains( "--" ) )
+ {
+ processed = processed.replace( "--", "- -" );
+ }
+
+ if ( processed.endsWith( "-" ) )
+ {
+ processed += " ";
+ }
+ }
+
+ return processed;
+ }
+
// ---------------------------------------------------------------------
// Common test cases
// ----------------------------------------------------------------------
@@ -468,7 +498,7 @@ public abstract class AbstractSinkTest
assertEquals( "Wrong figure!", expected, actual );
}
}
-
+
/**
* Checks that the sequence <code>[table(),
* tableRows( Sink.JUSTIFY_CENTER, false ), tableRow(), tableCell(),
@@ -773,6 +803,20 @@ public abstract class AbstractSinkTest
String expected = getCommentBlock( comment );
assertEquals( "Wrong comment!", expected, actual );
+
+ testWriter.reset();
+ sink = createSink( testWriter );
+ sink.enableLogging( new PlexusLoggerWrapper( getContainer().getLogger() ) );
+
+ comment = "-";
+ sink.comment( comment );
+ sink.flush();
+ sink.close();
+
+ actual = testWriter.toString();
+ expected = getCommentBlock( comment );
+
+ assertEquals( "Wrong comment!", expected, actual );
}
// ----------------------------------------------------------------------
@@ -945,7 +989,7 @@ public abstract class AbstractSinkTest
* @see #testFigure()
*/
protected abstract String getFigureBlock( String source, String caption );
-
+
/**
* Returns a Table block generated by this sink.
* @param cell A tabel cell to use.
@@ -1065,7 +1109,7 @@ public abstract class AbstractSinkTest
* @since 1.1.1
*/
protected abstract String getCommentBlock( String text );
-
+
protected final void verifyValignSup( String text )
{
sink.text( "ValignSup", new SinkEventAttributeSet( SinkEventAttributes.VALIGN, "sup" ) );
@@ -1076,7 +1120,7 @@ public abstract class AbstractSinkTest
assertEquals( "Wrong valign sup!", text, actual );
}
-
+
protected final void verifyValignSub( String text )
{
sink.text( "ValignSub", new SinkEventAttributeSet( SinkEventAttributes.VALIGN, "sub" ) );
@@ -1110,5 +1154,5 @@ public abstract class AbstractSinkTest
assertEquals( "Wrong decoration line-through!", text, actual );
}
-
+
}
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=1719715&r1=1719714&r2=1719715&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 17:16:29 2015
@@ -273,6 +273,6 @@ public class AptSinkTest extends Abstrac
/** {@inheritDoc} */
protected String getCommentBlock( String text )
{
- return "~~Simple comment with ----";
+ return "~~" + 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=1719715&r1=1719714&r2=1719715&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 17:16:29 2015
@@ -39,7 +39,6 @@ import org.apache.maven.doxia.util.Doxia
import org.apache.maven.doxia.util.HtmlTools;
import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.StringUtils;
/**
* <a href="http://www.oasis-open.org/docbook">Docbook</a> Sink implementation.
@@ -1565,13 +1564,14 @@ public class DocBookSink
/** {@inheritDoc} */
public void comment( String comment )
{
- if ( StringUtils.isNotEmpty( comment ) && comment.indexOf( "--" ) != -1 )
+ if ( comment != null )
{
String originalComment = comment;
+
// http://www.w3.org/TR/2000/REC-xml-20001006#sec-comments
- while ( comment.indexOf( "--" ) != -1 )
+ while ( comment.contains( "--" ) )
{
- comment = StringUtils.replace( comment, "--", "- -" );
+ comment = comment.replace( "--", "- -" );
}
if ( comment.endsWith( "-" ) )
@@ -1579,17 +1579,20 @@ public class DocBookSink
comment += " ";
}
- String msg = "Modified invalid comment: '" + originalComment + "' to '" + comment + "'";
- logMessage( "modifiedComment", msg );
- }
+ if ( !originalComment.equals( comment ) )
+ {
+ String msg = "Modified invalid comment: '" + originalComment + "' to '" + comment + "'";
+ logMessage( "modifiedComment", msg );
+ }
- StringBuilder buffer = new StringBuilder( comment.length() + 7 );
+ StringBuilder buffer = new StringBuilder( comment.length() + 7 );
- buffer.append( LESS_THAN ).append( BANG ).append( MINUS ).append( MINUS );
- buffer.append( comment );
- buffer.append( MINUS ).append( MINUS ).append( GREATER_THAN );
+ buffer.append( LESS_THAN ).append( BANG ).append( MINUS ).append( MINUS );
+ buffer.append( comment );
+ buffer.append( MINUS ).append( MINUS ).append( GREATER_THAN );
- markup( buffer.toString() );
+ 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=1719715&r1=1719714&r2=1719715&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 17:16:29 2015
@@ -260,6 +260,6 @@ public class DocBookSinkTest extends Abs
/** {@inheritDoc} */
protected String getCommentBlock( String text )
{
- return "<!--Simple comment with - - - - -->";
+ return "<!--" + toXmlComment( text ) + "-->";
}
}
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=1719715&r1=1719714&r2=1719715&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 17:16:29 2015
@@ -43,7 +43,6 @@ import org.apache.maven.doxia.sink.SinkU
import org.apache.maven.doxia.util.DoxiaUtils;
import org.apache.maven.doxia.util.HtmlTools;
-import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter;
/**
@@ -1369,14 +1368,14 @@ public class FoSink
/** {@inheritDoc} */
public void comment( String comment )
{
-
- if ( StringUtils.isNotEmpty( comment ) && comment.indexOf( "--" ) != -1 )
+ if ( comment != null )
{
- String originalComment = comment;
+ final String originalComment = comment;
+
// http://www.w3.org/TR/2000/REC-xml-20001006#sec-comments
- while ( comment.indexOf( "--" ) != -1 )
+ while ( comment.contains( "--" ) )
{
- comment = StringUtils.replace( comment, "--", "- -" );
+ comment = comment.replace( "--", "- -" );
}
if ( comment.endsWith( "-" ) )
@@ -1384,17 +1383,20 @@ public class FoSink
comment += " ";
}
- String msg = "Modified invalid comment: '" + originalComment + "' to '" + comment + "'";
- logMessage( "modifyComment", msg );
- }
+ if ( !originalComment.equals( comment ) )
+ {
+ String msg = "Modified invalid comment: '" + originalComment + "' to '" + comment + "'";
+ logMessage( "modifyComment", msg );
+ }
- StringBuilder buf = new StringBuilder( comment.length() + 7 );
+ final StringBuilder buffer = new StringBuilder( comment.length() + 7 );
- buf.append( LESS_THAN ).append( BANG ).append( MINUS ).append( MINUS );
- buf.append( comment );
- buf.append( MINUS ).append( MINUS ).append( GREATER_THAN );
+ buffer.append( LESS_THAN ).append( BANG ).append( MINUS ).append( MINUS );
+ buffer.append( comment );
+ buffer.append( MINUS ).append( MINUS ).append( GREATER_THAN );
- write( buf.toString() );
+ write( buffer.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=1719715&r1=1719714&r2=1719715&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 17:16:29 2015
@@ -439,7 +439,7 @@ public class FoSinkTest
/** {@inheritDoc} */
protected String getCommentBlock( String text )
{
- return "<!--Simple comment with - - - - -->";
+ return "<!--" + toXmlComment( text ) + "-->";
}
/**
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=1719715&r1=1719714&r2=1719715&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 17:16:29 2015
@@ -243,6 +243,6 @@ public class LatexSinkTest
/** {@inheritDoc} */
protected String getCommentBlock( String text )
{
- return EOL + "%Simple comment with ----";
+ return EOL + "%" + text;
}
}
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=1719715&r1=1719714&r2=1719715&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 17:16:29 2015
@@ -298,6 +298,6 @@ public class XdocSinkTest
/** {@inheritDoc} */
protected String getCommentBlock( String text )
{
- return "<!--Simple comment with - - - - -->";
+ return "<!--" + toXmlComment( text ) + "-->";
}
}
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=1719715&r1=1719714&r2=1719715&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 17:16:29 2015
@@ -354,6 +354,6 @@ public class XhtmlSinkTest
/** {@inheritDoc} */
protected String getCommentBlock( String text )
{
- return "<!--Simple comment with - - - - -->";
+ return "<!--" + toXmlComment( text ) + "-->";
}
}