[java-identity-provider COMMIT] /trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resol...

noreply at shibboleth.net noreply at shibboleth.net
Mon May 5 05:20:38 EDT 2014


Author: rdw
Date: Mon May  5 05:20:38 2014
New Revision: 5835

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=5835&view=rev
Log:
IDP-390 use BeanDefinitions, not builders when parsing certificates.

Modified:
    trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LdapDataConnectorParser.java

Modified: trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LdapDataConnectorParser.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LdapDataConnectorParser.java?rev=5835&r1=5834&r2=5835&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LdapDataConnectorParser.java (original)
+++ trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LdapDataConnectorParser.java Mon May  5 05:20:38 2014
@@ -56,7 +56,6 @@
 import org.ldaptive.provider.ConnectionStrategy;
 import org.ldaptive.sasl.Mechanism;
 import org.ldaptive.sasl.SaslConfig;
-import org.ldaptive.ssl.CredentialConfig;
 import org.ldaptive.ssl.CredentialConfigFactory;
 import org.ldaptive.ssl.SslConfig;
 import org.opensaml.security.x509.X509Credential;
@@ -84,14 +83,12 @@
     private final Logger log = LoggerFactory.getLogger(LdapDataConnectorParser.class);
 
     /** {@inheritDoc} */
-    @Override
-    protected Class<LdapDataConnector> getBeanClass(@Nullable final Element element) {
+    @Override protected Class<LdapDataConnector> getBeanClass(@Nullable final Element element) {
         return LdapDataConnector.class;
     }
 
     /** {@inheritDoc} */
-    @Override
-    protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
+    @Override protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
             @Nonnull final BeanDefinitionBuilder builder) {
         super.doParse(config, parserContext, builder);
         log.debug("doParse {}", config);
@@ -141,7 +138,7 @@
 
         final BeanDefinitionBuilder connectionFactory =
                 BeanDefinitionBuilder.genericBeanDefinition(DefaultConnectionFactory.class);
-        connectionFactory.addConstructorArgValue(v2Parser.createConnectionConfig());
+        connectionFactory.addConstructorArgValue(v2Parser.createConnectionConfig(parserContext));
 
         final BeanDefinitionBuilder provider =
                 BeanDefinitionBuilder.genericBeanDefinition(DefaultConnectionFactory.getDefaultProvider().getClass());
@@ -213,9 +210,10 @@
         /**
          * Creates a connection config bean definition from a v2 XML configuration.
          * 
+         * @param parserContext bean definition parsing context
          * @return connection config bean definition
          */
-        @Nonnull public BeanDefinition createConnectionConfig() {
+        @Nonnull public BeanDefinition createConnectionConfig(@Nonnull final ParserContext parserContext) {
             final String url = AttributeSupport.getAttributeValue(configElement, new QName("ldapURL"));
             final String useStartTLS = AttributeSupport.getAttributeValue(configElement, new QName("useStartTLS"));
             final String principal = AttributeSupport.getAttributeValue(configElement, new QName("principal"));
@@ -230,9 +228,10 @@
             if (useStartTLS != null) {
                 connectionConfig.addPropertyValue("useStartTLS", useStartTLS);
             }
-            final SslConfig sslConfig = new SslConfig();
-            sslConfig.setCredentialConfig(createCredentialConfig());
-            connectionConfig.addPropertyValue("sslConfig", sslConfig);
+            final BeanDefinitionBuilder sslConfig =
+                    BeanDefinitionBuilder.genericBeanDefinition(SslConfig.class);
+            sslConfig.addPropertyValue("credentialConfig", createCredentialConfig(parserContext));
+            connectionConfig.addPropertyValue("sslConfig", sslConfig.getBeanDefinition());
             final BeanDefinitionBuilder connectionInitializer =
                     BeanDefinitionBuilder.genericBeanDefinition(BindConnectionInitializer.class);
             if (principal != null) {
@@ -260,10 +259,12 @@
         /**
          * Uses {@link X509CredentialSupport} to read StartTLS trust and authentication credentials.
          * 
+         * @param parserContext bean definition parsing context
          * @return credential config
          */
-        @Nonnull protected CredentialConfig createCredentialConfig() {
+        @Nonnull protected BeanDefinition createCredentialConfig(@Nonnull final ParserContext parserContext) {
             X509Certificate[] trustCerts = null;
+                      
             final X509Credential trustCredential =

[... 18 lines stripped ...]


More information about the commits mailing list