You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by dk...@apache.org on 2012/09/24 18:38:10 UTC

svn commit: r1389477 - in /servicemix/smx4/specs/trunk/saaj-api-1.3: pom.xml src/main/java/javax/xml/soap/FactoryFinder.java

Author: dkulp
Date: Mon Sep 24 16:38:10 2012
New Revision: 1389477

URL: http://svn.apache.org/viewvc?rev=1389477&view=rev
Log:
[SMX4-1248] Update saaj-api specs bundle to latest geronimo-specs version

Modified:
    servicemix/smx4/specs/trunk/saaj-api-1.3/pom.xml
    servicemix/smx4/specs/trunk/saaj-api-1.3/src/main/java/javax/xml/soap/FactoryFinder.java

Modified: servicemix/smx4/specs/trunk/saaj-api-1.3/pom.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/saaj-api-1.3/pom.xml?rev=1389477&r1=1389476&r2=1389477&view=diff
==============================================================================
--- servicemix/smx4/specs/trunk/saaj-api-1.3/pom.xml (original)
+++ servicemix/smx4/specs/trunk/saaj-api-1.3/pom.xml Mon Sep 24 16:38:10 2012
@@ -37,7 +37,7 @@
         <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
             <artifactId>geronimo-saaj_1.3_spec</artifactId>
-            <version>1.0.0</version>
+            <version>1.1</version>
         </dependency>
         <dependency>
             <groupId>org.apache.servicemix.specs</groupId>

Modified: servicemix/smx4/specs/trunk/saaj-api-1.3/src/main/java/javax/xml/soap/FactoryFinder.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/saaj-api-1.3/src/main/java/javax/xml/soap/FactoryFinder.java?rev=1389477&r1=1389476&r2=1389477&view=diff
==============================================================================
--- servicemix/smx4/specs/trunk/saaj-api-1.3/src/main/java/javax/xml/soap/FactoryFinder.java (original)
+++ servicemix/smx4/specs/trunk/saaj-api-1.3/src/main/java/javax/xml/soap/FactoryFinder.java Mon Sep 24 16:38:10 2012
@@ -79,22 +79,49 @@ class FactoryFinder {
      * @return a factory object
      * @throws SOAPException
      */
+    static Object find(Class factory,
+                       String defaultFactoryClassName) throws SOAPException {
+        return find(factory.getName(), factory, defaultFactoryClassName);
+    }
+    /**
+     * Instantiates a factory object given the factory's property name and the default class name.
+     *
+     * @param factoryPropertyName
+     * @param defaultFactoryClassName
+     * @return a factory object
+     * @throws SOAPException
+     */
+    static Object find(String factoryPropertyName,
+                       String defaultFactoryClassName) throws SOAPException {
+        return find(factoryPropertyName, null, defaultFactoryClassName);
+    }
+    /**
+     * Instantiates a factory object given the factory's property name and the default class name.
+     *
+     * @param factoryPropertyName
+     * @param defaultFactoryClassName
+     * @return a factory object
+     * @throws SOAPException
+     */
     static Object find(String factoryPropertyName,
+                       Class factoryClass,
                        String defaultFactoryClassName) throws SOAPException {
         try {
             // If we are deployed into an OSGi environment, leverage it
-            String factoryClassName = factoryPropertyName;
-            if (factoryPropertyName.equals("javax.xml.soap.MetaFactory")) {
-                //this is an exception that the factoryPropertyName isn't
-                //the actual factory class name, there is no class
-                //javax.xml.soap.MetaFactory at all
-                factoryClassName = "javax.xml.soap.SAAJMetaFactory";
-            }
-            ClassLoader cl = FactoryFinder.class.getClassLoader();
-            if (cl == null) {
-            	cl = Thread.currentThread().getContextClassLoader();
+            if (factoryClass == null) {
+                String factoryClassName = factoryPropertyName;
+                if (factoryPropertyName.equals("javax.xml.soap.MetaFactory")) {
+                    //this is an exception that the factoryPropertyName isn't
+                    //the actual factory class name, there is no class
+                    //javax.xml.soap.MetaFactory at all
+                    factoryClassName = "javax.xml.soap.SAAJMetaFactory";
+                }
+                ClassLoader cl = FactoryFinder.class.getClassLoader();
+                if (cl == null) {
+                    cl = Thread.currentThread().getContextClassLoader();
+                }
+                factoryClass = cl.loadClass(factoryClassName);
             }
-            Class factoryClass = cl.loadClass(factoryClassName);
             Class spiClass = org.apache.servicemix.specs.locator.OsgiLocator.locate(factoryClass, factoryPropertyName);
             if (spiClass != null) {
                 return spiClass.newInstance();