[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