neilg 2002/10/09 10:39:36 Modified: java/src/org/apache/xerces/util ObjectFactory.java Log: as described in a post to xerces-j-dev, this change introduces a JAXP-like default for Xerces to examine for a properties file ($java.home/lib/xerces.properties, to be precise). It also no longer prepends $java.home/lib/ to a passed-in properties filename. Revision Changes Path 1.8 +13 -7 xml-xerces/java/src/org/apache/xerces/util/ObjectFactory.java Index: ObjectFactory.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/util/ObjectFactory.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- ObjectFactory.java 10 Sep 2002 13:42:07 -0000 1.7 +++ ObjectFactory.java 9 Oct 2002 17:39:36 -0000 1.8 @@ -90,6 +90,9 @@ // Constants // + // name of default properties file to look for in JDK's jre/lib directory + private static final String DEFAULT_PROPERTIES_FILENAME = "xerces.properties"; + /** Set to true for debugging */ private static final boolean DEBUG = false; @@ -135,7 +138,8 @@ * @param factoryId Name of the factory to find, same as * a property name * @param propertiesFilename The filename in the $java.home/lib directory - * of the properties file. + * of the properties file. If none specified, + * ${java.home}/lib/xerces.properties will be used. * @param fallbackClassName Implementation class name, if nothing else * is found. Use null to mean no fallback. * @@ -162,17 +166,19 @@ // Ignore and continue w/ next location } - // Try to read from $java.home/lib/jaxp.properties + // Try to read from propertiesFilename, or $java.home/lib/xerces.properties try { + if(propertiesFilename ==null) { String javah = ss.getSystemProperty("java.home"); - String configFile = javah + File.separator + - "lib" + File.separator + "propertiesFilename"; - FileInputStream fis = ss.getFileInputStream(new File(configFile)); + propertiesFilename = javah + File.separator + + "lib" + File.separator + DEFAULT_PROPERTIES_FILENAME; + } + FileInputStream fis = ss.getFileInputStream(new File(propertiesFilename)); Properties props = new Properties(); props.load(fis); String factoryClassName = props.getProperty(factoryId); if (factoryClassName != null) { - debugPrintln("found in jaxp.properties, value=" + factoryClassName); + debugPrintln("found in " + propertiesFilename + ", value=" + factoryClassName); return newInstance(factoryClassName, cl, true); } } catch (Exception x) {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]