[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
Tue May 7 00:14:22 EDT 2013


Author: dfisher
Date: Tue May  7 00:14:22 2013
New Revision: 4468

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=4468&view=rev
Log:
Add support for wiring a DataSource with v2 config or Spring.

Modified:
    trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/StoredIDDataConnectorParser.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=4468&r1=4467&r2=4468&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 Tue May  7 00:14:22 2013
@@ -22,6 +22,9 @@
 
 import net.shibboleth.idp.attribute.resolver.impl.dc.StoredIDDataConnector;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.BeanFactory;
 import org.springframework.beans.factory.support.BeanDefinitionBuilder;
 import org.springframework.beans.factory.xml.ParserContext;
 import org.w3c.dom.Element;
@@ -34,6 +37,8 @@
     /** Schema type name. */
     public static final QName TYPE_NAME = new QName(DataConnectorNamespaceHandler.NAMESPACE, "StoredId");
 
+    /** Class logger. */
+    private final Logger log = LoggerFactory.getLogger(StoredIDDataConnectorParser.class);
 
     /** {@inheritDoc} */
     protected Class getBeanClass(Element element) {
@@ -43,7 +48,9 @@
     /** {@inheritDoc} */
     protected void doParse(Element config, ParserContext parserContext, BeanDefinitionBuilder builder) {
         super.doParse(config, parserContext, builder, "storedId");
+        log.debug("doParse {}", config);
         builder.addPropertyValue("dataSource", getDataSource(config));
+        // TODO set queryTimeout?
     }
     
     /**
@@ -52,7 +59,14 @@
      * @return the DataSource
      */
     protected DataSource getDataSource(Element config) {
-        // TODO
-        return null;
+        final Element springBeans = getSpringBeansElement(config);
+        if (springBeans == null) {
+            log.debug("parsing v2 configuration");
+            final ManagedConnectionParser parser = new ManagedConnectionParser(config);
+            return parser.createDataSource();
+        } else {
+            final BeanFactory beanFactory = createBeanFactory(springBeans);
+            return beanFactory.getBean(DataSource.class);
+        }
     }
 }



More information about the commits mailing list