[java-identity-provider COMMIT] /trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/po...
noreply at shibboleth.net
noreply at shibboleth.net
Thu Aug 11 13:09:10 EDT 2016
Author: scantor
Date: Thu Aug 11 13:09:09 2016
New Revision: 8318
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=8318&view=rev
Log:
Eliminate some code duplication.
Modified:
trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AttributeRequesterInEntityGroupPolicyRule.java
Modified: trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AttributeRequesterInEntityGroupPolicyRule.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AttributeRequesterInEntityGroupPolicyRule.java?rev=8318&r1=8317&r2=8318&view=diff
==============================================================================
--- trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AttributeRequesterInEntityGroupPolicyRule.java (original)
+++ trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AttributeRequesterInEntityGroupPolicyRule.java Thu Aug 11 13:09:09 2016
@@ -17,6 +17,8 @@
package net.shibboleth.idp.attribute.filter.policyrule.saml.impl;
+import java.util.Collections;
+
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -27,10 +29,12 @@
import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.opensaml.saml.common.messaging.context.SAMLMetadataContext;
-import org.opensaml.saml.metadata.EntityGroupName;
+import org.opensaml.saml.common.profile.logic.EntityGroupNamePredicate;
import org.opensaml.saml.saml2.metadata.EntityDescriptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
+import com.google.common.base.Predicate;
/**
* A matcher that evaluates to true if attribute requester matches the provided entity group name.
@@ -39,10 +43,10 @@
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(AttributeRequesterInEntityGroupPolicyRule.class);
-
+
/** The entity group to match against. */
@Nullable private String entityGroup;
-
+
/**
* Gets the entity group to match against.
*
@@ -97,19 +101,10 @@
return Tristate.FALSE;
}
+ final Predicate<EntityDescriptor> predicate = new EntityGroupNamePredicate(Collections.singleton(entityGroup));
+
final EntityDescriptor entity = getEntityMetadata(input);
- if (entity == null) {
- // logged above
- return Tristate.FALSE;
- }
-
- for (final EntityGroupName group : entity.getObjectMetadata().get(EntityGroupName.class)) {
- if (group.getName().equals(entityGroup)) {
- return Tristate.TRUE;
- }
- }
-
- return Tristate.FALSE;
+ return predicate.apply(entity) ? Tristate.TRUE : Tristate.FALSE;
}
}
More information about the commits
mailing list