[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
Fri Feb 14 10:16:43 EST 2014
Author: dfisher
Date: Fri Feb 14 10:16:43 2014
New Revision: 5380
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=5380&view=rev
Log:
IDP-354.
Update LDAP and RDBMS data connector parsers to support spring property replacement.
Essentially this change means leveraging BeanDefinitionBuilders to create objects rather than newing the objects themselves.
Added:
trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/PropertyPlaceholder.xml
trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring-props.xml
trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2-props.xml
trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-v2.properties
trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-v3.properties
trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/PropertyPlaceholder.xml
trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-attribute-resolver-spring-props.xml
trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-attribute-resolver-v2-props.xml
trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-v2.properties
trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-v3.properties
Modified:
trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/CacheConfigParser.java
trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ManagedConnectionParser.java
trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/StoredIDDataConnectorParser.java
trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LdapDataConnectorParser.java
trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/RdbmsDataConnectorParser.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/dc/rdbms/RdbmsDataConnectorParserTest.java
Modified: trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/CacheConfigParser.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/CacheConfigParser.java?rev=5380&r1=5379&r2=5380&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/CacheConfigParser.java (original)
+++ trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/CacheConfigParser.java Fri Feb 14 10:16:43 2014
@@ -27,8 +27,11 @@
import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.xml.AttributeSupport;
+import net.shibboleth.utilities.java.support.xml.DomTypeSupport;
import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import org.springframework.beans.factory.config.BeanDefinition;
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.w3c.dom.Element;
import com.google.common.cache.Cache;
@@ -51,32 +54,47 @@
}
/**
- * Creates a new cache from a v2 XML configuration.
+ * Creates a new cache bean definition from a v2 XML configuration.
*
+ * @return cache bean definition
+ */
+ @Nonnull public BeanDefinition createCache() {
+ final String defaultCache = AttributeSupport.getAttributeValue(configElement, new QName("cacheResults"));
+ String timeToLive = null;
+ String maximumSize = null;
+ final Element cacheElement =
+ ElementSupport.getFirstChildElement(configElement, new QName(DataConnectorNamespaceHandler.NAMESPACE,
+ "ResultCache"));
+ if (cacheElement != null) {
+ timeToLive = AttributeSupport.getAttributeValue(cacheElement, new QName("elementTimeToLive"));
+ maximumSize = AttributeSupport.getAttributeValue(cacheElement, new QName("maximumCachedElements"));
+ }
+ final BeanDefinitionBuilder cache =
+ BeanDefinitionBuilder.rootBeanDefinition(CacheConfigParser.class, "buildCache");
[... 1395 lines stripped ...]
More information about the commits
mailing list