gmazza 2003/07/27 09:37:14 Modified: src/java/org/apache/fop/apps AWTStarter.java CommandLineOptions.java CommandLineStarter.java Driver.java InputHandler.java PrintStarter.java Starter.java src/java/org/apache/fop/tools TestConverter.java src/java/org/apache/fop/tools/anttasks Fop.java Log: Created a new overloaded method Driver.render(InputHandler), simplifies internal calls to the Driver class by centralizing parser initialization and InputSource extraction. Revision Changes Path 1.5 +1 -10 xml-fop/src/java/org/apache/fop/apps/AWTStarter.java Index: AWTStarter.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/AWTStarter.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- AWTStarter.java 17 Jun 2003 16:35:57 -0000 1.4 +++ AWTStarter.java 27 Jul 2003 16:37:13 -0000 1.5 @@ -62,9 +62,6 @@ import java.awt.event.WindowEvent; import java.util.Locale; -// SAX -import org.xml.sax.XMLReader; - /** * AWT Viewer starter. * Originally contributed by: @@ -77,7 +74,6 @@ private PreviewDialog frame; private Translator translator; private Driver driver; - private XMLReader parser; /** * Construct an AWTStarter @@ -103,11 +99,6 @@ renderer.setComponent(frame); driver = new Driver(); driver.setRenderer(renderer); - parser = inputHandler.getParser(); - if (parser == null) { - throw new FOPException("Unable to create SAX parser"); - } - setParserFeatures(parser); } /** @@ -118,7 +109,7 @@ driver.reset(); try { frame.setStatus(translator.getString("Status.Build.FO.tree")); - driver.render(parser, inputHandler.getInputSource()); + driver.render(inputHandler); frame.setStatus(translator.getString("Status.Show")); frame.showPage(); } catch (Exception e) { 1.7 +1 -1 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.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- CommandLineOptions.java 5 Jul 2003 09:26:54 -0000 1.6 +++ CommandLineOptions.java 27 Jul 2003 16:37:13 -0000 1.7 @@ -678,7 +678,7 @@ + " see options with \"-print help\" \n\n" + " [Examples]\n" + " Fop foo.fo foo.pdf \n" + " Fop -fo foo.fo -pdf foo.pdf (does the same as the previous line)\n" - + " Fop -xsl foo.xsl -xml foo.xml -pdf foo.pdf\n" + + " Fop -xml foo.xml -xsl foo.xsl -pdf foo.pdf\n" + " Fop foo.fo -mif foo.mif\n" + " Fop foo.fo -rtf foo.rtf\n" + " Fop foo.fo -print or Fop -print foo.fo \n" 1.4 +1 -10 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.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- CommandLineStarter.java 17 Jun 2003 16:35:57 -0000 1.3 +++ CommandLineStarter.java 27 Jul 2003 16:37:13 -0000 1.4 @@ -50,9 +50,6 @@ */ package org.apache.fop.apps; -// SAX -import org.xml.sax.XMLReader; - // Java import java.io.BufferedOutputStream; import java.io.FileOutputStream; @@ -85,15 +82,9 @@ */ public void run() throws FOPException { String version = Version.getVersion(); - getLogger().info(version); - - XMLReader parser = inputHandler.getParser(); - setParserFeatures(parser); - Driver driver = new Driver(); setupLogger(driver); - driver.initialize(); try { driver.setRenderer(commandLineOptions.getRenderer()); @@ -105,7 +96,7 @@ driver.getRenderer().setOptions( commandLineOptions.getRendererOptions()); } - driver.render(parser, inputHandler.getInputSource()); + driver.render(inputHandler); } finally { bos.close(); } 1.10 +13 -0 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.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- Driver.java 5 Jul 2003 09:28:34 -0000 1.9 +++ Driver.java 27 Jul 2003 16:37:13 -0000 1.10 @@ -553,6 +553,19 @@ } /** + * Render the FO document read by a SAX Parser from an InputHandler + * @param InputHandler the input handler containing the source and + * parser information. + * @throws FOPException if anything goes wrong. + */ + public synchronized void render(InputHandler inputHandler) + throws FOPException { + XMLReader parser = inputHandler.getParser(); + inputHandler.setParserFeatures(parser); + render(parser, inputHandler.getInputSource()); + } + + /** * Render the FO document read by a SAX Parser from an InputSource. * @param parser the SAX parser. * @param source the input source the parser reads from. 1.5 +17 -1 xml-fop/src/java/org/apache/fop/apps/InputHandler.java Index: InputHandler.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/InputHandler.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- InputHandler.java 17 Jun 2003 16:35:57 -0000 1.4 +++ InputHandler.java 27 Jul 2003 16:37:13 -0000 1.5 @@ -136,6 +136,22 @@ * @throws FOPException if processing this InputHandler fails */ public abstract void run(Driver driver) throws FOPException; - + + /** + * Sets the parser features on an XMLReader + * @param parser XMLReader to set features on + * @throws FOPException if the XMLReader doesn't support the feature that + * need to be set + */ + public static void setParserFeatures(XMLReader parser) throws FOPException { + try { + parser.setFeature("http://xml.org/sax/features/namespace-prefixes", + true); + } catch (SAXException e) { + throw new FOPException("Error: You need a parser which allows the" + + " http://xml.org/sax/features/namespace-prefixes" + + " feature to be set to true to support namespaces", e); + } + } } 1.6 +1 -9 xml-fop/src/java/org/apache/fop/apps/PrintStarter.java Index: PrintStarter.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/PrintStarter.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- PrintStarter.java 17 Jul 2003 17:51:57 -0000 1.5 +++ PrintStarter.java 27 Jul 2003 16:37:13 -0000 1.6 @@ -59,7 +59,6 @@ * (apparently) redundant copies code, generally cleaned up, and * added interfaces to the new Render API. */ -import org.xml.sax.XMLReader; import java.awt.print.PrinterJob; import org.apache.fop.render.awt.AWTPrintRenderer; @@ -88,13 +87,6 @@ public void run() throws FOPException { Driver driver = new Driver(); - String version = Version.getVersion(); - //log.debug(version); - - XMLReader parser = inputHandler.getParser(); - - setParserFeatures(parser); - PrinterJob pj = PrinterJob.getPrinterJob(); if (System.getProperty("dialog") != null) { if (!pj.printDialog()) { @@ -110,7 +102,7 @@ try { driver.setRenderer(renderer); - driver.render(parser, inputHandler.getInputSource()); + driver.render(inputHandler); } catch (Exception e) { if (e instanceof FOPException) { throw (FOPException)e; 1.2 +0 -21 xml-fop/src/java/org/apache/fop/apps/Starter.java Index: Starter.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/Starter.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Starter.java 11 Mar 2003 13:05:28 -0000 1.1 +++ Starter.java 27 Jul 2003 16:37:13 -0000 1.2 @@ -53,10 +53,6 @@ // Avalon import org.apache.avalon.framework.logger.AbstractLogEnabled; -// SAX -import org.xml.sax.XMLReader; -import org.xml.sax.SAXException; - /** * Abstract super class. * Creates a SAX Parser (defaulting to Xerces). @@ -86,22 +82,5 @@ * @throws FOPException In case of a problem during the FOP run */ public abstract void run() throws FOPException; - - /** - * Sets the parser features on an XMLReader - * @param parser XMLReader to set features on - * @throws FOPException if the XMLReader doesn't support the feature that - * need to be set - */ - public void setParserFeatures(XMLReader parser) throws FOPException { - try { - parser.setFeature("http://xml.org/sax/features/namespace-prefixes", - true); - } catch (SAXException e) { - throw new FOPException("Error: You need a parser which allows the" - + " http://xml.org/sax/features/namespace-prefixes" - + " feature to be set to true to support namespaces", e); - } - } } 1.4 +1 -17 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.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- TestConverter.java 17 Jun 2003 16:35:58 -0000 1.3 +++ TestConverter.java 27 Jul 2003 16:37:13 -0000 1.4 @@ -70,8 +70,6 @@ import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; -import org.xml.sax.XMLReader; -import org.xml.sax.SAXException; /** * TestConverter is used to process a set of tests specified in @@ -287,12 +285,8 @@ + xsl)); } - XMLReader parser = inputHandler.getParser(); - setParserFeatures(parser); - Driver driver = new Driver(); setupLogger(driver, "fop"); - driver.initialize(); FOUserAgent userAgent = new FOUserAgent(); userAgent.setBaseURL(baseURL); driver.setUserAgent(userAgent); @@ -316,7 +310,7 @@ new java.io.FileOutputStream(new File(destdir, outname + (outputPDF ? ".pdf" : ".at.xml"))))); getLogger().debug("ddir:" + destdir + " on:" + outname + ".pdf"); - driver.render(parser, inputHandler.getInputSource()); + driver.render(inputHandler); // check difference if (compare != null) { @@ -360,16 +354,6 @@ } return false; - } - - private void setParserFeatures(XMLReader parser) throws FOPException { - try { - parser.setFeature("http://xml.org/sax/features/namespace-prefixes", - true); - } catch (SAXException e) { - throw new FOPException("Error in setting up parser feature namespace-prefixes\n" - + "You need a parser which supports SAX version 2", e); - } } private Node locateResult(Node testcase, String id) { 1.5 +1 -7 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.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- Fop.java 17 Jun 2003 16:35:58 -0000 1.4 +++ Fop.java 27 Jul 2003 16:37:14 -0000 1.5 @@ -58,9 +58,6 @@ import org.apache.tools.ant.types.FileSet; import org.apache.tools.ant.util.GlobPatternMapper; -// SAX -import org.xml.sax.XMLReader; - // Java import java.io.File; import java.io.IOException; @@ -463,8 +460,6 @@ private void render(File foFile, File outFile, int renderer) throws FOPException { InputHandler inputHandler = new FOInputHandler(foFile); - XMLReader parser = inputHandler.getParser(); - setParserFeatures(parser); OutputStream out = null; try { @@ -480,14 +475,13 @@ try { Driver driver = new Driver(); setupLogger(driver); - driver.initialize(); FOUserAgent userAgent = new FOUserAgent(); userAgent.setBaseURL(this.baseURL); userAgent.enableLogging(getLogger()); driver.setUserAgent(userAgent); driver.setRenderer(renderer); driver.setOutputStream(out); - driver.render(parser, inputHandler.getInputSource()); + driver.render(inputHandler); } catch (Exception ex) { throw new BuildException(ex); } finally {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]