Author: vsiveton Date: Tue Oct 28 03:40:09 2008 New Revision: 708518 URL: http://svn.apache.org/viewvc?rev=708518&view=rev Log: o added more check in SinkFactorys
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSinkFactory.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceSinkFactory.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocbookSinkFactory.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSinkFactory.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSinkFactory.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSinkFactory.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSinkFactory.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiSinkFactory.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSinkFactory.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkFactory.java Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSinkFactory.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSinkFactory.java?rev=708518&r1=708517&r2=708518&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSinkFactory.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptSinkFactory.java Tue Oct 28 03:40:09 2008 @@ -42,9 +42,21 @@ public Sink createSink( File outputDir, String outputName ) throws IOException { - if ( !outputDir.isDirectory() ) + if ( outputDir == null ) { - throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory or not exist" ); + throw new IllegalArgumentException( "outputDir could not be null." ); + } + + if ( !outputDir.exists() ) + { + outputDir.mkdirs(); + } + else + { + if ( !outputDir.isDirectory() ) + { + throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory." ); + } } Writer writer = WriterFactory.newWriter( new File( outputDir, outputName ), WriterFactory.UTF_8 ); Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceSinkFactory.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/ConfluenceSinkFactory.java?rev=708518&r1=708517&r2=708518&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceSinkFactory.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/ConfluenceSinkFactory.java Tue Oct 28 03:40:09 2008 @@ -42,9 +42,21 @@ public Sink createSink( File outputDir, String outputName ) throws IOException { - if ( !outputDir.isDirectory() ) + if ( outputDir == null ) { - throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory or not exist" ); + throw new IllegalArgumentException( "outputDir could not be null." ); + } + + if ( !outputDir.exists() ) + { + outputDir.mkdirs(); + } + else + { + if ( !outputDir.isDirectory() ) + { + throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory." ); + } } Writer writer = WriterFactory.newWriter( new File( outputDir, outputName ), WriterFactory.UTF_8 ); Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocbookSinkFactory.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocbookSinkFactory.java?rev=708518&r1=708517&r2=708518&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocbookSinkFactory.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocbookSinkFactory.java Tue Oct 28 03:40:09 2008 @@ -42,9 +42,21 @@ public Sink createSink( File outputDir, String outputName ) throws IOException { - if ( !outputDir.isDirectory() ) + if ( outputDir == null ) { - throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory or not exist" ); + throw new IllegalArgumentException( "outputDir could not be null." ); + } + + if ( !outputDir.exists() ) + { + outputDir.mkdirs(); + } + else + { + if ( !outputDir.isDirectory() ) + { + throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory." ); + } } Writer writer = WriterFactory.newXmlWriter( new File( outputDir, outputName ) ); Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSinkFactory.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/FoSinkFactory.java?rev=708518&r1=708517&r2=708518&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSinkFactory.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSinkFactory.java Tue Oct 28 03:40:09 2008 @@ -42,9 +42,21 @@ public Sink createSink( File outputDir, String outputName ) throws IOException { - if ( !outputDir.isDirectory() ) + if ( outputDir == null ) { - throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory or not exist" ); + throw new IllegalArgumentException( "outputDir could not be null." ); + } + + if ( !outputDir.exists() ) + { + outputDir.mkdirs(); + } + else + { + if ( !outputDir.isDirectory() ) + { + throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory." ); + } } Writer writer = WriterFactory.newXmlWriter( new File( outputDir, outputName ) ); Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSinkFactory.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSinkFactory.java?rev=708518&r1=708517&r2=708518&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSinkFactory.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSinkFactory.java Tue Oct 28 03:40:09 2008 @@ -26,6 +26,7 @@ import org.apache.maven.doxia.sink.Sink; import org.apache.maven.doxia.sink.SinkFactory; import org.codehaus.plexus.util.WriterFactory; +import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter; /** * IText implementation of the Sink factory. @@ -42,9 +43,21 @@ public Sink createSink( File outputDir, String outputName ) throws IOException { - if ( !outputDir.isDirectory() ) + if ( outputDir == null ) { - throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory or not exist" ); + throw new IllegalArgumentException( "outputDir could not be null." ); + } + + if ( !outputDir.exists() ) + { + outputDir.mkdirs(); + } + else + { + if ( !outputDir.isDirectory() ) + { + throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory." ); + } } Writer writer = WriterFactory.newXmlWriter( new File( outputDir, outputName ) ); @@ -68,4 +81,20 @@ { return new ITextSink( writer ); } + + /** + * Create a <code>Sink</code> into a PrettyPrintXMLWriter. + * + * @param xmlWriter not null XML writer to write the result. <b>Should</b> be an UTF-8 Writer. + * @return a <code>Sink</code> instance. + */ + public Sink createSink( PrettyPrintXMLWriter xmlWriter ) + { + if ( xmlWriter == null ) + { + throw new IllegalArgumentException( "xmlWriter could not be null." ); + } + + return new ITextSink( xmlWriter ); + } } Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSinkFactory.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/LatexSinkFactory.java?rev=708518&r1=708517&r2=708518&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSinkFactory.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSinkFactory.java Tue Oct 28 03:40:09 2008 @@ -42,9 +42,21 @@ public Sink createSink( File outputDir, String outputName ) throws IOException { - if ( !outputDir.isDirectory() ) + if ( outputDir == null ) { - throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory or not exist" ); + throw new IllegalArgumentException( "outputDir could not be null." ); + } + + if ( !outputDir.exists() ) + { + outputDir.mkdirs(); + } + else + { + if ( !outputDir.isDirectory() ) + { + throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory." ); + } } Writer writer = WriterFactory.newWriter( new File( outputDir, outputName ), WriterFactory.UTF_8 ); Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSinkFactory.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/RtfSinkFactory.java?rev=708518&r1=708517&r2=708518&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSinkFactory.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-rtf/src/main/java/org/apache/maven/doxia/module/rtf/RtfSinkFactory.java Tue Oct 28 03:40:09 2008 @@ -51,9 +51,21 @@ public Sink createSink( File outputDir, String outputName, String encoding ) throws IOException { - if ( !outputDir.isDirectory() ) + if ( outputDir == null ) { - throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory or not exist" ); + throw new IllegalArgumentException( "outputDir could not be null." ); + } + + if ( !outputDir.exists() ) + { + outputDir.mkdirs(); + } + else + { + if ( !outputDir.isDirectory() ) + { + throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory." ); + } } OutputStream os = new FileOutputStream( new File( outputDir, outputName ) ); Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiSinkFactory.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/TWikiSinkFactory.java?rev=708518&r1=708517&r2=708518&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiSinkFactory.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/TWikiSinkFactory.java Tue Oct 28 03:40:09 2008 @@ -42,9 +42,21 @@ public Sink createSink( File outputDir, String outputName ) throws IOException { - if ( !outputDir.isDirectory() ) + if ( outputDir == null ) { - throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory or not exist" ); + throw new IllegalArgumentException( "outputDir could not be null." ); + } + + if ( !outputDir.exists() ) + { + outputDir.mkdirs(); + } + else + { + if ( !outputDir.isDirectory() ) + { + throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory." ); + } } Writer writer = WriterFactory.newWriter( new File( outputDir, outputName ), WriterFactory.UTF_8 ); Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSinkFactory.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSinkFactory.java?rev=708518&r1=708517&r2=708518&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSinkFactory.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSinkFactory.java Tue Oct 28 03:40:09 2008 @@ -42,9 +42,21 @@ public Sink createSink( File outputDir, String outputName ) throws IOException { - if ( !outputDir.isDirectory() ) + if ( outputDir == null ) { - throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory or not exist" ); + throw new IllegalArgumentException( "outputDir could not be null." ); + } + + if ( !outputDir.exists() ) + { + outputDir.mkdirs(); + } + else + { + if ( !outputDir.isDirectory() ) + { + throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory." ); + } } Writer writer = WriterFactory.newXmlWriter( new File( outputDir, outputName ) ); Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkFactory.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkFactory.java?rev=708518&r1=708517&r2=708518&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkFactory.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkFactory.java Tue Oct 28 03:40:09 2008 @@ -42,9 +42,21 @@ public Sink createSink( File outputDir, String outputName ) throws IOException { - if ( !outputDir.isDirectory() ) + if ( outputDir == null ) { - throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory or not exist" ); + throw new IllegalArgumentException( "outputDir could not be null." ); + } + + if ( !outputDir.exists() ) + { + outputDir.mkdirs(); + } + else + { + if ( !outputDir.isDirectory() ) + { + throw new IllegalArgumentException( "The dir '" + outputDir + "' is not a directory." ); + } } Writer writer = WriterFactory.newXmlWriter( new File( outputDir, outputName ) );