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

noreply at shibboleth.net noreply at shibboleth.net
Wed Mar 21 15:02:29 GMT 2012


Author: lajoie
Date: Wed Mar 21 15:02:29 2012
New Revision: 4129

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=4129&view=rev
Log:
Change from SortedSet to Lists.  I originally used a Set to try and catch and remove cases where people added multiple identical policies/matchers.  However, this requires a potentially high burden on implementations because they have to implement Comparable which could be pretty nasty for some policy/matchers.  So, we use a list and if people want to do something stupid, we let them.

Modified:
    trunk/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filtering/AttributeFilterPolicy.java
    trunk/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filtering/AttributeFilteringEngine.java
    trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filtering/impl/matcher/AbstractComposedMatcher.java
    trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filtering/impl/matcher/AndMatcher.java
    trunk/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filtering/impl/matcher/OrMatcher.java

Modified: trunk/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filtering/AttributeFilterPolicy.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filtering/AttributeFilterPolicy.java?rev=4129&r1=4128&r2=4129&view=diff
==============================================================================
--- trunk/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filtering/AttributeFilterPolicy.java (original)
+++ trunk/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filtering/AttributeFilterPolicy.java Wed Mar 21 15:02:29 2012
@@ -19,6 +19,7 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 import java.util.Map;
 import java.util.SortedSet;
 
@@ -44,7 +45,9 @@
 
 import com.google.common.base.Predicate;
 import com.google.common.base.Predicates;
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSortedSet;
+import com.google.common.collect.Iterables;
 
 //TODO(lajoie) performance metrics
 
@@ -66,7 +69,7 @@
     private final Predicate<AttributeFilterContext> activationCriteria;
 
     /** Filters to be used on attribute values. */
-    private final SortedSet<AttributeValueFilterPolicy> valuePolicies;
+    private final List<AttributeValueFilterPolicy> valuePolicies;
 
     /**
      * Constructor.
@@ -84,7 +87,7 @@
 
         ArrayList<AttributeValueFilterPolicy> checkedPolicies = new ArrayList<AttributeValueFilterPolicy>();
         CollectionSupport.addIf(checkedPolicies, policies, Predicates.notNull());
-        valuePolicies = ImmutableSortedSet.copyOf(checkedPolicies);
+        valuePolicies = ImmutableList.copyOf(Iterables.filter(policies, Predicates.notNull()));
     }
 
     /**
@@ -101,7 +104,7 @@
      * 
      * @return attribute rules that are in effect if this policy is in effect
      */
-    @Nonnull @NonnullElements @Unmodifiable public SortedSet<AttributeValueFilterPolicy> getAttributeValuePolicies() {
+    @Nonnull @NonnullElements @Unmodifiable public List<AttributeValueFilterPolicy> getAttributeValuePolicies() {
         return valuePolicies;
     }
 

Modified: trunk/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filtering/AttributeFilteringEngine.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filtering/AttributeFilteringEngine.java?rev=4129&r1=4128&r2=4129&view=diff
==============================================================================
--- trunk/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filtering/AttributeFilteringEngine.java (original)
+++ trunk/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filtering/AttributeFilteringEngine.java Wed Mar 21 15:02:29 2012
@@ -19,6 +19,7 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.SortedSet;
@@ -48,7 +49,9 @@
 
 import com.google.common.base.Optional;
 import com.google.common.base.Predicates;
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSortedSet;
+import com.google.common.collect.Iterables;
 
 //TODO(lajoie) perf metrics
 
@@ -61,7 +64,7 @@
     private final Logger log = LoggerFactory.getLogger(AttributeFilteringEngine.class);
 
     /** Filter policies used by this engine. */
-    private final SortedSet<AttributeFilterPolicy> filterPolicies;
+    private final List<AttributeFilterPolicy> filterPolicies;
 
     /**
      * Constructor.
@@ -75,7 +78,7 @@
 
         ArrayList<AttributeFilterPolicy> checkedPolicies = new ArrayList<AttributeFilterPolicy>();
         CollectionSupport.addIf(checkedPolicies, policies, Predicates.notNull());
-        filterPolicies = ImmutableSortedSet.copyOf(checkedPolicies);

[... 140 lines stripped ...]


More information about the commits mailing list