cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cschnei...@apache.org
Subject [5/5] git commit: CXF-5543 Removing jms old style config, changing tests to use soap over jms style
Date Mon, 03 Mar 2014 14:14:11 GMT
CXF-5543 Removing jms old style config, changing tests to use soap over jms style


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/40b89868
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/40b89868
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/40b89868

Branch: refs/heads/master
Commit: 40b898684f18b5e4f0873d133a9deae618c576fa
Parents: 6738039
Author: Christian Schneider <chris@die-schneider.net>
Authored: Mon Mar 3 15:13:54 2014 +0100
Committer: Christian Schneider <chris@die-schneider.net>
Committed: Mon Mar 3 15:13:54 2014 +0100

----------------------------------------------------------------------
 .../main/resources/schemas/wsdl/jms-context.xsd | 102 -----
 .../common/util/PropertiesLoaderUtilsTest.java  |   4 -
 .../util/resources/bindings.properties.xml      |   1 -
 .../org/apache/cxf/jaxrs/utils/HttpUtils.java   |   2 +-
 rt/transports/jms/pom.xml                       |  24 --
 .../transport/jms/ConnectionFactoryFeature.java |  71 ++++
 .../cxf/transport/jms/JMSConfigFactory.java     | 183 +++++++++
 .../cxf/transport/jms/JMSConfigFeature.java     |   2 -
 .../cxf/transport/jms/JMSConfiguration.java     |  60 +--
 .../apache/cxf/transport/jms/JMSFactory.java    |  26 +-
 .../transport/jms/JMSMessageHeadersType.java    | 293 +++++++++++++++
 .../cxf/transport/jms/JMSMessageUtils.java      |   2 +-
 .../cxf/transport/jms/JMSOldConfigHolder.java   | 368 ------------------
 .../cxf/transport/jms/JMSPropertyType.java      |  51 +++
 .../cxf/transport/jms/JMSTransportFactory.java  |  12 +-
 .../cxf/transport/jms/JNDIConfiguration.java    |  67 ----
 .../spring/JMSConduitBeanDefinitionParser.java  |  68 ----
 .../JMSDestinationBeanDefinitionParser.java     |  67 ----
 .../transport/jms/spring/NamespaceHandler.java  |  28 --
 .../cxf/transport/jms/uri/JMSEndpoint.java      | 181 +++++----
 .../cxf/transport/jms/uri/JMSURIParser.java     |   4 +-
 .../jms/wsdl11/JMSWSDLExtensionLoader.java      |  80 +---
 .../jms/wsdl11/JmsTransportPlugin.java          | 100 -----
 .../src/main/resources/META-INF/spring.handlers |  21 --
 .../src/main/resources/META-INF/spring.schemas  |   1 -
 .../src/main/resources/META-INF/wsdl.plugin.xml |  23 --
 .../resources/schemas/configuration/jms.xsd     |  74 ----
 .../jms/src/main/resources/schemas/wsdl/jms.xjb |  39 --
 .../jms/src/main/resources/schemas/wsdl/jms.xsd | 347 -----------------
 .../cxf/transport/jms/AbstractJMSTester.java    | 200 ++++++----
 .../cxf/transport/jms/JMSConduitTest.java       |  66 +---
 .../cxf/transport/jms/JMSConfigFactoryTest.java |  36 ++
 .../cxf/transport/jms/JMSDestinationTest.java   | 373 ++++++-------------
 .../apache/cxf/transport/jms/OldConfigTest.java |  46 ---
 .../cxf/transport/jms/RequestResponseTest.java  |  61 +--
 .../transport/jms/ThrottlingCounterTest.java    |   1 -
 .../cxf/transport/jms/uri/JMSEndpointTest.java  |  33 +-
 .../jms/uri/URIConfiguredConduitTest.java       |  31 +-
 .../cxf/transport/jms/util/JMSUtilTest.java     |  31 ++
 .../jms/src/test/resources/jms_test.wsdl        | 252 +++++++++++++
 .../jms/src/test/resources/jms_test_config.xml  |  74 ----
 .../jms/src/test/resources/jms_test_jndi.xml    |  29 --
 .../activemq-data/localhost/KahaDB/db-1.log     | Bin 0 -> 33030144 bytes
 .../activemq-data/localhost/KahaDB/db.data      | Bin 0 -> 32768 bytes
 .../activemq-data/localhost/KahaDB/db.redo      | Bin 0 -> 28720 bytes
 .../cxf/systest/jaxrs/jms/JAXRSJmsTest.java     |   7 +-
 .../apache/cxf/systest/jaxrs/jms/JMSServer.java |   5 +
 .../cxf/systest/jaxrs/jms/jms_server_config.xml |  18 +-
 .../testcases/SOAPJMSTestSuiteTest.java         |   6 +-
 .../testsuite/testcases/SoapJmsSpecTest.java    |  18 +-
 .../systest/jms/JMSClientServerGzipTest.java    |  36 +-
 .../systest/jms/JMSClientServerSoap12Test.java  |  10 +-
 .../cxf/systest/jms/JMSClientServerTest.java    |  68 +---
 .../org/apache/cxf/systest/jms/JMSMTOMImpl.java |   4 +-
 .../org/apache/cxf/systest/jms/JMSTestMtom.java | 119 ++++++
 .../apache/cxf/systest/jms/JaxWsAPITest.java    |  88 +++++
 .../java/org/apache/cxf/systest/jms/Server.java |  45 +--
 ...HelloWorldContinuationsClientServerTest.java |  62 +--
 .../HelloWorldContinuationsThrottleTest.java    |  59 +--
 .../JMSContinuationsClientServerTest.java       |  72 ++--
 .../ProviderJMSContinuationTest.java            |  64 +---
 .../cxf/systest/jms/continuations/jms_test.wsdl |  21 +-
 .../jms/continuations/jms_test_config.xml       |  20 +-
 .../cxf/systest/jms/continuations/test.wsdl     |  15 +-
 .../java/org/apache/cxf/systest/jms/gzipBus.xml |   4 -
 .../MultiTransportClientServerTest.java         | 127 +++++++
 .../org/apache/cxf/systest/jms/soap12Bus.xml    |  19 +-
 .../systest/jms/swa/ClientServerSwaTest.java    |  12 +-
 .../jms/tx/JMSTransactionClientServerTest.java  |  28 +-
 .../cxf/systest/jms/tx/jms_server_config.xml    |  35 +-
 .../src/test/resources/swa-mime_jms.wsdl        | 225 +++++++++++
 .../cxf/systest/http/auth/DigestAuthTest.java   |   6 +-
 .../MultiTransportClientServerTest.java         | 170 ---------
 systests/uncategorized/pom.xml                  |   5 +
 .../java/org/apache/cxf/systest/coloc/cxf.xml   |  35 +-
 .../factory_pattern/NumberFactoryImpl.java      |   1 +
 .../systest/mtom/ClientMtomXopWithJMSTest.java  | 185 ++++-----
 .../common/AbstractClientServerTestBase.java    |  62 +--
 .../apache/cxf/testutil/common/TestUtil.java    |  64 ++++
 .../main/resources/wsdl/factory_pattern.wsdl    |  21 +-
 .../resources/wsdl/hello_world_doc_lit.wsdl     |  71 ++--
 .../src/main/resources/wsdl/jms_spec_test.wsdl  |  11 +-
 testutils/src/main/resources/wsdl/jms_test.wsdl | 174 +++------
 .../src/main/resources/wsdl/jms_test_mtom.wsdl  |  28 +-
 testutils/src/main/resources/wsdl/mtom_xop.wsdl |  16 +-
 .../resources/wsdl/others/jms_test_no_addr.wsdl |  78 ----
 .../processor/WSDLToServiceProcessorTest.java   | 120 ------
 .../wsdl11/JAXWSDefinitionBuilderTest.java      |  27 --
 88 files changed, 2418 insertions(+), 3377 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/core/src/main/resources/schemas/wsdl/jms-context.xsd
