[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 Jul 29 00:42:02 EDT 2016
Author: dfisher
Date: Fri Jul 29 00:42:02 2016
New Revision: 8307
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=8307&view=rev
Log:
IDP-1010 validatePeriodically required
Only add a search validator to the pool if validatePeriodically is true.
Add unit tests for minimal configuration.
Added:
trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2-minimal-pool.xml
trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2-minimal.xml
Modified:
trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
trunk/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java
Modified: trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/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/impl/LDAPDataConnectorParser.java?rev=8307&r1=8306&r2=8307&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java (original)
+++ trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java Fri Jul 29 00:42:02 2016
@@ -504,29 +504,14 @@
}
pool.addPropertyValue("poolConfig", createPoolConfig());
- final String validateDN = AttributeSupport.getAttributeValue(poolConfigElement, new QName("validateDN"));
- final String validateFilter =
- AttributeSupport.getAttributeValue(poolConfigElement, new QName("validateFilter"));
-
- final BeanDefinitionBuilder searchRequest =
- BeanDefinitionBuilder.genericBeanDefinition(SearchRequest.class);
- searchRequest.addPropertyValue("returnAttributes", "1.1");
- searchRequest.addPropertyValue("searchScope", SearchScope.OBJECT);
- searchRequest.addPropertyValue("sizeLimit", 1);
- if (validateDN != null) {
- searchRequest.addPropertyValue("baseDn", validateDN);
- } else {
- searchRequest.addPropertyValue("baseDn", "");
- }
- final BeanDefinitionBuilder searchFilter = BeanDefinitionBuilder.genericBeanDefinition(SearchFilter.class);
- if (validateFilter != null) {
- searchFilter.addConstructorArgValue(validateFilter);
- } else {
- searchFilter.addConstructorArgValue("(objectClass=*)");
- }
- searchRequest.addPropertyValue("searchFilter", searchFilter.getBeanDefinition());
- final BeanDefinitionBuilder validator = BeanDefinitionBuilder.genericBeanDefinition(SearchValidator.class);
- validator.addPropertyValue("searchRequest", searchRequest.getBeanDefinition());
+ final BeanDefinitionBuilder validator =
+ BeanDefinitionBuilder.rootBeanDefinition(V2Parser.class, "buildSearchValidator");
+ validator.addConstructorArgValue(
+ AttributeSupport.getAttributeValue(poolConfigElement, new QName("validatePeriodically")));
+ validator.addConstructorArgValue(
+ AttributeSupport.getAttributeValue(poolConfigElement, new QName("validateDN")));
+ validator.addConstructorArgValue(
+ AttributeSupport.getAttributeValue(poolConfigElement, new QName("validateFilter")));
pool.addPropertyValue("validator", validator.getBeanDefinition());
pool.addPropertyValue("connectionFactory", connectionFactory);
@@ -700,7 +685,7 @@
*
* @return soft limit or blocking connection pool
*/
- public static BlockingConnectionPool buildConnectionPool(final String blockWhenEmpty) {
+ @Nonnull public static BlockingConnectionPool buildConnectionPool(@Nullable final String blockWhenEmpty) {
BlockingConnectionPool pool = null;
if (blockWhenEmpty == null || Boolean.valueOf(blockWhenEmpty)) {
pool = new BlockingConnectionPool();
@@ -712,13 +697,49 @@
}
/**
+ * Returns a search validator or null if validatePeriodically is false.
+ *
+ * @param validatePeriodically whether to create a search validator
+ * @param validateDN baseDN to search on
+ * @param validateFilter to search with
+ *
+ * @return search validator or null
+ */
+ @Nullable public static SearchValidator buildSearchValidator(@Nullable final String validatePeriodically,
[... 193 lines stripped ...]
More information about the commits
mailing list