[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
Tue Oct 28 00:17:05 EDT 2014


Author: dfisher
Date: Tue Oct 28 00:17:04 2014
New Revision: 6793

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=6793&view=rev
Log:
Add external bean support for mapping strategy and result cache in the LDAP connector.

Added:
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2-hybrid.xml
Modified:
    trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParser.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/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring-context.xml
    trunk/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver-dc.xsd

Modified: trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParser.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/ldap/LDAPDataConnectorParser.java?rev=6793&r1=6792&r2=6793&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParser.java (original)
+++ trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParser.java Tue Oct 28 00:17:04 2014
@@ -214,12 +214,24 @@
         final BeanDefinition searchExecutor = v2Parser.createSearchExecutor();
         builder.addPropertyValue("searchExecutor", searchExecutor);
 
-        final BeanDefinition def = v2Parser.createMappingStrategy();
-        if (def != null) {
-            builder.addPropertyValue("mappingStrategy", def);
-        }
-
-        builder.addPropertyValue("resultsCache", v2Parser.createCache());
+        final String mappingStrategyID = AttributeSupport.getAttributeValue(config, new QName("mappingStrategyRef"));
+        if (mappingStrategyID != null) {
+            builder.addPropertyReference("mappingStrategy", mappingStrategyID);
+        } else {
+            final BeanDefinition def = v2Parser.createMappingStrategy();
+            if (def != null) {
+                builder.addPropertyValue("mappingStrategy", def);
+            }
+        }
+
+        final Element resultCacheBean =
+                ElementSupport.getFirstChildElement(config, new QName(
+                        DataConnectorNamespaceHandler.NAMESPACE, "ResultCacheBean"));
+        if (resultCacheBean != null) {
+            builder.addPropertyReference("resultsCache", resultCacheBean.getTextContent().trim());
+        } else {
+            builder.addPropertyValue("resultsCache", v2Parser.createCache());
+        }
 
         final String noResultIsError = AttributeSupport.getAttributeValue(config, new QName("noResultIsError"));
         if (noResultIsError != null) {

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=6793&r1=6792&r2=6793&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 Tue Oct 28 00:17:04 2014
@@ -103,8 +103,7 @@
 
     @Test public void v2Config() throws ComponentInitializationException, ServiceException, ResolutionException {
         LDAPDataConnector dataConnector =
-                getLdapDataConnector(
-                        new String[] {"net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2.xml"});
+                getLdapDataConnector(new String[] {"net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2.xml"});
         Assert.assertNotNull(dataConnector);
         doTest(dataConnector);
         final StringAttributeValueMappingStrategy mappingStrategy =
@@ -122,8 +121,7 @@
 
     @Test public void v2PropsConfig() throws ComponentInitializationException, ServiceException, ResolutionException {
         LDAPDataConnector dataConnector =
-                getLdapDataConnector(
-                        new String[] {
+                getLdapDataConnector(new String[] {
                         "net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2-props.xml",
                         "net/shibboleth/idp/attribute/resolver/spring/dc/ldap/PropertyPlaceholder.xml"});

[... 124 lines stripped ...]


More information about the commits mailing list