----------------------------------------------------------------------
diff --git a/core/src/main/resources/schemas/wsdl/jms-context.xsd b/core/src/main/resources/schemas/wsdl/jms-context.xsd
deleted file mode 100644
index b52f6d0..0000000
--- a/core/src/main/resources/schemas/wsdl/jms-context.xsd
+++ /dev/null
@@ -1,102 +0,0 @@
-<?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.
--->
-
-<xs:schema targetNamespace="http://cxf.apache.org/transports/jms/context"
-           xmlns:xs="http://www.w3.org/2001/XMLSchema"
-           xmlns:jms-context="http://cxf.apache.org/transports/jms/context"
-           elementFormDefault="qualified"
-           attributeFormDefault="unqualified">
-
-    <xs:complexType name="JMSHeadersType">
-        <xs:annotation>
-            <xs:documentation>JMS header properties.</xs:documentation>
-        </xs:annotation>
-
-        <xs:sequence>
-            <xs:element name="property" type="jms-context:JMSPropertyType" minOccurs="0" maxOccurs="unbounded">
-                <xs:annotation>
-                    <xs:documentation>A collection of user provided JMS properties</xs:documentation>
-                </xs:annotation>
-            </xs:element>
-        </xs:sequence>
-        <xs:attribute name="JMSCorrelationID" type="xs:string"/>
-        <xs:attribute name="JMSDeliveryMode" type="xs:int" />
-        <xs:attribute name="JMSExpiration" type="xs:long" />
-        <xs:attribute name="JMSMessageID" type="xs:string" />
-        <xs:attribute name="JMSPriority" type="xs:int"/>
-        <xs:attribute name="JMSRedelivered" type="xs:boolean"/>
-        <xs:attribute name="JMSTimeStamp" type="xs:long"/>
-        <xs:attribute name="JMSType" type="xs:string"/>
-        <xs:attribute name="TimeToLive" type="xs:long"/>
-    </xs:complexType>
-
-    <xs:complexType name="JMSServerHeadersType">
-        <xs:annotation>
-            <xs:documentation>JMS header properties for use by server-side endpoints</xs:documentation>
-        </xs:annotation>
-
-        <xs:complexContent>
-            <xs:extension base="jms-context:JMSHeadersType">
-                <xs:attribute name="commitMessage" type="xs:boolean" default="false" />
-            </xs:extension>
-        </xs:complexContent>
-    </xs:complexType>
-
-    <xs:complexType name="JMSClientHeadersType">
-        <xs:annotation>
-            <xs:documentation>JMS header properties for client-side endpoints</xs:documentation>
-        </xs:annotation>
-
-        <xs:complexContent>
-            <xs:extension base="jms-context:JMSHeadersType">
-                <xs:attribute name="TimeOut" type="xs:long"/>
-            </xs:extension>
-        </xs:complexContent>
-    </xs:complexType>
-
-    <xs:complexType name="JMSPropertyType">
-        <xs:annotation>
-            <xs:documentation>Name/value pair used to hold user specified JMS 
-                header properties</xs:documentation>
-        </xs:annotation>
-        <xs:sequence>
-            <xs:element name="name" type="xs:string"/>
-            <xs:element name="value" type="xs:string"/>
-        </xs:sequence>
-    </xs:complexType>
-
-    <xs:complexType name="JMSConnectionSecurityInfoType">
-        <xs:annotation>
-            <xs:documentation>Contains username/password sometimes required when 
-                establishing a connection to a JMS broker.</xs:documentation>
-        </xs:annotation>
-
-        <xs:sequence>
-            <xs:element name="username" type="xs:string" />
-            <xs:element name="password" type="xs:string" />
-        </xs:sequence>
-    </xs:complexType>
-
-    <xs:element name="JMSHeaders" type="jms-context:JMSHeadersType"/>
-    <xs:element name="JMSClientHeaders" type="jms-context:JMSClientHeadersType"/>
-    <xs:element name="JMSServerHeaders" type="jms-context:JMSServerHeadersType"/>
-    <xs:element name="JMSConnectionSecurityInfo" type="jms-context:JMSConnectionSecurityInfoType"/>
-
-</xs:schema>

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/core/src/test/java/org/apache/cxf/common/util/PropertiesLoaderUtilsTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/cxf/common/util/PropertiesLoaderUtilsTest.java b/core/src/test/java/org/apache/cxf/common/util/PropertiesLoaderUtilsTest.java
index 2b271b9..53de031 100644
--- a/core/src/test/java/org/apache/cxf/common/util/PropertiesLoaderUtilsTest.java
+++ b/core/src/test/java/org/apache/cxf/common/util/PropertiesLoaderUtilsTest.java
@@ -47,10 +47,6 @@ public class PropertiesLoaderUtilsTest extends Assert {
         assertEquals(soapBindingFactory,
                      properties.getProperty("http://schemas.xmlsoap.org/wsdl/soap/http"));
 
-        assertEquals(soapBindingFactory,
-                     properties.getProperty("http://cxf.apache.org/transports/jms"));
-        
-
     }
 
 }

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/core/src/test/java/org/apache/cxf/common/util/resources/bindings.properties.xml
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/cxf/common/util/resources/bindings.properties.xml b/core/src/test/java/org/apache/cxf/common/util/resources/bindings.properties.xml
index 88b9e72..ed2e0fb 100644
--- a/core/src/test/java/org/apache/cxf/common/util/resources/bindings.properties.xml
+++ b/core/src/test/java/org/apache/cxf/common/util/resources/bindings.properties.xml
@@ -21,5 +21,4 @@
 <properties>
     <entry key="http://schemas.xmlsoap.org/wsdl/soap/">org.apache.cxf.bindings.soap.SOAPBindingFactory</entry>
     <entry key="http://schemas.xmlsoap.org/wsdl/soap/http">org.apache.cxf.bindings.soap.SOAPBindingFactory</entry>
-    <entry key="http://cxf.apache.org/transports/jms">org.apache.cxf.bindings.soap.SOAPBindingFactory</entry>
 </properties>

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java
----------------------------------------------------------------------
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java
index 6ee5add..4b572a6 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java
@@ -433,7 +433,7 @@ public final class HttpUtils {
                 && HttpUtils.isHttpRequest(m)) {
                 path = HttpUtils.toAbsoluteUri(path, m).getRawPath();
             }
-            return path.length() == 0 ? "/" : path;
+            return (path == null || path.length() == 0) ? "/" : path;
         } catch (URISyntaxException ex) {
             return endpointAddress == null ? "/" : endpointAddress;
         }

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/pom.xml
----------------------------------------------------------------------
diff --git a/rt/transports/jms/pom.xml b/rt/transports/jms/pom.xml
index 42249e8..e2ff1e0 100644
--- a/rt/transports/jms/pom.xml
+++ b/rt/transports/jms/pom.xml
@@ -31,23 +31,10 @@
         <relativePath>../../../parent/pom.xml</relativePath>
     </parent>
     <properties>
-        <cxf.osgi.import>
-            org.springframework*;resolution:=optional;version="${cxf.osgi.spring.version}"
-        </cxf.osgi.import>
         <cxf.spi-dir>spi-2.1</cxf.spi-dir>
     </properties>
     <dependencies>
         <dependency>
-        	<groupId>org.springframework</groupId>
-        	<artifactId>spring-beans</artifactId>
-        	<optional />
-        </dependency>
-        <dependency>
-        	<groupId>org.springframework</groupId>
-        	<artifactId>spring-core</artifactId>
-        	<optional />
-        </dependency>
-        <dependency>
             <groupId>org.apache.cxf</groupId>
             <artifactId>cxf-core</artifactId>
             <version>${project.version}</version>
@@ -147,17 +134,6 @@
                             <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
                             <xsdOptions>
                                 <xsdOption>
