Author: vsiveton
Date: Sun May 17 09:49:46 2009
New Revision: 775617

URL: http://svn.apache.org/viewvc?rev=775617&view=rev
Log:
o reflect the xsd logic about the dates: coverdate is used only if date is not 
given. 
o format the date with ISO-8601

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

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoAggregateSink.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/FoAggregateSink.java?rev=775617&r1=775616&r2=775617&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoAggregateSink.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoAggregateSink.java
 Sun May 17 09:49:46 2009
@@ -21,9 +21,12 @@
 
 import java.io.Writer;
 
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Locale;
 import java.util.Stack;
 
 import javax.swing.text.MutableAttributeSet;
@@ -64,6 +67,9 @@
  */
 public class FoAggregateSink extends FoSink
 {
+    /** ISO 8601 date format, i.e. <code>yyyy-MM-dd</code> **/
+    private static final DateFormat ISO_8601_FORMAT = new SimpleDateFormat( 
"yyyy-MM-dd", Locale.US );
+
     /** The document model to be used by this sink. */
     private DocumentModel docModel;
 
@@ -901,6 +907,10 @@
             version = cover.getCoverVersion();
             type = cover.getCoverType();
             date = cover.getDate();
+            if ( date == null && cover.getCoverDate() != null )
+            {
+                date = ISO_8601_FORMAT.format( cover.getCoverDate() );
+            }
             //author = cover.getAuthor();
             //projName = cover.getProjectName();
             projLogo = cover.getProjectLogo();
@@ -1024,7 +1034,7 @@
         att.addAttribute( "height", "0.3in" );
         att.addAttribute( "text-align", "right" );
         writeStartTag( BLOCK_TAG, att );
-        write( date == null ? Calendar.getInstance().get( Calendar.YEAR ) + "" 
: date );
+        write( date == null ? ISO_8601_FORMAT.format( 
Calendar.getInstance().getTime() ) : date );
         writeEndTag( BLOCK_TAG );
         writeEndTag( TABLE_CELL_TAG );
 


Reply via email to