Author: dkulp
Date: Tue Sep  7 17:30:55 2010
New Revision: 993441

URL: http://svn.apache.org/viewvc?rev=993441&view=rev
Log:
[CXF-2979] Fix issues around plugability of databinding for java2ws
style tools.

Added:
    
cxf/trunk/rt/databinding/aegis/src/main/resources/META-INF/cxf/java2wsbeans.xml
      - copied, changed from r993440, 
cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml
    cxf/trunk/rt/databinding/jaxb/src/main/resources/META-INF/
    cxf/trunk/rt/databinding/jaxb/src/main/resources/META-INF/cxf/
    
cxf/trunk/rt/databinding/jaxb/src/main/resources/META-INF/cxf/java2wsbeans.xml
      - copied, changed from r993440, 
cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml
    cxf/trunk/rt/databinding/sdo/src/main/resources/META-INF/cxf/
    
cxf/trunk/rt/databinding/sdo/src/main/resources/META-INF/cxf/java2wsbeans.xml
      - copied, changed from r993440, 
cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml
    cxf/trunk/rt/databinding/xmlbeans/src/main/resources/META-INF/cxf/
    
cxf/trunk/rt/databinding/xmlbeans/src/main/resources/META-INF/cxf/java2wsbeans.xml
      - copied, changed from r993440, 
cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml
Modified:
    cxf/trunk/distribution/bundle/all/pom.xml
    cxf/trunk/distribution/bundle/jaxrs/pom.xml
    cxf/trunk/distribution/bundle/minimal/pom.xml
    cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml
    
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2js/processor/JavaToJSProcessor.java
    
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/java2ws.xml
    
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/JavaToWSDLProcessor.java
    
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/DefaultServiceBuilderFactory.java
    
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/ServiceBuilderFactory.java
    
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/SpringServiceBuilderFactory.java

Modified: cxf/trunk/distribution/bundle/all/pom.xml
URL: 
http://svn.apache.org/viewvc/cxf/trunk/distribution/bundle/all/pom.xml?rev=993441&r1=993440&r2=993441&view=diff
==============================================================================
--- cxf/trunk/distribution/bundle/all/pom.xml (original)
+++ cxf/trunk/distribution/bundle/all/pom.xml Tue Sep  7 17:30:55 2010
@@ -382,6 +382,9 @@
                                 <transformer 
implementation="org.apache.cxf.maven.PluginTransformer">
                                     
<resource>META-INF/tools-plugin.xml</resource>
                                 </transformer>
+                                <transformer 
implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
+                                    
<resource>META-INF/cxf/java2wsbeans.xml</resource>
+                                </transformer>
                                 <transformer 
implementation="org.apache.cxf.maven.CXFAllTransformer" />
                             </transformers>
                         </configuration>

Modified: cxf/trunk/distribution/bundle/jaxrs/pom.xml
URL: 
http://svn.apache.org/viewvc/cxf/trunk/distribution/bundle/jaxrs/pom.xml?rev=993441&r1=993440&r2=993441&view=diff
==============================================================================
--- cxf/trunk/distribution/bundle/jaxrs/pom.xml (original)
+++ cxf/trunk/distribution/bundle/jaxrs/pom.xml Tue Sep  7 17:30:55 2010
@@ -222,6 +222,9 @@
                                 <transformer 
implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
                                     
<resource>META-INF/cxf/bus-extensions.xml</resource>
                                 </transformer>
+                                <transformer 
implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
+                                    
<resource>META-INF/cxf/java2wsbeans.xml</resource>
+                                </transformer>
                                 <transformer 
implementation="org.apache.cxf.maven.CXFAllTransformer" />
                             </transformers>
                         </configuration>

Modified: cxf/trunk/distribution/bundle/minimal/pom.xml
URL: 
http://svn.apache.org/viewvc/cxf/trunk/distribution/bundle/minimal/pom.xml?rev=993441&r1=993440&r2=993441&view=diff
==============================================================================
--- cxf/trunk/distribution/bundle/minimal/pom.xml (original)
+++ cxf/trunk/distribution/bundle/minimal/pom.xml Tue Sep  7 17:30:55 2010
@@ -278,6 +278,9 @@
                                 <transformer 
implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
                                     
<resource>META-INF/wsdl.plugin.xml</resource>
                                 </transformer>                     
+                                <transformer 
implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
+                                    
<resource>META-INF/cxf/java2wsbeans.xml</resource>
+                                </transformer>
                                 <transformer 
implementation="org.apache.cxf.maven.CXFAllTransformer" />
                             </transformers>
                         </configuration>

