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]