Author: davidillsley Date: Fri Feb 6 18:03:02 2009 New Revision: 741656 URL: http://svn.apache.org/viewvc?rev=741656&view=rev Log: Initial commit of proper OSGIification of Axiom. Apologies up front for probably breaking something but a commit is overdue.
I'll submit a more full explanation of the changes to the list in the next couple of days. Added: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/injection/ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/injection/FactoryInjectionComponent.java webservices/commons/trunk/modules/axiom/modules/axiom-osgi/ webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/ webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/pom.xml webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/ webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/ webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/ webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/ webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/ webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/ webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/test/ webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/test/OMAbstractFactoryTest.java webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/test/ServiceTest.java webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/test/StAXOMBuilderTest.java webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-run/ webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-run/pom.xml webservices/commons/trunk/modules/axiom/modules/axiom-osgi/pom.xml Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/pom.xml webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMAbstractFactory.java webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/StAXUtils.java webservices/commons/trunk/modules/axiom/modules/axiom-c14n/pom.xml webservices/commons/trunk/modules/axiom/modules/axiom-dom/pom.xml webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11Factory.java webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12Factory.java webservices/commons/trunk/modules/axiom/modules/axiom-impl/pom.xml webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11Factory.java webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12Factory.java webservices/commons/trunk/modules/axiom/modules/axiom-integration/pom.xml webservices/commons/trunk/modules/axiom/modules/axiom-tests/pom.xml webservices/commons/trunk/modules/axiom/pom.xml 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=741656&r1=741655&r2=741656&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-api/pom.xml (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-api/pom.xml Fri Feb 6 18:03:02 2009 @@ -1,132 +1,139 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one - ~ or more contributor license agreements. See the NOTICE file - ~ distributed with this work for additional information - ~ regarding copyright ownership. The ASF licenses this file - ~ to you under the Apache License, Version 2.0 (the - ~ "License"); you may not use this file except in compliance - ~ with the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, - ~ software distributed under the License is distributed on an - ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - ~ KIND, either express or implied. See the License for the - ~ specific language governing permissions and limitations - ~ under the License. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.ws.commons.axiom</groupId> - <artifactId>axiom</artifactId> - <version>SNAPSHOT</version> - </parent> - <artifactId>axiom-api</artifactId> - <name>Axiom API</name> - <version>SNAPSHOT</version> - <description>The Axiom API</description> - <dependencies> - <dependency> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-activation_1.1_spec</artifactId> - </dependency> - <dependency> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-javamail_1.4_spec</artifactId> - </dependency> - <dependency> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </dependency> - <dependency> - <groupId>jaxen</groupId> - <artifactId>jaxen</artifactId> - </dependency> - <dependency> - <groupId>xml-apis</groupId> - <artifactId>xml-apis</artifactId> - </dependency> - <dependency> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-stax-api_1.0_spec</artifactId> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - </dependency> - <dependency> - <groupId>xmlunit</groupId> - <artifactId>xmlunit</artifactId> - </dependency> - </dependencies> - <build> - <resources> - <resource> - <directory>src/main/resources</directory> - </resource> - <resource> - <directory>${project.build.directory}/legal-files</directory> - </resource> - </resources> - <plugins> - <plugin> - <artifactId>maven-antrun-plugin</artifactId> - <executions> - <execution> - <id>copy-legal-files</id> - <phase>generate-resources</phase> - <configuration> - <tasks> - <copy todir="${project.build.directory}/legal-files"> - <fileset dir="../.."> - <include name="LICENSE.txt" /> - <include name="NOTICE.txt" /> - </fileset> - </copy> - </tasks> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile> - <manifestEntries> - <!-- Put the correct Bundle-Version: in the manifest --> - <Bundle-Version>${version}</Bundle-Version> - </manifestEntries> - </archive> - </configuration> - </plugin> - <!-- Attach a JAR with the test classes so that we can reuse them in other modules - (see http://maven.apache.org/guides/mini/guide-attached-tests.html). --> - <plugin> - <artifactId>maven-jar-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>test-jar</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <artifactId>maven-surefire-plugin</artifactId> - <configuration> - <includes> - <include>**/*Test.java</include> - <include>**/*TestCase.java</include> - </includes> - </configuration> - </plugin> - </plugins> - </build> + <!-- + ~ Licensed to the Apache Software Foundation (ASF) under one ~ or more + contributor license agreements. See the NOTICE file ~ distributed with + this work for additional information ~ regarding copyright ownership. + The ASF licenses this file ~ to you under the Apache License, Version + 2.0 (the ~ "License"); you may not use this file except in compliance + ~ with the License. You may obtain a copy of the License at ~ ~ + http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by + applicable law or agreed to in writing, ~ software distributed under + the License is distributed on an ~ "AS IS" BASIS, WITHOUT WARRANTIES + OR CONDITIONS OF ANY ~ KIND, either express or implied. See the + License for the ~ specific language governing permissions and + limitations ~ under the License. + --> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.ws.commons.axiom</groupId> + <artifactId>axiom</artifactId> + <version>1.2.9-SNAPSHOT</version> + </parent> + <artifactId>axiom-api</artifactId> + <name>Axiom API</name> + <version>1.2.9-SNAPSHOT</version> + <description>The Axiom API</description> + <packaging>bundle</packaging> + <dependencies> + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-activation_1.1_spec</artifactId> + </dependency> + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-javamail_1.4_spec</artifactId> + </dependency> + <dependency> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </dependency> + <dependency> + <groupId>jaxen</groupId> + <artifactId>jaxen</artifactId> + </dependency> + <dependency> + <groupId>xml-apis</groupId> + <artifactId>xml-apis</artifactId> + </dependency> + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-stax-api_1.0_spec</artifactId> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + </dependency> + <dependency> + <groupId>xmlunit</groupId> + <artifactId>xmlunit</artifactId> + </dependency> + </dependencies> + <build> + <resources> + <resource> + <directory>src/main/resources</directory> + </resource> + <resource> + <directory>${project.build.directory}/legal-files</directory> + </resource> + </resources> + <plugins> + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <execution> + <id>copy-legal-files</id> + <phase>generate-resources</phase> + <configuration> + <tasks> + <copy todir="${project.build.directory}/legal-files"> + <fileset dir="../.."> + <include name="LICENSE.txt" /> + <include name="NOTICE.txt" /> + </fileset> + </copy> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <extensions>true</extensions> + <configuration> + <excludeDependencies>true</excludeDependencies> + <instructions> + <_nouses>true</_nouses> + <_removeheaders>Private-Package</_removeheaders> + <Export-Package>*;-noimport:=true</Export-Package> + <Import-Package>org.jaxen.*;resolution:=optional,*</Import-Package> + </instructions> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-scr-plugin</artifactId> + </plugin> + <!-- + Attach a JAR with the test classes so that we can reuse them in + other modules (see + http://maven.apache.org/guides/mini/guide-attached-tests.html). + --> + <plugin> + <artifactId>maven-jar-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>test-jar</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <includes> + <include>**/*Test.java</include> + <include>**/*TestCase.java</include> + </includes> + </configuration> + </plugin> + </plugins> + </build> </project> Added: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/injection/FactoryInjectionComponent.java URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/injection/FactoryInjectionComponent.java?rev=741656&view=auto ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/injection/FactoryInjectionComponent.java (added) +++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/injection/FactoryInjectionComponent.java Fri Feb 6 18:03:02 2009 @@ -0,0 +1,132 @@ +package org.apache.axiom.injection; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.axiom.om.OMFactory; +import org.apache.axiom.soap.SOAPFactory; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * @scr.component name="factoryinjection.component" immediate="true" + * @scr.reference name="omfactory" interface="org.apache.axiom.om.OMFactory" cardinality="0..n" policy="dynamic" bind="setOMFactory" unbind="unsetOMFactory" + * @scr.reference name="soap12factory" interface="org.apache.axiom.soap.SOAPFactory" target="(axiom.soapVersion=*soap12*)" cardinality="0..n" policy="dynamic" bind="setSOAP12Factory" unbind="unsetSOAP12Factory" + * @scr.reference name="soap11factory" interface="org.apache.axiom.soap.SOAPFactory" target="(axiom.soapVersion=*soap11*)" cardinality="0..n" policy="dynamic" bind="setSOAP11Factory" unbind="unsetSOAP11Factory" + */ +public class FactoryInjectionComponent { + + private static final Log log = LogFactory + .getLog(FactoryInjectionComponent.class); + + public FactoryInjectionComponent() { + if (log.isDebugEnabled()) { + log.debug("FactoryInjectionComponent created"); + } + } + + private static List omFactories = null; + private static OMFactory currentOMFactory = null; + + private static List soap11Factories = null; + private static SOAPFactory currentSOAP11Factory = null; + + private static List soap12Factories = null; + private static SOAPFactory currentSOAP12Factory = null; + + protected void setOMFactory(OMFactory omfactory) { + synchronized (FactoryInjectionComponent.class) { + if (omFactories == null) { + omFactories = new ArrayList(); + } + // Special case llom - it's the default + if (omfactory.getClass().toString().contains("llom")) { + omFactories.add(0, omfactory); + } else { + omFactories.add(omfactory); + } + currentOMFactory = (OMFactory) omFactories.get(0); + } + } + + protected void unsetOMFactory(OMFactory omfactory) { + synchronized (FactoryInjectionComponent.class) { + if (omFactories != null) { + omFactories.remove(omfactory); + } + if (omFactories.size() == 0) { + omFactories = null; + } else { + currentOMFactory = (OMFactory) omFactories.get(0); + } + } + } + + public static OMFactory getOMFactory() { + return currentOMFactory; + } + + protected void setSOAP12Factory(SOAPFactory soapfactory) { + synchronized (FactoryInjectionComponent.class) { + if (soap12Factories == null) { + soap12Factories = new ArrayList(); + } + // Special case llom - it's the default + if (soapfactory.getClass().toString().contains("llom")) { + soap12Factories.add(0, soapfactory); + } else { + soap12Factories.add(soapfactory); + } + currentSOAP12Factory = (SOAPFactory) soap12Factories.get(0); + } + } + + protected void unsetSOAP12Factory(SOAPFactory soapfactory) { + synchronized (FactoryInjectionComponent.class) { + if (soap12Factories != null) { + soap12Factories.remove(soapfactory); + } + if (soap12Factories.size() == 0) { + soap12Factories = null; + } else { + currentSOAP12Factory = (SOAPFactory) soap12Factories.get(0); + } + } + } + + public static SOAPFactory getSOAP12Factory() { + return currentSOAP12Factory; + } + + protected void setSOAP11Factory(SOAPFactory soapfactory) { + synchronized (FactoryInjectionComponent.class) { + if (soap11Factories == null) { + soap11Factories = new ArrayList(); + } + // Special case llom - it's the default + if (soapfactory.getClass().toString().contains("llom")) { + soap11Factories.add(0, soapfactory); + } else { + soap11Factories.add(soapfactory); + } + currentSOAP11Factory = (SOAPFactory) soap11Factories.get(0); + } + } + + protected void unsetSOAP11Factory(SOAPFactory soapfactory) { + synchronized (FactoryInjectionComponent.class) { + if (soap11Factories != null) { + soap11Factories.remove(soapfactory); + } + if (soap11Factories.size() == 0) { + soap11Factories = null; + } else { + currentSOAP11Factory = (SOAPFactory) soap11Factories.get(0); + } + } + } + + public static SOAPFactory getSOAP11Factory() { + return currentSOAP11Factory; + } +} Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMAbstractFactory.java URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMAbstractFactory.java?rev=741656&r1=741655&r2=741656&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMAbstractFactory.java (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMAbstractFactory.java Fri Feb 6 18:03:02 2009 @@ -19,6 +19,7 @@ package org.apache.axiom.om; +import org.apache.axiom.injection.FactoryInjectionComponent; import org.apache.axiom.soap.SOAPFactory; /** @@ -90,9 +91,15 @@ * or if the class can't be instantiated */ public static OMFactory getOMFactory() { - if (defaultOMFactory != null) { + OMFactory of = FactoryInjectionComponent.getOMFactory(); + if(of!=null){ + return of; + } + + if (defaultOMFactory != null) { return defaultOMFactory; } + String omFactory; try { omFactory = System.getProperty(OM_FACTORY_NAME_PROPERTY); @@ -124,9 +131,15 @@ * or if the class can't be instantiated */ public static SOAPFactory getSOAP11Factory() { + SOAPFactory sf = FactoryInjectionComponent.getSOAP11Factory(); + if(sf != null){ + return sf; + } + if (defaultSOAP11OMFactory != null) { return defaultSOAP11OMFactory; } + String omFactory; try { omFactory = System.getProperty(SOAP11_FACTORY_NAME_PROPERTY); @@ -158,9 +171,15 @@ * or if the class can't be instantiated */ public static SOAPFactory getSOAP12Factory() { - if (defaultSOAP12OMFactory != null) { + SOAPFactory sf = FactoryInjectionComponent.getSOAP12Factory(); + if(sf != null){ + return sf; + } + + if (defaultSOAP12OMFactory != null) { return defaultSOAP12OMFactory; } + String omFactory; try { omFactory = System.getProperty(SOAP12_FACTORY_NAME_PROPERTY); Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/StAXUtils.java URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/StAXUtils.java?rev=741656&r1=741655&r2=741656&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/StAXUtils.java (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/StAXUtils.java Fri Feb 6 18:03:02 2009 @@ -291,7 +291,14 @@ // This has package access since it is used from within anonymous inner classes static XMLInputFactory newXMLInputFactory(boolean isNetworkDetached) { - XMLInputFactory factory = XMLInputFactory.newInstance(); + ClassLoader cl = (ClassLoader) AccessController.doPrivileged( + new PrivilegedAction() { + public Object run() { + return Thread.currentThread().getContextClassLoader(); + } + } + ); + XMLInputFactory factory = XMLInputFactory.newInstance("javax.xml.stream.XMLInputFactory", cl); if (isNetworkDetached) { factory.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, Boolean.FALSE); Modified: webservices/commons/trunk/modules/axiom/modules/axiom-c14n/pom.xml URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-c14n/pom.xml?rev=741656&r1=741655&r2=741656&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-c14n/pom.xml (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-c14n/pom.xml Fri Feb 6 18:03:02 2009 @@ -22,13 +22,14 @@ <parent> <artifactId>axiom</artifactId> <groupId>org.apache.ws.commons.axiom</groupId> - <version>SNAPSHOT</version> + <version>1.2.9-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <groupId>org.apache.ws.commons.axiom</groupId> <artifactId>axiom-c14n</artifactId> <name>Axiom C14N</name> - <version>SNAPSHOT</version> + <version>1.2.9-SNAPSHOT</version> + <packaging>bundle</packaging> <description /> <dependencies> <dependency> @@ -90,6 +91,19 @@ </excludes> </configuration> </plugin> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <extensions>true</extensions> + <configuration> + <excludeDependencies>true</excludeDependencies> + <instructions> + <_nouses>true</_nouses> + <_removeheaders>Private-Package</_removeheaders> + <Export-Package>*;-noimport:=true</Export-Package> + </instructions> + </configuration> + </plugin> </plugins> </build> </project> 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=741656&r1=741655&r2=741656&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-dom/pom.xml (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-dom/pom.xml Fri Feb 6 18:03:02 2009 @@ -22,11 +22,12 @@ <parent> <groupId>org.apache.ws.commons.axiom</groupId> <artifactId>axiom</artifactId> - <version>SNAPSHOT</version> + <version>1.2.9-SNAPSHOT</version> </parent> <artifactId>axiom-dom</artifactId> <name>Axiom DOM</name> - <version>SNAPSHOT</version> + <version>1.2.9-SNAPSHOT</version> + <packaging>bundle</packaging> <description>The Axiom DOM implementation.</description> <dependencies> <dependency> @@ -102,18 +103,22 @@ </execution> </executions> </plugin> - <plugin> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile> - <manifestEntries> - <!-- Put the correct Bundle-Version: in the manifest --> - <Bundle-Version>${version}</Bundle-Version> - </manifestEntries> - </archive> - </configuration> - </plugin> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <extensions>true</extensions> + <configuration> + <excludeDependencies>true</excludeDependencies> + <instructions> + <_nouses>true</_nouses> + <Private-Package>org.apache.axiom.*</Private-Package> + </instructions> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-scr-plugin</artifactId> + </plugin> <!-- Attach a JAR with the test classes so that we can reuse them in other modules (see http://maven.apache.org/guides/mini/guide-attached-tests.html). --> <plugin> @@ -137,4 +142,17 @@ </plugin> </plugins> </build> + <pluginRepositories> + <pluginRepository> + <id>snapshot-apache</id> + <name>Apache Snapshot repository</name> + <url>http://people.apache.org/repo/m2-snapshot-repository</url> + <snapshots> + <enabled>true</enabled> + </snapshots> + <releases> + <enabled>false</enabled> + </releases> + </pluginRepository> + </pluginRepositories> </project> Modified: webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java?rev=741656&r1=741655&r2=741656&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java Fri Feb 6 18:03:02 2009 @@ -75,6 +75,10 @@ * not be used in conjunction with {...@link OMAbstractFactory}. In particular, * the <tt>om.factory</tt> system property must not be set to this class.</li> * </ul> + * + * @scr.component name="om.dom.component" immediate="true" + * @scr.service interface="org.apache.axiom.om.OMFactory" + * @scr.property name="implementationName" type="String" value="dom" */ public class OMDOMFactory implements OMFactory { Modified: webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11Factory.java URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11Factory.java?rev=741656&r1=741655&r2=741656&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11Factory.java (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11Factory.java Fri Feb 6 18:03:02 2009 @@ -44,6 +44,12 @@ import org.apache.axiom.soap.impl.dom.SOAPEnvelopeImpl; import org.apache.axiom.soap.impl.dom.factory.DOMSOAPFactory; +/** + * @scr.component name="soap11factory.doom.component" immediate="true" + * @scr.service interface="org.apache.axiom.soap.SOAPFactory" + * @scr.property name="axiom.soapVersion" type="String" value="soap11" + * @scr.property name="implementationName" type="String" value="doom" + */ public class SOAP11Factory extends DOMSOAPFactory { public SOAP11Factory() { Modified: webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12Factory.java URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12Factory.java?rev=741656&r1=741655&r2=741656&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12Factory.java (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12Factory.java Fri Feb 6 18:03:02 2009 @@ -43,6 +43,12 @@ import org.apache.axiom.soap.impl.dom.SOAPEnvelopeImpl; import org.apache.axiom.soap.impl.dom.factory.DOMSOAPFactory; +/** + * @scr.component name="soap12factory.doom.component" immediate="true" + * @scr.service interface="org.apache.axiom.soap.SOAPFactory" + * @scr.property name="axiom.soapVersion" type="String" value="soap12" + * @scr.property name="implementationName" type="String" value="doom" + */ public class SOAP12Factory extends DOMSOAPFactory { public SOAP12Factory() { Modified: webservices/commons/trunk/modules/axiom/modules/axiom-impl/pom.xml URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/pom.xml?rev=741656&r1=741655&r2=741656&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-impl/pom.xml (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-impl/pom.xml Fri Feb 6 18:03:02 2009 @@ -22,11 +22,12 @@ <parent> <groupId>org.apache.ws.commons.axiom</groupId> <artifactId>axiom</artifactId> - <version>SNAPSHOT</version> + <version>1.2.9-SNAPSHOT</version> </parent> <artifactId>axiom-impl</artifactId> <name>Axiom Impl</name> - <version>SNAPSHOT</version> + <version>1.2.9-SNAPSHOT</version> + <packaging>bundle</packaging> <description>The Axiom default implementation.</description> <dependencies> <dependency> @@ -103,17 +104,21 @@ </executions> </plugin> <plugin> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile> - <manifestEntries> - <!-- Put the correct Bundle-Version: in the manifest --> - <Bundle-Version>${version}</Bundle-Version> - </manifestEntries> - </archive> - </configuration> - </plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <extensions>true</extensions> + <configuration> + <excludeDependencies>true</excludeDependencies> + <instructions> + <_nouses>true</_nouses> + <Private-Package>org.apache.axiom.*</Private-Package> + </instructions> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-scr-plugin</artifactId> + </plugin> <!-- Attach a JAR with the test classes so that we can reuse them in other modules (see http://maven.apache.org/guides/mini/guide-attached-tests.html). --> <plugin> Modified: webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java?rev=741656&r1=741655&r2=741656&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java Fri Feb 6 18:03:02 2009 @@ -47,7 +47,11 @@ import java.util.Hashtable; import java.util.Map; -/** Class OMLinkedListImplFactory */ +/** Class OMLinkedListImplFactory + * @scr.component name="om.llom.component" immediate="true" + * @scr.service interface="org.apache.axiom.om.OMFactory" + * @scr.property name="implementationName" type="String" value="llom" + */ public class OMLinkedListImplFactory implements OMFactory { private static final String uriAndPrefixSeparator = ";"; Modified: webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11Factory.java URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11Factory.java?rev=741656&r1=741655&r2=741656&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11Factory.java (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11Factory.java Fri Feb 6 18:03:02 2009 @@ -46,6 +46,12 @@ import org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl; import org.apache.axiom.soap.impl.llom.SOAPMessageImpl; +/** + * @scr.component name="soap11factory.llom.component" immediate="true" + * @scr.service interface="org.apache.axiom.soap.SOAPFactory" + * @scr.property name="implementationName" type="String" value="llom" + * @scr.property name="axiom.soapVersion" type="String" value="soap11" + */ public class SOAP11Factory extends OMLinkedListImplFactory implements SOAPFactory { /** Eran Chinthaka (chinth...@apache.org) */ Modified: webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12Factory.java URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12Factory.java?rev=741656&r1=741655&r2=741656&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12Factory.java (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12Factory.java Fri Feb 6 18:03:02 2009 @@ -46,6 +46,12 @@ import org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl; import org.apache.axiom.soap.impl.llom.SOAPMessageImpl; +/** + * @scr.component name="soap12factory.llom.component" immediate="true" + * @scr.service interface="org.apache.axiom.soap.SOAPFactory" + * @scr.property name="implementationName" type="String" value="llom" + * @scr.property name="axiom.soapVersion" type="String" value="soap12" + */ public class SOAP12Factory extends OMLinkedListImplFactory implements SOAPFactory { /** Eran Chinthaka (chinth...@apache.org) */ Modified: webservices/commons/trunk/modules/axiom/modules/axiom-integration/pom.xml URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-integration/pom.xml?rev=741656&r1=741655&r2=741656&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-integration/pom.xml (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-integration/pom.xml Fri Feb 6 18:03:02 2009 @@ -22,11 +22,11 @@ <parent> <groupId>org.apache.ws.commons.axiom</groupId> <artifactId>axiom</artifactId> - <version>SNAPSHOT</version> + <version>1.2.9-SNAPSHOT</version> </parent> <artifactId>axiom-integration</artifactId> <name>Axiom Integration Test Suite</name> - <version>SNAPSHOT</version> + <version>1.2.9-SNAPSHOT</version> <description> This module contains tests that validate the interoperability of Axiom with other libraries. Added: webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/pom.xml URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/pom.xml?rev=741656&view=auto ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/pom.xml (added) +++ webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/pom.xml Fri Feb 6 18:03:02 2009 @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> + <!-- + ~ Licensed to the Apache Software Foundation (ASF) under one ~ or more + contributor license agreements. See the NOTICE file ~ distributed with + this work for additional information ~ regarding copyright ownership. + The ASF licenses this file ~ to you under the Apache License, Version + 2.0 (the ~ "License"); you may not use this file except in compliance + ~ with the License. You may obtain a copy of the License at ~ ~ + http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by + applicable law or agreed to in writing, ~ software distributed under + the License is distributed on an ~ "AS IS" BASIS, WITHOUT WARRANTIES + OR CONDITIONS OF ANY ~ KIND, either express or implied. See the + License for the ~ specific language governing permissions and + limitations ~ under the License. + --> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.ws.commons.axiom</groupId> + <artifactId>axiom-osgi</artifactId> + <version>1.2.9-SNAPSHOT</version> + </parent> + <artifactId>axiom-osgi-build</artifactId> + <name>Axiom OSGI Test Suite - Build</name> + <version>1.2.9-SNAPSHOT</version> + <packaging>bundle</packaging> + <description> + </description> + <dependencies> + <dependency> + <groupId>org.apache.ws.commons.axiom</groupId> + <artifactId>axiom-api</artifactId> + <version>${version}</version> + </dependency> + <dependency> + <groupId>org.apache.felix</groupId> + <artifactId>org.apache.felix.ipojo.junit4osgi</artifactId> + <version>1.1.0-SNAPSHOT</version> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>2.0.2</version> + <configuration> + <source>1.5</source> + <target>1.5</target> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <extensions>true</extensions> + <configuration> + <excludeDependencies>true</excludeDependencies> + <instructions> + <Export-Package>org.apache.axiom.*</Export-Package> + <Test-Suite> + org.apache.axiom.test.ServiceTest, org.apache.axiom.test.OMAbstractFactoryTest, + org.apache.axiom.test.StAXOMBuilderTest + </Test-Suite> + </instructions> + </configuration> + </plugin> + </plugins> + </build> + <repositories> + <repository> + <id>snapshot-apache</id> + <name>Apache Snapshot repository</name> + <url>http://people.apache.org/repo/m2-snapshot-repository</url> + <snapshots> + <enabled>true</enabled> + </snapshots> + <releases> + <enabled>false</enabled> + </releases> + </repository> + </repositories> + <pluginRepositories> + <pluginRepository> + <id>snapshot-apache</id> + <name>Apache Snapshot repository</name> + <url>http://people.apache.org/repo/m2-snapshot-repository</url> + <snapshots> + <enabled>true</enabled> + </snapshots> + <releases> + <enabled>false</enabled> + </releases> + </pluginRepository> + </pluginRepositories> +</project> Added: webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/test/OMAbstractFactoryTest.java URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/test/OMAbstractFactoryTest.java?rev=741656&view=auto ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/test/OMAbstractFactoryTest.java (added) +++ webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/test/OMAbstractFactoryTest.java Fri Feb 6 18:03:02 2009 @@ -0,0 +1,19 @@ +package org.apache.axiom.test; + +import org.apache.axiom.om.OMAbstractFactory; +import org.apache.felix.ipojo.junit4osgi.OSGiTestCase; + +public class OMAbstractFactoryTest extends OSGiTestCase { + + public void testgetOMFactory() throws Exception { + assertNotNull(OMAbstractFactory.getOMFactory()); + } + + public void testgetSOAP11Factory() throws Exception { + assertNotNull(OMAbstractFactory.getSOAP11Factory()); + } + + public void testgetSOAP12Factory() throws Exception { + assertNotNull(OMAbstractFactory.getSOAP12Factory()); + } +} Added: webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/test/ServiceTest.java URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/test/ServiceTest.java?rev=741656&view=auto ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/test/ServiceTest.java (added) +++ webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/test/ServiceTest.java Fri Feb 6 18:03:02 2009 @@ -0,0 +1,62 @@ +package org.apache.axiom.test; + +import org.apache.axiom.soap.SOAPFactory; +import org.apache.felix.ipojo.junit4osgi.OSGiTestCase; +import org.osgi.framework.ServiceReference; + +public class ServiceTest extends OSGiTestCase { + + public void testLLOMOMFactoryServicePresent() throws Exception { + ServiceReference[] omfactRefs = context + .getServiceReferences("org.apache.axiom.om.OMFactory", "(implementationName=llom)"); + assertNotNull(omfactRefs); + assertEquals(3, omfactRefs.length); + } + + public void testDOOMOMFactoryServicePresent() throws Exception { + ServiceReference[] omfactRefs = context + .getServiceReferences("org.apache.axiom.om.OMFactory", "(implementationName=llom)"); + assertNotNull(omfactRefs); + assertEquals(3, omfactRefs.length); + } + + public void testLLOMSOAP11FactoryServicePresent() throws Exception { + ServiceReference[] soapfactRefs = context.getServiceReferences( + "org.apache.axiom.soap.SOAPFactory", "(&(axiom.soapVersion=soap11)(implementationName=llom))"); + + assertNotNull(soapfactRefs); + assertEquals(1, soapfactRefs.length); + SOAPFactory sf = (SOAPFactory) context.getService(soapfactRefs[0]); + assertEquals("http://schemas.xmlsoap.org/soap/envelope/",sf.createSOAPEnvelope().getNamespace().getNamespaceURI()); + } + + public void testDOOMSOAP11FactoryServicePresent() throws Exception { + ServiceReference[] soapfactRefs = context.getServiceReferences( + "org.apache.axiom.soap.SOAPFactory", "(&(axiom.soapVersion=soap11)(implementationName=doom))"); + + assertNotNull(soapfactRefs); + assertEquals(1, soapfactRefs.length); + SOAPFactory sf = (SOAPFactory) context.getService(soapfactRefs[0]); + assertEquals("http://schemas.xmlsoap.org/soap/envelope/",sf.createSOAPEnvelope().getNamespace().getNamespaceURI()); + } + + public void testLLOMSOAP12FactoryServicePresent() throws Exception { + ServiceReference[] soapfactRefs = context.getServiceReferences( + "org.apache.axiom.soap.SOAPFactory", "(&(axiom.soapVersion=soap12)(implementationName=doom))"); + + assertNotNull(soapfactRefs); + assertEquals(1, soapfactRefs.length); + SOAPFactory sf = (SOAPFactory) context.getService(soapfactRefs[0]); + assertEquals("http://www.w3.org/2003/05/soap-envelope",sf.createSOAPEnvelope().getNamespace().getNamespaceURI()); + } + + public void testDOOMSOAP12FactoryServicePresent() throws Exception { + ServiceReference[] soapfactRefs = context.getServiceReferences( + "org.apache.axiom.soap.SOAPFactory", "(&(axiom.soapVersion=soap12)(implementationName=llom))"); + + assertNotNull(soapfactRefs); + assertEquals(1, soapfactRefs.length); + SOAPFactory sf = (SOAPFactory) context.getService(soapfactRefs[0]); + assertEquals("http://www.w3.org/2003/05/soap-envelope",sf.createSOAPEnvelope().getNamespace().getNamespaceURI()); + } +} Added: webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/test/StAXOMBuilderTest.java URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/test/StAXOMBuilderTest.java?rev=741656&view=auto ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/test/StAXOMBuilderTest.java (added) +++ webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-build/src/main/java/org/apache/axiom/test/StAXOMBuilderTest.java Fri Feb 6 18:03:02 2009 @@ -0,0 +1,20 @@ +package org.apache.axiom.test; + +import java.io.ByteArrayInputStream; + +import org.apache.axiom.om.OMElement; +import org.apache.axiom.om.impl.builder.StAXOMBuilder; +import org.apache.felix.ipojo.junit4osgi.OSGiTestCase; + +public class StAXOMBuilderTest extends OSGiTestCase { + + private String xmlString = "<a:testElement xmlns:a=\"http://test/namespace\" />"; + + public void testLLOMOMFactoryServicePresent() throws Exception { + ByteArrayInputStream bais = new ByteArrayInputStream(xmlString.getBytes()); + StAXOMBuilder sb = new StAXOMBuilder(bais); + OMElement oe = sb.getDocumentElement(); + assertEquals("testElement",oe.getLocalName()); + assertEquals("http://test/namespace", oe.getNamespace().getNamespaceURI()); + } +} Added: webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-run/pom.xml URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-run/pom.xml?rev=741656&view=auto ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-run/pom.xml (added) +++ webservices/commons/trunk/modules/axiom/modules/axiom-osgi/axiom-osgi-run/pom.xml Fri Feb 6 18:03:02 2009 @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8"?> + <!-- + ~ Licensed to the Apache Software Foundation (ASF) under one ~ or more + contributor license agreements. See the NOTICE file ~ distributed with + this work for additional information ~ regarding copyright ownership. + The ASF licenses this file ~ to you under the Apache License, Version + 2.0 (the ~ "License"); you may not use this file except in compliance + ~ with the License. You may obtain a copy of the License at ~ ~ + http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by + applicable law or agreed to in writing, ~ software distributed under + the License is distributed on an ~ "AS IS" BASIS, WITHOUT WARRANTIES + OR CONDITIONS OF ANY ~ KIND, either express or implied. See the + License for the ~ specific language governing permissions and + limitations ~ under the License. + --> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.ws.commons.axiom</groupId> + <artifactId>axiom-osgi</artifactId> + <version>1.2.9-SNAPSHOT</version> + </parent> + <artifactId>axiom-osgi-run</artifactId> + <name>Axiom OSGI Test Suite - Run</name> + <version>1.2.9-SNAPSHOT</version> + <dependencies> + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-activation_1.1_spec</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-javamail_1.4_spec</artifactId> + <scope>test</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> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.ws.commons.axiom</groupId> + <artifactId>axiom-api</artifactId> + <version>1.2.9-SNAPSHOT</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.ws.commons.axiom</groupId> + <artifactId>axiom-impl</artifactId> + <version>1.2.9-SNAPSHOT</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.ws.commons.axiom</groupId> + <artifactId>axiom-osgi-build</artifactId> + <version>1.2.9-SNAPSHOT</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.ws.commons.axiom</groupId> + <artifactId>axiom-dom</artifactId> + <version>1.2.9-SNAPSHOT</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.ws.commons.axiom</groupId> + <artifactId>axiom-osgi-build</artifactId> + <version>1.2.9-SNAPSHOT</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.codehaus.woodstox</groupId> + <artifactId>stax2-api</artifactId> + <version>3.0.1</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.codehaus.woodstox</groupId> + <artifactId>woodstox-core-asl</artifactId> + <version>4.0.1</version> + <scope>test</scope> + </dependency> + + <!-- + I'd prefer to use these slf4j bundles rather than the springsource + repackaged commons-logging but there seems to be a bug in the version + of Apache Felix that the plugin pulls in which means slf4j won't + work. <dependency> <groupId>org.slf4j</groupId> + <artifactId>slf4j-nop</artifactId> <version>1.5.6</version> + <scope>test</scope> </dependency> <dependency> + <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> + <version>1.5.6</version> <scope>test</scope> </dependency> + <dependency> <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> <version>1.5.6</version> + <scope>test</scope> </dependency> + --> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>com.springsource.org.apache.commons.logging</artifactId> + <version>1.1.1</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.felix</groupId> + <artifactId>org.apache.felix.scr</artifactId> + <version>1.0.6</version> + <scope>test</scope> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-junit4osgi-plugin</artifactId> + <version>1.1.0-SNAPSHOT</version> + <executions> + <execution> + <goals> + <goal>test</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + <repositories> + <repository> + <id>com.springsource.repository.bundles.external</id> + <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name> + <url>http://repository.springsource.com/maven/bundles/external</url> + </repository> + </repositories> +</project> Added: webservices/commons/trunk/modules/axiom/modules/axiom-osgi/pom.xml URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-osgi/pom.xml?rev=741656&view=auto ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-osgi/pom.xml (added) +++ webservices/commons/trunk/modules/axiom/modules/axiom-osgi/pom.xml Fri Feb 6 18:03:02 2009 @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> + <!-- + ~ Licensed to the Apache Software Foundation (ASF) under one ~ or more + contributor license agreements. See the NOTICE file ~ distributed with + this work for additional information ~ regarding copyright ownership. + The ASF licenses this file ~ to you under the Apache License, Version + 2.0 (the ~ "License"); you may not use this file except in compliance + ~ with the License. You may obtain a copy of the License at ~ ~ + http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by + applicable law or agreed to in writing, ~ software distributed under + the License is distributed on an ~ "AS IS" BASIS, WITHOUT WARRANTIES + OR CONDITIONS OF ANY ~ KIND, either express or implied. See the + License for the ~ specific language governing permissions and + limitations ~ under the License. + --> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.ws.commons.axiom</groupId> + <artifactId>axiom</artifactId> + <version>1.2.9-SNAPSHOT</version> + </parent> + <artifactId>axiom-osgi</artifactId> + <name>Axiom OSGI Test Suite Parent</name> + <version>1.2.9-SNAPSHOT</version> +<packaging>pom</packaging> + <modules> + <module>axiom-osgi-build</module> + <module>axiom-osgi-run</module> + </modules> +</project> Modified: webservices/commons/trunk/modules/axiom/modules/axiom-tests/pom.xml URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-tests/pom.xml?rev=741656&r1=741655&r2=741656&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/modules/axiom-tests/pom.xml (original) +++ webservices/commons/trunk/modules/axiom/modules/axiom-tests/pom.xml Fri Feb 6 18:03:02 2009 @@ -22,11 +22,11 @@ <parent> <groupId>org.apache.ws.commons.axiom</groupId> <artifactId>axiom</artifactId> - <version>SNAPSHOT</version> + <version>1.2.9-SNAPSHOT</version> </parent> <artifactId>axiom-tests</artifactId> <name>Axiom Test Suite</name> - <version>SNAPSHOT</version> + <version>1.2.9-SNAPSHOT</version> <description> The Axiom test suite. This ought to be split into several parts and be made a part of axiom-api, axiom-impl and axiom-dom. However, that's not as easy Modified: webservices/commons/trunk/modules/axiom/pom.xml URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/pom.xml?rev=741656&r1=741655&r2=741656&view=diff ============================================================================== --- webservices/commons/trunk/modules/axiom/pom.xml (original) +++ webservices/commons/trunk/modules/axiom/pom.xml Fri Feb 6 18:03:02 2009 @@ -22,7 +22,7 @@ <groupId>org.apache.ws.commons.axiom</groupId> <artifactId>axiom</artifactId> <name>Axiom</name> - <version>SNAPSHOT</version> + <version>1.2.9-SNAPSHOT</version> <packaging>pom</packaging> <description>AXIOM API</description> <url>http://ws.apache.org/commons/axiom/</url> @@ -360,7 +360,20 @@ <artifactId>maven-release-plugin</artifactId> <version>2.0-beta-8</version> </plugin> - <plugin> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-scr-plugin</artifactId> + <version>1.0.9-SNAPSHOT</version> <!-- Need to use 1.0.9 because need QDox 1.8. See FELIX-917 --> + <executions> + <execution> + <id>generate-scr-scrdescriptor</id> + <goals> + <goal>scr</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <configuration> @@ -568,6 +581,7 @@ <module>modules/axiom-dom</module> <module>modules/axiom-c14n</module> <module>modules/axiom-tests</module> + <module>modules/axiom-osgi</module> </modules> <properties> <axiom.version>${pom.version}</axiom.version>