aboutsummaryrefslogtreecommitdiffstats
path: root/src/org/apache/fop/apps/CommandLineStarter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/apache/fop/apps/CommandLineStarter.java')
-rw-r--r--src/org/apache/fop/apps/CommandLineStarter.java68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/org/apache/fop/apps/CommandLineStarter.java b/src/org/apache/fop/apps/CommandLineStarter.java
new file mode 100644
index 000000000..fe8cddec6
--- /dev/null
+++ b/src/org/apache/fop/apps/CommandLineStarter.java
@@ -0,0 +1,68 @@
+package org.apache.fop.apps;
+
+// SAX
+import org.xml.sax.XMLReader;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+
+// Java
+import java.io.*;
+import java.net.URL;
+
+
+// FOP
+import org.apache.fop.messaging.MessageHandler;
+import org.apache.fop.configuration.Configuration;
+
+/**
+ * super class for all classes which start Fop from the commandline
+ */
+
+public class CommandLineStarter extends Starter {
+
+ CommandLineOptions commandLineOptions;
+ boolean errorDump;
+
+ public CommandLineStarter (CommandLineOptions commandLineOptions) {
+ this.commandLineOptions = commandLineOptions;
+ options.setCommandLineOptions(commandLineOptions);
+ errorDump = Configuration.getBooleanValue("debugMode").booleanValue();
+ super.setInputHandler(commandLineOptions.getInputHandler());
+ }
+
+ public void run() {
+ String version = Version.getVersion();
+ MessageHandler.logln(version);
+
+ XMLReader parser = inputHandler.getParser();
+ setParserFeatures(parser,errorDump);
+
+ Driver driver = new Driver();
+ if (errorDump) {
+ driver.setErrorDump(true);
+ }
+
+ try {
+ driver.setRenderer(commandLineOptions.getRenderer(), "");
+ driver.addElementMapping("org.apache.fop.fo.StandardElementMapping");
+ driver.addElementMapping("org.apache.fop.svg.SVGElementMapping");
+ driver.addElementMapping("org.apache.fop.extensions.ExtensionElementMapping");
+ driver.addPropertyList("org.apache.fop.fo.StandardPropertyListMapping");
+ driver.addPropertyList("org.apache.fop.svg.SVGPropertyListMapping");
+ driver.addPropertyList("org.apache.fop.extensions.ExtensionPropertyListMapping");
+ driver.buildFOTree(parser,inputHandler.getInputSource());
+ driver.format();
+ driver.setOutputStream(new FileOutputStream(commandLineOptions.getOutputFile()));
+ driver.render();
+ } catch (Exception e) {
+ MessageHandler.errorln("FATAL ERROR: " + e.getMessage());
+ if (errorDump) {
+ e.printStackTrace();
+ }
+ System.exit(1);
+ }
+ }
+
+}
+