[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