Author: ltheussl
Date: Wed Jul 11 10:52:31 2007
New Revision: 555344

URL: http://svn.apache.org/viewvc?view=rev&rev=555344
Log:
DOXIA-73 (part), submitted by Juan F. Codagnone. Small fixes for table parsing.

Modified:
    
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/table/TableBlock.java
    
maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java
    
maven/doxia/doxia/trunk/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSink.java
    
maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/SectionBlock.java
    
maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TableBlock.java

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/table/TableBlock.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/parser/table/TableBlock.java?view=diff&rev=555344&r1=555343&r2=555344
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/table/TableBlock.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/table/TableBlock.java
 Wed Jul 11 10:52:31 2007
@@ -19,6 +19,7 @@
  * under the License.
  */
 
+import org.apache.maven.doxia.parser.Parser;
 import org.apache.maven.doxia.module.confluence.parser.AbstractFatherBlock;
 import org.apache.maven.doxia.sink.Sink;
 
@@ -36,10 +37,24 @@
     public  void before(  Sink sink )
     {
         sink.table();
+        sink.tableRows( getJustification(), false );
     }
 
     public  void after(  Sink sink )
     {
+        sink.tableRows_();
         sink.table_();
+    }
+    
+    private final int [] getJustification() {
+        final AbstractFatherBlock b = 
+            ((AbstractFatherBlock)getBlocks().get( 0 ));
+        int[] justification = new int[b.getBlocks().size()];
+        for ( int i = 0; i < justification.length; i++ )
+        {
+            justification[i] = Parser.JUSTIFY_CENTER;
+        }
+        
+        return justification;
     }
 }

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java?view=diff&rev=555344&r1=555343&r2=555344
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java
 Wed Jul 11 10:52:31 2007
@@ -435,11 +435,12 @@
     public void tableRow_()
     {
         markup( "\\\\" + EOL );
-        if ( gridFlag )
+        if ( gridFlag || lastCellWasHeader )
         {
             markup( "\\hline" + EOL );
         }
         cellCount = 0;
+        lastCellWasHeader = false;
     }
 
     public void title()
@@ -579,6 +580,30 @@
 
     public void tableCell()
     {
+        tableCell( false );
+    }
+    
+    public void tableCell_()
+    {
+        tableCell_( false );
+    }
+
+    public void tableHeaderCell()
+    {
+        tableCell( true );
+    }
+    
+    public void tableHeaderCell_()
+    {
+        tableCell_( true );
+    }
+    
+    private boolean lastCellWasHeader = false;
+    
+    public void tableCell( boolean header )
+    {
+        lastCellWasHeader = header;
+        
         if ( cellCount > 0 )
         {
             markup( " &" + EOL );
@@ -601,7 +626,7 @@
         markup( "\\begin{pcell}{" + justif + "}" );
     }
 
-    public void tableCell_()
+    public void tableCell_( boolean header )
     {
         markup( "\\end{pcell}" );
         ++cellCount;

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSink.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSink.java?view=diff&rev=555344&r1=555343&r2=555344
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSink.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSink.java
 Wed Jul 11 10:52:31 2007
@@ -857,6 +857,16 @@
         table.add( row );
     }
 
+    public void tableHeaderCell()
+    {
+        tableCell();
+    }
+   
+    public void tableHeaderCell_()
+    {
+        tableCell_();
+    }
+    
     public void tableCell()
     {
         cell = new Cell();

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/SectionBlock.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/parser/SectionBlock.java?view=diff&rev=555344&r1=555343&r2=555344
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/SectionBlock.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/SectionBlock.java
 Wed Jul 11 10:52:31 2007
@@ -77,9 +77,9 @@
     public final void before( final Sink sink )
     {
         sectionStart( sink );
-        sink.sectionTitle();
+        sectionTitle( sink );
         sink.text( title );
-        sink.sectionTitle_();
+        sectionTitle_( sink );
 
     }
 
@@ -182,4 +182,15 @@
         return sb.toString();
     }
 
+    /** @param sink */
+    private void sectionTitle( final Sink sink ) 
+    {
+        invokeVoidVoid( sink, "sectionTitle" + level );
+    }
+    
+    /** @param sink */
+    private void sectionTitle_( final Sink sink ) 
+    {
+        invokeVoidVoid( sink, "sectionTitle" + level + "_" );
+    }
 }

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TableBlock.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/parser/TableBlock.java?view=diff&rev=555344&r1=555343&r2=555344
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TableBlock.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/TableBlock.java
 Wed Jul 11 10:52:31 2007
@@ -19,6 +19,7 @@
  * under the License.
  */
 
+import org.apache.maven.doxia.parser.Parser;
 import org.apache.maven.doxia.sink.Sink;
 
 
@@ -49,6 +50,7 @@
     public final void before( final Sink sink )
     {
         sink.table();
+        sink.tableRows( getJustification(), false );
     }
 
     /**
@@ -57,6 +59,19 @@
     
     public final void after( final Sink sink )
     {
+        sink.tableRows_();
         sink.table_();
+    }
+    
+    
+    private final int [] getJustification() {
+        int[] justification = new int[((AbstractFatherBlock)getBlocks()[0]).
+                                      getBlocks().length];
+        for ( int i = 0; i < justification.length; i++ )
+        {
+            justification[i] = Parser.JUSTIFY_CENTER;
+        }
+        
+        return justification;
     }
 }


Reply via email to