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]

Reply via email to