Author: jvanzyl
Date: Sun Nov 27 13:38:30 2005
New Revision: 349320

URL: http://svn.apache.org/viewcvs?rev=349320&view=rev
Log:
o changing the accept method to take the source so that we can do some 
primitive look ahead as i prefer
  to do this then embed the parsers in one another (like the twiki parser). in 
most cases you can peek
  ahead a line and figure out what you have and go from there.


Modified:
    
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/common/ByLineReaderSource.java
    
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java
    
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/BlockParser.java
    
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/HorizontalRuleBlockParser.java
    
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/ParagraphBlockParser.java
    
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/SectionBlockParser.java
    
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/VerbatimBlockParser.java
    
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/ListBlockParser.java
    
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/table/TableBlockParser.java

Modified: 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/common/ByLineReaderSource.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/common/ByLineReaderSource.java?rev=349320&r1=349319&r2=349320&view=diff
==============================================================================
--- 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/common/ByLineReaderSource.java
 (original)
+++ 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/common/ByLineReaderSource.java
 Sun Nov 27 13:38:30 2005
@@ -130,8 +130,7 @@
     {
         if ( ungetted )
         {
-            throw new IllegalStateException(
-                "we support only one level of ungetLine()" );
+            throw new IllegalStateException( "we support only one level of 
ungetLine()" );
         }
         ungetted = true;
     }

Modified: 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java?rev=349320&r1=349319&r2=349320&view=diff
==============================================================================
--- 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java
 (original)
+++ 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceParser.java
 Sun Nov 27 13:38:30 2005
@@ -89,7 +89,7 @@
                     continue;
                 }
 