-                                    <xsd>${basedir}/src/main/resources/schemas/wsdl/jms.xsd</xsd>
-                                    <bindingFile>${basedir}/src/main/resources/schemas/wsdl/jms.xjb</bindingFile>
-                                    <catalog>${basedir}/src/main/build-resources/catalog.cat</catalog>
-                                    <deleteDirs>
-                                        <deleteDir>${basedir}/target/generated/src/main/java/org/apache/cxf/wsdl</deleteDir>
-                                    </deleteDirs>
-                                    <extensionArgs>
-                                        <extensionArg>-Xdv</extensionArg>
-                                    </extensionArgs>
-                                </xsdOption>
-                                <xsdOption>
                                     <xsd>${basedir}/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd</xsd>
                                     <bindingFile>${basedir}/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xjb</bindingFile>
                                 </xsdOption>

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/ConnectionFactoryFeature.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/ConnectionFactoryFeature.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/ConnectionFactoryFeature.java
new file mode 100644
index 0000000..7ac1895
--- /dev/null
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/ConnectionFactoryFeature.java
@@ -0,0 +1,71 @@
+/**
+ * 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.
+ */
+package org.apache.cxf.transport.jms;
+
+import java.util.logging.Logger;
+
+import javax.jms.ConnectionFactory;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.common.injection.NoJSR250Annotations;
+import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.endpoint.Server;
+import org.apache.cxf.feature.AbstractFeature;
+import org.apache.cxf.transport.Conduit;
+import org.apache.cxf.transport.Destination;
+
+/**
+ * Allows to configure the JMSConfiguration directly at the Client or Server. Simply add this class to the
+ * Features and reference a JMSConfiguration. The configuration inside this class takes precedence over a
+ * configuration that is generated from the old configuration style.
+ */
+@NoJSR250Annotations
+public class ConnectionFactoryFeature extends AbstractFeature {
+    static final Logger LOG = LogUtils.getL7dLogger(ConnectionFactoryFeature.class);
+
+    ConnectionFactory connectionFactory;
+
+    public ConnectionFactoryFeature(ConnectionFactory cf) {
+        this.connectionFactory = cf;
+    }
+
+    @Override
+    public void initialize(Client client, Bus bus) {
+        Conduit conduit = client.getConduit();
+        if (!(conduit instanceof JMSConduit)) {
+            throw new IllegalArgumentException("This feature only works for jms transport");
+        }
+        JMSConduit jmsConduit = (JMSConduit)conduit;
+        jmsConduit.getJmsConfig().setConnectionFactory(connectionFactory);
+        super.initialize(client, bus);
+    }
+
+    @Override
+    public void initialize(Server server, Bus bus) {
+        Destination destination = server.getDestination();
+        if (!(destination instanceof JMSDestination)) {
+            throw new IllegalArgumentException("This feature only works for jms transport");
+        }
+        JMSDestination jmsDestination = (JMSDestination)destination;
+        jmsDestination.getJmsConfig().setConnectionFactory(connectionFactory);
+        super.initialize(server, bus);
+    }
+    
+}

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFactory.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFactory.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFactory.java
new file mode 100644
index 0000000..05e4f89
--- /dev/null
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFactory.java
@@ -0,0 +1,183 @@
+/**
+ * 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.
+ */
+package org.apache.cxf.transport.jms;
+
+import java.util.Enumeration;
+import java.util.Map;
+import java.util.Properties;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.jms.ConnectionFactory;
+import javax.jms.DeliveryMode;
+import javax.naming.Context;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.configuration.ConfiguredBeanLocator;
+import org.apache.cxf.service.model.BindingInfo;
+import org.apache.cxf.service.model.EndpointInfo;
+import org.apache.cxf.service.model.ServiceInfo;
+import org.apache.cxf.transport.jms.uri.JMSEndpoint;
+import org.apache.cxf.transport.jms.util.JMSDestinationResolver;
+import org.apache.cxf.transport.jms.util.JndiHelper;
+import org.apache.cxf.ws.addressing.EndpointReferenceType;
+
+public final class JMSConfigFactory {
+    private static final Logger LOG = LogUtils.getL7dLogger(JMSConfigFactory.class);
+    
+    private JMSConfigFactory() {
+    }
+    
+    public static JMSConfiguration createFromEndpointInfo(Bus bus, EndpointInfo endpointInfo,
+                                                          EndpointReferenceType target) {
+        JMSEndpoint jmsEndpoint = new JMSEndpoint(endpointInfo, target);
+        return createFromEndpoint(bus, jmsEndpoint);
+    }
+
+    /**
+     * @param bus
+     * @param endpointInfo
+     * @return
+     */
+    public static JMSConfiguration createFromEndpoint(Bus bus, JMSEndpoint endpoint) {
+        JMSConfiguration jmsConfig = new JMSConfiguration();
+        
+        int deliveryMode = endpoint.getDeliveryMode() 
+            == org.apache.cxf.transport.jms.uri.JMSEndpoint.DeliveryModeType.PERSISTENT
+            ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT;
+        jmsConfig.setDeliveryMode(deliveryMode);
+        
+        jmsConfig.setPriority(endpoint.getPriority());
+        
+        jmsConfig.setReconnectOnException(endpoint.isReconnectOnException());
+        
+        jmsConfig.setExplicitQosEnabled(true);
+        jmsConfig.setMessageType(endpoint.getMessageType().value());
+        boolean pubSubDomain = endpoint.getJmsVariant().contains(JMSEndpoint.TOPIC);
+        jmsConfig.setPubSubDomain(pubSubDomain);
+
+        jmsConfig.setDurableSubscriptionName(endpoint.getDurableSubscriptionName());
+        // TODO We might need a separate config here
+        jmsConfig.setDurableSubscriptionClientId(endpoint.getDurableSubscriptionName());
+
+        jmsConfig.setReceiveTimeout(endpoint.getReceiveTimeout());
+        jmsConfig.setTimeToLive(endpoint.getTimeToLive());
+        jmsConfig.setSessionTransacted(endpoint.isSessionTransacted());
+        if (!endpoint.isUseConduitIdSelector()) {
+            jmsConfig.setUseConduitIdSelector(endpoint.isUseConduitIdSelector());
+        }
+        jmsConfig.setConduitSelectorPrefix(endpoint.getConduitIdSelectorPrefix());
+        jmsConfig.setUserName(endpoint.getUsername());
+        jmsConfig.setPassword(endpoint.getPassword());
+        if (endpoint.getJndiURL() != null) {
+            // Configure Connection Factory using jndi
+            jmsConfig.setJndiEnvironment(JMSConfigFactory.getInitialContextEnv(endpoint));
+            jmsConfig.setConnectionFactoryName(endpoint.getJndiConnectionFactoryName());
+        } else {
+            ConfiguredBeanLocator locator = bus.getExtension(ConfiguredBeanLocator.class);
+            if (endpoint.getConnectionFactory() != null) {
+                jmsConfig.setConnectionFactory(endpoint.getConnectionFactory());
+            } else if (locator != null) {
+                // Configure ConnectionFactory using locator
+                // Lookup connectionFactory in context like blueprint
+                ConnectionFactory cf = locator.getBeanOfType(endpoint.getJndiConnectionFactoryName(),
+                                                             ConnectionFactory.class);
+                if (cf != null) {
+                    jmsConfig.setConnectionFactory(cf);
+                }
+            }
+        }
+
+        boolean resolveUsingJndi = endpoint.getJmsVariant().contains(JMSEndpoint.JNDI);
+        if (resolveUsingJndi) {
+            // Setup Destination jndi destination resolver
+            JndiHelper jt = new JndiHelper(JMSConfigFactory.getInitialContextEnv(endpoint));
+            final JMSDestinationResolver jndiDestinationResolver = new JMSDestinationResolver();
+            jndiDestinationResolver.setJndiTemplate(jt);
+            jmsConfig.setDestinationResolver(jndiDestinationResolver);
+            jmsConfig.setTargetDestination(endpoint.getDestinationName());
+            setReplyDestination(jmsConfig, endpoint);
+        } else {
+            // Use the default dynamic destination resolver
+            jmsConfig.setTargetDestination(endpoint.getDestinationName());
+            setReplyDestination(jmsConfig, endpoint);
+        }
+        
+        String requestURI = endpoint.getRequestURI();
+        jmsConfig.setRequestURI(requestURI);
+        
+        String targetService = endpoint.getTargetService();
+        jmsConfig.setTargetService(targetService);
+        return jmsConfig;
+    }
+
+    private static void setReplyDestination(JMSConfiguration jmsConfig, JMSEndpoint endpoint) {
+        if (endpoint.getReplyToName() != null)  {
+            jmsConfig.setReplyDestination(endpoint.getReplyToName());
+            jmsConfig.setReplyPubSubDomain(false);
+        } else if (endpoint.getTopicReplyToName() != null) {
+            jmsConfig.setReplyDestination(endpoint.getTopicReplyToName());
+            jmsConfig.setReplyPubSubDomain(true);
+        }
+    }
+
+    public static <T> T getWSDLExtensor(EndpointInfo ei, Class<T> cls) {
+        ServiceInfo si = ei.getService();
+        BindingInfo bi = ei.getBinding();
+        
+        Object o = ei.getExtensor(cls);
+        if (o == null && si != null) {
+            o = si.getExtensor(cls);
+        }
+        if (o == null && bi != null) {
+            o = bi.getExtensor(cls);
+        }
+        
+        if (o == null) {
+            return null;
+        }
+        if (cls.isInstance(o)) {
+            return cls.cast(o);
+        }
+        return null;
+    }
+    
+    public static Properties getInitialContextEnv(JMSEndpoint endpoint) {
+        Properties env = new Properties();
+        if (endpoint.getJndiInitialContextFactory() != null) {
+            env.put(Context.INITIAL_CONTEXT_FACTORY, endpoint.getJndiInitialContextFactory());
+        }
+        if (endpoint.getJndiURL() != null) {
+            env.put(Context.PROVIDER_URL, endpoint.getJndiURL());
+        }
+        for (Map.Entry<String, String> ent : endpoint.getJndiParameters().entrySet()) {
+            env.put(ent.getKey(), ent.getValue());
+        }
+        if (LOG.isLoggable(Level.FINE)) {
+            Enumeration<?> props = env.propertyNames();
+            while (props.hasMoreElements()) {
+                String name = (String)props.nextElement();
+                String value = env.getProperty(name);
+                LOG.log(Level.FINE, "Context property: " + name + " | " + value);
+            }
+        }
+        return env;
+    }
+}

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFeature.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFeature.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFeature.java
index b5b673b..3119b35 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFeature.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFeature.java
@@ -30,7 +30,6 @@ import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.feature.AbstractFeature;
 import org.apache.cxf.transport.Conduit;
 import org.apache.cxf.transport.Destination;
