[java-identity-provider COMMIT] in /trunk/idp-attribute-resolver-impl/src: main/java/net/shibboleth/idp/attribute/res...

noreply at shibboleth.net noreply at shibboleth.net
Wed Mar 13 21:45:47 EDT 2013


Author: dfisher
Date: Wed Mar 13 21:45:47 2013
New Revision: 4330

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=4330&view=rev
Log:
Add Validator interface for DataConnectors.
Provide DefaultValidator and SearchValidator implementations for LdapDataConnector.
Resolves IDP-274.

Added:
    trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/ValidationException.java   (with props)
    trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/Validator.java   (with props)
Modified:
    trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/LdapDataConnector.java
    trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/LdapDataConnectorTest.java

Modified: trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/LdapDataConnector.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/LdapDataConnector.java?rev=4330&r1=4329&r2=4330&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/LdapDataConnector.java (original)
+++ trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/LdapDataConnector.java Wed Mar 13 21:45:47 2013
@@ -25,6 +25,8 @@
 import net.shibboleth.idp.attribute.resolver.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.BaseDataConnector;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
+import net.shibboleth.idp.attribute.resolver.impl.dc.ValidationException;
+import net.shibboleth.idp.attribute.resolver.impl.dc.Validator;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.component.ComponentSupport;
 import net.shibboleth.utilities.java.support.component.ComponentValidationException;
@@ -58,8 +60,8 @@
     /** Builder used to create the search filters executed against the LDAP. */
     private SearchFilterBuilder filterBuilder;
 
-    /** Search filter for validating this connector. */
-    private SearchFilter validateFilter;
+    /** Validator for validating this data connector. */
+    private Validator connectorValidator = new DefaultValidator();
 
     /** Strategy for mapping from a {@link SearchResult} to a collection of {@link Attribute}s. */
     private SearchResultMappingStrategy mappingStrategy = new StringAttributeValueMappingStrategy();
@@ -134,24 +136,24 @@
     }
 
     /**
-     * Gets the filter used to validate this connector.
-     * 
-     * @return filter used to validate this connector
-     */
-    public SearchFilter getValidateFilter() {
-        return validateFilter;
-    }
-
-    /**
-     * Sets the filter used to validate this connector.
-     * 
-     * @param filter used to validate this connector
-     */
-    public void setValidateFilter(@Nonnull final SearchFilter filter) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-        ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
-
-        validateFilter = Constraint.isNotNull(filter, "Validate search filter can not be null");
+     * Gets the validator used to validate this connector.
+     * 
+     * @return validator used to validate this connector
+     */
+    public Validator getValidator() {
+        return connectorValidator;
+    }
+
+    /**
+     * Sets the validator used to validate this connector.
+     * 
+     * @param validator used to validate this connector
+     */
+    public void setValidate(@Nonnull final Validator validator) {
+        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
+
+        connectorValidator = Constraint.isNotNull(validator, "Validator can not be null");
     }
 
     /**
@@ -266,8 +268,8 @@
         }
 
         try {
-            validateConnectionFactory();
-        } catch (LdapException e) {
+            connectorValidator.validate();
+        } catch (ValidationException e) {
             log.error("Data connector '{}': invalid connector configuration", getId(), e);
             throw new ComponentInitializationException("Data connector '" + getId()
                     + "': invalid connector configuration", e);
@@ -277,36 +279,11 @@
     /** {@inheritDoc} */
     protected void doValidate() throws ComponentValidationException {
         try {
-            validateConnectionFactory();
-        } catch (LdapException e) {
+            connectorValidator.validate();
+        } catch (ValidationException e) {
             log.error("Data connector '{}': invalid connector configuration", getId(), e);

[... 99 lines stripped ...]


More information about the commits mailing list