gmazza 2003/07/27 13:16:03 Modified: src/java/org/apache/fop/apps CommandLineOptions.java CommandLineStarter.java Driver.java src/java/org/apache/fop/render/awt AWTPrintRenderer.java Removed: src/java/org/apache/fop/apps PrintStarter.java Log: PrintStarter simplified and then obsoleted; PrinterJob object that the AWTPrintRenderer needs is now created within Driver. Revision Changes Path 1.8 +0 -9 xml-fop/src/java/org/apache/fop/apps/CommandLineOptions.java Index: CommandLineOptions.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/CommandLineOptions.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- CommandLineOptions.java 27 Jul 2003 16:37:13 -0000 1.7 +++ CommandLineOptions.java 27 Jul 2003 20:16:03 -0000 1.8 @@ -525,15 +525,6 @@ throw new FOPException("AWTStarter could not be loaded.", e); } break; - case PRINT_OUTPUT: - try { - starter = new PrintStarter(this); - } catch (FOPException e) { - throw e; - } catch (Exception e) { - throw new FOPException("PrintStarter could not be loaded.", e); - } - break; default: starter = new CommandLineStarter(this); } 1.5 +11 -4 xml-fop/src/java/org/apache/fop/apps/CommandLineStarter.java Index: CommandLineStarter.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/CommandLineStarter.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- CommandLineStarter.java 27 Jul 2003 16:37:13 -0000 1.4 +++ CommandLineStarter.java 27 Jul 2003 20:16:03 -0000 1.5 @@ -81,6 +81,7 @@ * @exception FOPException if there is an error during processing */ public void run() throws FOPException { + BufferedOutputStream bos = null; String version = Version.getVersion(); getLogger().info(version); Driver driver = new Driver(); @@ -88,17 +89,23 @@ try { driver.setRenderer(commandLineOptions.getRenderer()); - BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream( - commandLineOptions.getOutputFile())); + try { - driver.setOutputStream(bos); + if (commandLineOptions.getOutputFile() != null) { + bos = new BufferedOutputStream(new FileOutputStream( + commandLineOptions.getOutputFile())); + driver.setOutputStream(bos); + } + if (driver.getRenderer() != null) { driver.getRenderer().setOptions( commandLineOptions.getRendererOptions()); } driver.render(inputHandler); } finally { - bos.close(); + if (bos != null) { + bos.close(); + } } System.exit(0); } catch (Exception e) { 1.11 +21 -3 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.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- Driver.java 27 Jul 2003 16:37:13 -0000 1.10 +++ Driver.java 27 Jul 2003 20:16:03 -0000 1.11 @@ -50,6 +50,9 @@ */ package org.apache.fop.apps; +// Java +import java.awt.print.PrinterJob; + // FOP import org.apache.fop.fo.ElementMapping; import org.apache.fop.fo.FOTreeBuilder; @@ -58,6 +61,7 @@ import org.apache.fop.layoutmgr.LayoutHandler; import org.apache.fop.mif.MIFHandler; import org.apache.fop.render.Renderer; +import org.apache.fop.render.awt.AWTPrintRenderer; import org.apache.fop.rtf.renderer.RTFHandler; import org.apache.fop.tools.DocumentInputSource; import org.apache.fop.tools.DocumentReader; @@ -407,7 +411,17 @@ case RENDER_AWT: throw new IllegalArgumentException("Use renderer form of setRenderer() for AWT"); case RENDER_PRINT: - throw new IllegalArgumentException("Use renderer form of setRenderer() for PRINT"); + // a PrinterJob object is needed to create this renderer + PrinterJob pj = PrinterJob.getPrinterJob(); + int copies = AWTPrintRenderer.getIntProperty("copies", 1); + pj.setCopies(copies); + if (System.getProperty("dialog") != null) { + if (!pj.printDialog()) { + throw new IllegalArgumentException("Printing cancelled by operator"); + } + } + setRenderer(new AWTPrintRenderer(pj)); + break; case RENDER_PCL: setRenderer("org.apache.fop.render.pcl.PCLRenderer"); break; @@ -439,6 +453,7 @@ * @param renderer the renderer instance to use (Note: Logger must be set at this point) */ public void setRenderer(Renderer renderer) { + renderer.setProducer(Version.getVersion()); renderer.setUserAgent(getUserAgent()); this.renderer = renderer; } @@ -528,8 +543,11 @@ if (!isInitialized()) { initialize(); } - validateOutputStream(); - + + if (rendererType != RENDER_PRINT && rendererType != RENDER_AWT) { + validateOutputStream(); + } + // TODO: - do this stuff in a better way // PIJ: I guess the structure handler should be created by the renderer. if (rendererType == RENDER_MIF) { 1.2 +2 -2 xml-fop/src/java/org/apache/fop/render/awt/AWTPrintRenderer.java Index: AWTPrintRenderer.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/awt/AWTPrintRenderer.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- AWTPrintRenderer.java 10 Jul 2003 23:49:55 -0000 1.1 +++ AWTPrintRenderer.java 27 Jul 2003 20:16:03 -0000 1.2 @@ -102,7 +102,7 @@ } } - private int getIntProperty(String name, int def) { + public static int getIntProperty(String name, int def) { String propValue = System.getProperty(name); if (propValue != null) { try {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]