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]

Reply via email to