You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2016/01/26 23:01:54 UTC

svn commit: r1726913 - in /maven/doxia/doxia/trunk: doxia-core/src/main/java/org/apache/maven/doxia/parser/ doxia-core/src/main/java/org/apache/maven/doxia/util/ doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/ doxia-modu...

Author: rfscholte
Date: Tue Jan 26 22:01:54 2016
New Revision: 1726913

URL: http://svn.apache.org/viewvc?rev=1726913&view=rev
Log:
[DOXIA-224] Add source name in parser
Parser has extra parse method, AbstractParser has a default implementation for it.
Apt, Confluence and TWiki already pick up the reference of the source

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/Parser.java
    maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/util/ByLineReaderSource.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-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiParser.java

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=1726913&r1=1726912&r2=1726913&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 Tue Jan 26 22:01:54 2016
@@ -22,6 +22,7 @@ package org.apache.maven.doxia.parser;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.Reader;
 import java.io.StringReader;
 
 import java.util.Properties;
@@ -170,6 +171,13 @@ public abstract class AbstractParser
     {
         parse( new StringReader( string ), sink );
     }
+    
+    @Override
+    public void parse( Reader source, Sink sink, String reference )
+        throws ParseException
+    {
+        parse( source, sink );
+    }
 
     /**
      * Set <code>secondParsing</code> to true, if we need a second parsing.

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=1726913&r1=1726912&r2=1726913&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 Tue Jan 26 22:01:54 2016
@@ -58,6 +58,17 @@ public interface Parser
      */
     void parse( Reader source, Sink sink )
         throws ParseException;
+    
+    /**
+     * Parses the given source model and emits Doxia events into the given sink.
+     *
+     * @param source not null reader that provides the source document.
+     * You could use <code>newReader</code> methods from {@link org.codehaus.plexus.util.ReaderFactory}.
+     * @param sink A sink that consumes the Doxia events.
+     * @throws org.apache.maven.doxia.parser.ParseException if the model could not be parsed.
+     */
+    void parse( Reader source, Sink sink, String reference )
+        throws ParseException;
 
     /**
      * The parser type value could be {@link #UNKNOWN_TYPE}, {@link #TXT_TYPE} or

Modified: maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/util/ByLineReaderSource.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/util/ByLineReaderSource.java?rev=1726913&r1=1726912&r2=1726913&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/util/ByLineReaderSource.java (original)
+++ maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/util/ByLineReaderSource.java Tue Jan 26 22:01:54 2016
@@ -58,6 +58,8 @@ public class ByLineReaderSource implemen
      * called
      */
     private boolean ungetted = false;
+    
+    private String name;
 
     /**
      * Creates the ByLineReaderSource.
@@ -66,9 +68,16 @@ public class ByLineReaderSource implemen
      */
     public ByLineReaderSource( final Reader in )
     {
-        reader = new LineNumberReader( in );
+        this( in, "" );
+    }
+    
+    public ByLineReaderSource( final Reader in, final String name )
+    {
+        this.reader = new LineNumberReader( in );
+        
+        this.name = name;
 
-        lineNumber = -1;
+        this.lineNumber = -1;
     }
 
     /** {@inheritDoc} */
@@ -113,7 +122,7 @@ public class ByLineReaderSource implemen
     /** {@inheritDoc} */
     public final String getName()
     {
-        return "";
+        return name;
     }
 
     /** {@inheritDoc} */

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=1726913&r1=1726912&r2=1726913&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 Tue Jan 26 22:01:54 2016
@@ -184,10 +184,17 @@ public class AptParser
     // Public methods
     // ----------------------------------------------------------------------
 
-    /** {@inheritDoc} */
+    @Override
     public void parse( Reader source, Sink sink )
         throws ParseException
     {
+        parse( source, sink, "" );
+    }
+    
+    @Override
+    public void parse( Reader source, Sink sink, String reference )
+        throws ParseException
+    {
         init();
 
         try
@@ -203,7 +210,7 @@ public class AptParser
 
         try
         {
-            this.source = new AptReaderSource( new StringReader( sourceContent ) );
+            this.source = new AptReaderSource( new StringReader( sourceContent ), reference );
 
             this.sink = sink;
             sink.enableLogging( getLog() );

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java?rev=1726913&r1=1726912&r2=1726913&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java Tue Jan 26 22:01:54 2016
@@ -104,11 +104,18 @@ public class ConfluenceParser
         return blocks;
     }
 
-    /** {@inheritDoc} */
-    public synchronized void parse( Reader source, Sink sink )
+    @Override
+    public void parse( Reader source, Sink sink )
         throws ParseException
     {
-        ByLineSource src = new ByLineReaderSource( source );
+        parse( source, sink, "" );
+    }
+
+    @Override
+    public synchronized void parse( Reader source, Sink sink, String reference )
+        throws ParseException
+    {
+        ByLineSource src = new ByLineReaderSource( source, reference );
 
         try
         {

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiParser.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiParser.java?rev=1726913&r1=1726912&r2=1726913&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiParser.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiParser.java Tue Jan 26 22:01:54 2016
@@ -131,14 +131,21 @@ public class TWikiParser
         return ret;
     }
 
-    /** {@inheritDoc} */
-    public final synchronized void parse( final Reader source, final Sink sink )
+    @Override
+    public void parse( Reader source, Sink sink )
+        throws ParseException
+    {
+        parse( source, sink, "" );
+    }
+    
+    @Override
+    public final synchronized void parse( final Reader source, final Sink sink, String reference )
         throws ParseException
     {
         init();
 
         List<Block> blocks;
-        final ByLineSource src = new ByLineReaderSource( source );
+        final ByLineSource src = new ByLineReaderSource( source, reference );
 
         try
         {