Copied: 
cxf/trunk/rt/databinding/aegis/src/main/resources/META-INF/cxf/java2wsbeans.xml 
(from r993440, 
cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml)
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/resources/META-INF/cxf/java2wsbeans.xml?p2=cxf/trunk/rt/databinding/aegis/src/main/resources/META-INF/cxf/java2wsbeans.xml&p1=cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml&r1=993440&r2=993441&rev=993441&view=diff
==============================================================================
--- cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml 
(original)
+++ 
cxf/trunk/rt/databinding/aegis/src/main/resources/META-INF/cxf/java2wsbeans.xml 
Tue Sep  7 17:30:55 2010
@@ -22,11 +22,7 @@
        xsi:schemaLocation="
 http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd";>
 
-<bean id='JaxwsServiceBuilderBean' 
class='org.apache.cxf.jaxws.JaxwsServiceBuilder' scope="prototype" />
-<bean id='SimpleServiceBuilderBean' 
class='org.apache.cxf.simple.SimpleServiceBuilder' scope="prototype" />
-
-<bean id='JaxbDatabindingBean' class="org.apache.cxf.jaxb.JAXBDataBinding" 
scope="prototype"/>
-<bean id='AegisDatabindingBean' 
class="org.apache.cxf.aegis.databinding.AegisDatabinding" scope="prototype" />
+    <bean id='AegisDatabindingBean' 
class="org.apache.cxf.aegis.databinding.AegisDatabinding" scope="prototype" />
 
 
 </beans>

Copied: 
cxf/trunk/rt/databinding/jaxb/src/main/resources/META-INF/cxf/java2wsbeans.xml 
(from r993440, 
cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml)
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/jaxb/src/main/resources/META-INF/cxf/java2wsbeans.xml?p2=cxf/trunk/rt/databinding/jaxb/src/main/resources/META-INF/cxf/java2wsbeans.xml&p1=cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml&r1=993440&r2=993441&rev=993441&view=diff
==============================================================================
--- cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml 
(original)
+++ 
cxf/trunk/rt/databinding/jaxb/src/main/resources/META-INF/cxf/java2wsbeans.xml 
Tue Sep  7 17:30:55 2010
@@ -22,11 +22,6 @@
        xsi:schemaLocation="
 http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd";>
 
-<bean id='JaxwsServiceBuilderBean' 
class='org.apache.cxf.jaxws.JaxwsServiceBuilder' scope="prototype" />
-<bean id='SimpleServiceBuilderBean' 
class='org.apache.cxf.simple.SimpleServiceBuilder' scope="prototype" />
-
-<bean id='JaxbDatabindingBean' class="org.apache.cxf.jaxb.JAXBDataBinding" 
scope="prototype"/>
-<bean id='AegisDatabindingBean' 
class="org.apache.cxf.aegis.databinding.AegisDatabinding" scope="prototype" />
-
+    <bean id='JaxbDatabindingBean' class="org.apache.cxf.jaxb.JAXBDataBinding" 
scope="prototype"/>
 
 </beans>

Copied: 
cxf/trunk/rt/databinding/sdo/src/main/resources/META-INF/cxf/java2wsbeans.xml 
(from r993440, 
cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml)
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/sdo/src/main/resources/META-INF/cxf/java2wsbeans.xml?p2=cxf/trunk/rt/databinding/sdo/src/main/resources/META-INF/cxf/java2wsbeans.xml&p1=cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml&r1=993440&r2=993441&rev=993441&view=diff
==============================================================================
--- cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml 
(original)
+++ 
cxf/trunk/rt/databinding/sdo/src/main/resources/META-INF/cxf/java2wsbeans.xml 
Tue Sep  7 17:30:55 2010
@@ -22,11 +22,6 @@
        xsi:schemaLocation="
 http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd";>
 
-<bean id='JaxwsServiceBuilderBean' 
class='org.apache.cxf.jaxws.JaxwsServiceBuilder' scope="prototype" />
-<bean id='SimpleServiceBuilderBean' 
class='org.apache.cxf.simple.SimpleServiceBuilder' scope="prototype" />
-
-<bean id='JaxbDatabindingBean' class="org.apache.cxf.jaxb.JAXBDataBinding" 
scope="prototype"/>
-<bean id='AegisDatabindingBean' 
class="org.apache.cxf.aegis.databinding.AegisDatabinding" scope="prototype" />
-
+    <bean id='SdoDatabindingBean' class="org.apache.cxf.sdo.SDODataBinding" 
scope="prototype" />
 
 </beans>

