in components/camel-cxf/camel-cxf-blueprint/src/main/java/org/apache/camel/component/cxf/blueprint/transport/http/HttpConduitBPBeanDefinitionParser.java [89:160]
private void mapTLSClientParameters(ParserContext ctx, MutableBeanMetadata bean, Element el) {
MutableBeanMetadata paramsbean = ctx.createMetadata(MutableBeanMetadata.class);
paramsbean.setRuntimeClass(TLSClientParametersConfig.TLSClientParametersTypeInternal.class);
// read the attributes
NamedNodeMap as = el.getAttributes();
for (int i = 0; i < as.getLength(); i++) {
Attr a = (Attr) as.item(i);
if (a.getNamespaceURI() == null) {
String aname = a.getLocalName();
if ("useHttpsURLConnectionDefaultSslSocketFactory".equals(aname)
|| "useHttpsURLConnectionDefaultHostnameVerifier".equals(aname)
|| "disableCNCheck".equals(aname)
|| "enableRevocation".equals(aname)
|| "jsseProvider".equals(aname)
|| "secureSocketProtocol".equals(aname)
|| "sslCacheTimeout".equals(aname)) {
paramsbean.addProperty(aname, createValue(ctx, a.getValue()));
}
}
}
// read the child elements
Node n = el.getFirstChild();
while (n != null) {
if (Node.ELEMENT_NODE != n.getNodeType()
|| !SECURITY_NS.equals(n.getNamespaceURI())) {
n = n.getNextSibling();
continue;
}
String ename = n.getLocalName();
// Schema should require that no more than one each of these exist.
String ref = ((Element)n).getAttribute("ref");
if ("keyManagers".equals(ename)) {
if (ref != null && ref.length() > 0) {
paramsbean.addProperty("keyManagersRef", createRef(ctx, ref));
} else {
mapElementToJaxbProperty(ctx, paramsbean, (Element)n, ename,
KeyManagersType.class);
}
} else if ("trustManagers".equals(ename)) {
if (ref != null && ref.length() > 0) {
paramsbean.addProperty("trustManagersRef", createRef(ctx, ref));
} else {
mapElementToJaxbProperty(ctx, paramsbean, (Element)n, ename,
TrustManagersType.class);
}
} else if ("cipherSuites".equals(ename)) {
mapElementToJaxbProperty(ctx, paramsbean, (Element)n, ename,
CipherSuites.class);
} else if ("cipherSuitesFilter".equals(ename)) {
mapElementToJaxbProperty(ctx, paramsbean, (Element)n, ename,
FiltersType.class);
} else if ("secureRandomParameters".equals(ename)) {
mapElementToJaxbProperty(ctx, paramsbean, (Element)n, ename,
SecureRandomParameters.class);
} else if ("certConstraints".equals(ename)) {
mapElementToJaxbProperty(ctx, paramsbean, (Element)n, ename,
CertificateConstraintsType.class);
} else if ("certAlias".equals(ename)) {
paramsbean.addProperty(ename, createValue(ctx, n.getTextContent()));
}
n = n.getNextSibling();
}
MutableBeanMetadata jaxbbean = ctx.createMetadata(MutableBeanMetadata.class);
jaxbbean.setRuntimeClass(TLSClientParametersConfig.class);
jaxbbean.setFactoryMethod("createTLSClientParametersFromType");
jaxbbean.addArgument(paramsbean, TLSClientParametersType.class.getName(), 0);
bean.addProperty("tlsClientParameters", jaxbbean);
}