[java-identity-provider COMMIT] in /trunk/idp-profile-api/src: main/java/net/shibboleth/idp/profile/logic/AbstractAtt...
noreply at shibboleth.net
noreply at shibboleth.net
Fri Jun 19 13:55:30 EDT 2015
Author: serac
Date: Fri Jun 19 13:55:30 2015
New Revision: 7577
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=7577&view=rev
Log:
IDP-746 Add DateAttributePredicate.
https://issues.shibboleth.net/jira/browse/IDP-746
Refactored common functionality into abstract base class from which
DateAttributePredicate and SimpleAttributePredicate inherit.
Added:
trunk/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/AbstractAttributePredicate.java
trunk/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/DateAttributePredicate.java
trunk/idp-profile-api/src/test/java/net/shibboleth/idp/profile/logic/DateAttributePredicateTest.java
Modified:
trunk/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/SimpleAttributePredicate.java
Modified: trunk/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/SimpleAttributePredicate.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/SimpleAttributePredicate.java?rev=7577&r1=7576&r2=7577&view=diff
==============================================================================
--- trunk/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/SimpleAttributePredicate.java (original)
+++ trunk/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/SimpleAttributePredicate.java Fri Jun 19 13:55:30 2015
@@ -21,26 +21,19 @@
import java.util.Map;
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.StringAttributeValue;
import net.shibboleth.idp.attribute.context.AttributeContext;
-import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import org.opensaml.messaging.context.navigate.ChildContextLookup;
-import org.opensaml.profile.context.ProfileRequestContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Function;
-import com.google.common.base.Functions;
-import com.google.common.base.Predicate;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ListMultimap;
@@ -55,51 +48,20 @@
* <p>For the special case of checking for an attribute's presence, regardless of values, the '*' value is
* supported.</p>
*/
-public class SimpleAttributePredicate implements Predicate<ProfileRequestContext> {
+public class SimpleAttributePredicate extends AbstractAttributePredicate {
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(SimpleAttributePredicate.class);
-
- /** Strategy function to lookup {@link AttributeContext}. */
- @Nonnull private Function<ProfileRequestContext,AttributeContext> attributeContextLookupStrategy;
-
- /** Whether to look at filtered or unfiltered attributes. */
- private boolean useUnfilteredAttributes;
/** Map of attribute IDs to values. */
@Nonnull @NonnullElements private ListMultimap<String,String> attributeValueMap;
/** Constructor. */
public SimpleAttributePredicate() {
- attributeContextLookupStrategy = Functions.compose(new ChildContextLookup<>(AttributeContext.class),
- new ChildContextLookup<ProfileRequestContext,RelyingPartyContext>(RelyingPartyContext.class));
- useUnfilteredAttributes = true;
+ super();
attributeValueMap = ArrayListMultimap.create();
}
- /**
- * Set the lookup strategy to use to locate the {@link AttributeContext}.
- *
- * @param strategy lookup function to use
- */
- public void setAttributeContextLookupStrategy(
- @Nonnull final Function<ProfileRequestContext,AttributeContext> strategy) {
-
- attributeContextLookupStrategy =
- Constraint.isNotNull(strategy, "AttributeContext lookup strategy cannot be null");
- }
-
- /**
- * Set whether to source the input attributes from the unfiltered set.
- *
- * <p>Defaults to true.</p>
- *
- * @param flag flag to set
- */
- public void setUseUnfilteredAttributes(final boolean flag) {
- useUnfilteredAttributes = flag;
- }
-
/**
* Set the map of attribute/value pairs (as a map of string collections) to check for.
*
@@ -115,45 +77,37 @@
}
}
- /** {@inheritDoc} */
@Override
- public boolean apply(@Nullable final ProfileRequestContext input) {
-
- final AttributeContext attributeCtx = attributeContextLookupStrategy.apply(input);
- if (attributeCtx == null) {
- log.warn("No AttributeContext located for evaluation");
- return attributeValueMap.isEmpty();
- }
-
[... 54 lines stripped ...]
More information about the commits
mailing list