Copied: 
cxf/trunk/rt/databinding/xmlbeans/src/main/resources/META-INF/cxf/java2wsbeans.xml
 (from r993440, 
cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml)
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/xmlbeans/src/main/resources/META-INF/cxf/java2wsbeans.xml?p2=cxf/trunk/rt/databinding/xmlbeans/src/main/resources/META-INF/cxf/java2wsbeans.xml&p1=cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml&r1=993440&r2=993441&rev=993441&view=diff
==============================================================================
--- cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml 
(original)
+++ 
cxf/trunk/rt/databinding/xmlbeans/src/main/resources/META-INF/cxf/java2wsbeans.xml
 Tue Sep  7 17:30:55 2010
@@ -22,11 +22,6 @@
        xsi:schemaLocation="
 http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd";>
 
-<bean id='JaxwsServiceBuilderBean' 
class='org.apache.cxf.jaxws.JaxwsServiceBuilder' scope="prototype" />
-<bean id='SimpleServiceBuilderBean' 
class='org.apache.cxf.simple.SimpleServiceBuilder' scope="prototype" />
-
-<bean id='JaxbDatabindingBean' class="org.apache.cxf.jaxb.JAXBDataBinding" 
scope="prototype"/>
-<bean id='AegisDatabindingBean' 
class="org.apache.cxf.aegis.databinding.AegisDatabinding" scope="prototype" />
-
+    <bean id='XmlbeansDatabindingBean' 
class="org.apache.cxf.xmlbeans.XmlBeansDataBinding" scope="prototype" />
 
 </beans>

Modified: cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml
URL: 
http://svn.apache.org/viewvc/cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml?rev=993441&r1=993440&r2=993441&view=diff
==============================================================================
--- cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml 
(original)
+++ cxf/trunk/tools/javato/ws/src/main/java/META-INF/cxf/java2wsbeans.xml Tue 
Sep  7 17:30:55 2010
@@ -25,8 +25,5 @@ http://www.springframework.org/schema/be
 <bean id='JaxwsServiceBuilderBean' 
class='org.apache.cxf.jaxws.JaxwsServiceBuilder' scope="prototype" />
 <bean id='SimpleServiceBuilderBean' 
class='org.apache.cxf.simple.SimpleServiceBuilder' scope="prototype" />
 
-<bean id='JaxbDatabindingBean' class="org.apache.cxf.jaxb.JAXBDataBinding" 
scope="prototype"/>
-<bean id='AegisDatabindingBean' 
class="org.apache.cxf.aegis.databinding.AegisDatabinding" scope="prototype" />
-
 
 </beans>

Modified: 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2js/processor/JavaToJSProcessor.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2js/processor/JavaToJSProcessor.java?rev=993441&r1=993440&r2=993441&view=diff
==============================================================================
--- 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2js/processor/JavaToJSProcessor.java
 (original)
+++ 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2js/processor/JavaToJSProcessor.java
 Tue Sep  7 17:30:55 2010
@@ -131,7 +131,11 @@ public class JavaToJSProcessor implement
                 }
             }
         }
-        ServiceBuilderFactory builderFactory = 
ServiceBuilderFactory.getInstance(beanDefinitions);
+
+        
+        ServiceBuilderFactory builderFactory 
+            = ServiceBuilderFactory.getInstance(beanDefinitions,
+                                                getDataBindingName());
         Class<?> clz = getServiceClass();
         context.put(Class.class, clz);
         if (clz.isInterface()) {

Modified: 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/java2ws.xml
URL: 
http://svn.apache.org/viewvc/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/java2ws.xml?rev=993441&r1=993440&r2=993441&view=diff
==============================================================================
--- 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/java2ws.xml
 (original)
+++ 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/java2ws.xml
 Tue Sep  7 17:30:55 2010
@@ -38,12 +38,12 @@
                
                        <option id="databinding" maxOccurs="1">
                                <annotation>
-                                   Specify the data binding (aegis or jaxb). 
Default is jaxb for jaxws 
+                                   Specify the data binding (aegis, jaxb, 
xmlbeans, etc...). Default is jaxb for jaxws 
                                    frontend, and aegis for simple frontend.
                                </annotation>
                                <switch>databinding</switch>
                                <associatedArgument placement="afterSpace">
-                                 <annotation>jaxb or aegis</annotation>
+                                 <annotation>databinding name</annotation>
                                </associatedArgument>
                        </option>
                        <option id="frontend" maxOccurs="1">

Modified: 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/JavaToWSDLProcessor.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/JavaToWSDLProcessor.java?rev=993441&r1=993440&r2=993441&view=diff
==============================================================================
--- 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/JavaToWSDLProcessor.java
 (original)
+++ 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/JavaToWSDLProcessor.java
 Tue Sep  7 17:30:55 2010
@@ -173,7 +173,9 @@ public class JavaToWSDLProcessor impleme
             }
         }
         
