[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