You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2008/12/10 19:31:42 UTC
svn commit: r725367 - in /cxf/branches/2.1.x-fixes: ./
common/common/src/main/java/org/apache/cxf/configuration/spring/
rt/transports/http/src/main/java/org/apache/cxf/configuration/jsse/spring/
rt/transports/http/src/main/java/org/apache/cxf/transport...
Author: dkulp
Date: Wed Dec 10 10:31:41 2008
New Revision: 725367
URL: http://svn.apache.org/viewvc?rev=725367&view=rev
Log:
Merged revisions 724782 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r724782 | dkulp | 2008-12-09 12:09:40 -0500 (Tue, 09 Dec 2008) | 2 lines
Do the node -> string -> jaxb parse thing for the tlsClientParameters to get the properties substituted
........
Modified:
cxf/branches/2.1.x-fixes/ (props changed)
cxf/branches/2.1.x-fixes/common/common/src/main/java/org/apache/cxf/configuration/spring/AbstractBeanDefinitionParser.java
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/configuration/jsse/spring/TLSClientParametersConfig.java
cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/spring/HttpConduitBeanDefinitionParser.java
cxf/branches/2.1.x-fixes/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/hello_world_async_noservice.wsdl (props changed)
Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Dec 10 10:31:41 2008
@@ -1 +1 @@
-/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691338,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795,694869,694981,694987,694993,695041,695096,695396,695484,695537,695552,695561,695619,695684,695835,695840,695868,695935,695977,696016,696094,696433,696720,697085,697868,698128,699289,700261,700507,700602,700981,701316,701783,701830,701862,702187,702205-702248,702267,702547,702561,702580,702602,702609,702616,702653,702656,702957,703191,703239,703309,703501,703513,703548,704584,704937,704997,705150,705235,705274,705340,705446,705548,705614,705692,705708,706482,706631,706675,706900,706909,707034,707089,707100,707902,708035,708044,708074,708410,708417,708550,708554,709353-709354,709425,710076,710150,71015
4,711193,711388,711410,711490,711635,711949,711975,712194,712198,712238,712272,712299,712312,712670,712893,713082,713095-713096,713099,713584,713597,713737,713804,713899,714167-714168,714245,714255,717937-717961,718281-718448,718565,718620,718640,718665,718970,719017,719210,719215-719218,719222-719273,719305,719327-719680,720053,720119-720218,720238,720293-720316,720497,721221,721241,721501,722117,722129,722412,722988,723024,723338,723378,723716-723791,724333-724372,724433-724438,724449,724481,724485,724668,724780,724785,725335
+/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691338,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795,694869,694981,694987,694993,695041,695096,695396,695484,695537,695552,695561,695619,695684,695835,695840,695868,695935,695977,696016,696094,696433,696720,697085,697868,698128,699289,700261,700507,700602,700981,701316,701783,701830,701862,702187,702205-702248,702267,702547,702561,702580,702602,702609,702616,702653,702656,702957,703191,703239,703309,703501,703513,703548,704584,704937,704997,705150,705235,705274,705340,705446,705548,705614,705692,705708,706482,706631,706675,706900,706909,707034,707089,707100,707902,708035,708044,708074,708410,708417,708550,708554,709353-709354,709425,710076,710150,71015
4,711193,711388,711410,711490,711635,711949,711975,712194,712198,712238,712272,712299,712312,712670,712893,713082,713095-713096,713099,713584,713597,713737,713804,713899,714167-714168,714245,714255,717937-717961,718281-718448,718565,718620,718640,718665,718970,719017,719210,719215-719218,719222-719273,719305,719327-719680,720053,720119-720218,720238,720293-720316,720497,721221,721241,721501,722117,722129,722412,722988,723024,723338,723378,723716-723791,724333-724372,724433-724438,724449,724481,724485,724668,724780,724782,724785,725335
Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.1.x-fixes/common/common/src/main/java/org/apache/cxf/configuration/spring/AbstractBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/common/common/src/main/java/org/apache/cxf/configuration/spring/AbstractBeanDefinitionParser.java?rev=725367&r1=725366&r2=725367&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/common/common/src/main/java/org/apache/cxf/configuration/spring/AbstractBeanDefinitionParser.java (original)
+++ cxf/branches/2.1.x-fixes/common/common/src/main/java/org/apache/cxf/configuration/spring/AbstractBeanDefinitionParser.java Wed Dec 10 10:31:41 2008
@@ -240,7 +240,14 @@
if (data == null) {
return;
}
-
+ mapElementToJaxbProperty(data, bean, propertyName, c);
+ }
+
+ @SuppressWarnings("deprecation")
+ protected void mapElementToJaxbProperty(Element data,
+ BeanDefinitionBuilder bean,
+ String propertyName,
+ Class<?> c) {
JAXBContext context = null;
try {
String pkg = getJaxbPackage();
Modified: cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/configuration/jsse/spring/TLSClientParametersConfig.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/configuration/jsse/spring/TLSClientParametersConfig.java?rev=725367&r1=725366&r2=725367&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/configuration/jsse/spring/TLSClientParametersConfig.java (original)
+++ cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/configuration/jsse/spring/TLSClientParametersConfig.java Wed Dec 10 10:31:41 2008
@@ -19,11 +19,20 @@
package org.apache.cxf.configuration.jsse.spring;
import java.io.IOException;
+import java.io.StringReader;
import java.security.GeneralSecurityException;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.cxf.common.util.PackageUtils;
import org.apache.cxf.configuration.jsse.TLSClientParameters;
import org.apache.cxf.configuration.security.TLSClientParametersType;
+import org.apache.cxf.staxutils.StaxUtils;
/**
* This class provides the TLSClientParameters that programmatically
@@ -31,39 +40,74 @@
* type TLSClientParametersType that was used in the Spring configuration
* of the http-conduit bean.
*/
-public class TLSClientParametersConfig
- extends TLSClientParameters {
+public class TLSClientParametersConfig {
+ static JAXBContext context = null;
- public TLSClientParametersConfig(TLSClientParametersType params)
+ private static synchronized JAXBContext getContext() throws JAXBException {
+ if (context == null) {
+ context = JAXBContext.newInstance(PackageUtils.getPackageName(TLSClientParametersType.class),
+ TLSClientParametersConfig.class.getClassLoader());
+ }
+ return context;
+ }
+
+ static TLSClientParameters createTLSClientParametersFromType(TLSClientParametersType params)
throws GeneralSecurityException,
IOException {
+ TLSClientParameters ret = new TLSClientParameters();
if (params.isDisableCNCheck()) {
- this.setDisableCNCheck(true);
+ ret.setDisableCNCheck(true);
}
if (params.isSetCipherSuitesFilter()) {
- this.setCipherSuitesFilter(params.getCipherSuitesFilter());
+ ret.setCipherSuitesFilter(params.getCipherSuitesFilter());
}
if (params.isSetCipherSuites()) {
- this.setCipherSuites(params.getCipherSuites().getCipherSuite());
+ ret.setCipherSuites(params.getCipherSuites().getCipherSuite());
}
if (params.isSetJsseProvider()) {
- this.setJsseProvider(params.getJsseProvider());
+ ret.setJsseProvider(params.getJsseProvider());
}
if (params.isSetSecureRandomParameters()) {
- this.setSecureRandom(
+ ret.setSecureRandom(
TLSParameterJaxBUtils.getSecureRandom(
params.getSecureRandomParameters()));
}
if (params.isSetKeyManagers()) {
- this.setKeyManagers(
+ ret.setKeyManagers(
TLSParameterJaxBUtils.getKeyManagers(params.getKeyManagers()));
}
if (params.isSetTrustManagers()) {
- this.setTrustManagers(
+ ret.setTrustManagers(
TLSParameterJaxBUtils.getTrustManagers(
params.getTrustManagers()));
}
+ return ret;
+ }
+
+
+
+ public static Object createTLSClientParameters(String s) {
+
+ StringReader reader = new StringReader(s);
+ XMLStreamReader data = StaxUtils.createXMLStreamReader(reader);
+ Unmarshaller u;
+ try {
+ u = getContext().createUnmarshaller();
+ Object obj = u.unmarshal(data, TLSClientParametersType.class);
+ if (obj instanceof JAXBElement<?>) {
+ JAXBElement<?> el = (JAXBElement<?>)obj;
+ obj = el.getValue();
+
+ }
+
+ TLSClientParametersType cpt = (TLSClientParametersType)obj;
+ return createTLSClientParametersFromType(cpt);
+ } catch (RuntimeException e) {
+ throw e;
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
}
}
Modified: cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/spring/HttpConduitBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/spring/HttpConduitBeanDefinitionParser.java?rev=725367&r1=725366&r2=725367&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/spring/HttpConduitBeanDefinitionParser.java (original)
+++ cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/spring/HttpConduitBeanDefinitionParser.java Wed Dec 10 10:31:41 2008
@@ -18,10 +18,14 @@
*/
package org.apache.cxf.transport.http.spring;
+import java.io.StringWriter;
+
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.Unmarshaller;
import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -35,6 +39,7 @@
import org.apache.cxf.configuration.security.ProxyAuthorizationPolicy;
import org.apache.cxf.configuration.security.TLSClientParametersType;
import org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser;
+import org.apache.cxf.staxutils.StaxUtils;
import org.apache.cxf.transport.http.HTTPConduit;
import org.apache.cxf.transport.http.HttpBasicAuthSupplier;
import org.apache.cxf.transport.http.MessageTrustDecider;
@@ -90,7 +95,7 @@
} else if ("basicAuthSupplier".equals(elementName)) {
mapBeanOrClassElement((Element)n, bean, HttpBasicAuthSupplier.class);
} else if ("tlsClientParameters".equals(elementName)) {
- mapTLSClientParameters(n, bean);
+ mapTLSClientParameters((Element)n, bean);
}
}
@@ -101,23 +106,22 @@
* a TLSClientParametersConfig object initialized with the JAXB
* generated type unmarshalled from the selected node.
*/
- public void mapTLSClientParameters(Node n, BeanDefinitionBuilder bean) {
-
- // Unmarshal the JAXB Generated Type from Config and inject
- // the configured TLSClientParameters into the HTTPConduit.
- JAXBContext context = null;
+ @SuppressWarnings("deprecation")
+ public void mapTLSClientParameters(Element n, BeanDefinitionBuilder bean) {
+ StringWriter writer = new StringWriter();
+ XMLStreamWriter xmlWriter = StaxUtils.createXMLStreamWriter(writer);
try {
- context = JAXBContext.newInstance(PackageUtils.getPackageName(TLSClientParametersType.class),
- getClass().getClassLoader());
- Unmarshaller u = context.createUnmarshaller();
- JAXBElement<TLSClientParametersType> jaxb =
- u.unmarshal(n, TLSClientParametersType.class);
- TLSClientParameters params =
- new TLSClientParametersConfig(jaxb.getValue());
- bean.addPropertyValue("tlsClientParameters", params);
- } catch (Exception e) {
- throw new RuntimeException("Could not process configuration.", e);
+ StaxUtils.copy(n, xmlWriter);
+ xmlWriter.flush();
+ } catch (XMLStreamException e) {
+ throw new RuntimeException(e);
}
+
+ BeanDefinitionBuilder jaxbbean
+ = BeanDefinitionBuilder.rootBeanDefinition(TLSClientParametersConfig.class);
+ jaxbbean.getRawBeanDefinition().setFactoryMethodName("createTLSClientParameters");
+ jaxbbean.addConstructorArg(writer.toString());
+ bean.addPropertyValue("tlsClientParameters", jaxbbean.getBeanDefinition());
}
/**
Propchange: cxf/branches/2.1.x-fixes/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/hello_world_async_noservice.wsdl
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Dec 10 10:31:41 2008
@@ -1 +1 @@
-/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/hello_world_async_noservice.wsdl:722412,722988,723378,724485,724668,724780,724785,725335
+/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/hello_world_async_noservice.wsdl:722412,722988,723378,724485,724668,724780,724782,724785,725335