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 ar...@apache.org on 2001/02/21 02:07:10 UTC
cvs commit: xml-fop/src/org/apache/fop/apps InputHandler.java
arved 01/02/20 17:07:10
Added: src/org/apache/fop/apps InputHandler.java
Log:
Updated command line
Revision Changes Path
1.1 xml-fop/src/org/apache/fop/apps/InputHandler.java
Index: InputHandler.java
===================================================================
/*
* Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
* For details on use and redistribution please refer to the
* LICENSE file included with these sources."
*/
package org.apache.fop.apps;
// SAX
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
// Java
import java.net.URL;
import java.io.File;
// FOP
import org.apache.fop.messaging.MessageHandler;
import org.apache.fop.configuration.Configuration;
abstract public class InputHandler {
abstract public InputSource getInputSource();
abstract public XMLReader getParser();
/**
* create an InputSource from a File
*
* @param file the File
* @return the InputSource created
*/
static public InputSource fileInputSource(File file) {
/* this code adapted from James Clark's in XT */
String path = file.getAbsolutePath();
String fSep = System.getProperty("file.separator");
if (fSep != null && fSep.length() == 1)
path = path.replace(fSep.charAt(0), '/');
if (path.length() > 0 && path.charAt(0) != '/')
path = '/' + path;
try {
return new InputSource(new URL("file", null, path).toString());
} catch (java.net.MalformedURLException e) {
throw new Error("unexpected MalformedURLException");
}
}
/**
* creates a SAX parser, using the value of org.xml.sax.parser
* defaulting to org.apache.xerces.parsers.SAXParser
*
* @return the created SAX parser
*/
static XMLReader createParser() {
boolean debugMode = Configuration.getBooleanValue("debugMode").booleanValue();
String parserClassName = System.getProperty("org.xml.sax.parser");
if (parserClassName == null) {
parserClassName = "org.apache.xerces.parsers.SAXParser";
}
MessageHandler.logln("using SAX parser " + parserClassName);
try {
return (XMLReader) Class.forName(
parserClassName).newInstance();
} catch (ClassNotFoundException e) {
MessageHandler.errorln("Could not find " + parserClassName);
if (debugMode) {
e.printStackTrace();
}
}
catch (InstantiationException e) {
MessageHandler.errorln("Could not instantiate " +
parserClassName);
if (debugMode) {
e.printStackTrace();
}
}
catch (IllegalAccessException e) {
MessageHandler.errorln("Could not access " + parserClassName);
if (debugMode) {
e.printStackTrace();
}
}
catch (ClassCastException e) {
MessageHandler.errorln(parserClassName + " is not a SAX driver");
if (debugMode) {
e.printStackTrace();
}
}
return null;
}
}