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>


Reply via email to