You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2015/11/22 06:37:54 UTC

svn commit: r1715602 - /maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java

Author: hboutemy
Date: Sun Nov 22 05:37:54 2015
New Revision: 1715602

URL: http://svn.apache.org/viewvc?rev=1715602&view=rev
Log:
[DOXIA-492] inject PegDownHtmlParser with Plexus to get MarcoHandler (or any other) injection

Modified:
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java?rev=1715602&r1=1715601&r2=1715602&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java Sun Nov 22 05:37:54 2015
@@ -28,6 +28,7 @@ import org.apache.maven.doxia.parser.Par
 import org.apache.maven.doxia.parser.Parser;
 import org.apache.maven.doxia.sink.Sink;
 import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.xml.pull.XmlPullParser;
 import org.pegdown.Extensions;
@@ -97,6 +98,9 @@ public class MarkdownParser
         return TXT_TYPE;
     }
 
+    @Requirement
+    private PegDownHtmlParser parser;
+
     public void parse( Reader source, Sink sink )
         throws ParseException
     {
@@ -105,7 +109,6 @@ public class MarkdownParser
             // Markdown to HTML (using Pegdown library)
             String html = toHtml( source );
             // then HTML to Sink API
-            XhtmlParser parser = new PegDownHtmlParser( isSecondParsing() );
             parser.parse( new StringReader( html ), sink );
         }
         catch ( IOException e )
@@ -252,13 +255,17 @@ public class MarkdownParser
         return builder.toString();
     }
 
-    private static class PegDownHtmlParser
+    /**
+     * Internal parser for HTML generated by PegDown library.
+     */
+    @Component( role = PegDownHtmlParser.class )
+    public static class PegDownHtmlParser
         extends XhtmlParser
     {
-        PegDownHtmlParser( boolean secondParsing )
+        public PegDownHtmlParser()
         {
             super();
-            setSecondParsing( secondParsing );
+            setSecondParsing( true );
         }
 
         @Override