[java-identity-provider COMMIT] in /trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter...

noreply at shibboleth.net noreply at shibboleth.net
Sun Mar 24 08:06:31 EDT 2013


Author: rdw
Date: Sun Mar 24 08:06:30 2013
New Revision: 4350

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=4350&view=rev
Log:
Fix bug in *current* implementation AttributeValueMatchFunctors to do with the different semantics in targeted and untargeted mode.  Code coverage still pending.  This design still subject to review.

Modified:
    trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filtering/impl/matcher/attributevalue/AbstractAttributeTargetedRegexMatchFunctor.java
    trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filtering/impl/matcher/attributevalue/AbstractAttributeTargetedStringMatchFunctor.java
    trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filtering/impl/matcher/attributevalue/AttributeValueHelper.java

Modified: trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filtering/impl/matcher/attributevalue/AbstractAttributeTargetedRegexMatchFunctor.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filtering/impl/matcher/attributevalue/AbstractAttributeTargetedRegexMatchFunctor.java?rev=4350&r1=4349&r2=4350&view=diff
==============================================================================
--- trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filtering/impl/matcher/attributevalue/AbstractAttributeTargetedRegexMatchFunctor.java (original)
+++ trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filtering/impl/matcher/attributevalue/AbstractAttributeTargetedRegexMatchFunctor.java Sun Mar 24 08:06:30 2013
@@ -51,17 +51,26 @@
 
     /** {@inheritDoc} */
     public boolean apply(@Nullable AttributeFilterContext filterContext) {
-        return AttributeValueHelper.filterContextPredicate(this, filterContext, attributeId);
+        if (null != attributeId) {
+            return AttributeValueHelper.filterContextPredicate(this, filterContext, attributeId);
+        } else {
+            return AttributeValueHelper.filterContextPredicate(this, filterContext);            
+        }
     }
 
     /** {@inheritDoc} */
     protected void doInitialize() throws ComponentInitializationException {
-        setValuePredicate(new Predicate<AttributeValue>() {
-
-            public boolean apply(@Nullable AttributeValue input) {
-                return compareAttributeValue(input);
-            }
-        });
+        
+        if (null == attributeId) {
+            // This is a UNTARGETTED filter, so we expect to be called to compare
+            // attribute values
+            setValuePredicate(new Predicate<AttributeValue>() {
+    
+                public boolean apply(@Nullable AttributeValue input) {
+                    return compareAttributeValue(input);
+                }
+            });
+        }
         super.doInitialize();
     }
 }

Modified: trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filtering/impl/matcher/attributevalue/AbstractAttributeTargetedStringMatchFunctor.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filtering/impl/matcher/attributevalue/AbstractAttributeTargetedStringMatchFunctor.java?rev=4350&r1=4349&r2=4350&view=diff
==============================================================================
--- trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filtering/impl/matcher/attributevalue/AbstractAttributeTargetedStringMatchFunctor.java (original)
+++ trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filtering/impl/matcher/attributevalue/AbstractAttributeTargetedStringMatchFunctor.java Sun Mar 24 08:06:30 2013
@@ -51,17 +51,25 @@
     
     /** {@inheritDoc} */
     public boolean apply(@Nullable AttributeFilterContext filterContext) {
-        return AttributeValueHelper.filterContextPredicate(this, filterContext, attributeId);
+        if (null != attributeId) {
+            return AttributeValueHelper.filterContextPredicate(this, filterContext, attributeId);
+        } else {
+            return AttributeValueHelper.filterContextPredicate(this, filterContext);            
+        }
     }
 
     /** {@inheritDoc} */
     protected void doInitialize() throws ComponentInitializationException {
-        setValuePredicate(new Predicate<AttributeValue>() {
-
-            public boolean apply(@Nullable AttributeValue input) {
-                return compareAttributeValue(input);
-            }
-        });
+        if (null == attributeId) {
+            // This is a UNTARGETTED filter, so we expect to be called to compare
+            // attribute values
+            setValuePredicate(new Predicate<AttributeValue>() {
+    
+                public boolean apply(@Nullable AttributeValue input) {
+                    return compareAttributeValue(input);
+                }
+            });
+        }

[... 94 lines stripped ...]


More information about the commits mailing list