[java-identity-provider COMMIT] in /trunk/idp-attribute-resolver-api: pom.xml src/main/java/net/shibboleth/idp/attrib...
noreply at shibboleth.net
noreply at shibboleth.net
Wed May 7 04:05:13 EDT 2014
Author: rdw
Date: Wed May 7 04:05:13 2014
New Revision: 5863
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=5863&view=rev
Log:
IDP-280 Predicate of attribute resolver plugins should take a <ProfileContext>
Modified:
trunk/idp-attribute-resolver-api/pom.xml
trunk/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPlugin.java
trunk/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolvedAttributeDefinition.java
trunk/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolvedDataConnector.java
trunk/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolverPlugin.java
trunk/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPluginTest.java
trunk/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/ResolvedAttributeDefinitionTest.java
trunk/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/ResolvedDataConnectorTest.java
Modified: trunk/idp-attribute-resolver-api/pom.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-api/pom.xml?rev=5863&r1=5862&r2=5863&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-api/pom.xml (original)
+++ trunk/idp-attribute-resolver-api/pom.xml Wed May 7 04:05:13 2014
@@ -32,6 +32,11 @@
<artifactId>idp-core</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>${opensaml.groupId}</groupId>
+ <artifactId>opensaml-messaging-api</artifactId>
+ <version>${opensaml.version}</version>
+ </dependency>
<dependency>
<groupId>${spring.groupId}</groupId>
Modified: trunk/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPlugin.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPlugin.java?rev=5863&r1=5862&r2=5863&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPlugin.java (original)
+++ trunk/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPlugin.java Wed May 7 04:05:13 2014
@@ -36,10 +36,13 @@
import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
+import org.opensaml.messaging.context.navigate.ParentContextLookup;
+import org.opensaml.profile.context.ProfileRequestContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.DisposableBean;
+import com.google.common.base.Function;
import com.google.common.base.Objects;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
@@ -51,8 +54,8 @@
* @param <ResolvedType> object type this plug-in resolves to
*/
@ThreadSafe
-public abstract class AbstractResolverPlugin<ResolvedType> extends AbstractIdentifiableInitializableComponent
- implements ResolverPlugin<ResolvedType>, DisposableBean {
+public abstract class AbstractResolverPlugin<ResolvedType> extends AbstractIdentifiableInitializableComponent implements
+ ResolverPlugin<ResolvedType>, DisposableBean {
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(AbstractResolverPlugin.class);
@@ -60,8 +63,12 @@
/** Whether an {@link AttributeResolutionContext} that occurred resolving attributes will be re-thrown. */
private boolean propagateResolutionExceptions = true;
+ /** Strategy to get the {@link ProfileRequestContext}. */
+ @Nonnull private Function<AttributeResolutionContext, ProfileRequestContext> profileContextStrategy =
+ new ParentContextLookup<>();
+
/** Criterion that must be met for this plugin to be active for the given request. */
- @Nonnull private Predicate<AttributeResolutionContext> activationCriteria = Predicates.alwaysTrue();
+ @Nullable private Predicate<ProfileRequestContext> activationCriteria;
/** IDs of the {@link ResolutionPlugIn}s this plug-in depends on. */
@Nonnull @NonnullElements private Set<ResolverPluginDependency> dependencies = Collections.emptySet();
@@ -77,6 +84,25 @@
}
/**
+ * Sets the mechanism to find out the {@link ProfileRequestContext}.
+ *
+ * @param strategy the mechanism
+ */
+ public void setProfileContextStrategy(Function<AttributeResolutionContext, ProfileRequestContext> strategy) {
+ ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+ profileContextStrategy = Constraint.isNotNull(strategy, "Profile Context Strategy cannot be null");
+ }
+
+ /**
[... 201 lines stripped ...]
More information about the commits
mailing list