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