You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by gm...@apache.org on 2003/08/02 03:15:20 UTC

cvs commit: xml-fop/src/java/org/apache/fop/apps Driver.java FOInputHandler.java InputHandler.java XSLTInputHandler.java

gmazza      2003/08/01 18:15:20

  Modified:    src/java/org/apache/fop/apps Driver.java FOInputHandler.java
                        InputHandler.java XSLTInputHandler.java
  Log:
  1.  Moved the XMLReader createParser() functionality from abstract class InputHandler to FOInputHandler.
  2.  Added the setting of the "namespace-prefix" SAX option directly into createParser(), and removed function setParserFeatures (where it was previously being set).
  3.  Removed the duplicate XMLReader creation code in Driver.run(), it now uses FOTreeBuilder.createParser().
  
  Revision  Changes    Path
  1.14      +2 -11     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.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- Driver.java	29 Jul 2003 19:08:22 -0000	1.13
  +++ Driver.java	2 Aug 2003 01:15:20 -0000	1.14
  @@ -579,7 +579,6 @@
       public synchronized void render(InputHandler inputHandler)
                   throws FOPException {
           XMLReader parser = inputHandler.getParser();
  -        inputHandler.setParserFeatures(parser);
           render(parser, inputHandler.getInputSource());
       }
   
  @@ -660,15 +659,8 @@
   
           if (reader == null) {
               if (!(source instanceof DocumentInputSource)) {
  -                try {
  -                    SAXParserFactory spf = javax.xml.parsers.SAXParserFactory.newInstance();
  -                    spf.setNamespaceAware(true);
  -                    reader = spf.newSAXParser().getXMLReader();
  -                } catch (SAXException e) {
  -                    throw new FOPException(e);
  -                } catch (ParserConfigurationException e) {
  -                    throw new FOPException(e);
  -                }
  +                //TODO: (gm) rename to FOFileHandler or similar
  +                reader = org.apache.fop.apps.FOInputHandler.createParser();
               }
           }
   
  @@ -678,6 +670,5 @@
               render(reader, source);
           }
       }
  -
   }
   
  
  
  
  1.5       +29 -1     xml-fop/src/java/org/apache/fop/apps/FOInputHandler.java
  
  Index: FOInputHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/FOInputHandler.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- FOInputHandler.java	17 Jun 2003 16:35:57 -0000	1.4
  +++ FOInputHandler.java	2 Aug 2003 01:15:20 -0000	1.5
  @@ -53,11 +53,16 @@
   // Imported SAX classes
   import org.xml.sax.InputSource;
   import org.xml.sax.XMLReader;
  +import org.xml.sax.SAXException;
  +import org.xml.sax.SAXNotSupportedException;
   
   // java
  +import javax.xml.parsers.SAXParserFactory;
  +import javax.xml.parsers.ParserConfigurationException;
   import java.io.File;
   import java.net.URL;
   
  +
   /**
    * Manages input if it is an XSL-FO file.
    */
  @@ -97,7 +102,7 @@
        * @see org.apache.fop.apps.InputHandler#getParser()
        */
       public XMLReader getParser() throws FOPException {
  -        return super.createParser();
  +        return createParser();
       }
   
       /**
  @@ -107,6 +112,29 @@
           throw new FOPException("not implemented: FOInputHandler.run(Driver)");
       }
   
  +    /**
  +     * Creates <code>XMLReader</code> object using default
  +     * <code>SAXParserFactory</code>
  +     * @return the created <code>XMLReader</code>
  +     * @throws FOPException if the parser couldn't be created or configured for proper operation.
  +     */
  +    protected static XMLReader createParser() throws FOPException {
  +        try {
  +            SAXParserFactory factory = SAXParserFactory.newInstance();
  +            factory.setNamespaceAware(true);
  +            factory.setFeature(
  +                "http://xml.org/sax/features/namespace-prefixes", true);
  +            return factory.newSAXParser().getXMLReader();
  +        } catch (SAXNotSupportedException se) {
  +            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", se);
  +        } catch (SAXException se) {
  +            throw new FOPException("Couldn't create XMLReader", se);
  +        } catch (ParserConfigurationException pce) {
  +            throw new FOPException("Couldn't create XMLReader", pce);
  +        }
  +    }
   
   }
   
  
  
  
  1.6       +0 -35     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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- InputHandler.java	27 Jul 2003 16:37:13 -0000	1.5
  +++ InputHandler.java	2 Aug 2003 01:15:20 -0000	1.6
  @@ -111,24 +111,6 @@
               throw new Error("unexpected MalformedURLException");
           }
       }
  -
  -    /**
  -     * Creates <code>XMLReader</code> object using default
  -     * <code>SAXParserFactory</code>
  -     * @return the created <code>XMLReader</code>
  -     * @throws FOPException if the parser couldn't be created or configured for proper operation.
  -     */
  -    protected static XMLReader createParser() throws FOPException {
  -        try {
  -            SAXParserFactory factory = SAXParserFactory.newInstance();
  -            factory.setNamespaceAware(true);
  -            return factory.newSAXParser().getXMLReader();
  -        } catch (SAXException se) {
  -            throw new FOPException("Coudn't create XMLReader", se);
  -        } catch (ParserConfigurationException pce) {
  -            throw new FOPException("Coudn't create XMLReader", pce);
  -        }
  -    }
       
       /**
        * Runs this InputHandler through the Driver.
  @@ -136,22 +118,5 @@
        * @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.7       +1 -1      xml-fop/src/java/org/apache/fop/apps/XSLTInputHandler.java
  
  Index: XSLTInputHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/XSLTInputHandler.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XSLTInputHandler.java	31 Jul 2003 05:14:29 -0000	1.6
  +++ XSLTInputHandler.java	2 Aug 2003 01:15:20 -0000	1.7
  @@ -170,7 +170,7 @@
                       saxTFactory.newXMLFilter(xsltSource);
   
                   // Create an XMLReader.
  -                XMLReader parser = createParser();
  +                XMLReader parser = FOInputHandler.createParser();
                   if (parser == null) {
                       throw new FOPException("Unable to create SAX parser");
                   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org