aboutsummaryrefslogtreecommitdiffstats
path: root/src/java
diff options
context:
space:
mode:
authorGlen Mazza <gmazza@apache.org>2003-08-12 22:40:49 +0000
committerGlen Mazza <gmazza@apache.org>2003-08-12 22:40:49 +0000
commit8880ae5b8eb03e2363b1b66dc1f64ff0b08ce796 (patch)
treefa1a16b897fb135133e4db835f66e107d471440a /src/java
parentf2233a92423631c227cd6556a4caf0c229e63bde (diff)
downloadxmlgraphics-fop-8880ae5b8eb03e2363b1b66dc1f64ff0b08ce796.tar.gz
xmlgraphics-fop-8880ae5b8eb03e2363b1b66dc1f64ff0b08ce796.zip
1.) CommandLineStarter removed, its functionality placed directly into Fop.main().
Fop.main() now responsible for taking command-line input as provided from CommandLineOptions, and activating a Driver instance with that data. 2.) Minor cleanup of error messages in CommandLineOptions. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@196794 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java')
-rw-r--r--src/java/org/apache/fop/apps/CommandLineOptions.java10
-rw-r--r--src/java/org/apache/fop/apps/CommandLineStarter.java131
-rw-r--r--src/java/org/apache/fop/apps/Fop.java46
3 files changed, 44 insertions, 143 deletions
diff --git a/src/java/org/apache/fop/apps/CommandLineOptions.java b/src/java/org/apache/fop/apps/CommandLineOptions.java
index 646ba1022..d47a2aa6d 100644
--- a/src/java/org/apache/fop/apps/CommandLineOptions.java
+++ b/src/java/org/apache/fop/apps/CommandLineOptions.java
@@ -407,10 +407,10 @@ public class CommandLineOptions {
if (inputmode == XSLT_INPUT) {
// check whether xml *and* xslt file have been set
if (xmlfile == null) {
- throw new FOPException("XML file must be specified for the tranform mode");
+ throw new FOPException("XML file must be specified for the transform mode");
}
if (xsltfile == null) {
- throw new FOPException("XSLT file must be specified for the tranform mode");
+ throw new FOPException("XSLT file must be specified for the transform mode");
}
// warning if fofile has been set in xslt mode
@@ -424,12 +424,12 @@ public class CommandLineOptions {
+ fofile.getAbsolutePath());
}
if (!xmlfile.exists()) {
- throw new FileNotFoundException("xml file "
+ throw new FileNotFoundException("Error: xml file "
+ xmlfile.getAbsolutePath()
+ " not found ");
}
if (!xsltfile.exists()) {
- throw new FileNotFoundException("xsl file "
+ throw new FileNotFoundException("Error: xsl file "
+ xsltfile.getAbsolutePath()
+ " not found ");
}
@@ -441,7 +441,7 @@ public class CommandLineOptions {
log.error("xslt file: " + xsltfile.toString());
}
if (!fofile.exists()) {
- throw new FileNotFoundException("fo file "
+ throw new FileNotFoundException("Error: fo file "
+ fofile.getAbsolutePath()
+ " not found ");
}
diff --git a/src/java/org/apache/fop/apps/CommandLineStarter.java b/src/java/org/apache/fop/apps/CommandLineStarter.java
deleted file mode 100644
index cb7166525..000000000
--- a/src/java/org/apache/fop/apps/CommandLineStarter.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * $Id$
- * ============================================================================
- * The Apache Software License, Version 1.1
- * ============================================================================
- *
- * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modifica-
- * tion, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * 3. The end-user documentation included with the redistribution, if any, must
- * include the following acknowledgment: "This product includes software
- * developed by the Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself, if
- * and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "FOP" and "Apache Software Foundation" must not be used to
- * endorse or promote products derived from this software without prior
- * written permission. For written permission, please contact
- * apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache", nor may
- * "Apache" appear in their name, without prior written permission of the
- * Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
- * DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * ============================================================================
- *
- * This software consists of voluntary contributions made by many individuals
- * on behalf of the Apache Software Foundation and was originally created by
- * James Tauber <jtauber@jtauber.com>. For more information on the Apache
- * Software Foundation, please see <http://www.apache.org/>.
- */
-package org.apache.fop.apps;
-
-// Java
-import java.io.BufferedOutputStream;
-import java.io.FileOutputStream;
-
-// Avalon
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-
-// FOP
-import org.apache.fop.render.awt.AWTRenderer;
-
-/**
- * super class for all classes which start Fop from the commandline
- *
- * Modified to use new streaming API by Mark Lillywhite, mark-fop@inomial.com
- */
-public class CommandLineStarter extends AbstractLogEnabled {
-
- /** the command-line options associated with this starter */
- protected CommandLineOptions commandLineOptions;
-
- /** InputHandler associated with this Starter */
- protected InputHandler inputHandler;
-
- /**
- * Main constructor
- * @param commandLineOptions command-line options to use
- * @throws FOPException In case of failure
- */
- public CommandLineStarter(CommandLineOptions commandLineOptions)
- throws FOPException {
- this.commandLineOptions = commandLineOptions;
- inputHandler = commandLineOptions.getInputHandler();
- }
-
- /**
- * Run the format.
- * @exception FOPException if there is an error during processing
- */
- public void run() throws FOPException {
- BufferedOutputStream bos = null;
- String version = Version.getVersion();
- getLogger().info(version);
- Driver driver = new Driver();
- setupLogger(driver);
-
- try {
- if (commandLineOptions.getOutputMode() == CommandLineOptions.AWT_OUTPUT) {
- driver.setRenderer(new AWTRenderer(inputHandler));
- } else {
- driver.setRenderer(commandLineOptions.getRenderer());
- }
-
- try {
- if (commandLineOptions.getOutputFile() != null) {
- bos = new BufferedOutputStream(new FileOutputStream(
- commandLineOptions.getOutputFile()));
- driver.setOutputStream(bos);
- }
-
- if (driver.getRenderer() != null) {
- driver.getRenderer().setOptions(
- commandLineOptions.getRendererOptions());
- }
- driver.render(inputHandler);
- } finally {
- if (bos != null) {
- bos.close();
- }
- }
- } catch (Exception e) {
- if (e instanceof FOPException) {
- throw (FOPException) e;
- }
- throw new FOPException(e);
- }
- }
-
-}
-
diff --git a/src/java/org/apache/fop/apps/Fop.java b/src/java/org/apache/fop/apps/Fop.java
index d7e432efb..6e85930b9 100644
--- a/src/java/org/apache/fop/apps/Fop.java
+++ b/src/java/org/apache/fop/apps/Fop.java
@@ -50,8 +50,17 @@
*/
package org.apache.fop.apps;
+// Java
+import java.io.BufferedOutputStream;
+import java.io.FileOutputStream;
+
+// Avalon
import org.apache.avalon.framework.logger.ConsoleLogger;
+// FOP
+import org.apache.fop.render.awt.AWTRenderer;
+
+
/**
* The main application class for the FOP command line interface (CLI).
*/
@@ -63,13 +72,37 @@ public class Fop {
*/
public static void main(String[] args) {
CommandLineOptions options = null;
- CommandLineStarter starter = null;
+ InputHandler inputHandler = null;
+ BufferedOutputStream bos = null;
+ String version = Version.getVersion();
try {
+ Driver driver = new Driver();
+ driver.enableLogging(new ConsoleLogger(ConsoleLogger.LEVEL_INFO));
+ driver.getLogger().info(version);
options = new CommandLineOptions(args);
- starter = new CommandLineStarter(options);
- starter.enableLogging(new ConsoleLogger(ConsoleLogger.LEVEL_INFO));
- starter.run();
+ inputHandler = options.getInputHandler();
+
+ try {
+ if (options.getOutputMode() == CommandLineOptions.AWT_OUTPUT) {
+ driver.setRenderer(new AWTRenderer(inputHandler));
+ } else {
+ driver.setRenderer(options.getRenderer());
+
+ if (options.getOutputFile() != null) {
+ bos = new BufferedOutputStream(new FileOutputStream(
+ options.getOutputFile()));
+ driver.setOutputStream(bos);
+ }
+ }
+
+ driver.getRenderer().setOptions(options.getRendererOptions());
+ driver.render(inputHandler);
+ } finally {
+ if (bos != null) {
+ bos.close();
+ }
+ }
} catch (FOPException e) {
if (e.getMessage() == null) {
System.err.println("Exception occured with a null error message");
@@ -81,15 +114,14 @@ public class Fop {
} else {
System.err.println("Turn on debugging for more information");
}
- } catch (java.io.FileNotFoundException e) {
+ } catch (java.io.IOException e) {
System.err.println("" + e.getMessage());
if (options != null && options.getLogger().isDebugEnabled()) {
e.printStackTrace();
} else {
System.err.println("Turn on debugging for more information");
}
- }
+ }
}
-
}