You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by jo...@apache.org on 2011/06/23 02:27:57 UTC

svn commit: r1138700 - in /camel/trunk/components/camel-cxf/src: main/java/org/apache/camel/component/cxf/ main/java/org/apache/camel/component/cxf/blueprint/ main/java/org/apache/camel/component/cxf/converter/ main/java/org/apache/camel/component/cxf/...

Author: joed
Date: Thu Jun 23 00:27:56 2011
New Revision: 1138700

URL: http://svn.apache.org/viewvc?rev=1138700&view=rev
Log:
Camel-CXF blueprint, correct classloading.
Also simplifies and makes the loading of the endpoints similar 
between spring/blueprint

Many thanks to dkulp.

Fixes for https://issues.apache.org/jira/browse/CAMEL-4139

Tested with karaf-2.2.1-SNAPSHOT and reportincident example.

Modified:
    camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBlueprintEndpoint.java
    camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
    camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
    camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpointUtils.java
    camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfSpringEndpoint.java
    camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java
    camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java
    camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/AbstractCxfBeanDefinitionParser.java
    camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java
    camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterPayLoadWithFeatureRouterTest.java
    camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/LoggingInterceptorInMessageModeTest.java
    camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/ServiceClassRefTest.java
    camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/multipart/MultiPartInvokeImpl.java
    camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanTest.java
    camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanWithBusTest.java
    camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeansRouterTest.java
    camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java
    camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsWithSpringTest.java

Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBlueprintEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBlueprintEndpoint.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBlueprintEndpoint.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBlueprintEndpoint.java Thu Jun 23 00:27:56 2011
@@ -51,9 +51,9 @@ public class CxfBlueprintEndpoint extend
     private BundleContext bundleContext;
     private BlueprintCamelContext blueprintCamelContext;
 
