[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