gmazza 2004/07/18 22:33:35 Modified: examples/embedding build.xml examples/embedding/java/embedding ExampleDOM2PDF.java ExampleFO2PDF.java ExampleFO2PDFUsingSAX.java ExampleObj2PDF.java ExampleXML2PDF.java src/documentation/content/xdocs embedding.xml src/java/org/apache/fop/apps Driver.java Fop.java src/java/org/apache/fop/fo FOTreeBuilder.java src/java/org/apache/fop/render/awt/viewer PreviewDialog.java src/java/org/apache/fop/servlet FopPrintServlet.java FopServlet.java src/java/org/apache/fop/tools TestConverter.java src/java/org/apache/fop/tools/anttasks Fop.java test/java/org/apache/fop BasicDriverTestCase.java GenericFOPTestCase.java Log: 1.) Driver constructor modified to require RenderType, and setter functions for RenderType and FOUserAgent removed, to allow for better checking of a valid Driver object at time of construction. (Also, will reduce need to validate Driver object should it be a parameter to a method.) 2.) Added validity checking of renderType to FOTreeBuilder as well, in effect decoupling Driver from FOTreeBuilder (the latter can work on its own now.) 3.) Updated the various examples and the documentation to indicate the new API. Revision Changes Path 1.8 +15 -15 xml-fop/examples/embedding/build.xml Index: build.xml =================================================================== RCS file: /home/cvs/xml-fop/examples/embedding/build.xml,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- build.xml 18 Jul 2004 19:55:17 -0000 1.7 +++ build.xml 19 Jul 2004 05:33:33 -0000 1.8 @@ -84,7 +84,16 @@ </classpath> </java> </target> - <target name="example2" depends="compile" description="Runs the XML to FO example"> + <target name="example2" depends="compile" description="Runs the FO to PDF example using a SAXParser"> + <echo message="Running the FO to PDF example using a SAXParser"/> + <java classname="${name}.ExampleFO2PDFUsingSAX" fork="yes"> + <classpath> + <path refid="project.class.path"/> + <pathelement location="${build.dest}"/> + </classpath> + </java> + </target> + <target name="example3" depends="compile" description="Runs the XML to FO example"> <echo message="Running the XML to FO example"/> <java classname="${name}.ExampleXML2FO" fork="yes"> <classpath> @@ -93,7 +102,7 @@ </classpath> </java> </target> - <target name="example3" depends="compile" description="Runs the XML to PDF example"> + <target name="example4" depends="compile" description="Runs the XML to PDF example"> <echo message="Running the XML to PDF example"/> <java classname="${name}.ExampleXML2PDF" fork="yes"> <classpath> @@ -102,7 +111,7 @@ </classpath> </java> </target> - <target name="example4" depends="compile" description="Runs the Object to XML example"> + <target name="example5" depends="compile" description="Runs the Object to XML example"> <echo message="Running the Object to XML example"/> <java classname="${name}.ExampleObj2XML" fork="yes"> <classpath> @@ -111,7 +120,7 @@ </classpath> </java> </target> - <target name="example5" depends="compile" description="Runs the Object to PDF example"> + <target name="example6" depends="compile" description="Runs the Object to PDF example"> <echo message="Running the Object to PDF example"/> <java classname="${name}.ExampleObj2PDF" fork="yes"> <classpath> @@ -120,7 +129,7 @@ </classpath> </java> </target> - <target name="example6" depends="compile" description="Runs the DOM to PDF example"> + <target name="example7" depends="compile" description="Runs the DOM to PDF example"> <echo message="Running the DOM to PDF example"/> <java classname="${name}.ExampleDOM2PDF" fork="yes"> <classpath> @@ -129,18 +138,9 @@ </classpath> </java> </target> - <target name="example7" depends="compile" description="Runs the SVG to PDF example"> + <target name="example8" depends="compile" description="Runs the SVG to PDF example"> <echo message="Running the SVG to PDF example"/> <java classname="${name}.ExampleSVG2PDF" fork="yes"> - <classpath> - <path refid="project.class.path"/> - <pathelement location="${build.dest}"/> - </classpath> - </java> - </target> - <target name="example8" depends="compile" description="Runs the FO to PDF example using a SAXParser"> - <echo message="Running the FO to PDF example using a SAXParser"/> - <java classname="${name}.ExampleFO2PDFUsingSAX" fork="yes"> <classpath> <path refid="project.class.path"/> <pathelement location="${build.dest}"/> 1.10 +3 -7 xml-fop/examples/embedding/java/embedding/ExampleDOM2PDF.java Index: ExampleDOM2PDF.java =================================================================== RCS file: /home/cvs/xml-fop/examples/embedding/java/embedding/ExampleDOM2PDF.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- ExampleDOM2PDF.java 9 Jul 2004 01:48:58 -0000 1.9 +++ ExampleDOM2PDF.java 19 Jul 2004 05:33:33 -0000 1.10 @@ -61,11 +61,8 @@ */ public void convertDOM2PDF(Document xslfoDoc, File pdf) { try { - // Construct driver - Driver driver = new Driver(); - - // Setup Renderer (output format) - driver.setRenderer(Driver.RENDER_PDF); + // Construct driver with desired output format + Driver driver = new Driver(Driver.RENDER_PDF); // Setup output OutputStream out = new java.io.FileOutputStream(pdf); @@ -90,7 +87,6 @@ out.close(); } - System.out.println("Success!"); } catch (Exception e) { e.printStackTrace(System.err); System.exit(-1); 1.13 +2 -3 xml-fop/examples/embedding/java/embedding/ExampleFO2PDF.java Index: ExampleFO2PDF.java =================================================================== RCS file: /home/cvs/xml-fop/examples/embedding/java/embedding/ExampleFO2PDF.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- ExampleFO2PDF.java 16 Jul 2004 03:36:14 -0000 1.12 +++ ExampleFO2PDF.java 19 Jul 2004 05:33:33 -0000 1.13 @@ -55,9 +55,8 @@ OutputStream out = null; try { - // Construct driver and setup output format - Driver driver = new Driver(); - driver.setRenderer(Driver.RENDER_PDF); + // Construct driver with desired output format + Driver driver = new Driver(Driver.RENDER_PDF); // Setup output stream. Note: Using BufferedOutputStream // for performance reasons (helpful with FileOutputStreams). 1.2 +3 -4 xml-fop/examples/embedding/java/embedding/ExampleFO2PDFUsingSAX.java Index: ExampleFO2PDFUsingSAX.java =================================================================== RCS file: /home/cvs/xml-fop/examples/embedding/java/embedding/ExampleFO2PDFUsingSAX.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ExampleFO2PDFUsingSAX.java 18 Jul 2004 19:55:17 -0000 1.1 +++ ExampleFO2PDFUsingSAX.java 19 Jul 2004 05:33:33 -0000 1.2 @@ -64,8 +64,7 @@ try { // Construct driver and setup output format - Driver driver = new Driver(); - driver.setRenderer(Driver.RENDER_PDF); + Driver driver = new Driver(Driver.RENDER_PDF); // Setup output stream. Note: Using BufferedOutputStream // for performance reasons (helpful with FileOutputStreams). @@ -110,7 +109,7 @@ //Setup input and output files File fofile = new File(baseDir, "xml/fo/helloworld.fo"); - File pdffile = new File(outDir, "ResultFO2PDF.pdf"); + File pdffile = new File(outDir, "ResultFO2PDFUsingSAX.pdf"); System.out.println("Input: XSL-FO (" + fofile + ")"); System.out.println("Output: PDF (" + pdffile + ")"); 1.9 +2 -5 xml-fop/examples/embedding/java/embedding/ExampleObj2PDF.java Index: ExampleObj2PDF.java =================================================================== RCS file: /home/cvs/xml-fop/examples/embedding/java/embedding/ExampleObj2PDF.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- ExampleObj2PDF.java 9 Jul 2004 01:48:58 -0000 1.8 +++ ExampleObj2PDF.java 19 Jul 2004 05:33:33 -0000 1.9 @@ -55,11 +55,8 @@ public void convertProjectTeam2PDF(ProjectTeam team, File xslt, File pdf) throws IOException, FOPException, TransformerException { - // Construct driver - Driver driver = new Driver(); - - // Setup Renderer (output format) - driver.setRenderer(Driver.RENDER_PDF); + // Construct driver with desired output format + Driver driver = new Driver(Driver.RENDER_PDF); // Setup output OutputStream out = new java.io.FileOutputStream(pdf); 1.11 +2 -5 xml-fop/examples/embedding/java/embedding/ExampleXML2PDF.java Index: ExampleXML2PDF.java =================================================================== RCS file: /home/cvs/xml-fop/examples/embedding/java/embedding/ExampleXML2PDF.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- ExampleXML2PDF.java 9 Jul 2004 01:48:58 -0000 1.10 +++ ExampleXML2PDF.java 19 Jul 2004 05:33:33 -0000 1.11 @@ -66,11 +66,8 @@ System.out.println(); System.out.println("Transforming..."); - // Construct driver - Driver driver = new Driver(); - - // Setup Renderer (output format) - driver.setRenderer(Driver.RENDER_PDF); + // Construct driver with desired output format + Driver driver = new Driver(Driver.RENDER_PDF); // Setup output OutputStream out = new java.io.FileOutputStream(pdffile); 1.23 +30 -17 xml-fop/src/documentation/content/xdocs/embedding.xml Index: embedding.xml =================================================================== RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/embedding.xml,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- embedding.xml 20 Jun 2004 12:35:17 -0000 1.22 +++ embedding.xml 19 Jul 2004 05:33:34 -0000 1.23 @@ -388,9 +388,11 @@ </p> <section id="ExampleFO2PDF"> <title>ExampleFO2PDF.java</title> - <p> + <p>This example + <fork href="http://cvs.apache.org/viewcvs.cgi/xml-fop/examples/embedding/java/embedding/ExampleFO2PDF.java?rev=1.12"> + (current 0.20.5)</fork> <fork href="http://cvs.apache.org/viewcvs.cgi/xml-fop/examples/embedding/java/embedding/ExampleFO2PDF.java?rev=HEAD"> - This example</fork> + (future 1.0dev)</fork> demonstrates the basic usage pattern to transform an XSL-FO file to PDF using FOP. </p> @@ -398,9 +400,11 @@ </section> <section id="ExampleXML2FO"> <title>ExampleXML2FO.java</title> - <p> + <p>This example + <fork href="http://cvs.apache.org/viewcvs.cgi/xml-fop/examples/embedding/java/embedding/ExampleXML2FO.java?rev=1.4"> + (current 0.20.5)</fork> <fork href="http://cvs.apache.org/viewcvs.cgi/xml-fop/examples/embedding/java/embedding/ExampleXML2FO.java?rev=HEAD"> - This example</fork> + (future 1.0dev)</fork> has nothing to do with FOP. It is there to show you how an XML file can be converted to XSL-FO using XSLT. The JAXP API is used to do the transformation. Make sure you've got a JAXP-compliant XSLT processor in your @@ -410,9 +414,11 @@ </section> <section id="ExampleXML2PDF"> <title>ExampleXML2PDF.java</title> - <p> + <p>This example + <fork href="http://cvs.apache.org/viewcvs.cgi/xml-fop/examples/embedding/java/embedding/ExampleXML2PDF.java?rev=1.10"> + (current 0.20.5)</fork> <fork href="http://cvs.apache.org/viewcvs.cgi/xml-fop/examples/embedding/java/embedding/ExampleXML2PDF.java?rev=HEAD"> - This example</fork> + (future 1.0dev)</fork> demonstrates how you can convert an arbitrary XML file to PDF using XSLT and XSL-FO/FOP. It is a combination of the first two examples above. The example uses JAXP to transform the XML file to XSL-FO and FOP to @@ -430,9 +436,11 @@ </section> <section id="ExampleObj2XML"> <title>ExampleObj2XML.java</title> - <p> + <p>This example + <fork href="http://cvs.apache.org/viewcvs.cgi/xml-fop/examples/embedding/java/embedding/ExampleObj2XML.java?rev=1.4"> + (current 0.20.5)</fork> <fork href="http://cvs.apache.org/viewcvs.cgi/xml-fop/examples/embedding/java/embedding/ExampleObj2XML.java?rev=HEAD"> - This example</fork> + (future 1.0dev)</fork> is a preparatory example for the next one. It's an example that shows how an arbitrary Java object can be converted to XML. It's an often needed task to do this. Often people create a DOM tree from a Java object and @@ -463,9 +471,11 @@ </section> <section id="ExampleObj2PDF"> <title>ExampleObj2PDF.java</title> - <p> + <p>This example + <fork href="http://cvs.apache.org/viewcvs.cgi/xml-fop/examples/embedding/java/embedding/ExampleObj2PDF.java?rev=1.8"> + (current 0.20.5)</fork> <fork href="http://cvs.apache.org/viewcvs.cgi/xml-fop/examples/embedding/java/embedding/ExampleObj2PDF.java?rev=HEAD"> - This example</fork> + (future 1.0dev)</fork> combines the previous and the third to demonstrate how you can transform a Java object to a PDF directly in one smooth run by generating SAX events from the Java object that get fed to an XSL @@ -476,18 +486,21 @@ </section> <section id="ExampleDOM2PDF"> <title>ExampleDOM2PDF.java</title> - <p> + <p>This example + <fork href="http://cvs.apache.org/viewcvs.cgi/xml-fop/examples/embedding/java/embedding/ExampleDOM2PDF.java?rev=1.9"> + (current 0.20.5)</fork> <fork href="http://cvs.apache.org/viewcvs.cgi/xml-fop/examples/embedding/java/embedding/ExampleDOM2PDF.java?rev=HEAD"> - This example</fork> + (future 1.0dev)</fork> has FOP use a DOMSource instead of a StreamSource in order to use a DOM tree as input for an XSL transformation. </p> </section> <section id="ExampleSVG2PDF"> <title>ExampleSVG2PDF.java (PDF Transcoder example)</title> - <p> - <fork href="http://cvs.apache.org/viewcvs.cgi/xml-fop/examples/embedding/java/embedding/ExampleSVG2PDF.java?rev=HEAD"> - This example</fork> + <p>This example + <fork href="http://cvs.apache.org/viewcvs.cgi/xml-fop/examples/embedding/java/embedding/ExampleSVG2PDF.java?rev=1.4"> + (current 0.20.5)</fork><fork href="http://cvs.apache.org/viewcvs.cgi/xml-fop/examples/embedding/java/embedding/ExampleSVG2PDF.java?rev=HEAD"> + (future 1.0dev)</fork> shows use of the PDF Transcoder, a sub-application within FOP. It is used to generate a PDF document from an SVG file. </p> 1.90 +41 -57 xml-fop/src/java/org/apache/fop/apps/Driver.java Index: Driver.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/Driver.java,v retrieving revision 1.89 retrieving revision 1.90 diff -u -r1.89 -r1.90 --- Driver.java 18 Jul 2004 19:51:40 -0000 1.89 +++ Driver.java 19 Jul 2004 05:33:34 -0000 1.90 @@ -28,7 +28,7 @@ import org.xml.sax.SAXException; import org.xml.sax.XMLReader; import org.xml.sax.helpers.DefaultHandler; - + // FOP import org.apache.fop.fo.Constants; import org.apache.fop.fo.FOTreeBuilder; @@ -41,20 +41,9 @@ * for samples (these are also available within the distribution in * FOP_DIR\examples\embedding) * <P> - * If necessary, calling classes can call into the lower level - * methods to setup and - * render. Methods within FOUserAgent can be called to set the - * Renderer to use, the (possibly multiple) ElementMapping(s) to - * use and the OutputStream to use to output the results of the - * rendering (where applicable). - * <P> - * Here is an example use of Driver which outputs to AWT: - * - * <PRE> - * Driver driver = new Driver(); - * driver.setRenderer(RENDER_AWT); - * driver.render(parser, fileInputSource(args[0])); - * </PRE> + * Methods within FOUserAgent are available to customize portions of the + * process. Specific Renderer object can be specified, also ElementMappings + * (which determine elements in the FO that can be processed) can be added. */ public class Driver implements Constants { @@ -74,27 +63,49 @@ private FOUserAgent foUserAgent = null; /** - * Main constructor for the Driver class. + * Constructor for use with already-created FOUserAgents + * @param renderType the type of renderer to use. Must be one of + * <ul> + * <li>Driver.RENDER_PDF</li> + * <li>Driver.RENDER_AWT</li> + * <li>Driver.RENDER_PRINT</li> + * <li>Driver.RENDER_MIF</li> + * <li>Driver.RENDER_XML</li> + * <li>Driver.RENDER_PCL</li> + * <li>Driver.RENDER_PS</li> + * <li>Driver.RENDER_TXT</li> + * <li>Driver.RENDER_SVG</li> + * <li>Driver.RENDER_RTF</li> + * </ul> + * @param ua FOUserAgent object + * @throws IllegalArgumentException if an unsupported renderer type was requested. */ - public Driver() { - foUserAgent = new FOUserAgent(); - } + public Driver(int renderType, FOUserAgent ua) { + if (renderType == Constants.NOT_SET) { + throw new IllegalArgumentException( + "Desired render type not set."); + } + + if (renderType < Constants.RENDER_MIN_CONST + || renderType > Constants.RENDER_MAX_CONST) { + throw new IllegalArgumentException( + "Invalid render type #" + renderType); + } + + this.renderType = renderType; - /** - * Constructor with FOUserAgent - * Used by CLI, AWTRenderer - */ - public Driver(FOUserAgent ua) { foUserAgent = ua; + if (foUserAgent == null) { + foUserAgent = new FOUserAgent(); + } } /** - * Optionally sets the FOUserAgent instance for FOP to use. The Driver - * class sets up its own FOUserAgent if none is set through this method. - * @param agent FOUserAgent to use + * Constructor that creates a default FOUserAgent + * @see org.apache.fop.apps.Driver#(int, FOUserAgent) */ - public void setUserAgent(FOUserAgent agent) throws FOPException { - foUserAgent = agent; + public Driver(int renderType) { + this(renderType, new FOUserAgent()); } /** @@ -112,33 +123,6 @@ */ public void setOutputStream(OutputStream stream) { this.stream = stream; - } - - /** - * Method to set the rendering type desired. Must be one of - * <ul> - * <li>Driver.RENDER_PDF</li> - * <li>Driver.RENDER_AWT</li> - * <li>Driver.RENDER_PRINT</li> - * <li>Driver.RENDER_MIF</li> - * <li>Driver.RENDER_XML</li> - * <li>Driver.RENDER_PCL</li> - * <li>Driver.RENDER_PS</li> - * <li>Driver.RENDER_TXT</li> - * <li>Driver.RENDER_SVG</li> - * <li>Driver.RENDER_RTF</li> - * </ul> - * @param renderType the type of renderer to use - * @throws IllegalArgumentException if an unsupported renderer type was requested. - */ - public void setRenderer(int renderType) throws IllegalArgumentException { - if (renderType < RENDER_MIN_CONST || renderType > RENDER_MAX_CONST) { - renderType = NOT_SET; - throw new IllegalArgumentException( - "Invalid render ID#" + renderType); - } - - this.renderType = renderType; } /** 1.17 +2 -3 xml-fop/src/java/org/apache/fop/apps/Fop.java Index: Fop.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/Fop.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- Fop.java 18 Jul 2004 00:50:08 -0000 1.16 +++ Fop.java 19 Jul 2004 05:33:34 -0000 1.17 @@ -44,8 +44,7 @@ options = new CommandLineOptions(args); foUserAgent = options.getFOUserAgent(); - Driver driver = new Driver(foUserAgent); - driver.setRenderer(options.getRenderer()); + Driver driver = new Driver(options.getRenderer(), foUserAgent); try { if (options.getOutputFile() != null) { 1.40 +8 -2 xml-fop/src/java/org/apache/fop/fo/FOTreeBuilder.java Index: FOTreeBuilder.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FOTreeBuilder.java,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- FOTreeBuilder.java 18 Jul 2004 19:51:40 -0000 1.39 +++ FOTreeBuilder.java 19 Jul 2004 05:33:34 -0000 1.40 @@ -91,7 +91,7 @@ /** * FOTreeBuilder constructor - * @param render type as defined in Constants class + * @param renderType output type as defined in Constants class * @param foUserAgent in effect for this process * @param stream OutputStream to direct results */ @@ -113,7 +113,13 @@ } else { if (renderType == Constants.NOT_SET) { throw new IllegalStateException( - "Render must be set using setRender(int renderType)"); + "Desired render type not set."); + } + + if (renderType < Constants.RENDER_MIN_CONST + || renderType > Constants.RENDER_MAX_CONST) { + throw new IllegalArgumentException( + "Invalid render ID#" + renderType); } foInputHandler = new AreaTreeHandler(foUserAgent, renderType, 1.5 +2 -3 xml-fop/src/java/org/apache/fop/render/awt/viewer/PreviewDialog.java Index: PreviewDialog.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/awt/viewer/PreviewDialog.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- PreviewDialog.java 18 Jul 2004 00:50:08 -0000 1.4 +++ PreviewDialog.java 19 Jul 2004 05:33:34 -0000 1.5 @@ -385,8 +385,7 @@ private class Reloader extends Thread { public void run() { if (driver == null) { - driver = new Driver(foUserAgent); - driver.setRenderer(Constants.RENDER_AWT); + driver = new Driver(Constants.RENDER_AWT, foUserAgent); } pageLabel.setIcon(null); 1.16 +2 -4 xml-fop/src/java/org/apache/fop/servlet/FopPrintServlet.java Index: FopPrintServlet.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/servlet/FopPrintServlet.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- FopPrintServlet.java 14 Jul 2004 23:01:56 -0000 1.15 +++ FopPrintServlet.java 19 Jul 2004 05:33:34 -0000 1.16 @@ -138,8 +138,7 @@ public void renderFO(InputStream foFile, HttpServletResponse response) throws ServletException { try { - Driver driver = new Driver(); - driver.setRenderer(Driver.RENDER_PRINT); + Driver driver = new Driver(Driver.RENDER_PRINT); // Setup JAXP TransformerFactory factory = TransformerFactory.newInstance(); @@ -170,8 +169,7 @@ public void renderXML(File xmlfile, File xsltfile, HttpServletResponse response) throws ServletException { try { - Driver driver = new Driver(); - driver.setRenderer(Driver.RENDER_PRINT); + Driver driver = new Driver(Driver.RENDER_PRINT); // Setup XSLT TransformerFactory factory = TransformerFactory.newInstance(); 1.9 +1 -2 xml-fop/src/java/org/apache/fop/servlet/FopServlet.java Index: FopServlet.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/servlet/FopServlet.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- FopServlet.java 9 Jul 2004 01:48:58 -0000 1.8 +++ FopServlet.java 19 Jul 2004 05:33:34 -0000 1.9 @@ -201,8 +201,7 @@ throws FOPException, TransformerException { //Setup FOP - Driver driver = new Driver(); - driver.setRenderer(Driver.RENDER_PDF); + Driver driver = new Driver(Driver.RENDER_PDF); //Setup output ByteArrayOutputStream out = new ByteArrayOutputStream(); 1.17 +9 -15 xml-fop/src/java/org/apache/fop/tools/TestConverter.java Index: TestConverter.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/tools/TestConverter.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- TestConverter.java 18 Jul 2004 00:50:08 -0000 1.16 +++ TestConverter.java 19 Jul 2004 05:33:34 -0000 1.17 @@ -55,7 +55,7 @@ public class TestConverter { private boolean failOnly = false; - private boolean outputPDF = false; + private int renderType = Driver.RENDER_XML; private File destdir; private File compare = null; private String baseDir = "./"; @@ -106,7 +106,7 @@ if (args[count].equals("-failOnly")) { tc.setFailOnly(true); } else if (args[count].equals("-pdf")) { - tc.setOutputPDF(true); + tc.setRenderType(Driver.RENDER_PDF); } else if (args[count].equals("-d")) { tc.setDebug(true); } else if (args[count].equals("-b")) { @@ -134,11 +134,11 @@ } /** - * Controls whether to generate PDF or XML. - * @param pdf If True, PDF is generated, Area Tree XML otherwise. + * Controls output type to generate + * @param renderType fo.Constants output constant (RENDER_PDF, RENDER_XML, etc.) */ - public void setOutputPDF(boolean pdf) { - outputPDF = pdf; + public void setRenderType(int renderType) { + this.renderType = renderType; } /** @@ -305,15 +305,9 @@ + xsl)); } - Driver driver = new Driver(); FOUserAgent userAgent = new FOUserAgent(); userAgent.setBaseURL(baseURL); - driver.setUserAgent(userAgent); - if (outputPDF) { - driver.setRenderer(Driver.RENDER_PDF); - } else { - driver.setRenderer(Driver.RENDER_XML); - } + Driver driver = new Driver(renderType, userAgent); userAgent.getRendererOptions().put("fineDetail", new Boolean(false)); userAgent.getRendererOptions().put("consistentOutput", new Boolean(true)); @@ -323,8 +317,8 @@ if (outname.endsWith(".xml") || outname.endsWith(".pdf")) { outname = outname.substring(0, outname.length() - 4); } - File outputFile = new File(destdir, - outname + (outputPDF ? ".pdf" : ".at.xml")); + File outputFile = new File(destdir, // assuming only RENDER_PDF or RENDER_XML here + outname + ((renderType==Driver.RENDER_PDF) ? ".pdf" : ".at.xml")); outputFile.getParentFile().mkdirs(); OutputStream outStream = new java.io.BufferedOutputStream( 1.16 +1 -3 xml-fop/src/java/org/apache/fop/tools/anttasks/Fop.java Index: Fop.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/tools/anttasks/Fop.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- Fop.java 20 Jun 2004 12:35:17 -0000 1.15 +++ Fop.java 19 Jul 2004 05:33:34 -0000 1.16 @@ -531,11 +531,9 @@ } try { - Driver driver = new Driver(); FOUserAgent userAgent = new FOUserAgent(); userAgent.setBaseURL(this.baseURL); - driver.setUserAgent(userAgent); - driver.setRenderer(renderer); + Driver driver = new Driver(renderer, userAgent); driver.setOutputStream(out); driver.render(inputHandler); } catch (Exception ex) { 1.9 +7 -13 xml-fop/test/java/org/apache/fop/BasicDriverTestCase.java Index: BasicDriverTestCase.java =================================================================== RCS file: /home/cvs/xml-fop/test/java/org/apache/fop/BasicDriverTestCase.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- BasicDriverTestCase.java 14 Jul 2004 23:01:56 -0000 1.8 +++ BasicDriverTestCase.java 19 Jul 2004 05:33:35 -0000 1.9 @@ -71,9 +71,8 @@ public void testFO2PDFWithDOM() throws Exception { File foFile = new File(getBaseDir(), "test/xml/bugtests/block.fo"); ByteArrayOutputStream baout = new ByteArrayOutputStream(); - Driver driver = new Driver(); + Driver driver = new Driver(Driver.RENDER_PDF); driver.setOutputStream(baout); - driver.setRenderer(Driver.RENDER_PDF); TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = factory.newTransformer(); //Identity transf. @@ -91,10 +90,9 @@ public void testFO2PDFWithXMLReader() throws Exception { File foFile = new File(getBaseDir(), "test/xml/bugtests/block.fo"); ByteArrayOutputStream baout = new ByteArrayOutputStream(); - Driver driver = new Driver(); + Driver driver = new Driver(Driver.RENDER_PDF); driver.setOutputStream(baout); - driver.setRenderer(Driver.RENDER_PDF); SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setNamespaceAware(true); factory.setValidating(false); @@ -111,9 +109,8 @@ public void testFO2PDFWithJAXP() throws Exception { File foFile = new File(getBaseDir(), "test/xml/bugtests/block.fo"); ByteArrayOutputStream baout = new ByteArrayOutputStream(); - Driver driver = new Driver(); + Driver driver = new Driver(Driver.RENDER_PDF); driver.setOutputStream(baout); - driver.setRenderer(Driver.RENDER_PDF); TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = factory.newTransformer(); //Identity transf. @@ -131,9 +128,8 @@ public void testFO2PSWithJAXP() throws Exception { File foFile = new File(getBaseDir(), "test/xml/bugtests/block.fo"); ByteArrayOutputStream baout = new ByteArrayOutputStream(); - Driver driver = new Driver(); + Driver driver = new Driver(Driver.RENDER_PS); driver.setOutputStream(baout); - driver.setRenderer(Driver.RENDER_PS); TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = factory.newTransformer(); //Identity transf. @@ -151,9 +147,8 @@ public void testFO2RTFWithJAXP() throws Exception { File foFile = new File(getBaseDir(), "test/xml/bugtests/block.fo"); ByteArrayOutputStream baout = new ByteArrayOutputStream(); - Driver driver = new Driver(); + Driver driver = new Driver(Driver.RENDER_RTF); driver.setOutputStream(baout); - driver.setRenderer(Driver.RENDER_RTF); TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = factory.newTransformer(); //Identity transf. @@ -172,9 +167,8 @@ File xmlFile = new File(getBaseDir(), "test/xml/1.xml"); File xsltFile = new File(getBaseDir(), "test/xsl/doc.xsl"); ByteArrayOutputStream baout = new ByteArrayOutputStream(); - Driver driver = new Driver(); + Driver driver = new Driver(Driver.RENDER_PDF); driver.setOutputStream(baout); - driver.setRenderer(Driver.RENDER_PDF); InputHandler handler = new XSLTInputHandler(xmlFile, xsltFile); driver.render(handler); 1.5 +2 -4 xml-fop/test/java/org/apache/fop/GenericFOPTestCase.java Index: GenericFOPTestCase.java =================================================================== RCS file: /home/cvs/xml-fop/test/java/org/apache/fop/GenericFOPTestCase.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- GenericFOPTestCase.java 26 Jun 2004 19:37:13 -0000 1.4 +++ GenericFOPTestCase.java 19 Jul 2004 05:33:35 -0000 1.5 @@ -118,9 +118,7 @@ ByteArrayOutputStream outBytes = new ByteArrayOutputStream(); DigestOutputStream out = new DigestOutputStream(new ByteArrayOutputStream(), outDigest); - Driver driver = new Driver(); - driver.setUserAgent(foUserAgent); - driver.setRenderer(Driver.RENDER_PDF); + Driver driver = new Driver(Driver.RENDER_PDF, foUserAgent); driver.setOutputStream(out); InputSource source = new InputSource(new StringReader(fo)); DigestFilter filter = new DigestFilter("MD5");
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]