[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
Thu Jan 23 23:05:47 EST 2014
Author: dfisher
Date: Thu Jan 23 23:05:47 2014
New Revision: 5238
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=5238&view=rev
Log:
IDP-357.
Update data connectors to get resolved attribute values from the attribute resolver work context and pass them to the search builder.
Update executable search builder to process dependency attribute values.
Add event handler property to templated builders to allow configuration of the reference insertion handler in the template.
Update unit tests accordingly.
Modified:
trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/AbstractSearchDataConnector.java
trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/ExecutableSearchBuilder.java
trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/ParameterizedExecutableSearchFilterBuilder.java
trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/TemplatedExecutableSearchFilterBuilder.java
trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/rdbms/AbstractExecutableStatementBuilder.java
trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/rdbms/FormatExecutableStatementBuilder.java
trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/rdbms/TemplatedExecutableStatementBuilder.java
trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/LdapDataConnectorTest.java
trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/dc/rdbms/RdbmsDataConnectorTest.java
Modified: trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/AbstractSearchDataConnector.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/AbstractSearchDataConnector.java?rev=5238&r1=5237&r2=5238&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/AbstractSearchDataConnector.java (original)
+++ trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/AbstractSearchDataConnector.java Thu Jan 23 23:05:47 2014
@@ -18,12 +18,15 @@
package net.shibboleth.idp.attribute.resolver.impl.dc;
import java.util.Map;
+import java.util.Set;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.idp.attribute.IdPAttribute;
+import net.shibboleth.idp.attribute.IdPAttributeValue;
import net.shibboleth.idp.attribute.resolver.AbstractDataConnector;
+import net.shibboleth.idp.attribute.resolver.PluginDependencySupport;
import net.shibboleth.idp.attribute.resolver.ResolutionException;
import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
@@ -38,8 +41,8 @@
import com.google.common.cache.Cache;
/**
- * A {@link net.shibboleth.idp.attribute.resolver.DataConnector} containing functionality common to data connectors
- * that retrieve attribute data by searching a data source.
+ * A {@link net.shibboleth.idp.attribute.resolver.DataConnector} containing functionality common to data connectors that
+ * retrieve attribute data by searching a data source.
*
* @param <T> type of executable search
*/
@@ -181,12 +184,14 @@
protected abstract Map<String, IdPAttribute> retrieveAttributes(final T executable) throws ResolutionException;
/** {@inheritDoc} */
- @Override
- @Nullable protected Map<String, IdPAttribute> doDataConnectorResolve(
+ @Override @Nullable protected Map<String, IdPAttribute> doDataConnectorResolve(
@Nonnull final AttributeResolutionContext resolutionContext,
@Nonnull final AttributeResolverWorkContext workContext) throws ResolutionException {
ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
- final T executable = searchBuilder.build(resolutionContext);
+
+ final Map<String, Set<IdPAttributeValue<?>>> dependsAttributes =
+ PluginDependencySupport.getAllAttributeValues(workContext, getDependencies());
+ final T executable = searchBuilder.build(resolutionContext, dependsAttributes);
Map<String, IdPAttribute> resolvedAttributes = null;
if (resultsCache != null) {
final String cacheKey = executable.getResultCacheKey();
@@ -207,7 +212,7 @@
}
/** {@inheritDoc} */
- protected void doInitialize() throws ComponentInitializationException {
+ @Override protected void doInitialize() throws ComponentInitializationException {
super.doInitialize();
if (searchBuilder == null) {
@@ -224,7 +229,7 @@
}
/** {@inheritDoc} */
[... 853 lines stripped ...]
More information about the commits
mailing list