-import org.springframework.beans.factory.annotation.Required;
 
 /**
  * Allows to configure the JMSConfiguration directly at the Client or Server. Simply add this class to the
@@ -71,7 +70,6 @@ public class JMSConfigFeature extends AbstractFeature {
         return jmsConfig;
     }
 
-    @Required
     public void setJmsConfig(JMSConfiguration jmsConfig) {
         this.jmsConfig = jmsConfig;
     }

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
index 5fdfa81..d1199dc 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
@@ -18,6 +18,8 @@
  */
 package org.apache.cxf.transport.jms;
 
+import java.util.Properties;
+
 import javax.jms.ConnectionFactory;
 import javax.jms.Destination;
 import javax.jms.JMSException;
@@ -27,7 +29,6 @@ import javax.jms.Session;
 import org.apache.cxf.common.injection.NoJSR250Annotations;
 import org.apache.cxf.transport.jms.util.DestinationResolver;
 import org.apache.cxf.transport.jms.util.JMSDestinationResolver;
-import org.apache.cxf.transport.jms.util.JndiHelper;
 
 @NoJSR250Annotations
 public class JMSConfiguration {
@@ -36,10 +37,11 @@ public class JMSConfiguration {
      */
     public static final int DEFAULT_VALUE = -1;
 
-    private boolean usingEndpointInfo = true;
-
-    private JndiHelper jndiTemplate;
     private ConnectionFactory connectionFactory;
+    private Properties jndiEnvironment;
+    private String connectionFactoryName;
+    private String userName;
+    private String password;
     private DestinationResolver destinationResolver = new JMSDestinationResolver();
     private boolean reconnectOnException = true;
     private boolean pubSubNoLocal;
@@ -82,8 +84,6 @@ public class JMSConfiguration {
     private String targetService;
     private String requestURI;
 
-    private JNDIConfiguration jndiConfig;
-
     public void ensureProperlyConfigured() {
         if (connectionFactory == null) {
             connectionFactory = JMSFactory.getConnectionFactoryFromJndi(this);
@@ -95,13 +95,37 @@ public class JMSConfiguration {
             throw new IllegalArgumentException("targetDestination may not be null");
         }
     }
+    
+    public Properties getJndiEnvironment() {
+        return jndiEnvironment;
+    }
+
+    public void setJndiEnvironment(Properties jndiEnvironment) {
+        this.jndiEnvironment = jndiEnvironment;
+    }
+
+    public String getConnectionFactoryName() {
+        return connectionFactoryName;
+    }
 
-    public boolean isUsingEndpointInfo() {
-        return this.usingEndpointInfo;
+    public void setConnectionFactoryName(String connectionFactoryName) {
+        this.connectionFactoryName = connectionFactoryName;
     }
 
-    public void setUsingEndpointInfo(boolean usingEndpointInfo) {
-        this.usingEndpointInfo = usingEndpointInfo;
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
     }
 
     public boolean isPubSubNoLocal() {
@@ -306,22 +330,6 @@ public class JMSConfiguration {
         return useConduitIdSelector != null;
     }
 
-    public void setJndiTemplate(JndiHelper jndiTemplate) {
-        this.jndiTemplate = jndiTemplate;
-    }
-
-    public JndiHelper getJndiTemplate() {
-        return jndiTemplate;
-    }
-
-    public JNDIConfiguration getJndiConfig() {
-        return jndiConfig;
-    }
-
-    public void setJndiConfig(JNDIConfiguration jndiConfig) {
-        this.jndiConfig = jndiConfig;
-    }
-
     public boolean isReconnectOnException() {
         return reconnectOnException;
     }

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
index defa8f1..b0c6b61 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
@@ -30,9 +30,9 @@ import org.apache.cxf.service.model.EndpointInfo;
 import org.apache.cxf.transport.jms.util.JMSListenerContainer;
 import org.apache.cxf.transport.jms.util.JMSSender;
 import org.apache.cxf.transport.jms.util.JMSUtil;
+import org.apache.cxf.transport.jms.util.JndiHelper;
 import org.apache.cxf.transport.jms.util.MessageListenerContainer;
 import org.apache.cxf.transport.jms.util.ResourceCloser;
-import org.apache.cxf.transport.jms.util.UserCredentialsConnectionFactoryAdapter;
 
 /**
  * Factory to create jms helper objects from configuration and context information
@@ -55,27 +55,12 @@ public final class JMSFactory {
      * @return
      */
     static ConnectionFactory getConnectionFactoryFromJndi(JMSConfiguration jmsConfig) {
-        JNDIConfiguration jndiConfig = jmsConfig.getJndiConfig();
-        if (jndiConfig == null) {
+        if (jmsConfig.getJndiEnvironment() == null || jmsConfig.getConnectionFactoryName() == null) {
             return null;
         }
-        String connectionFactoryName = jndiConfig.getJndiConnectionFactoryName();
-        if (connectionFactoryName == null) {
-            return null;
-        }
-        String userName = jndiConfig.getConnectionUserName();
-        String password = jndiConfig.getConnectionPassword();
         try {
-            ConnectionFactory cf = jmsConfig.getJndiTemplate().
-                lookup(connectionFactoryName, ConnectionFactory.class);
-            if (userName != null) {
-                UserCredentialsConnectionFactoryAdapter uccf = new UserCredentialsConnectionFactoryAdapter();
-                uccf.setUsername(userName);
-                uccf.setPassword(password);
-                uccf.setTargetConnectionFactory(cf);
-                cf = uccf;
-            }
-            
+            ConnectionFactory cf = new JndiHelper(jmsConfig.getJndiEnvironment()).
+                lookup(jmsConfig.getConnectionFactoryName(), ConnectionFactory.class);
             return cf;
         } catch (NamingException e) {
             throw new RuntimeException(e);
@@ -228,7 +213,8 @@ public final class JMSFactory {
     }
 
     public static Connection createConnection(JMSConfiguration jmsConfig) throws JMSException {
-        Connection connection = jmsConfig.getConnectionFactory().createConnection();
+        Connection connection = jmsConfig.getConnectionFactory().createConnection(jmsConfig.getUserName(),
+                                                                                  jmsConfig.getPassword());
         if (jmsConfig.getDurableSubscriptionClientId() != null) {
             connection.setClientID(jmsConfig.getDurableSubscriptionClientId());
         }

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageHeadersType.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageHeadersType.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageHeadersType.java
new file mode 100644
index 0000000..21d31cc
--- /dev/null
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageHeadersType.java
@@ -0,0 +1,293 @@
+/**
+ * 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.
+ */
+package org.apache.cxf.transport.jms;
+
+import java.util.ArrayList;
+import java.util.List;
+
+//CHECKSTYLE:OFF
+public class JMSMessageHeadersType {
+    protected List<JMSPropertyType> property;
+    protected String jmsCorrelationID;
+    protected Integer jmsDeliveryMode;
+    protected Long jmsExpiration;
+    protected String jmsMessageID;
+    protected Integer jmsPriority;
+    protected Boolean jmsRedelivered;
+    protected String jmsReplyTo;
+    protected Long jmsTimeStamp;
+    protected String jmsType;
+    protected Long timeToLive;
+    protected String soapjmsTargetService;
+    protected String soapjmsBindingVersion;
+    protected String soapjmsContentType;
+    protected String soapjmsContentEncoding;
+    protected String soapjmssoapAction;
+    protected Boolean soapjmsIsFault;
+    protected String soapjmsRequestURI;
+
+    public List<JMSPropertyType> getProperty() {
+        if (property == null) {
+            property = new ArrayList<JMSPropertyType>();
+        }
+        return this.property;
+    }
+
+    public boolean isSetProperty() {
+        return ((this.property != null) && (!this.property.isEmpty()));
+    }
+
+    public void unsetProperty() {
+        this.property = null;
+    }
+
+    public String getJMSCorrelationID() {
+        return jmsCorrelationID;
+    }
+
+    public void setJMSCorrelationID(String value) {
+        this.jmsCorrelationID = value;
+    }
+
+    public boolean isSetJMSCorrelationID() {
+        return (this.jmsCorrelationID != null);
+    }
+
+    public String getJMSMessageID() {
+        return jmsMessageID;
+    }
+
+    public void setJMSMessageID(String value) {
+        this.jmsMessageID = value;
+    }
+
+    public boolean isSetJMSMessageID() {
+        return (this.jmsMessageID != null);
+    }
+
+    public String getJMSReplyTo() {
+        return jmsReplyTo;
+    }
+
+    public void setJMSReplyTo(String value) {
+        this.jmsReplyTo = value;
+    }
+
+    public boolean isSetJMSReplyTo() {
+        return (this.jmsReplyTo != null);
+    }
+
+    public String getJMSType() {
+        return jmsType;
+    }
+
+    public void setJMSType(String value) {
+        this.jmsType = value;
+    }
+
+    public boolean isSetJMSType() {
+        return (this.jmsType != null);
+    }
+
+    public String getSOAPJMSTargetService() {
+        return soapjmsTargetService;
+    }
+
+    public void setSOAPJMSTargetService(String value) {
+        this.soapjmsTargetService = value;
+    }
+
+    public boolean isSetSOAPJMSTargetService() {
+        return (this.soapjmsTargetService != null);
+    }
+
+    public String getSOAPJMSBindingVersion() {
+        return soapjmsBindingVersion;
+    }
+
+    public void setSOAPJMSBindingVersion(String value) {
+        this.soapjmsBindingVersion = value;
+    }
+
+    public boolean isSetSOAPJMSBindingVersion() {
+        return (this.soapjmsBindingVersion != null);
+    }
+
+    public String getSOAPJMSContentType() {
+        return soapjmsContentType;
+    }
+
+    public void setSOAPJMSContentType(String value) {
+        this.soapjmsContentType = value;
+    }
+
+    public boolean isSetSOAPJMSContentType() {
+        return (this.soapjmsContentType != null);
+    }
+
+    public String getSOAPJMSContentEncoding() {
+        return soapjmsContentEncoding;
+    }
+
+    public void setSOAPJMSContentEncoding(String value) {
+        this.soapjmsContentEncoding = value;
+    }
+
+    public boolean isSetSOAPJMSContentEncoding() {
+        return (this.soapjmsContentEncoding != null);
+    }
+
+    public String getSOAPJMSSOAPAction() {
+        return soapjmssoapAction;
+    }
+
+    public void setSOAPJMSSOAPAction(String value) {
+        this.soapjmssoapAction = value;
+    }
+
+    public boolean isSetSOAPJMSSOAPAction() {
+        return (this.soapjmssoapAction != null);
+    }
+
+    public String getSOAPJMSRequestURI() {
+        return soapjmsRequestURI;
+    }
+
+    public void setSOAPJMSRequestURI(String value) {
+        this.soapjmsRequestURI = value;
+    }
+
+    public boolean isSetSOAPJMSRequestURI() {
+        return (this.soapjmsRequestURI != null);
+    }
+
+    public void setJMSDeliveryMode(int value) {
+        jmsDeliveryMode = value;
+    }
+
+    public void unsetJMSDeliveryMode() {
+        jmsDeliveryMode = null;
+    }
+
+    public boolean isSetJMSDeliveryMode() {
+        return (this.jmsDeliveryMode != null);
+    }
+
+    public int getJMSDeliveryMode() {
+        return jmsDeliveryMode;
+    }
+
+    public void setJMSExpiration(long value) {
+        jmsExpiration = value;
+    }
+
+    public void unsetJMSExpiration() {
+        jmsExpiration = null;
+    }
+
+    public boolean isSetJMSExpiration() {
+        return (this.jmsExpiration != null);
+    }
+
+    public long getJMSExpiration() {
+        return jmsExpiration;
+    }
+
+    public void setJMSPriority(int value) {
+        jmsPriority = value;
+    }
+
+    public void unsetJMSPriority() {
+        jmsPriority = null;
+    }
+
+    public boolean isSetJMSPriority() {
+        return (this.jmsPriority != null);
+    }
+
+    public int getJMSPriority() {
+        return jmsPriority;
+    }
+
+    public void setJMSRedelivered(boolean value) {
+        jmsRedelivered = value;
+    }
+
+    public void unsetJMSRedelivered() {
+        jmsRedelivered = null;
+    }
+
+    public boolean isSetJMSRedelivered() {
+        return (this.jmsRedelivered != null);
+    }
+
+    public boolean isJMSRedelivered() {
+        return jmsRedelivered;
+    }
+
+    public void setJMSTimeStamp(long value) {
+        jmsTimeStamp = value;
+    }
+
+    public void unsetJMSTimeStamp() {
+        jmsTimeStamp = null;
+    }
+
+    public boolean isSetJMSTimeStamp() {
+        return (this.jmsTimeStamp != null);
+    }
+
+    public long getJMSTimeStamp() {
+        return jmsTimeStamp;
+    }
+
+    public void setTimeToLive(long value) {
+        timeToLive = value;
+    }
+
+    public void unsetTimeToLive() {
+        timeToLive = null;
+    }
+
+    public boolean isSetTimeToLive() {
+        return (this.timeToLive != null);
+    }
+
+    public long getTimeToLive() {
+        return timeToLive;
+    }
+
+    public void setSOAPJMSIsFault(boolean value) {
+        soapjmsIsFault = value;
+    }
+
+    public void unsetSOAPJMSIsFault() {
+        soapjmsIsFault = null;
+    }
+
+    public boolean isSetSOAPJMSIsFault() {
+        return (this.soapjmsIsFault != null);
+    }
+
+    public boolean isSOAPJMSIsFault() {
+        return soapjmsIsFault;
+    }
+
+}
+//CHECKSTYLE:ON
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
index f3c0b25..f5e6e9c 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
@@ -204,7 +204,7 @@ final class JMSMessageUtils {
             try {
                 String requestURI = jmsMessage.getStringProperty(JMSSpecConstants.REQUESTURI_FIELD);
                 JMSEndpoint endpoint = new JMSEndpoint(requestURI);
-                if (endpoint.getParameter(JMSSpecConstants.TARGETSERVICE_PARAMETER_NAME) != null) {
+                if (endpoint.getTargetService() != null) {
                     headers.put(JMSSpecConstants.TARGET_SERVICE_IN_REQUESTURI,
                                 Collections.singletonList("true"));
                 }

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java
deleted file mode 100644
index eece423..0000000
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java
+++ /dev/null
@@ -1,368 +0,0 @@
-/**
- * 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.
- */
-package org.apache.cxf.transport.jms;
-
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.Map;
-import java.util.Properties;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.jms.ConnectionFactory;
-import javax.jms.DeliveryMode;
-import javax.naming.Context;
-
-import org.apache.cxf.Bus;
-import org.apache.cxf.common.logging.LogUtils;
-import org.apache.cxf.configuration.ConfiguredBeanLocator;
-import org.apache.cxf.configuration.Configurer;
-import org.apache.cxf.service.model.BindingInfo;
-import org.apache.cxf.service.model.EndpointInfo;
-import org.apache.cxf.service.model.ServiceInfo;
-import org.apache.cxf.transport.jms.spec.JMSSpecConstants;
-import org.apache.cxf.transport.jms.uri.JMSEndpoint;
-import org.apache.cxf.transport.jms.util.JMSDestinationResolver;
-import org.apache.cxf.transport.jms.util.JndiHelper;
-import org.apache.cxf.ws.addressing.EndpointReferenceType;
-
-public class JMSOldConfigHolder {
-    private static final Logger LOG = LogUtils.getL7dLogger(JMSOldConfigHolder.class);
-    private ClientConfig clientConfig;
-    private ClientBehaviorPolicyType runtimePolicy;
-
-    private SessionPoolType sessionPool;
-    private JMSConfiguration jmsConfig;
-    private ServerConfig serverConfig;
-    private ServerBehaviorPolicyType serverBehavior;
-    private AddressType address;
-
-    public void setAddress(AddressType ad) {
-        address = ad;
-    }
-    public AddressType getAddress() {
-        return address;
-    }
-    
-    public ClientConfig getClientConfig() {
-        return clientConfig;
-    }
-
-    public void setClientConfig(ClientConfig clientConfig) {
-        this.clientConfig = clientConfig;
-    }
-
-    public ClientBehaviorPolicyType getRuntimePolicy() {
-        return runtimePolicy;
-    }
-
-    public void setRuntimePolicy(ClientBehaviorPolicyType runtimePolicy) {
-        this.runtimePolicy = runtimePolicy;
-    }
-
-    public SessionPoolType getSessionPool() {
-        return sessionPool;
-    }
-
-    public void setSessionPool(SessionPoolType sessionPool) {
-        this.sessionPool = sessionPool;
-    }
-
-    public JMSConfiguration getJmsConfig() {
-        return jmsConfig;
-    }
-
-    public void setJmsConfig(JMSConfiguration jmsConfig) {
-        this.jmsConfig = jmsConfig;
-    }
-
-    public ServerConfig getServerConfig() {
-        return serverConfig;
-    }
-
-    public void setServerConfig(ServerConfig serverConfig) {
-        this.serverConfig = serverConfig;
-    }
-
-    public ServerBehaviorPolicyType getServerBehavior() {
-        return serverBehavior;
-    }
-
-    public void setServerBehavior(ServerBehaviorPolicyType serverBehavior) {
-        this.serverBehavior = serverBehavior;
-    }
-    
-    public void initFromExtensorsAndSpring(Bus bus, 
-                                           EndpointInfo endpointInfo, 
-                                           EndpointReferenceType target,
-                                           boolean isConduit) {
-        address = endpointInfo.getTraversedExtensor(address, AddressType.class);
-        clientConfig = endpointInfo.getTraversedExtensor(new ClientConfig(), ClientConfig.class);
-        runtimePolicy = endpointInfo.getTraversedExtensor(new ClientBehaviorPolicyType(),
-                                                          ClientBehaviorPolicyType.class);
-        serverConfig = endpointInfo.getTraversedExtensor(new ServerConfig(), ServerConfig.class);
-        sessionPool = endpointInfo.getTraversedExtensor(new SessionPoolType(),
-                                                        SessionPoolType.class);
-        serverBehavior = endpointInfo.getTraversedExtensor(new ServerBehaviorPolicyType(),
-                                                           ServerBehaviorPolicyType.class);
-        String name = endpointInfo.getName() == null ? null : endpointInfo.getName().toString()
-                      + (isConduit ? ".jms-conduit" : ".jms-destination");
-
-        // Try to retrieve configuration information from the spring
-        // config. Search for a conduit or destination with name=endpoint name + ".jms-conduit"
-        // or ".jms-destination"
-
-        // Add conduit or destination config from spring
-        Configurer configurer = bus.getExtension(Configurer.class);
-        if (null != configurer) {
-            if (name != null) {
-                configurer.configureBean(name, this);
-            }
-            String adr = target == null ? endpointInfo.getAddress() : target.getAddress().getValue();
-            if (adr != null) {
-                configurer.configureBean(adr, this);
-            }
-        }
-
-    }
-    
-    /**
-     * @param bus
-     * @param endpointInfo
-     * @param isConduit
-     * @return
-     */
-    public JMSConfiguration createJMSConfigurationFromEndpointInfo(Bus bus,
-                                                                   EndpointInfo endpointInfo,
-                                                                   EndpointReferenceType target,
-                                                                   boolean isConduit) 
-        throws IOException {
-        JMSEndpoint endpoint = new JMSEndpoint(endpointInfo, target);
-        initFromExtensorsAndSpring(bus, endpointInfo, target, isConduit);
-        ConfiguredBeanLocator locator = bus.getExtension(ConfiguredBeanLocator.class);
-        if (address != null) {
-            mapAddressToEndpoint(address, endpoint);
-        }
-        if (jmsConfig == null) {
-            jmsConfig = new JMSConfiguration();
-        }
-        
-        int deliveryMode = endpoint.getDeliveryMode() 
-            == org.apache.cxf.transport.jms.uri.JMSEndpoint.DeliveryModeType.PERSISTENT
-            ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT;
-        jmsConfig.setDeliveryMode(deliveryMode);
-        
-        jmsConfig.setPriority(endpoint.getPriority());
-        
-        if (jmsConfig.isUsingEndpointInfo()) {
-            jmsConfig.setReconnectOnException(endpoint.isReconnectOnException());
-            jmsConfig.setDurableSubscriptionName(serverBehavior.getDurableSubscriberName());
-            jmsConfig.setExplicitQosEnabled(true);
-            if (jmsConfig.getMessageSelector() == null) {
-                jmsConfig.setMessageSelector(serverBehavior.getMessageSelector());
-            }
-            if (isConduit) {
-                if (runtimePolicy.isSetMessageType()) {
-                    jmsConfig.setMessageType(runtimePolicy.getMessageType().value());
-                } else if (address == null) {
-                    if (endpoint.getMessageType() == null) {
-                        // Using the byte message type by default
-                        jmsConfig.setMessageType(JMSConstants.BYTE_MESSAGE_TYPE);
-                    } else {
-                        jmsConfig.setMessageType(endpoint.getMessageType().value());
-                    }
-                }
-            }
-            boolean pubSubDomain = endpoint.getJmsVariant().contains(JMSEndpoint.TOPIC);
-            jmsConfig.setPubSubDomain(pubSubDomain);
-            jmsConfig.setPubSubNoLocal(true);
-            if (clientConfig.isSetClientReceiveTimeout()) {
-                jmsConfig.setReceiveTimeout(clientConfig.getClientReceiveTimeout());
-            }
-            if (clientConfig.isSetUseConduitIdSelector()) {
-                jmsConfig.setUseConduitIdSelector(clientConfig.isUseConduitIdSelector());
-            }
-            if (clientConfig.isSetConduitSelectorPrefix()) {
-                jmsConfig.setConduitSelectorPrefix(clientConfig.getConduitSelectorPrefix());
-            }
-            if (serverConfig.isSetServerReceiveTimeout()) {
-                jmsConfig.setServerReceiveTimeout(serverConfig.getServerReceiveTimeout());
-            }
-            jmsConfig.setSubscriptionDurable(serverBehavior.isSetDurableSubscriberName());
-            jmsConfig.setDurableSubscriptionName(serverBehavior.getDurableSubscriberName());
-            jmsConfig.setDurableSubscriptionClientId(serverConfig.getDurableSubscriptionClientId());
-            jmsConfig.setTimeToLive(endpoint.getTimeToLive());
-            if (serverBehavior.isSetTransactional()) {
-                jmsConfig.setSessionTransacted(serverBehavior.isTransactional());
-            }
-            
-            if (endpoint.getJndiURL() != null) {
-                // Configure Connection Factory using jndi
-                JndiHelper jt = new JndiHelper(JMSOldConfigHolder.getInitialContextEnv(endpoint));
-                jmsConfig.setJndiTemplate(jt);
-                JNDIConfiguration jndiConfig = new JNDIConfiguration();
-                jndiConfig.setJndiConnectionFactoryName(endpoint.getJndiConnectionFactoryName());
-                jndiConfig.setConnectionUserName(endpoint.getUsername());
-                jndiConfig.setConnectionPassword(endpoint.getPassword());
-                jmsConfig.setJndiConfig(jndiConfig);
-            } else {
-                // Configure ConnectionFactory using locator 
-                if (locator != null) {
-                    // Lookup connectionFactory in context like blueprint
-                    ConnectionFactory cf = locator.getBeanOfType(endpoint.getJndiConnectionFactoryName(), 
-                                                                 ConnectionFactory.class);
-                    if (cf != null) {
-                        jmsConfig.setConnectionFactory(cf);
-                    }
-                }
-            }
-            
-            boolean resolveUsingJndi = endpoint.getJmsVariant().contains(JMSEndpoint.JNDI);
-            if (resolveUsingJndi) {
-                // Setup Destination jndi destination resolver
-                JndiHelper jt = new JndiHelper(JMSOldConfigHolder.getInitialContextEnv(endpoint));
-                final JMSDestinationResolver jndiDestinationResolver = new JMSDestinationResolver();
-                jndiDestinationResolver.setJndiTemplate(jt);
-                jmsConfig.setDestinationResolver(jndiDestinationResolver);
-                jmsConfig.setTargetDestination(endpoint.getDestinationName());
-                setReplyDestination(jmsConfig, endpoint);
-                if (address != null) {
-                    jmsConfig.setReplyToDestination(address.getJndiReplyToDestinationName());
-                }
-            } else {
-                // Use the default dynamic destination resolver
-                jmsConfig.setTargetDestination(endpoint.getDestinationName());
-                setReplyDestination(jmsConfig, endpoint);
-                if (address != null) {
-                    jmsConfig.setReplyToDestination(address.getJmsReplyToDestinationName());
-                }
-            }
-        }
-        
-        String requestURI = endpoint.getRequestURI();
-        jmsConfig.setRequestURI(requestURI);
-        
-        String targetService = endpoint.getParameter(JMSSpecConstants.TARGETSERVICE_PARAMETER_NAME);
-        jmsConfig.setTargetService(targetService);
-        return jmsConfig;
-    }
-
-    private static void setReplyDestination(JMSConfiguration jmsConfig, JMSEndpoint endpoint) {
-        if (endpoint.getReplyToName() != null)  {
-            jmsConfig.setReplyDestination(endpoint.getReplyToName());
-            jmsConfig.setReplyPubSubDomain(false);
-        } else if (endpoint.getTopicReplyToName() != null) {
-            jmsConfig.setReplyDestination(endpoint.getTopicReplyToName());
-            jmsConfig.setReplyPubSubDomain(true);
-        }
-    }
-
-    private static void mapAddressToEndpoint(AddressType address, JMSEndpoint endpoint) {
-        boolean pubSubDomain = DestinationStyleType.TOPIC == address.getDestinationStyle();
-        if (address.isSetDestinationStyle()) {
-            endpoint.setJmsVariant(pubSubDomain ? JMSEndpoint.TOPIC : JMSEndpoint.QUEUE);
-        } else {
-            endpoint.setJmsVariant(JMSEndpoint.QUEUE);
-        }
-        if (address.isSetJndiConnectionFactoryName()) {
-            endpoint.setJndiConnectionFactoryName(address.getJndiConnectionFactoryName());
-        }
-        if (address.isSetConnectionUserName()) {
-            endpoint.setUsername(address.getConnectionUserName());
-        }
-        if (address.isSetConnectionPassword()) {
-            endpoint.setPassword(address.getConnectionPassword());
-        }
-        if (address.isSetReconnectOnException()) {
-            endpoint.setReconnectOnException(address.isReconnectOnException());
-        }
-        if (address.isSetUseJms11()) {
-            LOG.log(Level.WARNING, "Use of address[@useJms11] is no longer supported");
-        }
-        boolean useJndi = address.isSetJndiDestinationName();
-        if (useJndi) {
-            endpoint.setJmsVariant(pubSubDomain ? JMSEndpoint.JNDI_TOPIC : JMSEndpoint.JNDI);
-            endpoint.setDestinationName(address.getJndiDestinationName());
-            endpoint.setReplyToName(address.getJndiReplyDestinationName());
-        } else {
-            endpoint.setDestinationName(address.getJmsDestinationName());
-            endpoint.setReplyToName(address.getJmsReplyDestinationName());
-        }
-        
-        java.util.ListIterator<JMSNamingPropertyType> listIter 
-            = address.getJMSNamingProperty().listIterator();
-        while (listIter.hasNext()) {
-            JMSNamingPropertyType propertyPair = listIter.next();
-            String name = propertyPair.getName();
-            String value = propertyPair.getValue();
-            if (value != null) {
-                if (name.equals(Context.PROVIDER_URL)) {
-                    endpoint.setJndiURL(value);
-                } else if (name.equals(Context.INITIAL_CONTEXT_FACTORY)) {
-                    endpoint.setJndiInitialContextFactory(value);
-                } else {
-                    endpoint.putJndiParameter(propertyPair.getName(), propertyPair.getValue());
-                }
-            }
-        }
-    }
-
-    public <T> T getWSDLExtensor(EndpointInfo ei, Class<T> cls) {
-        ServiceInfo si = ei.getService();
-        BindingInfo bi = ei.getBinding();
-        
-        Object o = ei.getExtensor(cls);
-        if (o == null && si != null) {
-            o = si.getExtensor(cls);
-        }
-        if (o == null && bi != null) {
-            o = bi.getExtensor(cls);
-        }
-        
-        if (o == null) {
-            return null;
-        }
-        if (cls.isInstance(o)) {
-            return cls.cast(o);
-        }
-        return null;
-    }
-    
-    public static Properties getInitialContextEnv(JMSEndpoint endpoint) {
-        Properties env = new Properties();
-        if (endpoint.getJndiInitialContextFactory() != null) {
-            env.put(Context.INITIAL_CONTEXT_FACTORY, endpoint.getJndiInitialContextFactory());
-        }
-        if (endpoint.getJndiURL() != null) {
-            env.put(Context.PROVIDER_URL, endpoint.getJndiURL());
-        }
-        for (Map.Entry<String, String> ent : endpoint.getJndiParameters().entrySet()) {
-            env.put(ent.getKey(), ent.getValue());
-        }
-        if (LOG.isLoggable(Level.FINE)) {
-            Enumeration<?> props = env.propertyNames();
-            while (props.hasMoreElements()) {
-                String name = (String)props.nextElement();
-                String value = env.getProperty(name);
-                LOG.log(Level.FINE, "Context property: " + name + " | " + value);
-            }
-        }
-        return env;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java
new file mode 100644
index 0000000..0574800
--- /dev/null
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java
@@ -0,0 +1,51 @@
+/**
+ * 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.
+ */
+package org.apache.cxf.transport.jms;
+
+//CHECKSTYLE:OFF
+public class JMSPropertyType {
+    protected String name;
+    protected String value;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String value) {
+        this.name = value;
+    }
+
+    public boolean isSetName() {
+        return (this.name != null);
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public boolean isSetValue() {
+        return (this.value != null);
+    }
+
+}
+//CHECKSTYLE:ON

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSTransportFactory.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSTransportFactory.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSTransportFactory.java
index e4dd10a..c176051 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSTransportFactory.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSTransportFactory.java
@@ -64,12 +64,9 @@ public class JMSTransportFactory extends AbstractTransportFactory implements Con
     /**
      * {@inheritDoc}
      */
-    public Conduit getConduit(EndpointInfo endpointInfo, EndpointReferenceType target, Bus bus) throws IOException {
-        JMSOldConfigHolder old = new JMSOldConfigHolder();
-        JMSConfiguration jmsConf = old.createJMSConfigurationFromEndpointInfo(bus,
-                                                                              endpointInfo,
-                                                                              target,
-                                                                              true);
+    public Conduit getConduit(EndpointInfo endpointInfo, EndpointReferenceType target, Bus bus)
+        throws IOException {
+        JMSConfiguration jmsConf = JMSConfigFactory.createFromEndpointInfo(bus, endpointInfo, target);
         return new JMSConduit(target, jmsConf, bus);
     }
 
@@ -77,8 +74,7 @@ public class JMSTransportFactory extends AbstractTransportFactory implements Con
      * {@inheritDoc}
      */
     public Destination getDestination(EndpointInfo endpointInfo, Bus bus) throws IOException {
-        JMSOldConfigHolder old = new JMSOldConfigHolder();
-        JMSConfiguration jmsConf = old.createJMSConfigurationFromEndpointInfo(bus, endpointInfo, null, false);
+        JMSConfiguration jmsConf = JMSConfigFactory.createFromEndpointInfo(bus, endpointInfo, null);
         return new JMSDestination(bus, endpointInfo, jmsConf);
     }
     

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JNDIConfiguration.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JNDIConfiguration.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JNDIConfiguration.java
deleted file mode 100644
index c5ac4e4..0000000
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JNDIConfiguration.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * 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.
- */
-package org.apache.cxf.transport.jms;
-
-import java.util.Properties;
-
-import org.apache.cxf.transport.jms.util.JndiHelper;
-
-public class JNDIConfiguration {
-    private Properties environment;
-    private String jndiConnectionFactoryName;
-    private String connectionUserName;
-    private String connectionPassword;
-    
-    public JndiHelper createJndiTemple() {
-        return new JndiHelper(environment);
-    }
-
-    public String getJndiConnectionFactoryName() {
-        return jndiConnectionFactoryName;
-    }
-
-    public void setJndiConnectionFactoryName(String jndiConnectionFactoryName) {
-        this.jndiConnectionFactoryName = jndiConnectionFactoryName;
-    }
-
-    public String getConnectionUserName() {
-        return connectionUserName;
-    }
-
-    public void setConnectionUserName(String connectionUserName) {
-        this.connectionUserName = connectionUserName;
-    }
-
-    public String getConnectionPassword() {
-        return connectionPassword;
-    }
-
-    public void setConnectionPassword(String connectionPassword) {
-        this.connectionPassword = connectionPassword;
-    }
-
-    public Properties getEnvironment() {
-        return environment;
-    }
-
-    public void setEnvironment(Properties environment) {
-        this.environment = environment;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/JMSConduitBeanDefinitionParser.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/JMSConduitBeanDefinitionParser.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/JMSConduitBeanDefinitionParser.java
deleted file mode 100644
index fc2851c..0000000
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/JMSConduitBeanDefinitionParser.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * 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.
- */
-package org.apache.cxf.transport.jms.spring;
-
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-import org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser;
-import org.apache.cxf.helpers.DOMUtils;
-import org.apache.cxf.transport.jms.AddressType;
-import org.apache.cxf.transport.jms.ClientBehaviorPolicyType;
-import org.apache.cxf.transport.jms.ClientConfig;
-import org.apache.cxf.transport.jms.JMSConduit;
-import org.apache.cxf.transport.jms.SessionPoolType;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-
-public class JMSConduitBeanDefinitionParser extends AbstractBeanDefinitionParser {
-
-    private static final String JMS_NS = "http://cxf.apache.org/transports/jms";
-
-    @Override
-    protected void doParse(Element element, ParserContext ctx, BeanDefinitionBuilder bean) {
-        bean.setAbstract(true);
-        mapElementToJaxbProperty(element, bean, new QName(JMS_NS, "clientConfig"), "clientConfig",
-                                 ClientConfig.class);
-        mapElementToJaxbProperty(element, bean, new QName(JMS_NS, "runtimePolicy"), "runtimePolicy",
-                                 ClientBehaviorPolicyType.class);
-        mapElementToJaxbProperty(element, bean, new QName(JMS_NS, "address"), "address", AddressType.class);
-        mapElementToJaxbProperty(element, bean, new QName(JMS_NS, "sessionPool"), "sessionPool",
-                                 SessionPoolType.class);
-        
-        
-        List<Element> elemList = 
-            DOMUtils.findAllElementsByTagNameNS(element, JMS_NS, "jmsConfig-ref");
-
-        if (elemList.size() == 1) {
-            Node el1 = elemList.get(0);
-            bean.addPropertyReference("jmsConfig", el1.getTextContent());
-        }
-    }
-
-    @Override
-    protected Class<?> getBeanClass(Element arg0) {
-        return JMSConduit.class;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/JMSDestinationBeanDefinitionParser.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/JMSDestinationBeanDefinitionParser.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/JMSDestinationBeanDefinitionParser.java
deleted file mode 100644
index 786b7ae..0000000
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/JMSDestinationBeanDefinitionParser.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * 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.
- */
-package org.apache.cxf.transport.jms.spring;
-
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-import org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser;
-import org.apache.cxf.helpers.DOMUtils;
-import org.apache.cxf.transport.jms.AddressType;
-import org.apache.cxf.transport.jms.JMSDestination;
-import org.apache.cxf.transport.jms.ServerBehaviorPolicyType;
-import org.apache.cxf.transport.jms.ServerConfig;
-import org.apache.cxf.transport.jms.SessionPoolType;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-
-public class JMSDestinationBeanDefinitionParser extends AbstractBeanDefinitionParser {
-
-    private static final String JMS_NS = "http://cxf.apache.org/transports/jms";
-
-    @Override
-    protected void doParse(Element element, ParserContext ctx, BeanDefinitionBuilder bean) {
-        bean.setAbstract(true);
-        mapElementToJaxbProperty(element, bean, new QName(JMS_NS, "serverConfig"), "serverConfig",
-                                 ServerConfig.class);
-        mapElementToJaxbProperty(element, bean, new QName(JMS_NS, "runtimePolicy"), "serverBehavior",
-                                 ServerBehaviorPolicyType.class);
-        mapElementToJaxbProperty(element, bean, new QName(JMS_NS, "address"), "address",
-                                 AddressType.class);
-        mapElementToJaxbProperty(element, bean, new QName(JMS_NS, "sessionPool"), "sessionPool",
-                                 SessionPoolType.class);        
-        List<Element> elemList = 
-            DOMUtils.findAllElementsByTagNameNS(element, JMS_NS, "jmsConfig-ref");
-
-        if (elemList.size() == 1) {
-            Node el1 = elemList.get(0);
-            bean.addPropertyReference("jmsConfig", el1.getTextContent());
-        }
-    }
-
-    @Override
-    protected Class<?> getBeanClass(Element arg0) {
-        return JMSDestination.class;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/NamespaceHandler.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/NamespaceHandler.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/NamespaceHandler.java
deleted file mode 100644
index 80b1c6b..0000000
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/NamespaceHandler.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * 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.
- */
-package org.apache.cxf.transport.jms.spring;
-
-import org.springframework.beans.factory.xml.NamespaceHandlerSupport;
-
-public class NamespaceHandler extends NamespaceHandlerSupport {
-    public void init() {
-        registerBeanDefinitionParser("conduit", new JMSConduitBeanDefinitionParser());        
-        registerBeanDefinitionParser("destination", new JMSDestinationBeanDefinitionParser());        
-    }
-}


Mime
View raw message