[java-identity-provider] 06/06: IDP-1515 Reduce Guava dependencies idp-attribute-filter-impl
Rod Widdowson
rdw at steadingsoftware.com
Sat Nov 2 12:31:47 EDT 2019
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch master
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=adaca4c83db6826d3ed1a903d65e194ddb8440f7
commit adaca4c83db6826d3ed1a903d65e194ddb8440f7
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sat Nov 2 15:05:38 2019 +0000
IDP-1515 Reduce Guava dependencies idp-attribute-filter-impl
https://issues.shibboleth.net/jira/browse/IDP-1515
---
.../attribute/filter/impl/AttributeFilterImpl.java | 23 +++----
.../logic/impl/AbstractComposedMatcher.java | 8 +--
.../saml/impl/AttributeInMetadataMatcher.java | 70 ++++++++++------------
.../logic/impl/AbstractComposedPolicyRule.java | 11 ++--
.../AbstractEntityAttributeRegexPolicyRule.java | 4 +-
.../AbstractRegistrationAuthorityPolicyRule.java | 4 +-
.../impl/TargettedAttributeValueFilterTest.java | 1 -
.../impl/UntargettedAttributeValueFilterTest.java | 1 -
.../filter/impl/AttributeFilterImplTest.java | 2 +-
.../logic/impl/AbstractComposedMatcherTest.java | 25 ++++----
.../filter/matcher/logic/impl/AndMatcherTest.java | 5 +-
.../impl/MappedAttributeInMetadataMatcherTest.java | 5 +-
.../logic/impl/AbstractComposedPolicyRuleTest.java | 25 ++++----
.../policyrule/logic/impl/AndPolicyRuleTest.java | 5 +-
.../policyrule/logic/impl/OrPolicyRuleTest.java | 14 ++---
.../idp/profile/impl/FilterAttributesTest.java | 4 +-
16 files changed, 85 insertions(+), 122 deletions(-)
diff --git a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/impl/AttributeFilterImpl.java b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/impl/AttributeFilterImpl.java
index eff5c74..56b05a3 100644
--- a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/impl/AttributeFilterImpl.java
+++ b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/impl/AttributeFilterImpl.java
@@ -17,7 +17,6 @@
package net.shibboleth.idp.attribute.filter.impl;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -27,6 +26,12 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.annotation.concurrent.ThreadSafe;
+import org.opensaml.messaging.context.navigate.ChildContextLookup;
+import org.opensaml.messaging.context.navigate.RootContextLookup;
+import org.opensaml.profile.context.MetricContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.ext.spring.service.AbstractServiceableComponent;
import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.IdPAttributeValue;
@@ -37,21 +42,11 @@ import net.shibboleth.idp.attribute.filter.context.AttributeFilterContext;
import net.shibboleth.idp.attribute.filter.context.AttributeFilterWorkContext;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.collection.CollectionSupport;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import org.opensaml.messaging.context.navigate.ChildContextLookup;
-import org.opensaml.messaging.context.navigate.RootContextLookup;
-import org.opensaml.profile.context.MetricContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Predicates;
-
/** Service that filters out attributes and values based upon loaded policies. */
@ThreadSafe
public class AttributeFilterImpl extends AbstractServiceableComponent<AttributeFilter> implements AttributeFilter {
@@ -75,12 +70,10 @@ public class AttributeFilterImpl extends AbstractServiceableComponent<AttributeF
* @param policies filter policies used by this engine
*/
public AttributeFilterImpl(@Nonnull @NotEmpty final String engineId,
- @Nullable @NullableElements final Collection<AttributeFilterPolicy> policies) {
+ @Nullable @NonnullElements final Collection<AttributeFilterPolicy> policies) {
setId(engineId);
- final ArrayList<AttributeFilterPolicy> checkedPolicies = new ArrayList<>();
- CollectionSupport.addIf(checkedPolicies, policies, Predicates.notNull());
- filterPolicies = List.copyOf(checkedPolicies);
+ filterPolicies = List.copyOf(policies);
metricContextLookupStrategy = new ChildContextLookup<>(MetricContext.class).compose(new RootContextLookup<>());
}
diff --git a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AbstractComposedMatcher.java b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AbstractComposedMatcher.java
index 676ead7..47a220d 100644
--- a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AbstractComposedMatcher.java
+++ b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AbstractComposedMatcher.java
@@ -27,16 +27,12 @@ import javax.annotation.Nullable;
import net.shibboleth.idp.attribute.filter.Matcher;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
import net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.component.UnmodifiableComponent;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
/**
* Base class for {@link Matcher} implementations that are compositions of two or more other
* {@link Matcher}s.
@@ -51,11 +47,11 @@ public abstract class AbstractComposedMatcher extends AbstractIdentifiableInitia
* Called "subsidiaries" to allow easier parsing.
* @param composedMatchers the matchers to be composed.
*/
- public void setSubsidiaries(@Nullable @NullableElements final Collection<Matcher> composedMatchers) {
+ public void setSubsidiaries(@Nullable @NonnullElements final Collection<Matcher> composedMatchers) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
if (composedMatchers != null) {
- matchers = List.copyOf(Collections2.filter(composedMatchers, Predicates.notNull()));
+ matchers = List.copyOf(composedMatchers);
} else {
matchers = Collections.emptyList();
}
diff --git a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/AttributeInMetadataMatcher.java b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/AttributeInMetadataMatcher.java
index 422c8d6..56fba82 100644
--- a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/AttributeInMetadataMatcher.java
+++ b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/AttributeInMetadataMatcher.java
@@ -20,27 +20,15 @@ package net.shibboleth.idp.attribute.filter.matcher.saml.impl;
import java.time.Instant;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
+import java.util.stream.Collectors;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.attribute.AttributesMapContainer;
-import net.shibboleth.idp.attribute.IdPAttribute;
-import net.shibboleth.idp.attribute.IdPAttributeValue;
-import net.shibboleth.idp.attribute.IdPRequestedAttribute;
-import net.shibboleth.idp.attribute.StringAttributeValue;
-import net.shibboleth.idp.attribute.filter.Matcher;
-import net.shibboleth.idp.attribute.filter.context.AttributeFilterContext;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.DOMTypeSupport;
-
import org.opensaml.core.xml.XMLObject;
import org.opensaml.core.xml.schema.XSAny;
import org.opensaml.core.xml.schema.XSBase64Binary;
@@ -57,11 +45,23 @@ import org.opensaml.saml.saml2.metadata.RequestedAttribute;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Multimap;
+import net.shibboleth.idp.attribute.AttributesMapContainer;
+import net.shibboleth.idp.attribute.IdPAttribute;
+import net.shibboleth.idp.attribute.IdPAttributeValue;
+import net.shibboleth.idp.attribute.IdPRequestedAttribute;
+import net.shibboleth.idp.attribute.StringAttributeValue;
+import net.shibboleth.idp.attribute.filter.Matcher;
+import net.shibboleth.idp.attribute.filter.context.AttributeFilterContext;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
+import net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent;
+import net.shibboleth.utilities.java.support.component.ComponentSupport;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.utilities.java.support.xml.DOMTypeSupport;
+
/**
* Matcher that checks whether an attribute is enumerated in an SP's metadata as a required or optional attribute. Also
@@ -188,7 +188,7 @@ public class AttributeInMetadataMatcher extends AbstractIdentifiableInitializabl
if (matchIfMetadataSilent) {
log.debug("{} The peer's metadata did not contain requested attribute information"
+ ", returning all the input values", getLogPrefix());
- return ImmutableSet.copyOf(attribute.getValues());
+ return Set.copyOf(attribute.getValues());
}
log.debug("{} The peer's metadata did not contain requested attribute information"
+ ", returning no values", getLogPrefix());
@@ -250,8 +250,7 @@ public class AttributeInMetadataMatcher extends AbstractIdentifiableInitializabl
final Set<IdPAttributeValue> values = new LinkedHashSet<>();
- for (final IdPAttribute requestedAttribute
- : Collections2.filter(requestedAttributeList, Predicates.notNull())) {
+ for (final IdPAttribute requestedAttribute : List.copyOf(requestedAttributeList)) {
if (requestedAttribute instanceof IdPRequestedAttribute
&& !((IdPRequestedAttribute) requestedAttribute).getIsRequired() && onlyIfRequired) {
@@ -326,18 +325,12 @@ public class AttributeInMetadataMatcher extends AbstractIdentifiableInitializabl
if (null == requestedValues || requestedValues.isEmpty()) {
log.debug("{} Attribute {} found in metadata and no values specified", getLogPrefix(), attribute.getId());
- return ImmutableSet.copyOf(attribute.getValues());
- }
-
- final ImmutableSet.Builder<IdPAttributeValue> builder = ImmutableSet.builder();
-
- for (final IdPAttributeValue attributeValue : attribute.getValues()) {
- if (requestedValues.contains(attributeValue)) {
- builder.add(attributeValue);
- }
+ return Set.copyOf(attribute.getValues());
}
- final ImmutableSet<IdPAttributeValue> result = builder.build();
+ final Set<IdPAttributeValue> result = attribute.getValues().stream().
+ filter(v -> requestedValues.contains(v)).collect(Collectors.toUnmodifiableSet());
+
log.debug("{} Values matched with metadata for Attribute {} : {}", getLogPrefix(), attribute.getId(), result);
return result;
}
@@ -351,21 +344,23 @@ public class AttributeInMetadataMatcher extends AbstractIdentifiableInitializabl
*
* @return the result of the filter
*/
- @Nonnull private Set<IdPAttributeValue> filterValues(@Nonnull final String attributeToLog,
- @Nullable final IdPAttribute attribute, @Nonnull @NonnullElements final List<XMLObject> requestedValues) {
+ @Nonnull @Unmodifiable @NonnullElements private Set<IdPAttributeValue> filterValues(
+ @Nonnull final String attributeToLog,
+ @Nullable final IdPAttribute attribute,
+ @Nonnull @NonnullElements final List<XMLObject> requestedValues) {
if (requestedValues.isEmpty()) {
log.debug("{} Attribute {} found in metadata and no values specified", getLogPrefix(), attributeToLog);
- return ImmutableSet.copyOf(attribute.getValues());
+ return Set.copyOf(attribute.getValues());
}
- final ImmutableSet.Builder<IdPAttributeValue> builder = ImmutableSet.builder();
-
+ final Set<IdPAttributeValue> result = new HashSet<>(attribute.getValues().size());
+
for (final IdPAttributeValue attributeValue : attribute.getValues()) {
if (attributeValue instanceof StringAttributeValue) {
for (final XMLObject xmlObj : requestedValues) {
if (match(xmlObj, ((StringAttributeValue) attributeValue).getValue())) {
- builder.add(attributeValue);
+ result.add(attributeValue);
}
}
} else {
@@ -374,9 +369,8 @@ public class AttributeInMetadataMatcher extends AbstractIdentifiableInitializabl
}
}
- final ImmutableSet<IdPAttributeValue> result = builder.build();
log.debug("{} Values matched with metadata for Attribute {} : {}", getLogPrefix(), attributeToLog, result);
- return result;
+ return Set.copyOf(result);
}
// Checkstyle: CyclomaticComplexity OFF
diff --git a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/AbstractComposedPolicyRule.java b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/AbstractComposedPolicyRule.java
index bd76b54..f660b04 100644
--- a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/AbstractComposedPolicyRule.java
+++ b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/AbstractComposedPolicyRule.java
@@ -24,20 +24,17 @@ import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import com.google.common.base.MoreObjects;
+
import net.shibboleth.idp.attribute.filter.PolicyRequirementRule;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
import net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.component.UnmodifiableComponent;
-import com.google.common.base.MoreObjects;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
/**
* Base class for {@link PolicyRequirementRule} implementations that are compositions of other
* {@link PolicyRequirementRule}s.
@@ -52,11 +49,11 @@ public abstract class AbstractComposedPolicyRule extends AbstractIdentifiableIni
* Called "subsidiaries" to allow easier parsing.
* @param theRules the rules to be composed.
*/
- public void setSubsidiaries(@Nullable @NullableElements final Collection<PolicyRequirementRule> theRules) {
+ public void setSubsidiaries(@Nullable @NonnullElements final Collection<PolicyRequirementRule> theRules) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
if (theRules != null) {
- rules = List.copyOf(Collections2.filter(theRules, Predicates.notNull()));
+ rules = List.copyOf(theRules);
} else {
rules = Collections.emptyList();
}
diff --git a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AbstractEntityAttributeRegexPolicyRule.java b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AbstractEntityAttributeRegexPolicyRule.java
index bd773c6..d778568 100644
--- a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AbstractEntityAttributeRegexPolicyRule.java
+++ b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AbstractEntityAttributeRegexPolicyRule.java
@@ -28,8 +28,6 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElemen
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import com.google.common.collect.Iterables;
-
/**
* Matcher functor that checks entity attribute values via matching against a regular expression.
*/
@@ -67,7 +65,7 @@ public abstract class AbstractEntityAttributeRegexPolicyRule extends AbstractEnt
/** {@inheritDoc} */
@Override protected boolean entityAttributeValueMatches(
@Nonnull @NotEmpty @NonnullElements final Set<String> entityAttributeValues) {
- return Iterables.any(entityAttributeValues, v -> valueRegex.matcher(v).matches());
+ return entityAttributeValues.stream().anyMatch(v -> valueRegex.matcher(v).matches());
}
}
\ No newline at end of file
diff --git a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AbstractRegistrationAuthorityPolicyRule.java b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AbstractRegistrationAuthorityPolicyRule.java
index f27e628..f580081 100644
--- a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AbstractRegistrationAuthorityPolicyRule.java
+++ b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AbstractRegistrationAuthorityPolicyRule.java
@@ -40,8 +40,6 @@ import org.opensaml.saml.saml2.metadata.Extensions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.collect.ImmutableSet;
-
/**
* Base class for rules operating on the RPI extension in metadata.
*/
@@ -62,7 +60,7 @@ public abstract class AbstractRegistrationAuthorityPolicyRule extends AbstractPo
* @return the issuers
*/
@Nonnull @NonnullElements @Unmodifiable @NotLive public Set<String> getRegistrars() {
- return ImmutableSet.copyOf(registrars);
+ return Set.copyOf(registrars);
}
/**
diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/TargettedAttributeValueFilterTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/TargettedAttributeValueFilterTest.java
index 3bc069c..53de00b 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/TargettedAttributeValueFilterTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/TargettedAttributeValueFilterTest.java
@@ -27,7 +27,6 @@ import org.testng.annotations.Test;
import net.shibboleth.ext.spring.service.MockApplicationContext;
import net.shibboleth.idp.attribute.IdPAttribute;
-import net.shibboleth.idp.attribute.filter.AttributeFilter;
import net.shibboleth.idp.attribute.filter.AttributeFilterException;
import net.shibboleth.idp.attribute.filter.AttributeFilterPolicy;
import net.shibboleth.idp.attribute.filter.AttributeRule;
diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/UntargettedAttributeValueFilterTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/UntargettedAttributeValueFilterTest.java
index 36f93df..3b9f061 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/UntargettedAttributeValueFilterTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/UntargettedAttributeValueFilterTest.java
@@ -27,7 +27,6 @@ import org.testng.annotations.Test;
import net.shibboleth.ext.spring.service.MockApplicationContext;
import net.shibboleth.idp.attribute.IdPAttribute;
-import net.shibboleth.idp.attribute.filter.AttributeFilter;
import net.shibboleth.idp.attribute.filter.AttributeFilterException;
import net.shibboleth.idp.attribute.filter.AttributeFilterPolicy;
import net.shibboleth.idp.attribute.filter.AttributeRule;
diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/impl/AttributeFilterImplTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/impl/AttributeFilterImplTest.java
index 144001b..f57de87 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/impl/AttributeFilterImplTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/impl/AttributeFilterImplTest.java
@@ -46,7 +46,7 @@ public class AttributeFilterImplTest {
/** Test that post-construction state is what is expected. */
@Test public void testPostConstructionState() throws Exception {
- AttributeFilter filter = new AttributeFilterImpl("engine", null);
+ AttributeFilter filter = new AttributeFilterImpl("engine", Collections.EMPTY_LIST);
Assert.assertNotNull(filter.getFilterPolicies());
Assert.assertTrue(filter.getFilterPolicies().isEmpty());
Assert.assertEquals(filter.getId(), "engine");
diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AbstractComposedMatcherTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AbstractComposedMatcherTest.java
index dfe802f..48fb215 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AbstractComposedMatcherTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AbstractComposedMatcherTest.java
@@ -65,10 +65,9 @@ public class AbstractComposedMatcherTest {
for (int i = 0; i < 2; i++) {
firstList.add(new TestMatcher());
}
- firstList.add(null);
matcher = new ComposedMatcher(firstList);
- assertEquals(firstList.size() - 1, matcher.getComposedMatchers().size());
+ assertEquals(firstList.size(), matcher.getComposedMatchers().size());
thrown = false;
try {
@@ -90,22 +89,18 @@ public class AbstractComposedMatcherTest {
final List<Matcher> list = new ArrayList<>();
- for (int i = 0; i < 30; i++) {
- list.add(null);
- }
-
matcher = new ComposedMatcher(list);
assertTrue(matcher.getComposedMatchers().isEmpty(), "Add List<null> - no matchers");
- list.set(2, new TestMatcher());
- list.set(3, new TestMatcher());
- list.set(7, new TestMatcher());
- list.set(11, new TestMatcher());
- list.set(13, new TestMatcher());
- list.set(17, new TestMatcher());
- list.set(19, new TestMatcher());
- list.set(23, new TestMatcher());
- list.set(29, new TestMatcher());
+ list.add(new TestMatcher());
+ list.add(new TestMatcher());
+ list.add(new TestMatcher());
+ list.add(new TestMatcher());
+ list.add(new TestMatcher());
+ list.add(new TestMatcher());
+ list.add(new TestMatcher());
+ list.add(new TestMatcher());
+ list.add(new TestMatcher());
assertTrue(matcher.getComposedMatchers().isEmpty(), "Change to input list - no matchers");
matcher = new ComposedMatcher(list);
diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AndMatcherTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AndMatcherTest.java
index a59316c..91833a9 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AndMatcherTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AndMatcherTest.java
@@ -30,6 +30,8 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Set;
+import javax.annotation.Nonnull;
+
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
@@ -37,6 +39,7 @@ import net.shibboleth.idp.attribute.IdPAttributeValue;
import net.shibboleth.idp.attribute.filter.Matcher;
import net.shibboleth.idp.attribute.filter.matcher.impl.AbstractMatcherPolicyRuleTest;
import net.shibboleth.idp.attribute.filter.matcher.impl.MockValuePredicateMatcher;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.component.DestroyedComponentException;
import net.shibboleth.utilities.java.support.component.UninitializedComponentException;
@@ -156,7 +159,7 @@ public class AndMatcherTest extends AbstractMatcherPolicyRuleTest {
assertTrue(matcher.getMatchingValues(attribute, filterContext).isEmpty());
}
- static public AndMatcher newAndMatcher(final Collection<Matcher> what) {
+ static public AndMatcher newAndMatcher(final @Nonnull @NonnullElements Collection<Matcher> what) {
final AndMatcher matcher = new AndMatcher();
matcher.setSubsidiaries(what);
return matcher;
diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/MappedAttributeInMetadataMatcherTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/MappedAttributeInMetadataMatcherTest.java
index 384ed42..3d8a738 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/MappedAttributeInMetadataMatcherTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/MappedAttributeInMetadataMatcherTest.java
@@ -94,7 +94,9 @@ public class MappedAttributeInMetadataMatcherTest extends OpenSAMLInitBaseTestCa
if (null != attributeId) {
final Multimap<String, IdPAttribute> multimap = ArrayListMultimap.create();
- multimap.put(attributeId, attribute);
+ if (attribute != null) {
+ multimap.put(attributeId, attribute);
+ }
setRequestedAttributesInContext(context, multimap);
}
return context;
@@ -192,7 +194,6 @@ public class MappedAttributeInMetadataMatcherTest extends OpenSAMLInitBaseTestCa
makeAttribute("attr", Arrays.asList(DataSources.STRING_VALUE, DataSources.NON_MATCH_STRING_VALUE));
AttributeFilterContext context = makeContext("attr", null);
-
Set<IdPAttributeValue> result = makeMatcher("test", false, true).getMatchingValues(attr, context);
assertTrue(result.isEmpty());
}
diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/AbstractComposedPolicyRuleTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/AbstractComposedPolicyRuleTest.java
index 0ab1db5..2934ee9 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/AbstractComposedPolicyRuleTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/AbstractComposedPolicyRuleTest.java
@@ -64,10 +64,9 @@ public class AbstractComposedPolicyRuleTest {
for (int i = 0; i < 2;i++) {
firstList.add(new TestMatcher());
}
- firstList.add(null);
rule = new ComposedPolicyRule(firstList);
- assertEquals(firstList.size()-1, rule.getComposedRules().size());
+ assertEquals(firstList.size(), rule.getComposedRules().size());
thrown = false;
try {
@@ -92,22 +91,18 @@ public class AbstractComposedPolicyRuleTest {
final List<PolicyRequirementRule> list = new ArrayList<>();
- for (int i = 0; i < 30; i++) {
- list.add(null);
- }
-
rule = new ComposedPolicyRule(list);
assertTrue(rule.getComposedRules().isEmpty(), "Add List<null> - no matchers");
- list.set(2, new TestMatcher());
- list.set(3, new TestMatcher());
- list.set(7, new TestMatcher());
- list.set(11, new TestMatcher());
- list.set(13, new TestMatcher());
- list.set(17, new TestMatcher());
- list.set(19, new TestMatcher());
- list.set(23, new TestMatcher());
- list.set(29, new TestMatcher());
+ list.add(new TestMatcher());
+ list.add(new TestMatcher());
+ list.add(new TestMatcher());
+ list.add(new TestMatcher());
+ list.add(new TestMatcher());
+ list.add(new TestMatcher());
+ list.add(new TestMatcher());
+ list.add(new TestMatcher());
+ list.add(new TestMatcher());
assertTrue(rule.getComposedRules().isEmpty(), "Change to input list - no matchers");
rule = new ComposedPolicyRule(list);
diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/AndPolicyRuleTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/AndPolicyRuleTest.java
index f469c47..ad3e662 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/AndPolicyRuleTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/AndPolicyRuleTest.java
@@ -33,11 +33,9 @@ import net.shibboleth.idp.attribute.filter.PolicyRequirementRule;
import net.shibboleth.idp.attribute.filter.PolicyRequirementRule.Tristate;
import net.shibboleth.idp.attribute.filter.matcher.impl.AbstractMatcherPolicyRuleTest;
import net.shibboleth.idp.attribute.filter.matcher.impl.DataSources;
-import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-
/** {@link AndPolicyRule} unit test. */
public class AndPolicyRuleTest extends AbstractMatcherPolicyRuleTest {
@@ -104,8 +102,7 @@ public class AndPolicyRuleTest extends AbstractMatcherPolicyRuleTest {
assertEquals(rule.matches(DataSources.unPopulatedFilterContext()), Tristate.TRUE);
}
- public static AndPolicyRule newAndPolicyRule(@Nullable @NullableElements
- final Collection<PolicyRequirementRule> composedRules) {
+ public static AndPolicyRule newAndPolicyRule(@Nullable final Collection<PolicyRequirementRule> composedRules) {
final AndPolicyRule rule = new AndPolicyRule();
rule.setSubsidiaries(composedRules);
return rule;
diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/OrPolicyRuleTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/OrPolicyRuleTest.java
index 3259791..4930204 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/OrPolicyRuleTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/OrPolicyRuleTest.java
@@ -33,7 +33,6 @@ import net.shibboleth.idp.attribute.filter.PolicyRequirementRule;
import net.shibboleth.idp.attribute.filter.PolicyRequirementRule.Tristate;
import net.shibboleth.idp.attribute.filter.matcher.impl.AbstractMatcherPolicyRuleTest;
import net.shibboleth.idp.attribute.filter.matcher.impl.DataSources;
-import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
@@ -71,24 +70,24 @@ public class OrPolicyRuleTest extends AbstractMatcherPolicyRuleTest {
rule.initialize();
assertEquals(rule.matches(DataSources.unPopulatedFilterContext()), Tristate.FALSE);
- rule = newOrPolicyRule(Arrays.asList(PolicyRequirementRule.MATCHES_NONE, null, PolicyRequirementRule.MATCHES_NONE));
+ rule = newOrPolicyRule(Arrays.asList(PolicyRequirementRule.MATCHES_NONE, PolicyRequirementRule.MATCHES_NONE));
rule.setId("Test");
rule.initialize();
assertEquals(rule.matches(DataSources.unPopulatedFilterContext()), Tristate.FALSE);
- rule = newOrPolicyRule(Arrays.asList(PolicyRequirementRule.MATCHES_NONE, null, PolicyRequirementRule.MATCHES_ALL));
+ rule = newOrPolicyRule(Arrays.asList(PolicyRequirementRule.MATCHES_NONE, PolicyRequirementRule.MATCHES_ALL));
rule.setId("Test");
rule.initialize();
assertEquals(rule.matches(DataSources.unPopulatedFilterContext()), Tristate.TRUE);
- rule = newOrPolicyRule(Arrays.asList(PolicyRequirementRule.MATCHES_NONE, null, PolicyRequirementRule.MATCHES_ALL,
+ rule = newOrPolicyRule(Arrays.asList(PolicyRequirementRule.MATCHES_NONE, PolicyRequirementRule.MATCHES_ALL,
PolicyRequirementRule.REQUIREMENT_RULE_FAILS));
rule.setId("Test");
rule.initialize();
assertEquals(rule.matches(DataSources.unPopulatedFilterContext()), Tristate.TRUE);
- rule = newOrPolicyRule(Arrays.asList(PolicyRequirementRule.MATCHES_NONE, null, PolicyRequirementRule.MATCHES_NONE,
+ rule = newOrPolicyRule(Arrays.asList(PolicyRequirementRule.MATCHES_NONE, PolicyRequirementRule.MATCHES_NONE,
PolicyRequirementRule.REQUIREMENT_RULE_FAILS));
rule.setId("Test");
rule.initialize();
@@ -108,12 +107,11 @@ public class OrPolicyRuleTest extends AbstractMatcherPolicyRuleTest {
rule = newOrPolicyRule(Collections.singletonList(PolicyRequirementRule.MATCHES_ALL));
rule.setId("Test");
- rule.initialize();
+ rule.initialize();
assertEquals(rule.matches(DataSources.unPopulatedFilterContext()), Tristate.TRUE);
}
- public static OrPolicyRule newOrPolicyRule(@Nullable @NullableElements
- final Collection<PolicyRequirementRule> composedRules) {
+ public static OrPolicyRule newOrPolicyRule(@Nullable final Collection<PolicyRequirementRule> composedRules) {
final OrPolicyRule rule = new OrPolicyRule();
rule.setSubsidiaries(composedRules);
return rule;
diff --git a/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/impl/FilterAttributesTest.java b/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/impl/FilterAttributesTest.java
index 131cba9..809215e 100644
--- a/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/impl/FilterAttributesTest.java
+++ b/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/impl/FilterAttributesTest.java
@@ -65,7 +65,7 @@ public class FilterAttributesTest {
@Test public void testNoAttributeContext() throws Exception {
prc.getSubcontext(SubjectContext.class, true);
- final AttributeFilterImpl engine = new AttributeFilterImpl("test", null);
+ final AttributeFilterImpl engine = new AttributeFilterImpl("test", Collections.EMPTY_LIST);
engine.setApplicationContext(new MockApplicationContext());
engine.initialize();
@@ -82,7 +82,7 @@ public class FilterAttributesTest {
prc.getSubcontext(RelyingPartyContext.class).getSubcontext(AttributeContext.class, true);
- final AttributeFilterImpl engine = new AttributeFilterImpl("test", null);
+ final AttributeFilterImpl engine = new AttributeFilterImpl("test", Collections.EMPTY_LIST);
engine.setApplicationContext(new MockApplicationContext());
engine.initialize();
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list