You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-commits@maven.apache.org by vs...@apache.org on 2009/08/15 14:18:40 UTC

svn commit: r804464 - in /maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src: main/java/org/apache/maven/doxia/module/fo/FoSink.java test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java

Author: vsiveton
Date: Sat Aug 15 12:18:40 2009
New Revision: 804464

URL: http://svn.apache.org/viewvc?rev=804464&view=rev
Log:
DOXIA-357: NoSuchElementException with a table caption

o improved table caption
o updated test case

Modified:
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java?rev=804464&r1=804463&r2=804464&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java Sat Aug 15 12:18:40 2009
@@ -112,6 +112,9 @@
 
     private XMLWriter tableCaptionXMLWriter = null;
 
+    /** The table caption */
+    private String tableCaption = null;
+
     /** Map of warn messages with a String as key to describe the error type and a Set as value.
      * Using to reduce warn messages. */
     protected Map warnMessages;
@@ -921,14 +924,6 @@
     /** {@inheritDoc} */
     public void table_()
     {
-        String tableCaption = null;
-        if ( tableCaptionXMLWriter != null )
-        {
-            tableCaption = tableCaptionWriter.toString();
-            tableCaptionXMLWriter = null;
-            tableCaptionWriter = null;
-        }
-
         String content = tableContentWriter.toString();
         tableContentWriter = null;
 
@@ -986,21 +981,6 @@
     /** {@inheritDoc} */
     public void tableRows_()
     {
-        String tableCaption = null;
-        if ( tableCaptionXMLWriter != null )
-        {
-            tableCaption = tableCaptionWriter.toString();
-            tableCaptionXMLWriter = null;
-            tableCaptionWriter = null;
-
-            SinkEventAttributeSet atts = new SinkEventAttributeSet();
-            atts.addAttribute( SinkEventAttributes.ALIGN, "center" );
-
-            paragraph( atts );
-            write( tableCaption );
-            paragraph_();
-        }
-
         this.cellJustif = null;
         this.isCellJustif = false;
         writeEndTag( TABLE_BODY_TAG );
@@ -1161,6 +1141,12 @@
     /** {@inheritDoc} */
     public void tableCaption_()
     {
+        if ( tableCaptionXMLWriter != null )
+        {
+            tableCaption = tableCaptionWriter.toString();
+            tableCaptionXMLWriter = null;
+            tableCaptionWriter = null;
+        }
         // <fo:table-caption> is XSL-FO 1.0 standard but not implemented in FOP 0.95
         //writeEndTag( TABLE_CAPTION_TAG );
     }

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java?rev=804464&r1=804463&r2=804464&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java Sat Aug 15 12:18:40 2009
@@ -449,11 +449,22 @@
         html.append( "</tr>" ).append( EOL );
         html.append( "</table>" ).append( EOL );
 
-        StringWriter sw = new StringWriter();
+        String fileName = "testTableCaption";
+
+        // first create fo
+        FoSink fosink = new FoSink( getTestWriter( fileName ) );
+        fosink.beginDocument();
+        SinkTestDocument.generateHead( fosink );
+
+        fosink.body();
         XhtmlBaseParser parser = new XhtmlBaseParser();
-        Sink sink = createSink( sw );
-        parser.parse( new StringReader( html.toString() ), sink );
-        sink.close();
-        assertTrue( true );
+        parser.parse( new StringReader( html.toString() ), fosink );
+        fosink.body_();
+
+        fosink.endDocument();
+        fosink.close();
+
+        // then generate PDF
+        fo2pdf( fileName );
     }
 }