[java-identity-provider] 01/05: IDP-1179 Move several LDAP classes to api

Rod Widdowson rdw at steadingsoftware.com
Fri Dec 6 09:03:29 EST 2019


This is an automated email from the git hooks/post-receive script.

rdw pushed a commit to branch master
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=4c0f35a4256ed353efe4e668f9f16b82f5632371

commit 4c0f35a4256ed353efe4e668f9f16b82f5632371
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Thu Dec 5 15:00:52 2019 +0000

    IDP-1179 Move several LDAP classes to api
    
    https://issues.shibboleth.net/jira/browse/IDP-1179
    
    This in turn requires that we add LDAPtive to the pom.
---
 idp-attribute-resolver-api/pom.xml                 |  6 +++
 .../AbstractExecutableSearchFilterBuilder.java     |  2 +-
 .../resolver/dc/ldap}/ExecutableSearchFilter.java  |  2 +-
 ...ParameterizedExecutableSearchFilterBuilder.java |  2 +-
 .../dc/ldap}/SearchResultMappingStrategy.java      |  2 +-
 .../ldap}/StringAttributeValueMappingStrategy.java |  2 +-
 .../TemplatedExecutableSearchFilterBuilder.java    | 35 +++++++--------
 .../resolver/dc/ldap/impl/LDAPDataConnector.java   |  3 ++
 ...ibleTemplatedExecutableSearchFilterBuilder.java | 51 ++++++++++++++++++++++
 .../dc/ldap/impl/LDAPDataConnectorTest.java        |  5 +++
 .../resolver/dc/ldap/impl/Regressions.java         |  4 ++
 .../dc/ldap/impl/LDAPDataConnectorParser.java      | 12 ++---
 .../dc/ldap/LDAPDataConnectorParserTest.java       |  2 +-
 .../ldap-attribute-resolver-spring-context.xml     |  4 +-
 ...dap-attribute-resolver-spring-props-context.xml |  4 +-
 15 files changed, 103 insertions(+), 33 deletions(-)

diff --git a/idp-attribute-resolver-api/pom.xml b/idp-attribute-resolver-api/pom.xml
index 354066a..f7f210d 100644
--- a/idp-attribute-resolver-api/pom.xml
+++ b/idp-attribute-resolver-api/pom.xml
@@ -41,6 +41,12 @@
             <groupId>${spring.groupId}</groupId>
             <artifactId>spring-beans</artifactId>
         </dependency>
+        
+        <dependency>
+            <groupId>org.ldaptive</groupId>
+            <artifactId>ldaptive</artifactId>
+        </dependency>
+        
 
 		<dependency>
 			<groupId>org.bouncycastle</groupId>
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/AbstractExecutableSearchFilterBuilder.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/AbstractExecutableSearchFilterBuilder.java
similarity index 98%
rename from idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/AbstractExecutableSearchFilterBuilder.java
rename to idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/AbstractExecutableSearchFilterBuilder.java
index cde77f2..ca58514 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/AbstractExecutableSearchFilterBuilder.java
+++ b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/AbstractExecutableSearchFilterBuilder.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.attribute.resolver.dc.ldap.impl;
+package net.shibboleth.idp.attribute.resolver.dc.ldap;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/ExecutableSearchFilter.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/ExecutableSearchFilter.java
similarity index 96%
rename from idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/ExecutableSearchFilter.java
rename to idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/ExecutableSearchFilter.java
index 1900088..6690032 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/ExecutableSearchFilter.java
+++ b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/ExecutableSearchFilter.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.attribute.resolver.dc.ldap.impl;
+package net.shibboleth.idp.attribute.resolver.dc.ldap;
 
 import javax.annotation.Nonnull;
 
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/ParameterizedExecutableSearchFilterBuilder.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/ParameterizedExecutableSearchFilterBuilder.java
similarity index 98%
rename from idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/ParameterizedExecutableSearchFilterBuilder.java
rename to idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/ParameterizedExecutableSearchFilterBuilder.java
index 57eb6f2..9e3313a 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/ParameterizedExecutableSearchFilterBuilder.java
+++ b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/ParameterizedExecutableSearchFilterBuilder.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.attribute.resolver.dc.ldap.impl;
+package net.shibboleth.idp.attribute.resolver.dc.ldap;
 
 import java.util.List;
 import java.util.Map;
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/SearchResultMappingStrategy.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/SearchResultMappingStrategy.java
similarity index 95%
rename from idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/SearchResultMappingStrategy.java
rename to idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/SearchResultMappingStrategy.java
index 92fc2d1..00422d0 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/SearchResultMappingStrategy.java
+++ b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/SearchResultMappingStrategy.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.attribute.resolver.dc.ldap.impl;
+package net.shibboleth.idp.attribute.resolver.dc.ldap;
 
 import org.ldaptive.SearchResult;
 
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/StringAttributeValueMappingStrategy.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/StringAttributeValueMappingStrategy.java
similarity index 98%
rename from idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/StringAttributeValueMappingStrategy.java
rename to idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/StringAttributeValueMappingStrategy.java
index 9435b31..fd88d3a 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/StringAttributeValueMappingStrategy.java
+++ b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/StringAttributeValueMappingStrategy.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.attribute.resolver.dc.ldap.impl;
+package net.shibboleth.idp.attribute.resolver.dc.ldap;
 
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/TemplatedExecutableSearchFilterBuilder.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/TemplatedExecutableSearchFilterBuilder.java
similarity index 95%
rename from idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/TemplatedExecutableSearchFilterBuilder.java
rename to idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/TemplatedExecutableSearchFilterBuilder.java
index 23d5ccf..e5facf6 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/TemplatedExecutableSearchFilterBuilder.java
+++ b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/TemplatedExecutableSearchFilterBuilder.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.attribute.resolver.dc.ldap.impl;
+package net.shibboleth.idp.attribute.resolver.dc.ldap;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -25,15 +25,6 @@ import java.util.Map;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
-import net.shibboleth.idp.attribute.IdPAttributeValue;
-import net.shibboleth.idp.attribute.resolver.ResolutionException;
-import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.velocity.Template;
-
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.app.VelocityEngine;
 import org.apache.velocity.app.event.EventCartridge;
