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]