-    public CxfBlueprintEndpoint(String address) {
+    public CxfBlueprintEndpoint(String address, BundleContext context) {
         super(address);
-
+        bundleContext = context;
     }
 
     public List<Handler> getHandlers() {
@@ -71,7 +71,11 @@ public class CxfBlueprintEndpoint extend
         BusFactory.setDefaultBus(null);
         BusFactory.setThreadDefaultBus(null);
     }
-
+    
+    public void setServiceClass(String n) throws ClassNotFoundException {
+        setServiceClass(bundleContext.getBundle().loadClass(n));
+    }
+    
     // Package private methods
     // -------------------------------------------------------------------------
 
@@ -82,7 +86,7 @@ public class CxfBlueprintEndpoint extend
 
         // get service class
         if (getDataFormat().equals(DataFormat.POJO)) {
-            ObjectHelper.notEmpty(getServiceClass(), CxfConstants.SERVICE_CLASS);
+            ObjectHelper.notNull(getServiceClass(), CxfConstants.SERVICE_CLASS);
         }
 
         if (getWsdlURL() == null && getServiceClass() == null) {
@@ -98,7 +102,7 @@ public class CxfBlueprintEndpoint extend
         Class<?> cls = null;
         if (getServiceClass() != null) {
             //Fool CXF classes to load their settings and bindings from the CXF bundle
-            cls = bundleContext.getBundle().loadClass(getServiceClass());
+            cls = getServiceClass();
             // create client factory bean
             ClientProxyFactoryBean factoryBean = createClientFactoryBean(cls);
             // setup client factory bean
@@ -129,8 +133,8 @@ public class CxfBlueprintEndpoint extend
         Class<?> cls = null;
         if (getDataFormat() == DataFormat.POJO || getServiceClass() != null) {
             // get service class
-            ObjectHelper.notEmpty(getServiceClass(), CxfConstants.SERVICE_CLASS);
-            cls = bundleContext.getBundle().loadClass(getServiceClass());
+            ObjectHelper.notNull(getServiceClass(), CxfConstants.SERVICE_CLASS);
+            cls = getServiceClass();
         }
 
         // create server factory bean

Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java Thu Jun 23 00:27:56 2011
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.cxf;
 
-import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.camel.CamelContext;
@@ -56,29 +55,14 @@ public class CxfComponent extends Header
                 beanId = beanId.substring(2);
             }
 
-            Object bean = CamelContextHelper.mandatoryLookup(getCamelContext(), beanId, Object.class);
-            if (bean instanceof CxfEndpointBean) {
-                CxfEndpointBean configBean = (CxfEndpointBean) bean;
-                result = new CxfSpringEndpoint(this, configBean);
-
-                // Apply Spring bean properties (including # notation referenced bean).  Note that the
-                // Spring bean properties values can be overridden by property defined in URI query.
-                // The super class (DefaultComponent) will invoke "setProperties" after this method
-                // with to apply properties defined by URI query.
-                if (configBean.getProperties() != null) {
-                    Map<String, Object> copy = new HashMap<String, Object>();
-                    copy.putAll(configBean.getProperties());
-                    setProperties(result, copy);
-                    result.setMtomEnabled(Boolean.valueOf((String) copy.get(Message.MTOM_ENABLED)));
-                }
-            } else if (bean instanceof CxfBlueprintEndpoint) {
-                result = (CxfBlueprintEndpoint) bean;
-            }
+            result = CamelContextHelper.mandatoryLookup(getCamelContext(), beanId, CxfEndpoint.class);
         } else {
             // endpoint URI does not specify a bean
             result = new CxfEndpoint(remaining, this);
         }
-
+        if (result.getCamelContext() == null) {
+            result.setCamelContext(getCamelContext());
+        }
         setEndpointHeaderFilterStrategy(result);
         setProperties(result, parameters);
 
@@ -86,8 +70,10 @@ public class CxfComponent extends Header
         Map<String, Object> properties = IntrospectionSupport.extractProperties(parameters, "properties.");
         if (properties != null) {
             result.setProperties(properties);
+        }
+        if (result.getProperties() != null) {
             // set the properties of MTOM
-            result.setMtomEnabled(Boolean.valueOf((String) properties.get(Message.MTOM_ENABLED)));
+            result.setMtomEnabled(Boolean.valueOf((String) result.getProperties().get(Message.MTOM_ENABLED)));
         }
 
         return result;

Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java Thu Jun 23 00:27:56 2011
@@ -17,11 +17,16 @@
 package org.apache.camel.component.cxf;
 
 import java.lang.reflect.Proxy;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
+
+import javax.xml.namespace.QName;
 import javax.xml.ws.WebServiceProvider;
+import javax.xml.ws.handler.Handler;
+
 import org.w3c.dom.Element;
 
 import org.apache.camel.CamelContext;
@@ -39,20 +44,24 @@ import org.apache.camel.impl.Synchronous
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spi.HeaderFilterStrategyAware;
 import org.apache.camel.spring.SpringCamelContext;
+import org.apache.camel.util.EndpointHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.cxf.Bus;
 import org.apache.cxf.BusFactory;
 import org.apache.cxf.common.classloader.ClassLoaderUtils;
 import org.apache.cxf.common.util.ClassHelper;
+import org.apache.cxf.common.util.ModCountCopyOnWriteArrayList;
 import org.apache.cxf.endpoint.Client;
 import org.apache.cxf.endpoint.ClientImpl;
 import org.apache.cxf.endpoint.Endpoint;
+import org.apache.cxf.feature.AbstractFeature;
 import org.apache.cxf.feature.LoggingFeature;
 import org.apache.cxf.frontend.ClientFactoryBean;
 import org.apache.cxf.frontend.ClientProxy;
 import org.apache.cxf.frontend.ClientProxyFactoryBean;
 import org.apache.cxf.frontend.ServerFactoryBean;
 import org.apache.cxf.headers.Header;
+import org.apache.cxf.interceptor.Interceptor;
 import org.apache.cxf.jaxws.JaxWsClientFactoryBean;
 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
 import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
@@ -75,20 +84,21 @@ public class CxfEndpoint extends Default
 
     private static final Logger LOG = LoggerFactory.getLogger(CxfEndpoint.class);
 
+    protected Bus bus;
+
     private String wsdlURL;
-    private String serviceClass;
-    private String portName;
-    private String serviceName;
+    private Class<?> serviceClass;
+    private QName portName;
+    private QName serviceName;
     private String defaultOperationName;
     private String defaultOperationNamespace;
-    private DataFormat dataFormat = DataFormat.POJO;
     // This is for invoking the CXFClient with wrapped parameters of unwrapped parameters
     private boolean isWrapped;
     // This is for marshal or unmarshal message with the document-literal wrapped or unwrapped style
     private Boolean wrappedStyle;
+    private DataFormat dataFormat = DataFormat.POJO;
     private String publishedEndpointUrl;
     private boolean inOut = true;
-    private Bus bus;
     private CxfBinding cxfBinding;
     private HeaderFilterStrategy headerFilterStrategy;
     private AtomicBoolean getBusHasBeenCalled = new AtomicBoolean(false);
@@ -98,6 +108,23 @@ public class CxfEndpoint extends Default
     private boolean mtomEnabled;
     private boolean skipPayloadMessagePartCheck;
     private Map<String, Object> properties;
+    private List<Interceptor<? extends Message>> in 
+        = new ModCountCopyOnWriteArrayList<Interceptor<? extends Message>>();
+    private List<Interceptor<? extends Message>> out 
+        = new ModCountCopyOnWriteArrayList<Interceptor<? extends Message>>();
+    private List<Interceptor<? extends Message>> outFault  
+        = new ModCountCopyOnWriteArrayList<Interceptor<? extends Message>>();
+    private List<Interceptor<? extends Message>> inFault 
+        = new ModCountCopyOnWriteArrayList<Interceptor<? extends Message>>();
+    private List<AbstractFeature> features 
+        = new ModCountCopyOnWriteArrayList<AbstractFeature>();
+
+    private List<Handler> handlers;
+    private List<String> schemaLocations = new ArrayList<String>();
+    private String transportId;
+    private String bindingId;
+
+    
 
     public CxfEndpoint(String remaining, CxfComponent cxfComponent) {
         super(remaining, cxfComponent);
@@ -113,6 +140,9 @@ public class CxfEndpoint extends Default
         super(remaining);
         setAddress(remaining);
     }
+    public CxfEndpoint() {
+        super();
+    }
 
     // This method is for CxfComponent setting the EndpointUri
     protected void updateEndpointUri(String endpointUri) {
@@ -147,6 +177,19 @@ public class CxfEndpoint extends Default
         // service class
         sfb.setServiceClass(cls);
 
+        sfb.setInInterceptors(in);
+        sfb.setOutInterceptors(out);
+        sfb.setOutFaultInterceptors(outFault);
+        sfb.setInFaultInterceptors(inFault); 
+        sfb.setFeatures(features);
+        sfb.setSchemaLocations(schemaLocations);
+        
+        if (sfb instanceof JaxWsServerFactoryBean && handlers != null) {
+            ((JaxWsServerFactoryBean)sfb).setHandlers(handlers);
+        }
+        sfb.setTransportId(transportId);
+        sfb.setBindingId(bindingId);
+        
         // wsdl url
         if (getWsdlURL() != null) {
             sfb.setWsdlURL(getWsdlURL());
@@ -154,12 +197,12 @@ public class CxfEndpoint extends Default
 
         // service  name qname
         if (getServiceName() != null) {
-            sfb.setServiceName(CxfEndpointUtils.getQName(getServiceName()));
+            sfb.setServiceName(getServiceName());
         }
 
         // port qname
         if (getPortName() != null) {
-            sfb.setEndpointName(CxfEndpointUtils.getQName(getPortName()));
+            sfb.setEndpointName(getPortName());
         }
 
         // apply feature here
@@ -261,6 +304,18 @@ public class CxfEndpoint extends Default
         // service class
         factoryBean.setServiceClass(cls);
 
+        factoryBean.setInInterceptors(in);
+        factoryBean.setOutInterceptors(out);
+        factoryBean.setOutFaultInterceptors(outFault);
+        factoryBean.setInFaultInterceptors(inFault); 
+        factoryBean.setFeatures(features);
+        
+        if (factoryBean instanceof JaxWsProxyFactoryBean && handlers != null) {
+            ((JaxWsProxyFactoryBean)factoryBean).setHandlers(handlers);
+        }        
+        factoryBean.setTransportId(transportId);
+        factoryBean.setBindingId(bindingId);
+
         // address
         factoryBean.setAddress(getAddress());
 
@@ -271,12 +326,12 @@ public class CxfEndpoint extends Default
 
         // service name qname
         if (getServiceName() != null) {
-            factoryBean.setServiceName(CxfEndpointUtils.getQName(getServiceName()));
+            factoryBean.setServiceName(getServiceName());
         }
 
         // port name qname
         if (getPortName() != null) {
-            factoryBean.setEndpointName(CxfEndpointUtils.getQName(getPortName()));
+            factoryBean.setEndpointName(getPortName());
         }
 
         // apply feature here
@@ -311,6 +366,14 @@ public class CxfEndpoint extends Default
     }
 
     protected void setupClientFactoryBean(ClientFactoryBean factoryBean) {
+        factoryBean.setInInterceptors(in);
+        factoryBean.setOutInterceptors(out);
+        factoryBean.setOutFaultInterceptors(outFault);
+        factoryBean.setInFaultInterceptors(inFault); 
+        factoryBean.setFeatures(features);
+        factoryBean.setTransportId(transportId);
+        factoryBean.setBindingId(bindingId);
+
         // address
         factoryBean.setAddress(getAddress());
 
@@ -321,12 +384,12 @@ public class CxfEndpoint extends Default
 
         // service name qname
         if (getServiceName() != null) {
-            factoryBean.setServiceName(CxfEndpointUtils.getQName(getServiceName()));
+            factoryBean.setServiceName(getServiceName());
         }
 
         // port name qname
         if (getPortName() != null) {
-            factoryBean.setEndpointName(CxfEndpointUtils.getQName(getPortName()));
+            factoryBean.setEndpointName(getPortName());
         }
 
         // apply feature here
@@ -359,7 +422,7 @@ public class CxfEndpoint extends Default
 
         // get service class
         if (getDataFormat().equals(DataFormat.POJO)) {
-            ObjectHelper.notEmpty(getServiceClass(), CxfConstants.SERVICE_CLASS);
+            ObjectHelper.notNull(getServiceClass(), CxfConstants.SERVICE_CLASS);
         }
 
         if (getWsdlURL() == null && getServiceClass() == null) {
@@ -374,7 +437,7 @@ public class CxfEndpoint extends Default
 
         Class<?> cls = null;
         if (getServiceClass() != null) {
-            cls = ClassLoaderUtils.loadClass(getServiceClass(), getClass());
+            cls = getServiceClass();
             // create client factory bean
             ClientProxyFactoryBean factoryBean = createClientFactoryBean(cls);
             // setup client factory bean
@@ -405,8 +468,8 @@ public class CxfEndpoint extends Default
         Class<?> cls = null;
         if (getDataFormat() == DataFormat.POJO || getServiceClass() != null) {
             // get service class
-            ObjectHelper.notEmpty(getServiceClass(), CxfConstants.SERVICE_CLASS);
-            cls = ClassLoaderUtils.loadClass(getServiceClass(), getClass());
+            ObjectHelper.notNull(getServiceClass(), CxfConstants.SERVICE_CLASS);
+            cls = getServiceClass();
         }
 
         // create server factory bean
@@ -456,31 +519,38 @@ public class CxfEndpoint extends Default
         wsdlURL = url;
     }
 
-    public String getServiceClass() {
+    public Class<?> getServiceClass() {
         return serviceClass;
     }
 
-    public void setServiceClass(String className) {
-        serviceClass = className;
+    public void setServiceClass(Class<?> cls) {
+        serviceClass = cls;
     }
 
     public void setServiceClass(Object instance) {
-        serviceClass = ClassHelper.getRealClass(instance).getName();
+        serviceClass = ClassHelper.getRealClass(instance);
     }
-
-    public void setServiceName(String service) {
+    
+    public void setServiceClass(String type) throws ClassNotFoundException {
+        serviceClass = ClassLoaderUtils.loadClass(type, getClass());
+    }
+    
+    public void setServiceName(QName service) {
         serviceName = service;
     }
 
-    public String getServiceName() {
+    public QName getServiceName() {
         return serviceName;
     }
 
-    public String getPortName() {
+    public QName getPortName() {
         return portName;
     }
 
-    public void setPortName(String port) {
+    public void setPortName(QName port) {
+        portName = port;
+    }
+    public void setEndpointName(QName port) {
         portName = port;
     }
 
@@ -587,9 +657,41 @@ public class CxfEndpoint extends Default
     public Map<String, Object> getProperties() {
         return properties;
     }
+    
+    public void setCamelContext(CamelContext c) {
+        super.setCamelContext(c);
+        if (this.properties != null) {
+            try {
+                EndpointHelper.setReferenceProperties(getCamelContext(),
+                                             this,
+                                             this.properties);
+                EndpointHelper.setProperties(getCamelContext(),
+                                             this,
+                                             this.properties);
+            } catch (Throwable e) {
+                e.printStackTrace();
+            }
+        }
+    }
 
     public void setProperties(Map<String, Object> properties) {
-        this.properties = properties;
+        if (this.properties == null) {
+            this.properties = properties;
+        } else {
+            this.properties.putAll(properties);
+        }
+        if (getCamelContext() != null && this.properties != null) {
+            try {
+                EndpointHelper.setReferenceProperties(getCamelContext(),
+                                             this,
+                                             this.properties);
+                EndpointHelper.setProperties(getCamelContext(),
+                                             this,
+                                             this.properties);
+            } catch (Throwable e) {
+                e.printStackTrace();
+            }
+        }
     }
 
     @Override
@@ -611,6 +713,7 @@ public class CxfEndpoint extends Default
     }
 
     public void setAddress(String address) {
+        super.setEndpointUri(address);
         this.address = address;
     }
 
@@ -681,4 +784,75 @@ public class CxfEndpoint extends Default
             message.remove(DataFormat.class);
         }
     }
+    
+
+    public List<Interceptor<? extends Message>> getOutFaultInterceptors() {
+        return outFault;
+    }
+
+    public List<Interceptor<? extends Message>> getInFaultInterceptors() {
+        return inFault;
+    }
+
+    public List<Interceptor<? extends Message>> getInInterceptors() {
+        return in;
+    }
+
+    public List<Interceptor<? extends Message>> getOutInterceptors() {
+        return out;
+    }
+
+    public void setInInterceptors(List<Interceptor<? extends Message>> interceptors) {
+        in = interceptors;
+    }
+
+    public void setInFaultInterceptors(List<Interceptor<? extends Message>> interceptors) {
+        inFault = interceptors;
+    }
+
+    public void setOutInterceptors(List<Interceptor<? extends Message>> interceptors) {
+        out = interceptors;
+    }
+
+    public void setOutFaultInterceptors(List<Interceptor<? extends Message>> interceptors) {
+        outFault = interceptors;
+    }
+    
+    public void setFeatures(List<AbstractFeature> f) {
+        features = f;
+    }
+    public List<AbstractFeature> getFeatures() {
+        return features;
+    }
+    
+    public void setHandlers(List<Handler> h) {
+        handlers = h;
+    }
+    public List<Handler> getHandlers() {
+        return handlers;
+    }
+    
+    public void setSchemaLocations(List<String> sc) {
+        schemaLocations = sc;
+    }
+    public List<String> getSchemaLocations() {
+        return schemaLocations;
+    }
+
+    public String getTransportId() {
+        return transportId;
+    }
+
+    public void setTransportId(String transportId) {
+        this.transportId = transportId;
+    }
+    
+    public String getBindingId() {
+        return bindingId;
+    }
+
+    public void setBindingId(String bindingId) {
+        this.bindingId = bindingId;
+    }
+    
 }

Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpointUtils.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpointUtils.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpointUtils.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpointUtils.java Thu Jun 23 00:27:56 2011
@@ -56,7 +56,7 @@ public final class CxfEndpointUtils {
     // only used by test currently
     public static QName getPortName(final CxfEndpoint endpoint) {
         if (endpoint.getPortName() != null) {
-            return getQName(endpoint.getPortName());
+            return endpoint.getPortName();
         } else {
             String portLocalName = getCxfEndpointPropertyValue((CxfSpringEndpoint)endpoint, CxfConstants.PORT_LOCALNAME);
             String portNamespace = getCxfEndpointPropertyValue((CxfSpringEndpoint)endpoint, CxfConstants.PORT_NAMESPACE);
@@ -71,7 +71,7 @@ public final class CxfEndpointUtils {
     // only used by test currently
     public static QName getServiceName(final CxfEndpoint endpoint) {
         if (endpoint.getServiceName() != null) {
-            return getQName(endpoint.getServiceName());
+            return endpoint.getServiceName();
         } else {
             String serviceLocalName = getCxfEndpointPropertyValue((CxfSpringEndpoint)endpoint, CxfConstants.SERVICE_LOCALNAME);
             String serviceNamespace = getCxfEndpointPropertyValue((CxfSpringEndpoint)endpoint, CxfConstants.SERVICE_NAMESPACE);
@@ -149,12 +149,7 @@ public final class CxfEndpointUtils {
     
     // only used by test currently
     public static String getCxfEndpointPropertyValue(CxfSpringEndpoint endpoint, String property) {
-        String result = null;
-        CxfEndpointBean cxfEndpointBean = endpoint.getBean();
-        if (cxfEndpointBean != null && cxfEndpointBean.getProperties() != null) {
-            result = (String) cxfEndpointBean.getProperties().get(property);
-        }
-        return result;
+        return (String)endpoint.getProperties().get(property);
     }
 
     /**

Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfSpringEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfSpringEndpoint.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfSpringEndpoint.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfSpringEndpoint.java Thu Jun 23 00:27:56 2011
@@ -25,6 +25,9 @@ import org.apache.camel.component.cxf.co
 import org.apache.camel.spring.SpringCamelContext;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor;
+import org.apache.cxf.bus.spring.SpringBusFactory;
 import org.apache.cxf.common.classloader.ClassLoaderUtils;
 import org.apache.cxf.configuration.spring.ConfigurerImpl;
 import org.apache.cxf.endpoint.Client;
@@ -33,6 +36,10 @@ import org.apache.cxf.frontend.ClientPro
 import org.apache.cxf.frontend.ClientProxyFactoryBean;
 import org.apache.cxf.frontend.ServerFactoryBean;
 import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
+import org.apache.cxf.version.Version;
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
 import org.springframework.context.ConfigurableApplicationContext;
 
 /**
@@ -40,35 +47,24 @@ import org.springframework.context.Confi
  *
  * @version 
  */
-public class CxfSpringEndpoint extends CxfEndpoint {
+public class CxfSpringEndpoint extends CxfEndpoint implements ApplicationContextAware {
 
-    private CxfEndpointBean bean;
     private String beanId;
     private ConfigurerImpl configurer;
-    private String serviceNamespace;
-    private String serviceLocalName;
-    private String endpointLocalName;
-    private String endpointNamespace;
-    
-    public CxfSpringEndpoint(CamelContext context, CxfEndpointBean bean) throws Exception {
-        super(bean.getAddress(), context);
-        init(bean);
+    private ApplicationContext applicationContext;
+
+    public CxfSpringEndpoint(CamelContext context, String address) throws Exception {
+        super(address, context);
     }
     
-    public CxfSpringEndpoint(CxfComponent component, CxfEndpointBean bean) throws Exception {
-        super(bean.getAddress(), component);
-        init(bean);
+    public CxfSpringEndpoint(CxfComponent component, String address) throws Exception {
+        super(address, component);
     }
-        
-    // override the 
-    private void init(CxfEndpointBean bean) throws Exception {
-        this.bean = bean;        
-        // create configurer
-        configurer = new ConfigurerImpl(((SpringCamelContext)getCamelContext())
-            .getApplicationContext());
+    
+    public CxfSpringEndpoint() {
+        super();
     }
 
-    
     /**
      * 
      * A help to get the service class.  The serviceClass classname in URI 
@@ -80,20 +76,11 @@ public class CxfSpringEndpoint extends C
         Class<?> answer = null;
         if (getServiceClass() != null) {
             // classname is specified in URI which overrides the bean properties
-            answer = ClassLoaderUtils.loadClass(getServiceClass(), getClass());
-        } else {
-            answer = bean.getServiceClass();
+            answer = getServiceClass();
         }
         return answer;
     }
     
-    protected Bus doGetBus() {
-        return bean.getBus();
-    }
-    
-    public CxfEndpointBean getBean() {
-        return bean;
-    }
 
     // Package private methods
     // -------------------------------------------------------------------------
@@ -250,40 +237,93 @@ public class CxfSpringEndpoint extends C
     }
     
     public void setServiceNamespace(String serviceNamespace) {
-        this.serviceNamespace = serviceNamespace;
+        QName qn = getServiceName();
+        if (qn == null) {
+            setServiceName(new QName(serviceNamespace, "local"));
+        } else {
+            setServiceName(new QName(serviceNamespace, qn.getLocalPart()));
+        }
     }
 
     public String getServiceNamespace() {
-        return serviceNamespace;
+        QName qn = getServiceName();
+        if (qn == null) {
+            return null;
+        }
+        return qn.getNamespaceURI();
     }
 
     public void setServiceLocalName(String serviceLocalName) {
-        this.serviceLocalName = serviceLocalName;
+        QName qn = getServiceName();
+        if (qn == null) {
+            setServiceName(new QName("", serviceLocalName));
+        } else {
+            setServiceName(new QName(qn.getNamespaceURI(), serviceLocalName));
+        }
     }
 
     public String getServiceLocalName() {
-        return serviceLocalName;
+        QName qn = getServiceName();
+        if (qn == null) {
+            return null;
+        }
+        return qn.getLocalPart();
     }
 
     public String getEndpointLocalName() {
-        return endpointLocalName;
+        QName qn = getPortName();
+        if (qn == null) {
+            return null;
+        }
+        return qn.getLocalPart();
     }
 
     public void setEndpointLocalName(String endpointLocalName) {
-        this.endpointLocalName = endpointLocalName;
+        QName qn = getPortName();
+        if (qn == null) {
+            setPortName(new QName("", endpointLocalName));
+        } else {
+            setPortName(new QName(qn.getNamespaceURI(), endpointLocalName));
+        }
     }
 
     public void setEndpointNamespace(String endpointNamespace) {
-        this.endpointNamespace = endpointNamespace;
+        QName qn = getPortName();
+        if (qn == null) {
+            setPortName(new QName(endpointNamespace, "local"));
+        } else {
+            setPortName(new QName(endpointNamespace, qn.getLocalPart()));
+        }
     }
 
     public String getEndpointNamespace() {
-        return endpointNamespace;
+        QName qn = getPortName();
+        if (qn == null) {
+            return null;
+        }
+        return qn.getNamespaceURI();
     }
     
-    @Override
-    public String getWsdlURL() {
-        return bean.getWsdlURL();
+
+    @SuppressWarnings("deprecation")
+    public void setApplicationContext(ApplicationContext ctx) throws BeansException {
+        applicationContext = ctx;
+        configurer = new ConfigurerImpl(applicationContext);
+
+        if (bus == null) {
+            if (Version.getCurrentVersion().startsWith("2.3")) {
+                // Don't relate on the DefaultBus
+                BusFactory factory = new SpringBusFactory(ctx);
+                bus = factory.createBus();               
+                BusWiringBeanFactoryPostProcessor.updateBusReferencesInContext(bus, ctx);
+            } else {
+                bus = BusWiringBeanFactoryPostProcessor.addDefaultBus(ctx);
+            }
+        }
+    }
+    
+    public ApplicationContext getApplicationContext() {
+        return applicationContext;
     }
 
 }

Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java Thu Jun 23 00:27:56 2011
@@ -30,6 +30,7 @@ import org.apache.camel.component.cxf.Cx
 import org.apache.cxf.common.util.StringUtils;
 import org.apache.cxf.configuration.blueprint.AbstractBPBeanDefinitionParser;
 import org.apache.cxf.helpers.DOMUtils;
+import org.osgi.framework.BundleContext;
 import org.osgi.service.blueprint.reflect.Metadata;
 
 public class EndpointDefinitionParser extends AbstractBPBeanDefinitionParser {
@@ -113,6 +114,8 @@ public class EndpointDefinitionParser ex
         endpointConfig.addProperty("bus", getBusRef(context, bus));
         endpointConfig.setDestroyMethod("destroy");
         endpointConfig.addArgument(AbstractBPBeanDefinitionParser.createValue(context, address), String.class.getName(), 0);
+        endpointConfig.addArgument(createRef(context, "blueprintBundleContext"),
+                                   BundleContext.class.getName(), 1);
 
         return endpointConfig;
     }

Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java Thu Jun 23 00:27:56 2011
@@ -25,6 +25,7 @@ import java.util.List;
 import java.util.Map;
 
 import javax.ws.rs.core.Response;
+import javax.xml.namespace.QName;
 import javax.xml.soap.SOAPMessage;
 
 import org.apache.camel.Converter;
@@ -35,7 +36,6 @@ import org.apache.camel.TypeConverter;
 import org.apache.camel.component.cxf.CxfEndpoint;
 import org.apache.camel.component.cxf.CxfSpringEndpoint;
 import org.apache.camel.component.cxf.DataFormat;
-import org.apache.camel.component.cxf.spring.CxfSpringEndpointBean;
 import org.apache.camel.spi.TypeConverterRegistry;
 import org.apache.camel.spring.SpringCamelContext;
 import org.apache.camel.util.EndpointHelper;
@@ -84,6 +84,11 @@ public final class CxfConverter {
     }
     
     @Converter
+    public static QName toQName(String qname) {
+        return QName.valueOf(qname);
+    }
+    
+    @Converter
     public static Object[] toArray(Object object) {
         if (object instanceof Collection) {
             return ((Collection)object).toArray();
@@ -111,26 +116,6 @@ public final class CxfConverter {
     }
     
     @Converter
-    public static Endpoint toEndpoint(final CxfSpringEndpointBean endpointBean) throws Exception {
-        if (endpointBean == null) {
-            throw new IllegalArgumentException("The CxfEndpoint instance is null");
-        }
-        // CamelContext 
-        SpringCamelContext context = SpringCamelContext.springCamelContext(endpointBean.getApplicationContext());
-        // The beanId will be set from endpointBean's property        
-        CxfEndpoint answer = new CxfSpringEndpoint(context, endpointBean);
-        // check the properties map 
-        if (endpointBean.getProperties() != null) {
-            Map<String, Object> copy = new HashMap<String, Object>();
-            copy.putAll(endpointBean.getProperties());
-            EndpointHelper.setReferenceProperties(context, answer, copy);
-            EndpointHelper.setProperties(context, answer, copy);
-            answer.setMtomEnabled(Boolean.valueOf((String)copy.get(Message.MTOM_ENABLED)));
-        }
-        return answer;
-    }
-
-    @Converter
     public static DataFormat toDataFormat(final String name) {
         return DataFormat.valueOf(name.toUpperCase());
     }

Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/AbstractCxfBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/AbstractCxfBeanDefinitionParser.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/AbstractCxfBeanDefinitionParser.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/AbstractCxfBeanDefinitionParser.java Thu Jun 23 00:27:56 2011
@@ -49,7 +49,6 @@ public abstract class AbstractCxfBeanDef
                 bean.addPropertyValue(propertyName, val);
             }
         }
-        
     }
 
     @Override

Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java Thu Jun 23 00:27:56 2011
@@ -22,6 +22,7 @@ import java.util.Map;
 import javax.xml.namespace.QName;
 import org.w3c.dom.Element;
 
+import org.apache.camel.component.cxf.CxfSpringEndpoint;
 import org.springframework.beans.factory.support.BeanDefinitionBuilder;
 import org.springframework.beans.factory.xml.ParserContext;
 
@@ -30,7 +31,7 @@ public class CxfEndpointBeanDefinitionPa
 
     @Override
     protected Class<?> getBeanClass(Element arg0) {
-        return CxfSpringEndpointBean.class;
+        return CxfSpringEndpoint.class;
     }
 
     @Override

Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterPayLoadWithFeatureRouterTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterPayLoadWithFeatureRouterTest.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterPayLoadWithFeatureRouterTest.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterPayLoadWithFeatureRouterTest.java Thu Jun 23 00:27:56 2011
@@ -36,7 +36,7 @@ public class CxfGreeterPayLoadWithFeatur
         CxfEndpoint endpoint = getMandatoryEndpoint("cxf:bean:serviceEndpoint?dataFormat=PAYLOAD", 
                 CxfEndpoint.class);
         
-        assertEquals(TestCxfFeature.class, ((CxfSpringEndpoint)endpoint).getBean()
+        assertEquals(TestCxfFeature.class, ((CxfSpringEndpoint)endpoint)
                 .getFeatures().get(0).getClass());
         
         assertEquals(DataFormat.PAYLOAD, endpoint.getDataFormat());

Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/LoggingInterceptorInMessageModeTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/LoggingInterceptorInMessageModeTest.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/LoggingInterceptorInMessageModeTest.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/LoggingInterceptorInMessageModeTest.java Thu Jun 23 00:27:56 2011
@@ -68,7 +68,7 @@ public class LoggingInterceptorInMessage
         LoggingOutInterceptor logInterceptor = null;
                   
         for (Interceptor<?> interceptor 
-            : context.getEndpoint("cxf:bean:serviceEndpoint", CxfSpringEndpoint.class).getBean()
+            : context.getEndpoint("cxf:bean:serviceEndpoint", CxfSpringEndpoint.class)
                                 .getOutInterceptors()) {
             if (interceptor instanceof LoggingOutInterceptor) {
                 logInterceptor = LoggingOutInterceptor.class.cast(interceptor);

Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/ServiceClassRefTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/ServiceClassRefTest.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/ServiceClassRefTest.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/ServiceClassRefTest.java Thu Jun 23 00:27:56 2011
@@ -39,7 +39,8 @@ public class ServiceClassRefTest extends
     public void testServiceClassNameCreatedByRefNotation() throws Exception {
         // verify the '#' notation works
         CxfEndpoint endpoint = context.getEndpoint("cxf:bean:fromEndpoint", CxfEndpoint.class);
-        assertEquals("org.apache.camel.component.cxf.HelloServiceImpl", endpoint.getServiceClass());
+        assertEquals("org.apache.camel.component.cxf.HelloServiceImpl", 
+                     endpoint.getServiceClass().getName());
         assertEquals(DataFormat.POJO, endpoint.getDataFormat());
         
         // verify values in bean properties are ok

Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/multipart/MultiPartInvokeImpl.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/multipart/MultiPartInvokeImpl.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/multipart/MultiPartInvokeImpl.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/multipart/MultiPartInvokeImpl.java Thu Jun 23 00:27:56 2011
@@ -38,8 +38,8 @@ public class MultiPartInvokeImpl impleme
     @Override
     public void foo(InE in, InE in1, Holder<InE> out, Holder<InE> out1) {
         LOG.info("Executing operation foo");
-        System.out.println(in);
-        System.out.println(in1);
+        //System.out.println(in);
+        //System.out.println(in1);
         try {
             InE outValue = in;
             out.value = outValue;

Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanTest.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanTest.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanTest.java Thu Jun 23 00:27:56 2011
@@ -16,7 +16,7 @@
  */
 package org.apache.camel.component.cxf.spring;
 
-import org.apache.camel.component.cxf.CxfEndpointBean;
+import org.apache.camel.component.cxf.CxfEndpoint;
 import org.junit.Test;
 
 public class CxfEndpointBeanTest extends AbstractSpringBeanTestSupport {
@@ -27,9 +27,10 @@ public class CxfEndpointBeanTest extends
 
     @Test
     public void testCxfEndpointBeanDefinitionParser() {
-        CxfEndpointBean routerEndpoint = (CxfEndpointBean)ctx.getBean("routerEndpoint");
+        CxfEndpoint routerEndpoint = (CxfEndpoint)ctx.getBean("routerEndpoint");
         assertEquals("Got the wrong endpoint address", "http://localhost:9000/router", routerEndpoint.getAddress());
-        assertEquals("Got the wrong endpont service class", "org.apache.camel.component.cxf.HelloService", routerEndpoint.getServiceClass().getCanonicalName());
+        assertEquals("Got the wrong endpont service class", "org.apache.camel.component.cxf.HelloService",
+                         routerEndpoint.getServiceClass().getName());
         assertEquals("Got the wrong handlers size", 1, routerEndpoint.getHandlers().size());
         assertEquals("Got the wrong schemalocations size", 1, routerEndpoint.getSchemaLocations().size());
         assertEquals("Got the wrong schemalocation", "classpath:wsdl/Message.xsd", routerEndpoint.getSchemaLocations().get(0));

Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanWithBusTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanWithBusTest.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanWithBusTest.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanWithBusTest.java Thu Jun 23 00:27:56 2011
@@ -18,7 +18,6 @@ package org.apache.camel.component.cxf.s
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.cxf.CxfEndpoint;
-import org.apache.camel.component.cxf.CxfEndpointBean;
 import org.apache.cxf.interceptor.LoggingInInterceptor;
 import org.junit.Before;
 import org.junit.Test;
@@ -50,9 +49,11 @@ public class CxfEndpointBeanWithBusTest 
     
     @Test
     public void testCxfEndpointBeanDefinitionParser() {
-        CxfEndpointBean routerEndpoint = (CxfEndpointBean)ctx.getBean("routerEndpoint");
+        CxfEndpoint routerEndpoint = (CxfEndpoint)ctx.getBean("routerEndpoint");
         assertEquals("Got the wrong endpoint address", "http://localhost:9000/router", routerEndpoint.getAddress());
-        assertEquals("Got the wrong endpont service class", "org.apache.camel.component.cxf.HelloService", routerEndpoint.getServiceClass().getCanonicalName());
+        assertEquals("Got the wrong endpont service class", 
+                     "org.apache.camel.component.cxf.HelloService",
+                     routerEndpoint.getServiceClass().getName());
         
     }
 

Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeansRouterTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeansRouterTest.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeansRouterTest.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeansRouterTest.java Thu Jun 23 00:27:56 2011
@@ -23,7 +23,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.ProducerTemplate;
-import org.apache.camel.component.cxf.CxfEndpointBean;
+import org.apache.camel.component.cxf.CxfEndpoint;
 import org.apache.camel.component.cxf.common.message.CxfConstants;
 import org.junit.Test;
 
@@ -35,9 +35,11 @@ public class CxfEndpointBeansRouterTest 
 
     @Test
     public void testCxfEndpointBeanDefinitionParser() {
-        CxfEndpointBean routerEndpoint = (CxfEndpointBean)ctx.getBean("routerEndpoint");
+        CxfEndpoint routerEndpoint = (CxfEndpoint)ctx.getBean("routerEndpoint");
         assertEquals("Got the wrong endpoint address", routerEndpoint.getAddress(), "http://localhost:9000/router");
-        assertEquals("Got the wrong endpont service class", routerEndpoint.getServiceClass().getCanonicalName(), "org.apache.camel.component.cxf.HelloService");
+        assertEquals("Got the wrong endpont service class", 
+                     "org.apache.camel.component.cxf.HelloService", 
+                     routerEndpoint.getServiceClass().getName());
     }
 
     @Test

Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java Thu Jun 23 00:27:56 2011
@@ -67,7 +67,7 @@ public class CxfEndpointUtilsTest extend
     @Test
     public void testGetProperties() throws Exception {
         CxfEndpoint endpoint = createEndpoint(getEndpointURI());
-        QName service = CxfEndpointUtils.getQName(endpoint.getServiceName());
+        QName service = endpoint.getServiceName();
         assertEquals("We should get the right service name", service, SERVICE_NAME);
     }
 
@@ -80,13 +80,7 @@ public class CxfEndpointUtilsTest extend
     @Test
     public void testCheckServiceClassWithTheEndpoint() throws Exception {
         CxfEndpoint endpoint = createEndpoint(getNoServiceClassURI());
-        try {
-            CxfEndpointUtils.checkServiceClassName(endpoint.getServiceClass());
-            fail("Should get a CamelException here");
-        } catch (CamelException exception) {
-            assertNotNull("Should get a CamelException here", exception);
-            assertEquals("serviceClass is required for CXF endpoint configuration", exception.getMessage());
-        }
+        assertNull(endpoint.getServiceClass());
     }
 
     @Test

Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsWithSpringTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsWithSpringTest.java?rev=1138700&r1=1138699&r2=1138700&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsWithSpringTest.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsWithSpringTest.java Thu Jun 23 00:27:56 2011
@@ -67,7 +67,8 @@ public class CxfEndpointUtilsWithSpringT
     @Test
     public void testGetServiceClass() throws Exception {
         CxfEndpoint endpoint = createEndpoint("cxf:bean:helloServiceEndpoint?serviceClass=#helloServiceImpl");      
-        assertEquals("org.apache.camel.component.cxf.HelloServiceImpl", endpoint.getServiceClass());
+        assertEquals("org.apache.camel.component.cxf.HelloServiceImpl",
+                     endpoint.getServiceClass().getName());
     }
     
     @Test
@@ -79,15 +80,15 @@ public class CxfEndpointUtilsWithSpringT
     @Test
     public void testGetProperties() throws Exception {
         CxfSpringEndpoint endpoint = (CxfSpringEndpoint)createEndpoint(getEndpointURI());
-        QName service = endpoint.getBean().getServiceName();
-        assertEquals("We should get the right service name", service, SERVICE_NAME);
+        QName service = endpoint.getServiceName();
+        assertEquals("We should get the right service name", SERVICE_NAME, service);
         assertEquals("The cxf endpoint's DataFromat should be MESSAGE", DataFormat.MESSAGE, endpoint.getDataFormat());
         
         endpoint = (CxfSpringEndpoint)createEndpoint("cxf:bean:testPropertiesEndpoint");
         service = CxfEndpointUtils.getServiceName(endpoint);
-        assertEquals("We should get the right service name", service, SERVICE_NAME);
+        assertEquals("We should get the right service name", SERVICE_NAME, service);
         QName port = CxfEndpointUtils.getPortName(endpoint);
-        assertEquals("We should get the right endpoint name", port, PORT_NAME);
+        assertEquals("We should get the right endpoint name", PORT_NAME, port);
     }
 
     @Test