gmazza      2004/07/17 17:50:08

  Modified:    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 AWTRenderer.java
               src/java/org/apache/fop/render/awt/viewer PreviewDialog.java
               src/java/org/apache/fop/tools TestConverter.java
  Log:
  1. New constructor for Driver created, takes FOUserAgent constructor.
  Used for both CLI and AWTRenderer.  (Thanks to Simon Pepping)
  2. Removed Driver(AWTRenderer) constructor.
  3. OutputStream validation moved to FOTreeBuilder.
  4. Driver.reset() removed, not currently serving a purpose.
  
  Revision  Changes    Path
  1.87      +6 -34     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.86
  retrieving revision 1.87
  diff -u -r1.86 -r1.87
  --- Driver.java       16 Jul 2004 05:10:32 -0000      1.86
  +++ Driver.java       18 Jul 2004 00:50:08 -0000      1.87
  @@ -31,7 +31,6 @@
   // FOP
   import org.apache.fop.fo.Constants;
   import org.apache.fop.fo.FOTreeBuilder;
  -import org.apache.fop.render.awt.AWTRenderer;
   
   /**
    * Primary class that drives the overall FOP process.
  @@ -48,10 +47,6 @@
    * use and the OutputStream to use to output the results of the
    * rendering (where applicable).
    * <P>
  - * Once the Driver is set up, the render method
  - * is called. The invocation of the method is 
  - * render(Parser, InputSource).
  - * <P>
    * Here is an example use of Driver which outputs to AWT:
    *
    * <PRE>
  @@ -70,7 +65,7 @@
       /**
        * the stream to use to output the results of the renderer
        */
  -    private OutputStream stream;
  +    private OutputStream stream = null;
   
       /**
        * The system resources that FOP will use
  @@ -82,17 +77,6 @@
        */
       public Driver() {
           foUserAgent = new FOUserAgent();
  -        stream = null;
  -    }
  -
  -    /**
  -     * Constructor for AWTRenderer, which reuses the
  -     * same renderer instance for document reloading
  -     */
  -    public Driver(AWTRenderer render) {
  -        this();
  -        renderType = RENDER_AWT;
  -        foUserAgent = render.getUserAgent();
       }
   
       /**
  @@ -105,12 +89,11 @@
       }
   
       /**
  -     * Resets the Driver so it can be reused. Property and element
  -     * mappings are reset to defaults.
  -     * The output stream is cleared. The renderer is cleared.
  +     * Constructor with FOUserAgent
  +     * Used by CLI, AWTRenderer
        */
  -    public synchronized void reset() {
  -        stream = null;
  +    public Driver(FOUserAgent ua) {
  +        foUserAgent = ua;
       }
   
       /**
  @@ -139,12 +122,6 @@
           this.stream = stream;
       }
   
  -    private void validateOutputStream() {
  -        if (this.stream == null) {
  -            throw new IllegalStateException("OutputStream has not been set");
  -        }
  -    }
  -
       /**
        * Method to set the rendering type desired. Must be one of
        * <ul>
  @@ -182,11 +159,6 @@
        * @throws FOPException if setting up the ContentHandler fails
        */
       public ContentHandler getContentHandler() throws FOPException {
  -
  -        if (renderType != RENDER_PRINT && renderType != RENDER_AWT) {
  -           validateOutputStream();
  -        }
  -
           return new FOTreeBuilder(renderType, foUserAgent, stream);
       }
   
  
  
  
  1.16      +3 -4      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.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- Fop.java  26 Jun 2004 19:37:13 -0000      1.15
  +++ Fop.java  18 Jul 2004 00:50:08 -0000      1.16
  @@ -41,11 +41,10 @@
           BufferedOutputStream bos = null;
   
           try {
  -            Driver driver = new Driver();
               options = new CommandLineOptions(args);
  -
               foUserAgent = options.getFOUserAgent();
  -            driver.setUserAgent(foUserAgent);
  +            
  +            Driver driver = new Driver(foUserAgent);
               driver.setRenderer(options.getRenderer());
   
               try {
  
  
  
  1.38      +9 -0      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.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- FOTreeBuilder.java        16 Jul 2004 05:10:32 -0000      1.37
  +++ FOTreeBuilder.java        18 Jul 2004 00:50:08 -0000      1.38
  @@ -96,6 +96,15 @@
        */
       public FOTreeBuilder(int renderType, FOUserAgent foUserAgent, 
           OutputStream stream) throws FOPException {
  +
  +        if (renderType != Constants.RENDER_PRINT && 
  +            renderType != Constants.RENDER_AWT) {
  +            if (stream == null) {
  +                throw new IllegalStateException(
  +                    "OutputStream has not been set");
  +            }
  +        }
  +            
           if (renderType == Constants.RENDER_MIF) {
               foInputHandler = new MIFHandler(foUserAgent, stream);
           } else if (renderType == Constants.RENDER_RTF) {
  
  
  
  1.29      +4 -3      xml-fop/src/java/org/apache/fop/render/awt/AWTRenderer.java
  
  Index: AWTRenderer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/awt/AWTRenderer.java,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- AWTRenderer.java  9 Jul 2004 20:05:41 -0000       1.28
  +++ AWTRenderer.java  18 Jul 2004 00:50:08 -0000      1.29
  @@ -106,7 +106,8 @@
   
       public void setUserAgent(FOUserAgent foUserAgent) {
           super.setUserAgent(foUserAgent);
  -        createPreviewDialog(foUserAgent.getInputHandler());
  +        userAgent.setRendererOverride(this); // for document regeneration
  +        createPreviewDialog();
       }
   
       public FOUserAgent getUserAgent() {
  @@ -180,8 +181,8 @@
           return 0;
       }
   
  -    private PreviewDialog createPreviewDialog(InputHandler handler) {
  -        frame = new PreviewDialog(this, handler);
  +    private PreviewDialog createPreviewDialog() {
  +        frame = new PreviewDialog(userAgent);
           frame.addWindowListener(new WindowAdapter() {
               public void windowClosed(WindowEvent we) {
                   System.exit(0);
  
  
  
  1.4       +12 -12    
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.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- PreviewDialog.java        26 Jun 2004 19:37:13 -0000      1.3
  +++ PreviewDialog.java        18 Jul 2004 00:50:08 -0000      1.4
  @@ -49,8 +49,9 @@
   
   //FOP
   import org.apache.fop.apps.Driver;
  -import org.apache.fop.apps.InputHandler;
  +import org.apache.fop.apps.FOUserAgent;
   import org.apache.fop.apps.FOPException;
  +import org.apache.fop.fo.Constants;
   import org.apache.fop.render.awt.AWTRenderer;
   
   /**
  @@ -66,8 +67,8 @@
       protected Translator translator;
       /** The AWT renderer */
       protected AWTRenderer renderer;
  -    /** The InputHandler associated with this window */
  -    protected InputHandler inputHandler;
  +    /** The FOUserAgent associated with this window */
  +    protected FOUserAgent foUserAgent;
       /** The Driver used for refreshing/reloading the view */
       protected Driver driver;
   
  @@ -83,9 +84,9 @@
        * Creates a new PreviewDialog that uses the given renderer.
        * @param aRenderer the to use renderer
        */
  -    public PreviewDialog(AWTRenderer aRenderer, InputHandler handler) {
  -        renderer = aRenderer;
  -        inputHandler = handler;
  +    public PreviewDialog(FOUserAgent foUserAgent) {
  +        renderer = (AWTRenderer) foUserAgent.getRendererOverride();
  +        this.foUserAgent = foUserAgent;
           translator = renderer.getTranslator();
   
           //Commands aka Actions
  @@ -219,7 +220,7 @@
               }
           });
           // inputHandler must be set to allow reloading
  -        if (inputHandler != null) {
  +        if (foUserAgent.getInputHandler() != null) {
               menu.add(new Command(translator.getString("Menu.Reload")) {
                   public void doit() {
                       reload();
  @@ -384,9 +385,8 @@
       private class Reloader extends Thread {
           public void run() {
               if (driver == null) {
  -                driver = new Driver(renderer);
  -            } else {
  -                driver.reset();
  +                driver = new Driver(foUserAgent);
  +                driver.setRenderer(Constants.RENDER_AWT);
               }
               
               pageLabel.setIcon(null);
  @@ -395,7 +395,7 @@
   
               try {
                   setStatus(translator.getString("Status.Build.FO.tree"));
  -                driver.render(inputHandler);
  +                driver.render(foUserAgent.getInputHandler());
                   setStatus(translator.getString("Status.Show"));
               } catch (FOPException e) {
                   reportException(e);
  
  
  
  1.16      +1 -1      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.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- TestConverter.java        23 Jun 2004 00:25:27 -0000      1.15
  +++ TestConverter.java        18 Jul 2004 00:50:08 -0000      1.16
  @@ -302,7 +302,7 @@
               } else {
                   inputHandler = new XSLTInputHandler(xmlFile,
                                                       new File(baseDir + "/"
  -                                                             + xsl), null);
  +                                                             + xsl));
               }
   
               Driver driver = new Driver();
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to