-                if ( parser.accept( line ) )
+                if ( parser.accept( line, source ) )
                 {
                     /*
                     System.out.println( 
"------------------------------------------------------------" );

Modified: 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/BlockParser.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/BlockParser.java?rev=349320&r1=349319&r2=349320&view=diff
==============================================================================
--- 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/BlockParser.java
 (original)
+++ 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/BlockParser.java
 Sun Nov 27 13:38:30 2005
@@ -22,7 +22,7 @@
 
 public interface BlockParser
 {
-    boolean accept( String line );
+    boolean accept( String line, ByLineSource source );
 
     Block visit( String line, ByLineSource source ) throws ParseException;
 }

Modified: 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/HorizontalRuleBlockParser.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/HorizontalRuleBlockParser.java?rev=349320&r1=349319&r2=349320&view=diff
==============================================================================
--- 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/HorizontalRuleBlockParser.java
 (original)
+++ 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/HorizontalRuleBlockParser.java
 Sun Nov 27 13:38:30 2005
@@ -16,16 +16,13 @@
  * limitations under the License.
  */
 
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
 import org.apache.maven.doxia.module.common.ByLineSource;
 import org.apache.maven.doxia.parser.ParseException;
 
 public class HorizontalRuleBlockParser
     implements BlockParser
 {
-    public  boolean accept(  String line )
+    public  boolean accept( String line, ByLineSource source )
     {
         return line.startsWith( "----" );
     }

Modified: 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/ParagraphBlockParser.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/ParagraphBlockParser.java?rev=349320&r1=349319&r2=349320&view=diff
==============================================================================
--- 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/ParagraphBlockParser.java
 (original)
+++ 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/ParagraphBlockParser.java
 Sun Nov 27 13:38:30 2005
@@ -27,7 +27,7 @@
 public class ParagraphBlockParser
     implements BlockParser
 {
-    public boolean accept( String line )
+    public boolean accept( String line, ByLineSource source )
     {
         return true;
     }
@@ -125,6 +125,8 @@
 
                         break;
                     case '}':
+
+                        System.out.println( "line = " + line );
 
                         if ( line.charAt( i + 1 ) == '}' )
                         {

Modified: 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/SectionBlockParser.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/SectionBlockParser.java?rev=349320&r1=349319&r2=349320&view=diff
==============================================================================
--- 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/SectionBlockParser.java
 (original)
+++ 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/SectionBlockParser.java
 Sun Nov 27 13:38:30 2005
@@ -8,12 +8,12 @@
 
 /**
  * @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
- * @version $Id:$
+ * @version $Id$
  */
 public class SectionBlockParser
     implements BlockParser
 {
-    public boolean accept( String line )
+    public boolean accept( String line, ByLineSource source )
     {
         if ( line.startsWith( "h1." ) )
         {

Modified: 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/VerbatimBlockParser.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/VerbatimBlockParser.java?rev=349320&r1=349319&r2=349320&view=diff
==============================================================================
--- 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/VerbatimBlockParser.java
 (original)
+++ 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/VerbatimBlockParser.java
 Sun Nov 27 13:38:30 2005
@@ -15,7 +15,7 @@
 {
     static  String LS = System.getProperty( "line.separator" );
 
-    public boolean accept( String line )
+    public boolean accept( String line, ByLineSource source )
     {
         if ( line.startsWith( "{code}" ) || line.startsWith( "{noformat}" ) )
         {
@@ -40,7 +40,6 @@
             // TODO
             text.append( line ).append( LS );
         }
-
 
         return new VerbatimBlock( text.toString() );
     }

Modified: 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/ListBlockParser.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/ListBlockParser.java?rev=349320&r1=349319&r2=349320&view=diff
==============================================================================
--- 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/ListBlockParser.java
 (original)
+++ 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/list/ListBlockParser.java
 Sun Nov 27 13:38:30 2005
@@ -32,9 +32,22 @@
 
     public static int NUMBERED_LIST = 1;
 
-    public boolean accept( String line )
+    public boolean accept( String line, ByLineSource source )
     {
-        if ( isList( line ) )
+        String nextLine = null;
+
+        try
+        {
+            nextLine = source.getNextLine();
+
+            source.ungetLine();
+        }
+        catch ( ParseException e )
+        {
+            // do nothing
+        }
+
+        if ( isList( line ) && isList( nextLine ) )
         {
             return true;
         }
@@ -51,7 +64,7 @@
 
         do
         {
-            if ( !accept( l ) )
+            if ( !isList( l ) )
             {
                 break;
             }
@@ -70,11 +83,6 @@
             }
         }
         while ( ( l = source.getNextLine() ) != null );
-
-        if ( l != null )
-        {
-            source.ungetLine();
-        }
 
         return treeListBuilder.getBlock();
     }

Modified: 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/table/TableBlockParser.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/table/TableBlockParser.java?rev=349320&r1=349319&r2=349320&view=diff
==============================================================================
--- 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/table/TableBlockParser.java
 (original)
+++ 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/confluence/parser/table/TableBlockParser.java
 Sun Nov 27 13:38:30 2005
@@ -18,8 +18,6 @@
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 
 import org.apache.maven.doxia.module.common.ByLineSource;
 import org.apache.maven.doxia.module.confluence.parser.BlockParser;
@@ -39,7 +37,7 @@
 public class TableBlockParser
     implements BlockParser
 {
-    public  boolean accept(  String line )
+    public  boolean accept( String line, ByLineSource source )
     {
         return line.startsWith( "|" );
     }
@@ -47,7 +45,7 @@
     public  Block visit(  String line,  ByLineSource source )
         throws ParseException
     {
-        if ( !accept( line ) )
+        if ( !accept( line, source ) )
         {
             throw new IllegalAccessError( "call accept before this ;)" );
         }
@@ -95,7 +93,7 @@
 
             rows.add( new TableRowBlock( cells ) );
         }
-        while ( ( l = source.getNextLine() ) != null && accept( l ) );
+        while ( ( l = source.getNextLine() ) != null && accept( l, source ) );
 
         assert rows.size() >= 1;
 


Reply via email to