Hi Hervé,

based on only the interface it is possible that the Parser implementation is a singleton.
Is the emitComments meant to be a per-Parser setting or a per-file setting?

thanks,
Robert

Op Sat, 23 Jan 2016 16:48:08 +0100 schreef <[email protected]>:

Author: hboutemy
Date: Sat Jan 23 15:48:07 2016
New Revision: 1726407

URL: http://svn.apache.org/viewvc?rev=1726407&view=rev
Log:
[DOXIA-482] added an API to define if comments from source markup are emitted as Doxia comment events

Modified:
    
maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractParser.java
    
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/Parser.java
    
maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/XhtmlBaseParser.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-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.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/pom.xml

Modified: maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractParser.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractParser.java?rev=1726407&r1=1726406&r2=1726407&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractParser.java (original) +++ maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractParser.java Sat Jan 23 15:48:07 2016
@@ -56,6 +56,11 @@ public abstract class AbstractParser
     /** Log instance. */
     private Log logger;
+    /**
+     * Emit Doxia comment events when parsing comments?
+     */
+    private boolean emitComments = true;
+
     private static final String DOXIA_VERSION;
    static
@@ -99,6 +104,16 @@ public abstract class AbstractParser
         return UNKNOWN_TYPE;
     }
+    public void setEmitComments( boolean emitComments )
+    {
+        this.emitComments = emitComments;
+    }
+
+    public boolean isEmitComments()
+    {
+        return emitComments;
+    }
+
     /**
      * Execute a macro on the given sink.
      *

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=1726407&r1=1726406&r2=1726407&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 Jan 23 15:48:07 2016
@@ -371,7 +371,10 @@ public abstract class AbstractXmlParser
     protected void handleComment( XmlPullParser parser, Sink sink )
         throws XmlPullParserException
     {
-        sink.comment( getText( parser ) );
+        if ( isEmitComments() )
+        {
+            sink.comment( getText( parser ) );
+        }
     }
    /**

Modified: maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/Parser.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/Parser.java?rev=1726407&r1=1726406&r2=1726407&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/Parser.java (original) +++ maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/Parser.java Sat Jan 23 15:48:07 2016
@@ -66,4 +66,18 @@ public interface Parser
      * @return the type of Parser
      */
     int getType();
+
+    /**
+ * When comments are found in source markup, emit comment Doxia events or just ignore?
+     *
+ * @param emitComments <code>true</code> (default value) to emit comment Doxia events
+     */
+    void setEmitComments( boolean emitComments );
+
+    /**
+ * Does the parser emit Doxia comments event when comments found in source?
+     *
+ * @return <code>true</code> (default value) if comment Doxia events are emitted
+     */
+    boolean isEmitComments();
 }

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=1726407&r1=1726406&r2=1726407&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 Jan 23 15:48:07 2016
@@ -797,7 +797,10 @@ public class XhtmlBaseParser
         }
         else
         {
-            sink.comment( text );
+            if ( isEmitComments() )
+            {
+                sink.comment( text );
+            }
         }
     }

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=1726407&r1=1726406&r2=1726407&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 Jan 23 15:48:07 2016
@@ -2231,7 +2231,10 @@ public class AptParser
         public void traverse()
             throws AptParseException
         {
-            AptParser.this.sink.comment( text );
+            if ( isEmitComments() )
+            {
+                AptParser.this.sink.comment( text );
+            }
         }
     }

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=1726407&r1=1726406&r2=1726407&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 Jan 23 15:48:07 2016
@@ -514,7 +514,10 @@ public class DocBookParser
         }
         else
         {
-            sink.comment( text );
+            if ( isEmitComments() )
+            {
+                sink.comment( text );
+            }
         }
     }

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=1726407&r1=1726406&r2=1726407&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 Jan 23 15:48:07 2016
@@ -404,7 +404,10 @@ public class FmlParser
         }
         else
         {
-            sink.comment( comment );
+            if ( isEmitComments() )
+            {
+                sink.comment( comment );
+            }
         }
     }

Modified: maven/doxia/doxia/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/pom.xml?rev=1726407&r1=1726406&r2=1726407&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/pom.xml (original)
+++ maven/doxia/doxia/trunk/pom.xml Sat Jan 23 15:48:07 2016
@@ -272,6 +272,8 @@ under the License.
                 <exclude>org/apache/maven/doxia/module/site</exclude>
                 <exclude>org/apache/maven/doxia/module/site/**</exclude>
                 <exclude>org/apache/maven/doxia/module/*/*SiteModule</exclude>
+                <!-- DOXIA-482 -->
+                <exclude>org/apache/maven/doxia/parser/Parser</exclude>
               </excludes>
             </configuration>
           </execution>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to