[java-opensaml] branch master updated: De-duplicate checks across entire collection.
Scott Cantor
cantor.2 at osu.edu
Mon Feb 17 20:48:58 EST 2020
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch master
in repository java-opensaml.
View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=91374f5bc9bec928d5b0399dea9db078d9429c36
The following commit(s) were added to refs/heads/master by this push:
new 91374f5 De-duplicate checks across entire collection.
91374f5 is described below
commit 91374f5bc9bec928d5b0399dea9db078d9429c36
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Feb 17 20:48:55 2020 -0500
De-duplicate checks across entire collection.
---
.../resolver/filter/impl/AlgorithmFilter.java | 49 +++++++++++-----------
.../resolver/filter/impl/AlgorithmFilterTest.java | 2 +-
2 files changed, 25 insertions(+), 26 deletions(-)
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java
index 8740b16..aa0d246 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java
@@ -98,34 +98,33 @@ public class AlgorithmFilter extends AbstractInitializableComponent implements M
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
Constraint.isNotNull(rules, "Rules map cannot be null");
+ rules.values().stream()
+ .flatMap(Collection::stream)
+ .filter(DigestMethod.class::isInstance)
+ .map(DigestMethod.class::cast)
+ .map(DigestMethod::getAlgorithm)
+ .distinct()
+ .forEach(uri -> checkDigestMethod(uri));
+
+ rules.values().stream()
+ .flatMap(Collection::stream)
+ .filter(SigningMethod.class::isInstance)
+ .map(SigningMethod.class::cast)
+ .map(SigningMethod::getAlgorithm)
+ .distinct()
+ .forEach(uri -> checkSigningMethod(uri));
+
+ rules.values().stream()
+ .flatMap(Collection::stream)
+ .filter(EncryptionMethod.class::isInstance)
+ .map(EncryptionMethod.class::cast)
+ .map(EncryptionMethod::getAlgorithm)
+ .distinct()
+ .forEach(uri -> checkEncryptionMethod(uri));
+
applyMap = ArrayListMultimap.create(rules.size(), 1);
for (final Map.Entry<Predicate<EntityDescriptor>,Collection<XMLObject>> entry : rules.entrySet()) {
if (entry.getKey() != null && entry.getValue() != null) {
-
- entry.getValue()
- .stream()
- .filter(DigestMethod.class::isInstance)
- .map(DigestMethod.class::cast)
- .map(DigestMethod::getAlgorithm)
- .distinct()
- .forEach(uri -> checkDigestMethod(uri));
-
- entry.getValue()
- .stream()
- .filter(SigningMethod.class::isInstance)
- .map(SigningMethod.class::cast)
- .map(SigningMethod::getAlgorithm)
- .distinct()
- .forEach(uri -> checkSigningMethod(uri));
-
- entry.getValue()
- .stream()
- .filter(EncryptionMethod.class::isInstance)
- .map(EncryptionMethod.class::cast)
- .map(EncryptionMethod::getAlgorithm)
- .distinct()
- .forEach(uri -> checkEncryptionMethod(uri));
-
applyMap.putAll(entry.getKey(), List.copyOf(entry.getValue()));
}
}
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilterTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilterTest.java
index 92f9737..c17f558 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilterTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilterTest.java
@@ -106,7 +106,7 @@ public class AlgorithmFilterTest extends XMLObjectBaseTestCase implements Predic
final Collection<XMLObject> algs = List.of(digest1, digest2, signing1, signing2, enc, digest3, signing3, enc2);
final AlgorithmFilter filter = new AlgorithmFilter();
- filter.setRules(Collections.<Predicate<EntityDescriptor>,Collection<XMLObject>>singletonMap(this, algs));
+ filter.setRules(Collections.singletonMap(this, algs));
filter.initialize();
metadataProvider.setMetadataFilter(filter);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list