-        ServiceBuilderFactory builderFactory = 
ServiceBuilderFactory.getInstance(beanDefinitions);
+        ServiceBuilderFactory builderFactory 
+            = ServiceBuilderFactory.getInstance(beanDefinitions,
+                                                getDataBindingName());
         Class<?> clz = getServiceClass();
         context.put(Class.class, clz);
         if (clz.isInterface()) {

Modified: 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/DefaultServiceBuilderFactory.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/DefaultServiceBuilderFactory.java?rev=993441&r1=993440&r2=993441&view=diff
==============================================================================
--- 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/DefaultServiceBuilderFactory.java
 (original)
+++ 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/DefaultServiceBuilderFactory.java
 Tue Sep  7 17:30:55 2010
@@ -46,7 +46,7 @@ public final class DefaultServiceBuilder
         } else if (ToolConstants.AEGIS_DATABINDING.equals(dbn)) {
             dataBinding = new AegisDatabinding();
         } else {
-            throw new ToolException("Unsupported databinding: " + s);
+            throw new ToolException("Unsupported databinding: " + dbn);
         }
         AbstractServiceFactory builder = null;
         if (Style.Jaxws.equals(s)) {

Modified: 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/ServiceBuilderFactory.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/ServiceBuilderFactory.java?rev=993441&r1=993440&r2=993441&view=diff
==============================================================================
--- 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/ServiceBuilderFactory.java
 (original)
+++ 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/ServiceBuilderFactory.java
 Tue Sep  7 17:30:55 2010
@@ -39,10 +39,16 @@ public abstract class ServiceBuilderFact
         databindingName = ToolConstants.DEFAULT_DATA_BINDING_NAME;
     }
 
-    public static ServiceBuilderFactory getInstance(List<String> 
beanDefinitions) {
+    public static ServiceBuilderFactory getInstance(List<String> 
beanDefinitions,
+                                                    String db) {
         ServiceBuilderFactory factory;
         if (beanDefinitions == null || beanDefinitions.isEmpty()) {
-            factory = new DefaultServiceBuilderFactory();
+            if (ToolConstants.JAXB_DATABINDING.equals(db)
+                || ToolConstants.AEGIS_DATABINDING.equals(db)) {
+                factory = new DefaultServiceBuilderFactory();
+            } else {
+                factory = new SpringServiceBuilderFactory(beanDefinitions);
+            }
         } else {
             factory = new SpringServiceBuilderFactory(beanDefinitions);
         }

Modified: 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/SpringServiceBuilderFactory.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/SpringServiceBuilderFactory.java?rev=993441&r1=993440&r2=993441&view=diff
==============================================================================
--- 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/SpringServiceBuilderFactory.java
 (original)
+++ 
cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/SpringServiceBuilderFactory.java
 Tue Sep  7 17:30:55 2010
@@ -19,11 +19,13 @@
 
 package org.apache.cxf.tools.java2wsdl.processor.internal;
 
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.cxf.BusFactory;
 import org.apache.cxf.bus.spring.BusApplicationContext;
+import org.apache.cxf.common.classloader.ClassLoaderUtils;
 import org.apache.cxf.databinding.DataBinding;
 import org.apache.cxf.frontend.AbstractServiceFactory;
 import org.apache.cxf.service.ServiceBuilder;
@@ -36,8 +38,8 @@ import org.springframework.beans.factory
 import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.support.GenericApplicationContext;
-import org.springframework.core.io.ClassPathResource;
 import org.springframework.core.io.FileSystemResource;
+import org.springframework.core.io.UrlResource;
 
 /**
  * This class constructs ServiceBuilder objects using Spring. These objects 
are used to access the services
@@ -117,7 +119,12 @@ public final class SpringServiceBuilderF
             .getExtension(BusApplicationContext.class);
         GenericApplicationContext appContext = new 
GenericApplicationContext(busApplicationContext);
         XmlBeanDefinitionReader reader = new 
XmlBeanDefinitionReader(appContext);
-        reader.loadBeanDefinitions(new 
ClassPathResource("META-INF/cxf/java2wsbeans.xml"));
+        List<URL> urls = 
ClassLoaderUtils.getResources("META-INF/cxf/java2wsbeans.xml", 
+                                                       
SpringServiceBuilderFactory.class);
+        for (URL url : urls) {
+            reader.loadBeanDefinitions(new UrlResource(url));
+        }
+        
         for (String pathname : additionalFilePathnames) {
             try {
                 reader.loadBeanDefinitions(new FileSystemResource(pathname));


Reply via email to