Author: veithen Date: Wed Sep 29 20:40:22 2010 New Revision: 1002840 URL: http://svn.apache.org/viewvc?rev=1002840&view=rev Log: Fixed the WAS 7 profile. It was actually testing the right thing, but in the wrong way.
Removed: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/resources/org/apache/axiom/util/stax/dialect/com.ibm.ws.runtime.properties Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/pom.xml webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/DialectTest.java Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/pom.xml URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/pom.xml?rev=1002840&r1=1002839&r2=1002840&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-api/pom.xml (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-api/pom.xml Wed Sep 29 20:40:22 2010 @@ -283,12 +283,17 @@ <configuration> <outputDirectory>${project.build.directory}/parsers</outputDirectory> <resources> + <!-- XLXP 1 --> + <resource> + <directory>${was7.root}/java/jre/lib</directory> + <includes> + <include>xml.jar</include> + </includes> + </resource> + <!-- XLXP 2 --> <resource> <directory>${was7.root}/plugins</directory> <includes> - <!-- XLXP 1 --> - <include>com.ibm.ws.runtime.jar</include> - <!-- XLXP 2 --> <include>com.ibm.ws.prereq.xlxp.jar</include> </includes> </resource> Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/DialectTest.java URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/DialectTest.java?rev=1002840&r1=1002839&r2=1002840&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/DialectTest.java (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/DialectTest.java Wed Sep 29 20:40:22 2010 @@ -164,26 +164,30 @@ public class DialectTest extends TestSui XMLInputFactory newXMLInputFactory() { String className = props == null ? null : props.getProperty(XMLInputFactory.class.getName()); + XMLInputFactory factory; if (className == null) { ClassLoader savedClassLoader = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(classLoader); try { - XMLInputFactory factory = XMLInputFactory.newInstance(); - if (classLoader != ClassLoader.getSystemClassLoader() - && factory.getClass().getClassLoader() != classLoader) { - throw new FactoryConfigurationError("Wrong factory!"); - } - return factory; + factory = XMLInputFactory.newInstance(); } finally { Thread.currentThread().setContextClassLoader(savedClassLoader); } } else { try { - return (XMLInputFactory)classLoader.loadClass(className).newInstance(); + factory = (XMLInputFactory)classLoader.loadClass(className).newInstance(); } catch (Exception ex) { throw new FactoryConfigurationError(ex); } } + // Check that the parser has actually been loaded from the expected class loader. + // If the parser has been loaded from the JRE, then comparing the class loaders + // is not reliable (because it may be null). Hence the check on ParentLastURLClassLoader. + if (classLoader instanceof ParentLastURLClassLoader + && factory.getClass().getClassLoader() != classLoader) { + throw new FactoryConfigurationError("Wrong factory!"); + } + return factory; } XMLInputFactory newNormalizedXMLInputFactory() { @@ -196,26 +200,27 @@ public class DialectTest extends TestSui XMLOutputFactory newXMLOutputFactory() { String className = props == null ? null : props.getProperty(XMLOutputFactory.class.getName()); + XMLOutputFactory factory; if (className == null) { ClassLoader savedClassLoader = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(classLoader); try { - XMLOutputFactory factory = XMLOutputFactory.newInstance(); - if (classLoader != ClassLoader.getSystemClassLoader() - && factory.getClass().getClassLoader() != classLoader) { - throw new FactoryConfigurationError("Wrong factory!"); - } - return factory; + factory = XMLOutputFactory.newInstance(); } finally { Thread.currentThread().setContextClassLoader(savedClassLoader); } } else { try { - return (XMLOutputFactory)classLoader.loadClass(className).newInstance(); + factory = (XMLOutputFactory)classLoader.loadClass(className).newInstance(); } catch (Exception ex) { throw new FactoryConfigurationError(ex); } } + if (classLoader != ClassLoader.getSystemClassLoader() + && factory.getClass().getClassLoader() != classLoader) { + throw new FactoryConfigurationError("Wrong factory!"); + } + return factory; } XMLOutputFactory newNormalizedXMLOutputFactory() {