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 );