[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