Author: veithen
Date: Mon Oct 17 21:04:10 2011
New Revision: 1185377
URL: http://svn.apache.org/viewvc?rev=1185377&view=rev
Log:
Use the Geronimo StAX API bundle (instead of the one from ServiceMix) in the
OSGi tests. Note that this requires the StAX 1.2 version because the 1.0 is not
fully OSGi aware.
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/DialectTest.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/ParentLastURLClassLoader.java
webservices/commons/trunk/modules/axiom/modules/axiom-dom/pom.xml
webservices/commons/trunk/modules/axiom/modules/axiom-osgi-tests/pom.xml
webservices/commons/trunk/modules/axiom/modules/axiom-parent/pom.xml
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=1185377&r1=1185376&r2=1185377&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
Mon Oct 17 21:04:10 2011
@@ -193,7 +193,8 @@ public class DialectTest extends TestSui
// 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!");
+ throw new FactoryConfigurationError("Wrong factory: got " +
factory.getClass().getName()
+ + " loaded from " + factory.getClass().getClassLoader());
}
return factory;
}
@@ -226,7 +227,8 @@ public class DialectTest extends TestSui
}
if (classLoader != ClassLoader.getSystemClassLoader()
&& factory.getClass().getClassLoader() != classLoader) {
- throw new FactoryConfigurationError("Wrong factory!");
+ throw new FactoryConfigurationError("Wrong factory: got " +
factory.getClass().getName()
+ + " loaded from " + factory.getClass().getClassLoader());
}
return factory;
}
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/ParentLastURLClassLoader.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/ParentLastURLClassLoader.java?rev=1185377&r1=1185376&r2=1185377&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/ParentLastURLClassLoader.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/util/stax/dialect/ParentLastURLClassLoader.java
Mon Oct 17 21:04:10 2011
@@ -18,8 +18,11 @@
*/
package org.apache.axiom.util.stax.dialect;
+import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
+import java.util.Enumeration;
+import java.util.Vector;
public class ParentLastURLClassLoader extends URLClassLoader {
public ParentLastURLClassLoader(URL[] urls, ClassLoader parent) {
@@ -33,6 +36,22 @@ public class ParentLastURLClassLoader ex
}
return url;
}
+
+ public Enumeration getResources(String name) throws IOException {
+ // Make sure that we return our own resources first. Otherwise, if an
API performs
+ // JDK 1.3 service discovery using getResources instead of
getResource, we would
+ // have a problem.
+ Vector resources = new Vector();
+ Enumeration e = findResources(name);
+ while (e.hasMoreElements()) {
+ resources.add(e.nextElement());
+ }
+ e = getParent().getResources(name);
+ while (e.hasMoreElements()) {
+ resources.add(e.nextElement());
+ }
+ return resources.elements();
+ }
protected synchronized Class loadClass(String name, boolean resolve)
throws ClassNotFoundException {
if (name.startsWith("javax.")) {
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-dom/pom.xml
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom/pom.xml?rev=1185377&r1=1185376&r2=1185377&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-dom/pom.xml (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-dom/pom.xml Mon Oct
17 21:04:10 2011
@@ -75,10 +75,6 @@
<artifactId>commons-logging</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-stax-api_1.0_spec</artifactId>
- </dependency>
- <dependency>
<groupId>${project.groupId}</groupId>
<artifactId>axiom-api</artifactId>
<classifier>tests</classifier>
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-osgi-tests/pom.xml
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-osgi-tests/pom.xml?rev=1185377&r1=1185376&r2=1185377&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-osgi-tests/pom.xml
(original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-osgi-tests/pom.xml
Mon Oct 17 21:04:10 2011
@@ -48,10 +48,22 @@
<scope>provided</scope>
</dependency>
<dependency>
- <!-- An OSGI aware version of the StAX API -->
- <groupId>org.apache.servicemix.specs</groupId>
- <artifactId>org.apache.servicemix.specs.stax-api-1.0</artifactId>
- <version>1.1.1</version>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-stax-api_1.2_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <!-- Used by geronimo-stax-api_1.2_spec to locate the StAX
implementation;
+ only required in an OSGi environment -->
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-osgi-registry</artifactId>
+ <version>1.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.log</artifactId>
+ <version>1.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-parent/pom.xml
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-parent/pom.xml?rev=1185377&r1=1185376&r2=1185377&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-parent/pom.xml
(original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-parent/pom.xml Mon
Oct 17 21:04:10 2011
@@ -321,6 +321,10 @@
</build>
<dependencyManagement>
<dependencies>
+ <!-- We use the 1.0 version of the StAX API as Maven dependency
(because
+ we need to ensure compatibility with that StAX version), but
we need
+ the 1.2 version because Geronimo's 1.0 bundles are not fully
OSGi aware
+ (they don't locate StAX implementations that are deployed as
bundles). -->
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-stax-api_1.0_spec</artifactId>
@@ -328,6 +332,12 @@
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-stax-api_1.2_spec</artifactId>
+ <version>1.1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-activation_1.1_spec</artifactId>
<version>1.0.2</version>
</dependency>