[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