@@ -44,7 +35,14 @@ import org.ldaptive.SearchFilter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import edu.internet2.middleware.shibboleth.common.attribute.provider.V2SAMLProfileRequestContext;
+import net.shibboleth.idp.attribute.IdPAttributeValue;
+import net.shibboleth.idp.attribute.resolver.ResolutionException;
+import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.utilities.java.support.component.ComponentSupport;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.utilities.java.support.velocity.Template;
 
 /**
  * An {@link net.shibboleth.idp.attribute.resolver.dc.ExecutableSearchBuilder} that generates the search filter to
@@ -158,6 +156,14 @@ public class TemplatedExecutableSearchFilterBuilder extends AbstractExecutableSe
         v2Compatibility = compat;
     }
 
+    /** Method to allow private additions to the velocity context.
+     * @param velocityContext where to add the information
+     * @param resolutionContext current resolution context
+     */
+    protected void addExtraVelocityContext(@Nonnull final VelocityContext velocityContext,
+            @Nonnull final AttributeResolutionContext resolutionContext) {
+    }
+
     /** {@inheritDoc} */
     @Override public ExecutableSearchFilter build(@Nonnull final AttributeResolutionContext resolutionContext,
             @Nonnull final Map<String, List<IdPAttributeValue>> dependencyAttributes) throws ResolutionException {
@@ -166,12 +172,7 @@ public class TemplatedExecutableSearchFilterBuilder extends AbstractExecutableSe
         log.trace("Creating search filter using attribute resolution context {}", resolutionContext);
         context.put("resolutionContext", resolutionContext);
 
-        if (isV2Compatibility()) {
-            final V2SAMLProfileRequestContext requestContext = new V2SAMLProfileRequestContext(resolutionContext, null);
-            log.trace("Adding v2 request context {}", requestContext);
-            context.put("requestContext", requestContext);
-        }
-
+        addExtraVelocityContext(context, resolutionContext);
         if (dependencyAttributes != null && !dependencyAttributes.isEmpty()) {
             for (final Map.Entry<String, List<IdPAttributeValue>> entry : dependencyAttributes.entrySet()) {
                 final List<Object> values = new ArrayList<>(entry.getValue().size());
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/LDAPDataConnector.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/LDAPDataConnector.java
index ff9fead..8bdcdac 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/LDAPDataConnector.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/LDAPDataConnector.java
@@ -40,6 +40,9 @@ import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.dc.ValidationException;
 import net.shibboleth.idp.attribute.resolver.dc.Validator;
 import net.shibboleth.idp.attribute.resolver.dc.impl.AbstractSearchDataConnector;
+import net.shibboleth.idp.attribute.resolver.dc.ldap.ExecutableSearchFilter;
+import net.shibboleth.idp.attribute.resolver.dc.ldap.SearchResultMappingStrategy;
+import net.shibboleth.idp.attribute.resolver.dc.ldap.StringAttributeValueMappingStrategy;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.component.ComponentSupport;
 import net.shibboleth.utilities.java.support.logic.Constraint;
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/V2CompatibleTemplatedExecutableSearchFilterBuilder.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/V2CompatibleTemplatedExecutableSearchFilterBuilder.java
new file mode 100644
index 0000000..a8b8ad7
--- /dev/null
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/V2CompatibleTemplatedExecutableSearchFilterBuilder.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements.  See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.idp.attribute.resolver.dc.ldap.impl;
+
+import javax.annotation.Nonnull;
+
+import org.apache.velocity.VelocityContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import edu.internet2.middleware.shibboleth.common.attribute.provider.V2SAMLProfileRequestContext;
+import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
+import net.shibboleth.idp.attribute.resolver.dc.ldap.TemplatedExecutableSearchFilterBuilder;
+
+/**
+ * A {@link TemplatedExecutableSearchFilterBuilder} which also injects an
+ * {@link V2SAMLProfileRequestContext} into the spring context.
+ */
+public class V2CompatibleTemplatedExecutableSearchFilterBuilder extends TemplatedExecutableSearchFilterBuilder {
+
+    /** Class logger. */
+    private final Logger log = LoggerFactory.getLogger(V2CompatibleTemplatedExecutableSearchFilterBuilder.class);
+
+
+    /** {@inheritDoc} */
+    protected void addExtraVelocityContext(@Nonnull final VelocityContext velocityContext,
+            @Nonnull final AttributeResolutionContext resolutionContext) {
+        if (isV2Compatibility()) {
+            final V2SAMLProfileRequestContext requestContext = new V2SAMLProfileRequestContext(resolutionContext, null);
+            log.trace("Adding v2 request context {}", requestContext);
+            velocityContext.put("requestContext", requestContext);
+        }
+        super.addExtraVelocityContext(velocityContext, resolutionContext);
+    }
+
+}
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/LDAPDataConnectorTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/LDAPDataConnectorTest.java
index f4f267c..e26a17f 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/LDAPDataConnectorTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/LDAPDataConnectorTest.java
@@ -53,6 +53,11 @@ import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.dc.ExecutableSearchBuilder;
 import net.shibboleth.idp.attribute.resolver.dc.impl.TestCache;
+import net.shibboleth.idp.attribute.resolver.dc.ldap.ExecutableSearchFilter;
+import net.shibboleth.idp.attribute.resolver.dc.ldap.ParameterizedExecutableSearchFilterBuilder;
+import net.shibboleth.idp.attribute.resolver.dc.ldap.SearchResultMappingStrategy;
+import net.shibboleth.idp.attribute.resolver.dc.ldap.StringAttributeValueMappingStrategy;
+import net.shibboleth.idp.attribute.resolver.dc.ldap.TemplatedExecutableSearchFilterBuilder;
 import net.shibboleth.idp.saml.impl.TestSources;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.component.UninitializedComponentException;
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/Regressions.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/Regressions.java
index 4d7e297..a2bde2b 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/Regressions.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/Regressions.java
@@ -43,6 +43,10 @@ import net.shibboleth.idp.attribute.resolver.DataConnector;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.dc.ExecutableSearchBuilder;
+import net.shibboleth.idp.attribute.resolver.dc.ldap.ExecutableSearchFilter;
+import net.shibboleth.idp.attribute.resolver.dc.ldap.ParameterizedExecutableSearchFilterBuilder;
+import net.shibboleth.idp.attribute.resolver.dc.ldap.SearchResultMappingStrategy;
+import net.shibboleth.idp.attribute.resolver.dc.ldap.StringAttributeValueMappingStrategy;
 import net.shibboleth.idp.saml.impl.TestSources;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
index b278a80..9685640 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
@@ -57,10 +57,10 @@ import org.springframework.beans.factory.xml.ParserContext;
 import org.w3c.dom.Element;
 
 import net.shibboleth.ext.spring.util.SpringSupport;
+import net.shibboleth.idp.attribute.resolver.dc.ldap.StringAttributeValueMappingStrategy;
 import net.shibboleth.idp.attribute.resolver.dc.ldap.impl.ConnectionFactoryValidator;
 import net.shibboleth.idp.attribute.resolver.dc.ldap.impl.LDAPDataConnector;
-import net.shibboleth.idp.attribute.resolver.dc.ldap.impl.StringAttributeValueMappingStrategy;
-import net.shibboleth.idp.attribute.resolver.dc.ldap.impl.TemplatedExecutableSearchFilterBuilder;
+import net.shibboleth.idp.attribute.resolver.dc.ldap.impl.V2CompatibleTemplatedExecutableSearchFilterBuilder;
 import net.shibboleth.idp.attribute.resolver.spring.dc.AbstractDataConnectorParser;
 import net.shibboleth.idp.attribute.resolver.spring.dc.impl.CacheConfigParser;
 import net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverNamespaceHandler;
@@ -218,7 +218,7 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
          * @param parserContext bean definition parsing context
          * @return connection config bean definition
          */
-        // CheckStyle: CyclomaticComplexity OFF
+        // CheckStyle: CyclomaticComplexity|MethodLength OFF
         @Nonnull public BeanDefinition createConnectionConfig(@Nonnull final ParserContext parserContext) {
             final String url = AttributeSupport.getAttributeValue(configElement, new QName("ldapURL"));
             final String useStartTLS = AttributeSupport.getAttributeValue(configElement, new QName("useStartTLS"));
@@ -294,7 +294,7 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
 
             return connectionConfig.getBeanDefinition();
         }
-        // CheckStyle: CyclomaticComplexity ON
+        // CheckStyle: CyclomaticComplexity|MethodLength ON
 
         /**
          * Read StartTLS trust and authentication credentials.
@@ -406,8 +406,8 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
          * @return the bean definition for the template search builder.
          */
         @Nonnull public BeanDefinition createTemplateBuilder() {
-            final BeanDefinitionBuilder templateBuilder =
-                    BeanDefinitionBuilder.genericBeanDefinition(TemplatedExecutableSearchFilterBuilder.class);
+            final BeanDefinitionBuilder templateBuilder = BeanDefinitionBuilder.genericBeanDefinition(
+                    V2CompatibleTemplatedExecutableSearchFilterBuilder.class);
             templateBuilder.setInitMethodName("initialize");
 
             String velocityEngineRef = StringSupport.trimOrNull(configElement.getAttribute("templateEngine"));
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java
index dd96c28..6ed1224 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java
@@ -72,9 +72,9 @@ import net.shibboleth.idp.attribute.IdPAttribute;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.dc.ExecutableSearchBuilder;
+import net.shibboleth.idp.attribute.resolver.dc.ldap.StringAttributeValueMappingStrategy;
 import net.shibboleth.idp.attribute.resolver.dc.ldap.impl.ConnectionFactoryValidator;
 import net.shibboleth.idp.attribute.resolver.dc.ldap.impl.LDAPDataConnector;
-import net.shibboleth.idp.attribute.resolver.dc.ldap.impl.StringAttributeValueMappingStrategy;
 import net.shibboleth.idp.attribute.resolver.spring.dc.ldap.impl.LDAPDataConnectorParser;
 import net.shibboleth.idp.saml.impl.TestSources;
 
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring-context.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring-context.xml
index 8086ca8..9329039 100644
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring-context.xml
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring-context.xml
@@ -50,10 +50,10 @@
     </bean>
     <bean class="org.ldaptive.SearchExecutor" p:baseDn="ou=people,dc=shibboleth,dc=net" p:returnAttributes="uid,homephone,mail" p:timeLimit="PT7S" />
     <bean id="cache" class="com.google.common.cache.Cache" factory-bean="cacheBuilderExternal" factory-method="build" />
-    <bean id="filter" class="net.shibboleth.idp.attribute.resolver.dc.ldap.impl.TemplatedExecutableSearchFilterBuilder"
+    <bean id="filter" class="net.shibboleth.idp.attribute.resolver.dc.ldap.TemplatedExecutableSearchFilterBuilder"
         p:templateText="(uid=${resolutionContext.principal})" p:velocityEngine-ref="shibboleth.VelocityEngine"
         init-method="initialize" />
-    <bean id="mappings" class="net.shibboleth.idp.attribute.resolver.dc.ldap.impl.StringAttributeValueMappingStrategy"
+    <bean id="mappings" class="net.shibboleth.idp.attribute.resolver.dc.ldap.StringAttributeValueMappingStrategy"
         p:noResultAnError="true" p:multipleResultsAnError="true">
         <property name="resultRenamingMap">
             <map>
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring-props-context.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring-props-context.xml
index 79d44a3..c2fd91d 100644
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring-props-context.xml
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring-props-context.xml
@@ -59,10 +59,10 @@
         <constructor-arg value="%{cache.cacheBuilderSpec}" />
     </bean>
     <bean id="cache" class="com.google.common.cache.Cache" factory-bean="cacheBuilder" factory-method="build" />
-    <bean class="net.shibboleth.idp.attribute.resolver.dc.ldap.impl.TemplatedExecutableSearchFilterBuilder"
+    <bean class="net.shibboleth.idp.attribute.resolver.dc.ldap.TemplatedExecutableSearchFilterBuilder"
         p:templateText="%{search.filter}" p:velocityEngine-ref="shibboleth.VelocityEngine"
         init-method="initialize" />
-    <bean id="mappings" class="net.shibboleth.idp.attribute.resolver.dc.ldap.impl.StringAttributeValueMappingStrategy"
+    <bean id="mappings" class="net.shibboleth.idp.attribute.resolver.dc.ldap.StringAttributeValueMappingStrategy"
         p:noResultAnError="%{noResultIsError}" p:multipleResultsAnError="%{multipleResultsIsError}">
         <property name="resultRenamingMap">
             <map>

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list