User: user57 Date: 02/02/06 16:29:31 Modified: src/main/org/jboss Main.java Log: o moved jaxp setting to Main (so it can be done the same on all platforms) There is now a --jaxp (or -j) flag which can be set to either 'crimson' or 'xerces' to switch the jaxp impl. --help for more info. Revision Changes Path 1.65 +39 -4 jboss/src/main/org/jboss/Main.java Index: Main.java =================================================================== RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/Main.java,v retrieving revision 1.64 retrieving revision 1.65 diff -u -r1.64 -r1.65 --- Main.java 2002/02/06 01:58:42 1.64 +++ Main.java 2002/02/07 00:29:31 1.65 @@ -28,7 +28,7 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Marc Fleury</a> * @author <a href="mailto:[EMAIL PROTECTED]">Jason Dillon</a> - * @version $Revision: 1.64 $ + * @version $Revision: 1.65 $ */ public class Main implements Runnable @@ -78,11 +78,13 @@ } String systemHome = System.getProperty("jboss.system.home"); + // Create a new server configuration object. This object holds all + // of the required information to get the server up and running. ServerConfig config = new ServerConfig(new File(systemHome)); // set this from a system property or default to jboss String programName = System.getProperty("jboss.boot.loader.name", "jboss"); - String sopts = "-:hD:p:n:c:V"; + String sopts = "-:hD:p:n:c:Vj:"; LongOpt[] lopts = { new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h'), new LongOpt("help-examples", LongOpt.NO_ARGUMENT, null, 10), @@ -90,6 +92,7 @@ new LongOpt("net-boot", LongOpt.REQUIRED_ARGUMENT, null, 'n'), new LongOpt("configuration", LongOpt.REQUIRED_ARGUMENT, null, 'c'), new LongOpt("version", LongOpt.NO_ARGUMENT, null, 'V'), + new LongOpt("jaxp", LongOpt.REQUIRED_ARGUMENT, null, 'j'), }; Getopt getopt = new Getopt(programName, args, sopts, lopts); @@ -121,10 +124,11 @@ System.out.println(" --help-examples Show some command line examples"); System.out.println(" -- Stop processing options"); System.out.println(" -D<name>[=<value>] Set a system property"); - System.out.println(" -p, --patch-dir <dir> Set the patch directory, takes an absolute file name"); + System.out.println(" -p, --patch-dir <dir> Set the patch directory; Must be absolute"); System.out.println(" -n, --net-boot <url> Boot from net with the given url as base"); System.out.println(" -c, --configuration <name> Set the server configuration name"); System.out.println(" -V, --version Show version information"); + System.out.println(" -j, --jaxp=<type> Set the JAXP impl type (ie. crimson)"); System.out.println(); System.exit(0); break; // for completeness @@ -187,7 +191,38 @@ System.out.println(); System.exit(0); break; // for completness - + + case 'j': + // set the JAXP impl type + arg = getopt.getOptarg().toLowerCase(); + String domFactoryType, saxFactoryType; + + if (arg.equals("crimson")) { + domFactoryType = "org.apache.crimson.jaxp.DocumentBuilderFactoryImpl"; + saxFactoryType = "org.apache.crimson.jaxp.SAXParserFactoryImpl"; + } + else if (arg.equals("xerces")) { + domFactoryType = "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"; + saxFactoryType = "org.apache.xerces.jaxp.SAXParserFactoryImpl"; + } + else { + System.err.println("Invalid JAXP type: " + arg + + " (Expected 'crimson' or 'xerces')"); + // don't continue, user needs to fix this! + System.exit(1); + + // trick the compiler, so it does not complain that + // the above variables might not being set + break; + } + + // set the controlling properties + System.setProperty("javax.xml.parsers.DocumentBuilderFactory", + domFactoryType); + System.setProperty("javax.xml.parsers.SAXParserFactory", + saxFactoryType); + break; + default: // this should not happen, // if it does throw an error so we know about it
_______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development