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

noreply at shibboleth.net noreply at shibboleth.net
Mon Feb 2 11:30:10 EST 2015


Author: rdw
Date: Mon Feb  2 11:30:09 2015
New Revision: 7306

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=7306&view=rev
Log:
IDP-587 Add BeanManagedConnection to StoredConnector

Added:
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/pc/stored-beanConnector.xml
Modified:
    trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/StoredIDDataConnectorParser.java
    trunk/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java
    trunk/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/pc/StoredIdTest.java

Modified: trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/StoredIDDataConnectorParser.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/StoredIDDataConnectorParser.java?rev=7306&r1=7305&r2=7306&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/StoredIDDataConnectorParser.java (original)
+++ trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/StoredIDDataConnectorParser.java Mon Feb  2 11:30:09 2015
@@ -18,11 +18,13 @@
 package net.shibboleth.idp.attribute.resolver.spring.dc;
 
 import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 import javax.sql.DataSource;
 import javax.xml.namespace.QName;
 
 import net.shibboleth.idp.saml.attribute.resolver.impl.StoredIDDataConnector;
 import net.shibboleth.utilities.java.support.xml.AttributeSupport;
+import net.shibboleth.utilities.java.support.xml.ElementSupport;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -54,8 +56,11 @@
         super.doParse(config, parserContext, builder, "storedId");
         log.debug("doParse {}", config);
         final String springResources = AttributeSupport.getAttributeValue(config, new QName("springResources"));
+        final String beanDataSource = getBeanDataSourceID(config); 
         if (springResources == null) {
             builder.addPropertyValue("dataSource", getv2DataSource(config));            
+        } else if (beanDataSource != null) {
+            builder.addPropertyReference("dataSource", beanDataSource);
         } else {
             builder.addPropertyValue("dataSource", getDataSource(springResources.split(";")));
         }
@@ -77,6 +82,23 @@
     }
 
     /**
+     * Get the bean ID of an externally defined data source.
+     * 
+     * @param config the config element
+     * @return data source bean ID
+     */
+    @Nullable protected String getBeanDataSourceID(@Nonnull final Element config ) {
+        final Element el =
+                ElementSupport.getFirstChildElement(config, new QName(DataConnectorNamespaceHandler.NAMESPACE,
+                        "BeanManagedConnection"));
+        if (el != null) {
+            return ElementSupport.getElementContentAsString(el);
+        }
+        return null;
+    }
+
+
+    /**
      * Get the dataSource from a v2 configuration.
      * 
      * @param config the DOM element under consideration.

Modified: trunk/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java?rev=7306&r1=7305&r2=7306&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java (original)
+++ trunk/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java Mon Feb  2 11:30:09 2015
@@ -276,7 +276,7 @@
         CredentialConfig credentialConfig = sslConfig.getCredentialConfig();
         AssertJUnit.assertNotNull(credentialConfig);
 
-        final Map<String, Object> providerProps = new HashMap<String, Object>();
+        final Map<String, Object> providerProps = new HashMap<>();
         providerProps.put("name1", "value1");
         providerProps.put("name2", "value2");
         ProviderConfig providerConfig = connPool.getConnectionFactory().getProvider().getProviderConfig();

Modified: trunk/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/pc/StoredIdTest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/pc/StoredIdTest.java?rev=7306&r1=7305&r2=7306&view=diff
==============================================================================

[... 37 lines stripped ...]


More information about the commits mailing list