[java-opensaml] branch master updated: Remove most uses of Guava null filtering.
Scott Cantor
cantor.2 at osu.edu
Fri Oct 25 13:55:06 EDT 2019
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=95ce0fb5a1bb26cfcbfe0b283c22e1c502db93da
The following commit(s) were added to refs/heads/master by this push:
new 95ce0fb Remove most uses of Guava null filtering.
95ce0fb is described below
commit 95ce0fb5a1bb26cfcbfe0b283c22e1c502db93da
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Fri Oct 25 13:54:24 2019 -0400
Remove most uses of Guava null filtering.
---
.../core/metrics/FilteredMetricRegistry.java | 8 +----
.../handler/impl/BasicMessageHandlerChain.java | 10 ++----
.../impl/MessageHandlerErrorStrategyAdapter.java | 9 ++----
.../opensaml/profile/logic/IPRangePredicate.java | 6 ++--
.../profile/logic/EntityAttributesPredicate.java | 32 +++++--------------
.../resolver/ChainingMetadataResolver.java | 9 ++----
.../resolver/filter/MetadataFilterChain.java | 5 +--
.../impl/ChainingNameIdentifierGenerator.java | 7 ++---
.../resolver/filter/impl/AlgorithmFilter.java | 5 ++-
.../filter/impl/EntityAttributesFilter.java | 4 +--
.../filter/impl/NodeProcessingMetadataFilter.java | 10 ++----
.../impl/AbstractBatchMetadataResolver.java | 9 ++----
.../impl/AbstractDynamicMetadataResolver.java | 11 +++----
.../MetadataQueryProtocolRequestURLBuilder.java | 10 +++---
.../index/impl/SAMLArtifactMetadataIndex.java | 16 ++++------
.../saml1/profile/impl/AddStatusToResponse.java | 8 ++---
.../impl/AddSubjectConfirmationToSubjects.java | 7 ++---
.../saml2/profile/impl/AddStatusToResponse.java | 8 ++---
...MetadataQueryProtocolRequestURLBuilderTest.java | 3 --
.../HttpClientSecurityConfigurationCriterion.java | 16 +++-------
.../security/x509/tls/CertificateNameOptions.java | 15 +++------
.../ClientTLSValidationConfigurationCriterion.java | 19 +++---------
.../impl/AbstractChainingCredentialResolver.java | 12 ++------
.../security/trust/impl/ChainingTrustEngine.java | 13 +++-----
.../impl/BasicX509CredentialNameEvaluator.java | 10 ++----
.../trust/impl/ChainingTrustEngineTest.java | 12 +-------
.../SOAPClientPipelineNameMappingFunction.java | 9 +-----
.../SOAPClientPipelineNameMappingPredicate.java | 9 +-----
.../java/org/opensaml/soap/util/SOAPSupport.java | 11 +++----
.../impl/client/LoadClientStorageServices.java | 5 ++-
.../client/PopulateClientStorageLoadContext.java | 7 ++---
.../client/PopulateClientStorageSaveContext.java | 14 +++------
.../SaveCookieBackedClientStorageServices.java | 5 ++-
.../DecryptionConfigurationCriterion.java | 18 +++--------
.../EncryptionConfigurationCriterion.java | 18 +++--------
.../SignatureSigningConfigurationCriterion.java | 18 +++--------
.../SignatureValidationConfigurationCriterion.java | 18 +++--------
.../support/ChainingEncryptedKeyResolver.java | 22 ++++++-------
.../xmlsec/impl/BasicEncryptionConfiguration.java | 36 ++++++++++------------
.../impl/BasicSignatureSigningConfiguration.java | 29 ++++++++---------
.../opensaml/xmlsec/impl/BlacklistPredicate.java | 11 ++-----
.../opensaml/xmlsec/impl/WhitelistPredicate.java | 9 ++----
.../impl/ChainingSignaturePrevalidator.java | 7 +----
.../support/impl/ChainingSignatureTrustEngine.java | 14 +++------
.../impl/BasicEncryptionConfigurationTest.java | 6 ++--
.../BasicSignatureSigningConfigurationTest.java | 2 +-
.../xmlsec/impl/BlacklistPredicateTest.java | 17 ----------
.../WhitelistBlacklistConfigurationCriterion.java | 18 +++--------
.../xmlsec/impl/WhitelistPredicateTest.java | 17 ----------
.../impl/ChainingSignatureTrustEngineTest.java | 20 ------------
50 files changed, 167 insertions(+), 447 deletions(-)
diff --git a/opensaml-core/src/main/java/org/opensaml/core/metrics/FilteredMetricRegistry.java b/opensaml-core/src/main/java/org/opensaml/core/metrics/FilteredMetricRegistry.java
index 9f7af5f..7da8151 100644
--- a/opensaml-core/src/main/java/org/opensaml/core/metrics/FilteredMetricRegistry.java
+++ b/opensaml-core/src/main/java/org/opensaml/core/metrics/FilteredMetricRegistry.java
@@ -34,8 +34,6 @@ import com.codahale.metrics.MetricFilter;
import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.MetricSet;
import com.codahale.metrics.Timer;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.logic.Constraint;
@@ -125,11 +123,7 @@ public class FilteredMetricRegistry extends MetricRegistry {
*/
public void registerMultiple(@Nonnull @NonnullElements final Collection<MetricSet> metricSets)
throws IllegalArgumentException {
- Constraint.isNotNull(metricSets, "Collection cannot be null");
-
- for (final MetricSet set : Collections2.filter(metricSets, Predicates.notNull())) {
- registerAll(set);
- }
+ Constraint.isNotNull(metricSets, "Collection cannot be null").forEach(m -> registerAll(m));
}
}
\ No newline at end of file
diff --git a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/BasicMessageHandlerChain.java b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/BasicMessageHandlerChain.java
index 47f3b78..ad23f89 100644
--- a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/BasicMessageHandlerChain.java
+++ b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/BasicMessageHandlerChain.java
@@ -17,7 +17,6 @@
package org.opensaml.messaging.handler.impl;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -33,9 +32,6 @@ import org.opensaml.messaging.handler.MessageHandler;
import org.opensaml.messaging.handler.MessageHandlerChain;
import org.opensaml.messaging.handler.MessageHandlerException;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
/**
* A basic implementation of {@link MessageHandlerChain}.
*/
@@ -70,9 +66,7 @@ public class BasicMessageHandlerChain extends AbstractMessageHandler
*/
public void setHandlers(@Nullable @NonnullElements final List<MessageHandler> handlers) {
if (handlers != null) {
- final ArrayList<MessageHandler> newMembers = new ArrayList<>();
- newMembers.addAll(Collections2.filter(handlers, Predicates.notNull()));
- members = newMembers;
+ members = List.copyOf(handlers);
} else {
members = Collections.emptyList();
}
@@ -81,7 +75,7 @@ public class BasicMessageHandlerChain extends AbstractMessageHandler
/** {@inheritDoc} */
public void doInvoke(@Nonnull final MessageContext msgContext) throws MessageHandlerException {
if (members != null) {
- for (final MessageHandler handler: members) {
+ for (final MessageHandler handler : members) {
handler.invoke(msgContext);
}
}
diff --git a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/MessageHandlerErrorStrategyAdapter.java b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/MessageHandlerErrorStrategyAdapter.java
index bd61313..c03fdff 100644
--- a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/MessageHandlerErrorStrategyAdapter.java
+++ b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/MessageHandlerErrorStrategyAdapter.java
@@ -17,7 +17,6 @@
package org.opensaml.messaging.handler.impl;
-import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nonnull;
@@ -33,9 +32,6 @@ import org.opensaml.messaging.handler.MessageHandlerException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
/**
* A {@link MessageHandler} which wraps and invokes another handler, catches any {@link Throwable} which is
* thrown by the wrapped handler's {@link MessageHandler#invoke(MessageContext)}, and applies
@@ -87,9 +83,8 @@ public class MessageHandlerErrorStrategyAdapter extends AbstractMessageHandler {
public MessageHandlerErrorStrategyAdapter(@Nonnull final MessageHandler messageHandler,
@Nonnull @NonnullElements final List<TypedMessageErrorHandler> typedErrorHandlers) {
wrappedHandler = Constraint.isNotNull(messageHandler, "Wrapped MessageHandler cannot be null");
- errorHandlers = new ArrayList<>(Collections2.filter(
- Constraint.isNotNull(typedErrorHandlers, "List of TypedMessageErroHandlers cannot be null"),
- Predicates.notNull()));
+ errorHandlers = List.copyOf(
+ Constraint.isNotNull(typedErrorHandlers, "List of TypedMessageErroHandlers cannot be null"));
rethrowIfHandled = false;
rethrowIfNotHandled = true;
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/IPRangePredicate.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/IPRangePredicate.java
index baa72db..bfbaf6c 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/IPRangePredicate.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/IPRangePredicate.java
@@ -17,9 +17,9 @@
package org.opensaml.profile.logic;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -27,8 +27,6 @@ import javax.servlet.http.HttpServletRequest;
import org.opensaml.messaging.context.BaseContext;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
import com.google.common.net.InetAddresses;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
@@ -62,7 +60,7 @@ public class IPRangePredicate implements Predicate<BaseContext> {
public void setRanges(@Nonnull @NonnullElements final Collection<IPRange> ranges) {
Constraint.isNotNull(ranges, "Address range collection cannot be null");
- addressRanges = new ArrayList<>(Collections2.filter(ranges, Predicates.notNull()));
+ addressRanges = List.copyOf(ranges);
}
/**
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/EntityAttributesPredicate.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/EntityAttributesPredicate.java
index 0250204..d18a0d8 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/EntityAttributesPredicate.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/EntityAttributesPredicate.java
@@ -43,9 +43,6 @@ import org.opensaml.saml.saml2.metadata.Extensions;
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.ImmutableList;
import com.google.common.collect.Iterables;
import net.shibboleth.utilities.java.support.annotation.ParameterName;
@@ -84,9 +81,7 @@ public class EntityAttributesPredicate implements Predicate<EntityDescriptor> {
public EntityAttributesPredicate(
@Nonnull @NonnullElements @ParameterName(name="candidates") final Collection<Candidate> candidates) {
- Constraint.isNotNull(candidates, "Attribute collection cannot be null");
-
- candidateSet = new ArrayList<>(Collections2.filter(candidates, Predicates.notNull()));
+ candidateSet = List.copyOf(Constraint.isNotNull(candidates, "Candidate collection cannot be null"));
trimTags = true;
matchAll = false;
@@ -102,9 +97,7 @@ public class EntityAttributesPredicate implements Predicate<EntityDescriptor> {
@Nonnull @NonnullElements @ParameterName(name="candidates") final Collection<Candidate> candidates,
@ParameterName(name="trim") final boolean trim) {
- Constraint.isNotNull(candidates, "Attribute collection cannot be null");
-
- candidateSet = new ArrayList<>(Collections2.filter(candidates, Predicates.notNull()));
+ candidateSet = List.copyOf(Constraint.isNotNull(candidates, "Candidate collection cannot be null"));
trimTags = trim;
matchAll = false;
@@ -122,9 +115,7 @@ public class EntityAttributesPredicate implements Predicate<EntityDescriptor> {
@ParameterName(name="trim") final boolean trim,
@ParameterName(name="all") final boolean all) {
- Constraint.isNotNull(candidates, "Attribute collection cannot be null");
-
- candidateSet = new ArrayList<>(Collections2.filter(candidates, Predicates.notNull()));
+ candidateSet = List.copyOf(Constraint.isNotNull(candidates, "Candidate collection cannot be null"));
trimTags = trim;
matchAll = all;
@@ -154,7 +145,7 @@ public class EntityAttributesPredicate implements Predicate<EntityDescriptor> {
* @return the candidate criteria
*/
@Nonnull @NonnullElements @Unmodifiable @NotLive public Collection<Candidate> getCandidates() {
- return ImmutableList.copyOf(candidateSet);
+ return candidateSet;
}
// Checkstyle: CyclomaticComplexity OFF
@@ -289,7 +280,7 @@ public class EntityAttributesPredicate implements Predicate<EntityDescriptor> {
* @return the exact values to match
*/
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<String> getValues() {
- return ImmutableList.copyOf(values);
+ return values;
}
/**
@@ -298,13 +289,7 @@ public class EntityAttributesPredicate implements Predicate<EntityDescriptor> {
* @param vals the exact values to match
*/
public void setValues(@Nonnull @NonnullElements final Collection<String> vals) {
- Constraint.isNotNull(vals, "Values collection cannot be null");
- values = new ArrayList<>(vals.size());
- for (final String value : vals) {
- if (value != null) {
- values.add(value);
- }
- }
+ values = List.copyOf(Constraint.isNotNull(vals, "Values collection cannot be null"));
}
/**
@@ -313,7 +298,7 @@ public class EntityAttributesPredicate implements Predicate<EntityDescriptor> {
* @return the regular expressions to match.
*/
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<Pattern> getRegexps() {
- return ImmutableList.copyOf(regexps);
+ return regexps;
}
/**
@@ -322,8 +307,7 @@ public class EntityAttributesPredicate implements Predicate<EntityDescriptor> {
* @param exps the regular expressions to match
*/
public void setRegexps(@Nonnull @NonnullElements final Collection<Pattern> exps) {
- Constraint.isNotNull(exps, "Regular expressions collection cannot be null");
- regexps = new ArrayList<>(Collections2.filter(exps, Predicates.notNull()));
+ regexps = List.copyOf(Constraint.isNotNull(exps, "Regular expressions collection cannot be null"));
}
}
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java
index 6d32b7a..0c2e75e 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java
@@ -18,7 +18,6 @@
package org.opensaml.saml.metadata.resolver;
import java.time.Instant;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -40,10 +39,6 @@ import org.opensaml.saml.saml2.metadata.EntityDescriptor;
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.ImmutableList;
-
/**
* A metadata provider that uses registered resolvers, in turn, to answer queries.
*
@@ -70,7 +65,7 @@ public class ChainingMetadataResolver extends AbstractIdentifiableInitializableC
* @return list of currently registered resolvers
*/
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<MetadataResolver> getResolvers() {
- return ImmutableList.copyOf(resolvers);
+ return resolvers;
}
/**
@@ -90,7 +85,7 @@ public class ChainingMetadataResolver extends AbstractIdentifiableInitializableC
return;
}
- resolvers = new ArrayList<>(Collections2.filter(newResolvers, Predicates.notNull()));
+ resolvers = List.copyOf(newResolvers);
}
/** {@inheritDoc} */
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilterChain.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilterChain.java
index 83b0cca..68a9731 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilterChain.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilterChain.java
@@ -31,9 +31,6 @@ import org.opensaml.core.xml.XMLObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
/**
* A filter that allows the composition of {@link MetadataFilter}s. Filters will be executed on the given metadata
* document in the order they were added to the chain.
@@ -97,7 +94,7 @@ public class MetadataFilterChain implements MetadataFilter {
public void setFilters(@Nonnull @NonnullElements final List<MetadataFilter> newFilters) {
Constraint.isNotNull(newFilters, "Filter collection cannot be null");
- filters = new ArrayList<>(Collections2.filter(newFilters, Predicates.notNull()));
+ filters = new ArrayList<>(List.copyOf(newFilters));
}
}
\ No newline at end of file
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/ChainingNameIdentifierGenerator.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/ChainingNameIdentifierGenerator.java
index d80d322..7715bcb 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/ChainingNameIdentifierGenerator.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/ChainingNameIdentifierGenerator.java
@@ -36,9 +36,7 @@ import org.opensaml.saml.common.profile.NameIdentifierGenerator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.Collections2;
import com.google.common.collect.ListMultimap;
/**
@@ -77,14 +75,13 @@ public class ChainingNameIdentifierGenerator<NameIdType extends SAMLObject>
Constraint.isNotNull(generators, "NameIdentifierGenerator list cannot be null");
nameIdGeneratorMap.clear();
- for (final NameIdentifierGenerator<NameIdType> generator
- : Collections2.filter(generators, Predicates.notNull())) {
+ for (final NameIdentifierGenerator<NameIdType> generator : generators) {
if (generator instanceof FormatSpecificNameIdentifierGenerator) {
nameIdGeneratorMap.put(
((FormatSpecificNameIdentifierGenerator<NameIdType>) generator).getFormat(), generator);
} else {
log.warn("Unable to install NameIdentifierGenerator of type {}, not format-specific",
- generator.getClass().getName());
+ generator != null ? generator.getClass().getName() : "null");
}
}
}
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 ad02441..5136938 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
@@ -19,6 +19,7 @@ package org.opensaml.saml.metadata.resolver.filter.impl;
import java.util.Collection;
+import java.util.List;
import java.util.Map;
import java.util.function.Predicate;
@@ -51,9 +52,7 @@ import org.opensaml.security.credential.UsageType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.Collections2;
import com.google.common.collect.Multimap;
/**
@@ -94,7 +93,7 @@ public class AlgorithmFilter extends AbstractInitializableComponent implements M
applyMap = ArrayListMultimap.create(rules.size(), 1);
for (final Map.Entry<Predicate<EntityDescriptor>,Collection<XMLObject>> entry : rules.entrySet()) {
if (entry.getKey() != null && entry.getValue() != null) {
- applyMap.putAll(entry.getKey(), Collections2.filter(entry.getValue(), Predicates.notNull()));
+ applyMap.putAll(entry.getKey(), List.copyOf(entry.getValue()));
}
}
}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilter.java
index 14d5665..f80060d 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilter.java
@@ -50,9 +50,7 @@ import org.opensaml.saml.saml2.metadata.Extensions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.Collections2;
import com.google.common.collect.Multimap;
/**
@@ -105,7 +103,7 @@ public class EntityAttributesFilter extends AbstractInitializableComponent imple
applyMap = ArrayListMultimap.create(rules.size(), 1);
for (final Map.Entry<Predicate<EntityDescriptor>,Collection<Attribute>> entry : rules.entrySet()) {
if (entry.getKey() != null && entry.getValue() != null) {
- applyMap.putAll(entry.getKey(), Collections2.filter(entry.getValue(), Predicates.notNull()));
+ applyMap.putAll(entry.getKey(), List.copyOf(entry.getValue()));
}
}
}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NodeProcessingMetadataFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NodeProcessingMetadataFilter.java
index 6fdea93..95dfd01 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NodeProcessingMetadataFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NodeProcessingMetadataFilter.java
@@ -18,7 +18,6 @@
package org.opensaml.saml.metadata.resolver.filter.impl;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
@@ -36,9 +35,6 @@ import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
import org.opensaml.saml.metadata.resolver.filter.MetadataNodeProcessor;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
/**
* An implementation of {@link MetadataFilter} which applies a {@link MetadataNodeProcessor} to each element node in the
* metadata document tree. The node processors will be applied in the order of {@link List} provided by
@@ -51,13 +47,13 @@ public class NodeProcessingMetadataFilter extends AbstractInitializableComponent
/** Constructor. */
public NodeProcessingMetadataFilter() {
- processors = Collections.emptyList();
+ processors = new ArrayList<>();
}
/**
* Get the list of metadata node processors.
*
- * @return the list of metadata node processors.
+ * @return the list of metadata node processors
*/
@Nonnull @NonnullElements @Live public List<MetadataNodeProcessor> getNodeProcessors() {
return processors;
@@ -73,7 +69,7 @@ public class NodeProcessingMetadataFilter extends AbstractInitializableComponent
ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
Constraint.isNotNull(newProcessors, "MetadataNodeProcessor list cannot be null");
- processors = new ArrayList<>(Collections2.filter(newProcessors, Predicates.notNull()));
+ processors = new ArrayList<>(List.copyOf(newProcessors));
}
/** {@inheritDoc} */
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java
index 18dd24e..246a34a 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java
@@ -20,7 +20,6 @@ package org.opensaml.saml.metadata.resolver.impl;
import java.time.Instant;
import java.util.Collections;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
@@ -41,9 +40,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.base.Optional;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
@@ -115,7 +111,7 @@ public abstract class AbstractBatchMetadataResolver extends AbstractMetadataReso
* @return the set of configured indexes
*/
@Nonnull @NonnullElements @Unmodifiable @NotLive public Set<MetadataIndex> getIndexes() {
- return ImmutableSet.copyOf(indexes);
+ return indexes;
}
/**
@@ -128,8 +124,7 @@ public abstract class AbstractBatchMetadataResolver extends AbstractMetadataReso
if (newIndexes == null) {
indexes = Collections.emptySet();
} else {
- indexes = new HashSet<>();
- indexes.addAll(Collections2.filter(newIndexes, Predicates.notNull()));
+ indexes = Set.copyOf(newIndexes);
}
}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java
index c2d13b7..bf15cde 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java
@@ -67,8 +67,6 @@ import com.codahale.metrics.Timer.Context;
import com.google.common.base.MoreObjects;
import com.google.common.base.Optional;
import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.ImmutableSet;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
@@ -600,7 +598,7 @@ public abstract class AbstractDynamicMetadataResolver extends AbstractMetadataRe
* @return the set of configured indexes
*/
@Nonnull @NonnullElements @Unmodifiable @NotLive public Set<MetadataIndex> getIndexes() {
- return ImmutableSet.copyOf(indexes);
+ return indexes;
}
/**
@@ -610,11 +608,12 @@ public abstract class AbstractDynamicMetadataResolver extends AbstractMetadataRe
*/
public void setIndexes(@Nullable final Set<MetadataIndex> newIndexes) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+ ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
+
if (newIndexes == null) {
indexes = Collections.emptySet();
} else {
- indexes = new HashSet<>();
- indexes.addAll(Collections2.filter(newIndexes, Predicates.notNull()));
+ indexes = Set.copyOf(newIndexes);
}
}
@@ -1284,7 +1283,7 @@ public abstract class AbstractDynamicMetadataResolver extends AbstractMetadataRe
}
if (getInitializationFromCachePredicate() == null) {
- setInitializationFromCachePredicate(Predicates.<EntityDescriptor>alwaysTrue());
+ setInitializationFromCachePredicate(Predicates.alwaysTrue());
}
persistentCacheInitMetrics = new PersistentCacheInitializationMetrics();
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilder.java
index 9cfd889..05f1538 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilder.java
@@ -17,7 +17,6 @@
package org.opensaml.saml.metadata.resolver.impl;
-import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
@@ -28,12 +27,11 @@ import org.opensaml.core.criterion.EntityIdCriterion;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
import com.google.common.escape.Escaper;
import com.google.common.net.UrlEscapers;
import net.shibboleth.utilities.java.support.annotation.ParameterName;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
@@ -101,7 +99,7 @@ public class MetadataQueryProtocolRequestURLBuilder implements Function<Criteria
*/
public MetadataQueryProtocolRequestURLBuilder(
@ParameterName(name="baseURL") @Nonnull @NotEmpty final String baseURL,
- @ParameterName(name="secondaryURLBuilders") @Nullable
+ @ParameterName(name="secondaryURLBuilders") @Nullable @NonnullElements
final List<MetadataQueryProtocolURLBuilder> secondaryURLBuilders) {
this(baseURL, null, secondaryURLBuilders);
}
@@ -116,7 +114,7 @@ public class MetadataQueryProtocolRequestURLBuilder implements Function<Criteria
public MetadataQueryProtocolRequestURLBuilder(
@ParameterName(name="baseURL") @Nonnull @NotEmpty final String baseURL,
@ParameterName(name="transform") @Nullable final Function<String,String> transform,
- @ParameterName(name="secondaryURLBuilders") @Nullable
+ @ParameterName(name="secondaryURLBuilders") @Nullable @NonnullElements
final List<MetadataQueryProtocolURLBuilder> secondaryURLBuilders
) {
base = Constraint.isNotNull(StringSupport.trimOrNull(baseURL), "Base URL was null or empty");
@@ -129,7 +127,7 @@ public class MetadataQueryProtocolRequestURLBuilder implements Function<Criteria
transformer = transform;
if (secondaryURLBuilders != null) {
- urlBuilders = new ArrayList<>(Collections2.filter(secondaryURLBuilders, Predicates.notNull()));
+ urlBuilders = List.copyOf(secondaryURLBuilders);
}
}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/SAMLArtifactMetadataIndex.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/SAMLArtifactMetadataIndex.java
index 0db710b..cc8bfc8 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/SAMLArtifactMetadataIndex.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/SAMLArtifactMetadataIndex.java
@@ -21,7 +21,6 @@ import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
@@ -53,10 +52,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.base.MoreObjects;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.Lists;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.collection.LazySet;
import net.shibboleth.utilities.java.support.logic.Constraint;
@@ -69,7 +66,7 @@ import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
public class SAMLArtifactMetadataIndex implements MetadataIndex {
/** Indexing function instance to use. */
- private List<Function<EntityDescriptor, Set<MetadataIndexKey>>> indexingFunctions;
+ @Nonnull @NonnullElements private List<Function<EntityDescriptor, Set<MetadataIndexKey>>> indexingFunctions;
/**
* Constructor.
@@ -84,7 +81,7 @@ public class SAMLArtifactMetadataIndex implements MetadataIndex {
* </p>
*/
public SAMLArtifactMetadataIndex() {
- this(Lists.<Function<EntityDescriptor, Set<MetadataIndexKey>>>newArrayList(
+ this(Arrays.asList(
new EntityIDToSHA1SourceIDIndexingFunction(),
new SourceIDExtensionIndexingFunction(),
new SourceLocationIndexingFunction()
@@ -98,10 +95,9 @@ public class SAMLArtifactMetadataIndex implements MetadataIndex {
*/
public SAMLArtifactMetadataIndex(
@Nonnull final List<Function<EntityDescriptor, Set<MetadataIndexKey>>> descriptorIndexingFunctions) {
- indexingFunctions = new ArrayList<>(Collections2.filter(
- Constraint.isNotNull(descriptorIndexingFunctions,
- "EntityDescriptor indexing functions list may not be null"),
- Predicates.notNull()));
+ indexingFunctions = List.copyOf(
+ Constraint.isNotNull(descriptorIndexingFunctions,
+ "EntityDescriptor indexing functions list may not be null"));
Constraint.isNotEmpty(indexingFunctions, "EntityDescriptor indexing functions list may not be empty");
}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddStatusToResponse.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddStatusToResponse.java
index 531fb55..d999d73 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddStatusToResponse.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddStatusToResponse.java
@@ -17,7 +17,6 @@
package org.opensaml.saml.saml1.profile.impl;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
@@ -55,7 +54,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
/**
* Action that sets {@link Status} content in a {@link Response} obtained from
@@ -160,8 +158,7 @@ public class AddStatusToResponse extends AbstractProfileAction {
public void setStatusCodes(@Nonnull @NonnullElements final List<QName> codes) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- Constraint.isNotNull(codes, "Status code list cannot be null");
- defaultStatusCodes = new ArrayList<>(Collections2.filter(codes, Predicates.notNull()));
+ defaultStatusCodes = List.copyOf(Constraint.isNotNull(codes, "Status code list cannot be null"));
}
/**
@@ -301,8 +298,7 @@ public class AddStatusToResponse extends AbstractProfileAction {
for (final Map.Entry<String,List<QName>> entry : mappings.entrySet()) {
final String event = StringSupport.trimOrNull(entry.getKey());
if (event != null && entry.getValue() != null) {
- codeMappings.put(event, new ArrayList<>(Collections2.filter(entry.getValue(),
- Predicates.notNull())));
+ codeMappings.put(event, List.copyOf(entry.getValue()));
}
}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddSubjectConfirmationToSubjects.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddSubjectConfirmationToSubjects.java
index ca9eb7c..af63f7c 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddSubjectConfirmationToSubjects.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddSubjectConfirmationToSubjects.java
@@ -17,9 +17,9 @@
package org.opensaml.saml.saml1.profile.impl;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.List;
import java.util.Objects;
import java.util.function.Function;
@@ -52,9 +52,6 @@ import org.opensaml.saml.saml1.core.SubjectStatement;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
/**
* Action that builds {@link SubjectConfirmation} and adds it to the {@link Subject} of all the statements
* in all the assertions found in a {@link Response}. The message to update is returned by a lookup
@@ -144,7 +141,7 @@ public class AddSubjectConfirmationToSubjects extends AbstractProfileAction {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
Constraint.isNotEmpty(methods, "Confirmation method collection cannot be null or empty");
- confirmationMethods = new ArrayList<>(Collections2.filter(methods, Predicates.notNull()));
+ confirmationMethods = List.copyOf(methods);
}
/** {@inheritDoc} */
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddStatusToResponse.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddStatusToResponse.java
index 4babb7b..1d03b47 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddStatusToResponse.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddStatusToResponse.java
@@ -17,7 +17,6 @@
package org.opensaml.saml.saml2.profile.impl;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
@@ -54,7 +53,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
/**
* Action that sets {@link Status} content in a {@link StatusResponseType} obtained from
@@ -161,8 +159,7 @@ public class AddStatusToResponse extends AbstractProfileAction {
public void setStatusCodes(@Nonnull @NonnullElements final List<String> codes) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- Constraint.isNotNull(codes, "Status code list cannot be null");
- defaultStatusCodes = new ArrayList<>(Collections2.filter(codes, Predicates.notNull()));
+ defaultStatusCodes = List.copyOf(Constraint.isNotNull(codes, "Status code list cannot be null"));
}
/**
@@ -302,8 +299,7 @@ public class AddStatusToResponse extends AbstractProfileAction {
for (final Map.Entry<String,List<String>> entry : mappings.entrySet()) {
final String event = StringSupport.trimOrNull(entry.getKey());
if (event != null && entry.getValue() != null) {
- codeMappings.put(event, new ArrayList<>(Collections2.filter(entry.getValue(),
- Predicates.notNull())));
+ codeMappings.put(event, List.copyOf(entry.getValue()));
}
}
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilderTest.java
index b2cad24..b3b2f3a 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilderTest.java
@@ -64,9 +64,6 @@ public class MetadataQueryProtocolRequestURLBuilderTest {
function = new MetadataQueryProtocolRequestURLBuilder("http://metadata.example.org/service", Lists.newArrayList(bar,foo));
Assert.assertEquals(function.apply(new CriteriaSet(new SimpleStringCriterion("will-be-ignored"))), "http://metadata.example.org/service/tags/bar");
- function = new MetadataQueryProtocolRequestURLBuilder("http://metadata.example.org/service", Lists.newArrayList(null, null, foo, bar));
- Assert.assertEquals(function.apply(new CriteriaSet(new SimpleStringCriterion("will-be-ignored"))), "http://metadata.example.org/service/tags/foo");
-
function = new MetadataQueryProtocolRequestURLBuilder("http://metadata.example.org/service", Lists.newArrayList(noValue, foo, bar));
Assert.assertEquals(function.apply(new CriteriaSet(new SimpleStringCriterion("will-be-ignored"))), "http://metadata.example.org/service/tags/foo");
}
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityConfigurationCriterion.java b/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityConfigurationCriterion.java
index 070bf01..758b5f8 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityConfigurationCriterion.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityConfigurationCriterion.java
@@ -17,8 +17,6 @@
package org.opensaml.security.httpclient;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import javax.annotation.Nonnull;
@@ -30,10 +28,6 @@ import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.resolver.Criterion;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.ImmutableList;
-
/**
* Criterion which holds one or more instances of {@link HttpClientSecurityConfiguration}.
*/
@@ -50,8 +44,8 @@ public class HttpClientSecurityConfigurationCriterion implements Criterion {
public HttpClientSecurityConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty final
List<HttpClientSecurityConfiguration> configurations) {
Constraint.isNotNull(configurations, "List of configurations cannot be null");
- configs = new ArrayList<>(Collections2.filter(configurations, Predicates.notNull()));
- Constraint.isGreaterThanOrEqual(1, configs.size(), "At least one configuration is required");
+ configs = List.copyOf(configurations);
+ Constraint.isNotEmpty(configs, "At least one configuration is required");
}
@@ -63,8 +57,8 @@ public class HttpClientSecurityConfigurationCriterion implements Criterion {
public HttpClientSecurityConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty final
HttpClientSecurityConfiguration... configurations) {
Constraint.isNotNull(configurations, "List of configurations cannot be null");
- configs = new ArrayList<>(Collections2.filter(Arrays.asList(configurations), Predicates.notNull()));
- Constraint.isGreaterThanOrEqual(1, configs.size(), "At least one configuration is required");
+ configs = List.of(configurations);
+ Constraint.isNotEmpty(configs, "At least one configuration is required");
}
/**
@@ -73,7 +67,7 @@ public class HttpClientSecurityConfigurationCriterion implements Criterion {
*/
@Nonnull @NonnullElements @NotLive @Unmodifiable @NotEmpty
public List<HttpClientSecurityConfiguration> getConfigurations() {
- return ImmutableList.copyOf(configs);
+ return configs;
}
/** {@inheritDoc} */
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/x509/tls/CertificateNameOptions.java b/opensaml-security-api/src/main/java/org/opensaml/security/x509/tls/CertificateNameOptions.java
index 1910d76..ede1043 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/x509/tls/CertificateNameOptions.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/x509/tls/CertificateNameOptions.java
@@ -18,7 +18,6 @@
package org.opensaml.security.x509.tls;
import java.util.Collections;
-import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
@@ -32,10 +31,6 @@ import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
import org.opensaml.security.x509.InternalX500DNHandler;
import org.opensaml.security.x509.X500DNHandler;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.ImmutableSet;
-
/**
* Options for deriving message context issuer names from an client TLS X.509 certificate.
*/
@@ -109,7 +104,7 @@ public class CertificateNameOptions implements Cloneable {
* @return Returns the subjectAltNames.
*/
@Nonnull @NonnullElements @NotLive @Unmodifiable public Set<Integer> getSubjectAltNames() {
- return ImmutableSet.copyOf(subjectAltNames);
+ return subjectAltNames;
}
/**
@@ -118,14 +113,12 @@ public class CertificateNameOptions implements Cloneable {
*
* @param names the set of types of subject alternative names
*/
- public void setSubjectAltNames(@Nullable final Set<Integer> names) {
+ public void setSubjectAltNames(@Nullable @NonnullElements final Set<Integer> names) {
if (names == null) {
subjectAltNames = Collections.emptySet();
- return;
+ } else {
+ subjectAltNames = Set.copyOf(names);
}
-
- subjectAltNames = new HashSet<>();
- subjectAltNames.addAll(Collections2.filter(names, Predicates.notNull()));
}
/**
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/x509/tls/ClientTLSValidationConfigurationCriterion.java b/opensaml-security-api/src/main/java/org/opensaml/security/x509/tls/ClientTLSValidationConfigurationCriterion.java
index 14fcc45..7c9ce48 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/x509/tls/ClientTLSValidationConfigurationCriterion.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/x509/tls/ClientTLSValidationConfigurationCriterion.java
@@ -17,8 +17,6 @@
package org.opensaml.security.x509.tls;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import javax.annotation.Nonnull;
@@ -30,10 +28,6 @@ import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.resolver.Criterion;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.ImmutableList;
-
/**
* Criterion which holds one or more instances of {@link ClientTLSValidationConfiguration}.
*/
@@ -49,10 +43,8 @@ public class ClientTLSValidationConfigurationCriterion implements Criterion {
*/
public ClientTLSValidationConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty final
List<ClientTLSValidationConfiguration> configurations) {
- Constraint.isNotNull(configurations, "List of configurations cannot be null");
- configs = new ArrayList<>(Collections2.filter(configurations, Predicates.notNull()));
- Constraint.isGreaterThanOrEqual(1, configs.size(), "At least one configuration is required");
-
+ configs = List.copyOf(Constraint.isNotNull(configurations, "List of configurations cannot be null"));
+ Constraint.isNotEmpty(configs, "At least one configuration is required");
}
/**
@@ -62,9 +54,8 @@ public class ClientTLSValidationConfigurationCriterion implements Criterion {
*/
public ClientTLSValidationConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty final
ClientTLSValidationConfiguration... configurations) {
- Constraint.isNotNull(configurations, "List of configurations cannot be null");
- configs = new ArrayList<>(Collections2.filter(Arrays.asList(configurations), Predicates.notNull()));
- Constraint.isGreaterThanOrEqual(1, configs.size(), "At least one configuration is required");
+ configs = List.of(Constraint.isNotNull(configurations, "List of configurations cannot be null"));
+ Constraint.isNotEmpty(configs, "At least one configuration is required");
}
/**
@@ -73,7 +64,7 @@ public class ClientTLSValidationConfigurationCriterion implements Criterion {
*/
@Nonnull @NonnullElements @NotLive @Unmodifiable @NotEmpty
public List<ClientTLSValidationConfiguration> getConfigurations() {
- return ImmutableList.copyOf(configs);
+ return configs;
}
/** {@inheritDoc} */
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/AbstractChainingCredentialResolver.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/AbstractChainingCredentialResolver.java
index 8e03bd3..08847b1 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/AbstractChainingCredentialResolver.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/AbstractChainingCredentialResolver.java
@@ -17,7 +17,6 @@
package org.opensaml.security.credential.impl;
-import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.NoSuchElementException;
@@ -37,10 +36,6 @@ import org.opensaml.security.credential.CredentialResolver;
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.ImmutableList;
-
/**
* An abstract implementation of {@link CredentialResolver} which chains together one or more underlying credential
* resolver implementations. Resolved credentials are returned from all underlying resolvers in the chain,
@@ -62,9 +57,8 @@ public abstract class AbstractChainingCredentialResolver<ResolverType extends Cr
*
* @param credResolvers the list of chained credential resolvers
*/
- public AbstractChainingCredentialResolver(@Nonnull final List<ResolverType> credResolvers) {
- Constraint.isNotNull(credResolvers, "CredentialResolver list cannot be null");
- resolvers = new ArrayList<>(Collections2.filter(credResolvers, Predicates.notNull()));
+ public AbstractChainingCredentialResolver(@Nonnull @NonnullElements final List<ResolverType> credResolvers) {
+ resolvers = List.copyOf(Constraint.isNotNull(credResolvers, "CredentialResolver list cannot be null"));
}
/**
@@ -73,7 +67,7 @@ public abstract class AbstractChainingCredentialResolver<ResolverType extends Cr
* @return the list of credential resolvers in the chain
*/
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<ResolverType> getResolverChain() {
- return ImmutableList.copyOf(resolvers);
+ return resolvers;
}
/** {@inheritDoc} */
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/trust/impl/ChainingTrustEngine.java b/opensaml-security-impl/src/main/java/org/opensaml/security/trust/impl/ChainingTrustEngine.java
index ce0fa80..26e297d 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/trust/impl/ChainingTrustEngine.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/trust/impl/ChainingTrustEngine.java
@@ -17,7 +17,6 @@
package org.opensaml.security.trust.impl;
-import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nonnull;
@@ -28,10 +27,6 @@ import org.opensaml.security.trust.TrustEngine;
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.ImmutableList;
-
import net.shibboleth.utilities.java.support.annotation.ParameterName;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
@@ -58,9 +53,9 @@ public class ChainingTrustEngine<TokenType> implements TrustEngine<TokenType> {
*
* @param chain the list of trust engines in the chain
*/
- public ChainingTrustEngine(@Nonnull @ParameterName(name="chain") final List<TrustEngine<? super TokenType>> chain) {
- Constraint.isNotNull(chain, "TrustEngine list cannot be null");
- engines = new ArrayList<>(Collections2.filter(chain, Predicates.notNull()));
+ public ChainingTrustEngine(
+ @Nonnull @NonnullElements @ParameterName(name="chain") final List<TrustEngine<? super TokenType>> chain) {
+ engines = List.copyOf(Constraint.isNotNull(chain, "TrustEngine list cannot be null"));
}
/**
@@ -69,7 +64,7 @@ public class ChainingTrustEngine<TokenType> implements TrustEngine<TokenType> {
* @return the modifiable list of trust engines in the chain
*/
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<TrustEngine<? super TokenType>> getChain() {
- return ImmutableList.copyOf(engines);
+ return engines;
}
/** {@inheritDoc} */
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/BasicX509CredentialNameEvaluator.java b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/BasicX509CredentialNameEvaluator.java
index fb81d6f..eb6e32f 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/BasicX509CredentialNameEvaluator.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/BasicX509CredentialNameEvaluator.java
@@ -41,10 +41,7 @@ import org.opensaml.security.x509.X509Support;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
import com.google.common.base.Strings;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.ImmutableSet;
/**
* A basic implementaion of {@link X509CredentialNameEvaluator} which evaluates various identifiers
@@ -123,7 +120,7 @@ public class BasicX509CredentialNameEvaluator implements X509CredentialNameEvalu
* @return the immutable set of alt name identifiers
*/
@Nonnull @NonnullElements @NotLive @Unmodifiable public Set<Integer> getSubjectAltNameTypes() {
- return ImmutableSet.copyOf(subjectAltNameTypes);
+ return subjectAltNameTypes;
}
/**
@@ -134,12 +131,11 @@ public class BasicX509CredentialNameEvaluator implements X509CredentialNameEvalu
*
* @param nameTypes the new set of alt name identifiers
*/
- public void setSubjectAltNameTypes(@Nullable final Set<Integer> nameTypes) {
+ public void setSubjectAltNameTypes(@Nullable @NonnullElements final Set<Integer> nameTypes) {
if (nameTypes == null) {
subjectAltNameTypes = Collections.emptySet();
} else {
- subjectAltNameTypes = new HashSet<>();
- subjectAltNameTypes.addAll(Collections2.filter(nameTypes, Predicates.notNull()));
+ subjectAltNameTypes = Set.copyOf(nameTypes);
}
}
diff --git a/opensaml-security-impl/src/test/java/org/opensaml/security/trust/impl/ChainingTrustEngineTest.java b/opensaml-security-impl/src/test/java/org/opensaml/security/trust/impl/ChainingTrustEngineTest.java
index d7efe7e..53b322e 100644
--- a/opensaml-security-impl/src/test/java/org/opensaml/security/trust/impl/ChainingTrustEngineTest.java
+++ b/opensaml-security-impl/src/test/java/org/opensaml/security/trust/impl/ChainingTrustEngineTest.java
@@ -86,17 +86,7 @@ public class ChainingTrustEngineTest {
engine = new ChainingTrustEngine<>(chain);
Assert.assertTrue(engine.validate(token, criteriaSet), "SuperEngine evaled token as trusted");
}
-
- @Test
- public void testNullEngineOK() throws SecurityException {
- chain.add( new FooEngine(Boolean.FALSE));
- chain.add( null );
- chain.add( new FooEngine(Boolean.TRUE));
- engine = new ChainingTrustEngine<>(chain);
- Assert.assertTrue(engine.validate(token, criteriaSet),
- "Engine # 3 evaled token as trusted with intervening null engine");
- }
-
+
@Test(expectedExceptions=SecurityException.class)
public void testException() throws SecurityException {
chain.add( new FooEngine(Boolean.FALSE));
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/SOAPClientPipelineNameMappingFunction.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/SOAPClientPipelineNameMappingFunction.java
index f4883d5..c57116a 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/SOAPClientPipelineNameMappingFunction.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/SOAPClientPipelineNameMappingFunction.java
@@ -17,7 +17,6 @@
package org.opensaml.soap.client.messaging;
-import java.util.HashMap;
import java.util.Map;
import java.util.function.Function;
@@ -33,9 +32,6 @@ import org.opensaml.soap.client.SOAPClientContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Maps;
-
import net.shibboleth.utilities.java.support.annotation.ParameterName;
import net.shibboleth.utilities.java.support.logic.Constraint;
@@ -78,10 +74,7 @@ public class SOAPClientPipelineNameMappingFunction<T> implements Function<Messag
@Nullable @ParameterName(name="lookupStrategy")
final ContextDataLookupFunction<MessageContext, SOAPClientContext> lookupStrategy) {
- Constraint.isNotNull(mappings, "Delegate mappings may not be null");
- delegateMap = new HashMap<>(Maps.filterKeys(
- Maps.filterValues(mappings, Predicates.notNull()),
- Predicates.notNull()));
+ delegateMap = Map.copyOf(Constraint.isNotNull(mappings, "Delegate mappings may not be null"));
if (lookupStrategy != null) {
soapClientContextLookup = lookupStrategy;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/SOAPClientPipelineNameMappingPredicate.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/SOAPClientPipelineNameMappingPredicate.java
index 63a43fa..24967e9 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/SOAPClientPipelineNameMappingPredicate.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/SOAPClientPipelineNameMappingPredicate.java
@@ -17,7 +17,6 @@
package org.opensaml.soap.client.messaging;
-import java.util.HashMap;
import java.util.Map;
import java.util.function.Function;
import java.util.function.Predicate;
@@ -34,9 +33,6 @@ import org.opensaml.soap.client.SOAPClientContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Maps;
-
import net.shibboleth.utilities.java.support.annotation.ParameterName;
import net.shibboleth.utilities.java.support.logic.Constraint;
@@ -77,10 +73,7 @@ public class SOAPClientPipelineNameMappingPredicate implements Predicate<Message
@Nullable @ParameterName(name="lookupStrategy")
final ContextDataLookupFunction<MessageContext, SOAPClientContext> lookupStrategy) {
- Constraint.isNotNull(mappings, "Delegate mappings may not be null");
- delegateMap = new HashMap<>(Maps.filterKeys(
- Maps.filterValues(mappings, Predicates.notNull()),
- Predicates.notNull()));
+ delegateMap = Map.copyOf(Constraint.isNotNull(mappings, "Delegate mappings may not be null"));
if (lookupStrategy != null) {
soapClientContextLookup = lookupStrategy;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPSupport.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPSupport.java
index 999b1d8..d2452e3 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPSupport.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPSupport.java
@@ -26,6 +26,7 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.xml.namespace.QName;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.collection.LazyList;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
@@ -46,9 +47,6 @@ import org.opensaml.soap.soap11.FaultCode;
import org.opensaml.soap.soap11.FaultString;
import org.opensaml.soap.soap11.MustUnderstandBearing;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Iterables;
-
/**
* Helper methods for working with SOAP.
*/
@@ -406,7 +404,7 @@ public final class SOAPSupport {
* @return the new Fault element object
*/
public static Fault buildSOAP11Fault(@Nonnull final QName faultCode, @Nonnull final String faultString,
- @Nullable final String faultActor, @Nullable final List<XMLObject> detailChildren,
+ @Nullable final String faultActor, @Nullable @NonnullElements final List<XMLObject> detailChildren,
@Nullable final Map<QName, String> detailAttributes) {
Constraint.isNotNull(faultCode, "faultcode cannot be null");
Constraint.isNotNull(faultString, "faultstring cannot be null");
@@ -437,10 +435,9 @@ public final class SOAPSupport {
if (detailChildren != null && !detailChildren.isEmpty()) {
detailObj = (Detail) builderFactory.getBuilder(Detail.DEFAULT_ELEMENT_NAME)
.buildObject(Detail.DEFAULT_ELEMENT_NAME);
- for (final XMLObject xo : Iterables.filter(detailChildren, Predicates.notNull())) {
- detailObj.getUnknownXMLObjects().add(xo);
- }
+ detailObj.getUnknownXMLObjects().addAll(detailChildren);
}
+
if (detailAttributes != null && !detailAttributes.isEmpty()) {
if (detailObj == null) {
detailObj = (Detail) builderFactory.getBuilder(Detail.DEFAULT_ELEMENT_NAME)
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/LoadClientStorageServices.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/LoadClientStorageServices.java
index 34df2bf..bf1ddbc 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/LoadClientStorageServices.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/LoadClientStorageServices.java
@@ -21,6 +21,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import javax.annotation.Nonnull;
@@ -37,9 +38,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.base.Optional;
-import com.google.common.base.Predicates;
import com.google.common.base.Strings;
-import com.google.common.collect.Collections2;
import com.google.common.collect.Iterables;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
@@ -108,7 +107,7 @@ public class LoadClientStorageServices extends AbstractProfileAction {
Constraint.isNotNull(services, "StorageService collection cannot be null");
storageServices = new HashMap<>(services.size());
- for (final ClientStorageService ss : Collections2.filter(services, Predicates.notNull())) {
+ for (final ClientStorageService ss : List.copyOf(services)) {
storageServices.put(ss.getStorageName(), ss);
}
}
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/PopulateClientStorageLoadContext.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/PopulateClientStorageLoadContext.java
index 1a97456..24a9cc1 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/PopulateClientStorageLoadContext.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/PopulateClientStorageLoadContext.java
@@ -21,6 +21,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.List;
import javax.annotation.Nonnull;
@@ -30,9 +31,6 @@ import org.opensaml.profile.context.ProfileRequestContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
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.ComponentSupport;
@@ -72,8 +70,7 @@ public class PopulateClientStorageLoadContext extends AbstractProfileAction {
public void setStorageServices(@Nonnull @NonnullElements final Collection<ClientStorageService> services) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- Constraint.isNotNull(services, "StorageService collection cannot be null");
- storageServices = new ArrayList<>(Collections2.filter(services, Predicates.notNull()));
+ storageServices = List.copyOf(Constraint.isNotNull(services, "StorageService collection cannot be null"));
}
/** {@inheritDoc} */
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/PopulateClientStorageSaveContext.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/PopulateClientStorageSaveContext.java
index 13dfb14..eab2bbb 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/PopulateClientStorageSaveContext.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/PopulateClientStorageSaveContext.java
@@ -17,9 +17,10 @@
package org.opensaml.storage.impl.client;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
import javax.annotation.Nonnull;
@@ -29,9 +30,6 @@ import org.opensaml.profile.context.ProfileRequestContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
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.ComponentSupport;
@@ -71,8 +69,7 @@ public class PopulateClientStorageSaveContext extends AbstractProfileAction {
public void setStorageServices(@Nonnull @NonnullElements final Collection<ClientStorageService> services) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- Constraint.isNotNull(services, "StorageService collection cannot be null");
- storageServices = new ArrayList<>(Collections2.filter(services, Predicates.notNull()));
+ storageServices = List.copyOf(Constraint.isNotNull(services, "StorageService collection cannot be null"));
}
/** {@inheritDoc} */
@@ -111,9 +108,8 @@ public class PopulateClientStorageSaveContext extends AbstractProfileAction {
profileRequestContext.addSubcontext(saveCtx, true);
if (log.isDebugEnabled()) {
- final Collection<String> ids =
- Collections2.transform(saveCtx.getStorageOperations(),
- ClientStorageServiceOperation::getStorageServiceID);
+ final Collection<String> ids = saveCtx.getStorageOperations().stream().map(
+ ClientStorageServiceOperation::getStorageServiceID).collect(Collectors.toList());
log.debug("{} ClientStorageServices requiring save: {}", getLogPrefix(), ids);
}
}
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/SaveCookieBackedClientStorageServices.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/SaveCookieBackedClientStorageServices.java
index 4850704..aa4692a 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/SaveCookieBackedClientStorageServices.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/SaveCookieBackedClientStorageServices.java
@@ -20,6 +20,7 @@ package org.opensaml.storage.impl.client;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import javax.annotation.Nonnull;
@@ -33,8 +34,6 @@ import org.opensaml.storage.impl.client.ClientStorageService.ClientStorageSource
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
import com.google.common.escape.Escaper;
import com.google.common.net.UrlEscapers;
@@ -83,7 +82,7 @@ public class SaveCookieBackedClientStorageServices
Constraint.isNotNull(services, "StorageService collection cannot be null");
storageServices = new HashMap<>(services.size());
- for (final ClientStorageService ss : Collections2.filter(services, Predicates.notNull())) {
+ for (final ClientStorageService ss : List.copyOf(services)) {
storageServices.put(ss.getId(), ss);
}
}
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/DecryptionConfigurationCriterion.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/DecryptionConfigurationCriterion.java
index 18674fd..b1b3802 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/DecryptionConfigurationCriterion.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/DecryptionConfigurationCriterion.java
@@ -17,8 +17,6 @@
package org.opensaml.xmlsec.criterion;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import javax.annotation.Nonnull;
@@ -32,10 +30,6 @@ import net.shibboleth.utilities.java.support.resolver.Criterion;
import org.opensaml.xmlsec.DecryptionConfiguration;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.ImmutableList;
-
/**
* Criterion which holds one or more instances of {@link DecryptionConfiguration}.
*/
@@ -51,9 +45,8 @@ public class DecryptionConfigurationCriterion implements Criterion {
*/
public DecryptionConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty final
List<DecryptionConfiguration> configurations) {
- Constraint.isNotNull(configurations, "List of configurations cannot be null");
- configs = new ArrayList<>(Collections2.filter(configurations, Predicates.notNull()));
- Constraint.isGreaterThanOrEqual(1, configs.size(), "At least one configuration is required");
+ configs = List.copyOf(Constraint.isNotNull(configurations, "List of configurations cannot be null"));
+ Constraint.isNotEmpty(configs, "At least one configuration is required");
}
@@ -64,9 +57,8 @@ public class DecryptionConfigurationCriterion implements Criterion {
*/
public DecryptionConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty final
DecryptionConfiguration... configurations) {
- Constraint.isNotNull(configurations, "List of configurations cannot be null");
- configs = new ArrayList<>(Collections2.filter(Arrays.asList(configurations), Predicates.notNull()));
- Constraint.isGreaterThanOrEqual(1, configs.size(), "At least one configuration is required");
+ configs = List.of(Constraint.isNotNull(configurations, "List of configurations cannot be null"));
+ Constraint.isNotEmpty(configs, "At least one configuration is required");
}
/**
@@ -76,7 +68,7 @@ public class DecryptionConfigurationCriterion implements Criterion {
*/
@Nonnull @NonnullElements @NotLive @Unmodifiable @NotEmpty
public List<DecryptionConfiguration> getConfigurations() {
- return ImmutableList.copyOf(configs);
+ return configs;
}
/** {@inheritDoc} */
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/EncryptionConfigurationCriterion.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/EncryptionConfigurationCriterion.java
index b34140d..be0155d 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/EncryptionConfigurationCriterion.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/EncryptionConfigurationCriterion.java
@@ -17,8 +17,6 @@
package org.opensaml.xmlsec.criterion;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import javax.annotation.Nonnull;
@@ -32,10 +30,6 @@ import net.shibboleth.utilities.java.support.resolver.Criterion;
import org.opensaml.xmlsec.EncryptionConfiguration;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.ImmutableList;
-
/**
* Criterion which holds one or more instances of {@link EncryptionConfiguration}.
*/
@@ -51,9 +45,8 @@ public class EncryptionConfigurationCriterion implements Criterion {
*/
public EncryptionConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty final
List<EncryptionConfiguration> configurations) {
- Constraint.isNotNull(configurations, "List of configurations cannot be null");
- configs = new ArrayList<>(Collections2.filter(configurations, Predicates.notNull()));
- Constraint.isGreaterThanOrEqual(1, configs.size(), "At least one configuration is required");
+ configs = List.copyOf(Constraint.isNotNull(configurations, "List of configurations cannot be null"));
+ Constraint.isNotEmpty(configs, "At least one configuration is required");
}
@@ -64,9 +57,8 @@ public class EncryptionConfigurationCriterion implements Criterion {
*/
public EncryptionConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty final
EncryptionConfiguration... configurations) {
- Constraint.isNotNull(configurations, "List of configurations cannot be null");
- configs = new ArrayList<>(Collections2.filter(Arrays.asList(configurations), Predicates.notNull()));
- Constraint.isGreaterThanOrEqual(1, configs.size(), "At least one configuration is required");
+ configs = List.of(Constraint.isNotNull(configurations, "List of configurations cannot be null"));
+ Constraint.isNotEmpty(configs, "At least one configuration is required");
}
/**
@@ -75,7 +67,7 @@ public class EncryptionConfigurationCriterion implements Criterion {
*/
@Nonnull @NonnullElements @NotLive @Unmodifiable @NotEmpty
public List<EncryptionConfiguration> getConfigurations() {
- return ImmutableList.copyOf(configs);
+ return configs;
}
/** {@inheritDoc} */
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/SignatureSigningConfigurationCriterion.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/SignatureSigningConfigurationCriterion.java
index eca63f1..8b87c9a 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/SignatureSigningConfigurationCriterion.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/SignatureSigningConfigurationCriterion.java
@@ -17,8 +17,6 @@
package org.opensaml.xmlsec.criterion;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import javax.annotation.Nonnull;
@@ -32,10 +30,6 @@ import net.shibboleth.utilities.java.support.resolver.Criterion;
import org.opensaml.xmlsec.SignatureSigningConfiguration;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.ImmutableList;
-
/**
* Criterion which holds one or more instances of {@link SignatureSigningConfiguration}.
*/
@@ -51,9 +45,8 @@ public class SignatureSigningConfigurationCriterion implements Criterion {
*/
public SignatureSigningConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty final
List<SignatureSigningConfiguration> configurations) {
- Constraint.isNotNull(configurations, "List of configurations cannot be null");
- configs = new ArrayList<>(Collections2.filter(configurations, Predicates.notNull()));
- Constraint.isGreaterThanOrEqual(1, configs.size(), "At least one configuration is required");
+ configs = List.copyOf(Constraint.isNotNull(configurations, "List of configurations cannot be null"));
+ Constraint.isNotEmpty(configs, "At least one configuration is required");
}
@@ -64,9 +57,8 @@ public class SignatureSigningConfigurationCriterion implements Criterion {
*/
public SignatureSigningConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty final
SignatureSigningConfiguration... configurations) {
- Constraint.isNotNull(configurations, "List of configurations cannot be null");
- configs = new ArrayList<>(Collections2.filter(Arrays.asList(configurations), Predicates.notNull()));
- Constraint.isGreaterThanOrEqual(1, configs.size(), "At least one configuration is required");
+ configs = List.of(Constraint.isNotNull(configurations, "List of configurations cannot be null"));
+ Constraint.isNotEmpty(configs, "At least one configuration is required");
}
/**
@@ -75,7 +67,7 @@ public class SignatureSigningConfigurationCriterion implements Criterion {
*/
@Nonnull @NonnullElements @NotLive @Unmodifiable @NotEmpty
public List<SignatureSigningConfiguration> getConfigurations() {
- return ImmutableList.copyOf(configs);
+ return configs;
}
/** {@inheritDoc} */
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/SignatureValidationConfigurationCriterion.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/SignatureValidationConfigurationCriterion.java
index 497b0d8..d12e2d6 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/SignatureValidationConfigurationCriterion.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/SignatureValidationConfigurationCriterion.java
@@ -17,8 +17,6 @@
package org.opensaml.xmlsec.criterion;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import javax.annotation.Nonnull;
@@ -32,10 +30,6 @@ import net.shibboleth.utilities.java.support.resolver.Criterion;
import org.opensaml.xmlsec.SignatureValidationConfiguration;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.ImmutableList;
-
/**
* Criterion which holds one or more instances of {@link SignatureValidationConfiguration}.
*/
@@ -51,9 +45,8 @@ public class SignatureValidationConfigurationCriterion implements Criterion {
*/
public SignatureValidationConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty final
List<SignatureValidationConfiguration> configurations) {
- Constraint.isNotNull(configurations, "List of configurations cannot be null");
- configs = new ArrayList<>(Collections2.filter(configurations, Predicates.notNull()));
- Constraint.isGreaterThanOrEqual(1, configs.size(), "At least one configuration is required");
+ configs = List.copyOf(Constraint.isNotNull(configurations, "List of configurations cannot be null"));
+ Constraint.isNotEmpty(configs, "At least one configuration is required");
}
@@ -64,9 +57,8 @@ public class SignatureValidationConfigurationCriterion implements Criterion {
*/
public SignatureValidationConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty final
SignatureValidationConfiguration... configurations) {
- Constraint.isNotNull(configurations, "List of configurations cannot be null");
- configs = new ArrayList<>(Collections2.filter(Arrays.asList(configurations), Predicates.notNull()));
- Constraint.isGreaterThanOrEqual(1, configs.size(), "At least one configuration is required");
+ configs = List.of(Constraint.isNotNull(configurations, "List of configurations cannot be null"));
+ Constraint.isNotEmpty(configs, "At least one configuration is required");
}
/**
@@ -75,7 +67,7 @@ public class SignatureValidationConfigurationCriterion implements Criterion {
*/
@Nonnull @NonnullElements @NotLive @Unmodifiable @NotEmpty
public List<SignatureValidationConfiguration> getConfigurations() {
- return ImmutableList.copyOf(configs);
+ return configs;
}
/** {@inheritDoc} */
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/ChainingEncryptedKeyResolver.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/ChainingEncryptedKeyResolver.java
index 9404804..b91626d 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/ChainingEncryptedKeyResolver.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/ChainingEncryptedKeyResolver.java
@@ -17,7 +17,6 @@
package org.opensaml.xmlsec.encryption.support;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -32,10 +31,6 @@ import org.opensaml.xmlsec.encryption.EncryptedKey;
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.ImmutableList;
-
import net.shibboleth.utilities.java.support.annotation.ParameterName;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
@@ -60,9 +55,9 @@ public class ChainingEncryptedKeyResolver extends AbstractEncryptedKeyResolver {
* @param encKeyResolvers the chain of encrypted key resolvers
*/
public ChainingEncryptedKeyResolver(
- @Nonnull @ParameterName(name="encKeyResolvers") final List<EncryptedKeyResolver> encKeyResolvers) {
- Constraint.isNotNull(encKeyResolvers, "List of EncryptedKeyResolvers cannot be null");
- resolvers = new ArrayList<>(Collections2.filter(encKeyResolvers, Predicates.notNull()));
+ @Nonnull @NonnullElements @ParameterName(name="encKeyResolvers")
+ final List<EncryptedKeyResolver> encKeyResolvers) {
+ resolvers = List.copyOf(Constraint.isNotNull(encKeyResolvers, "List of EncryptedKeyResolvers cannot be null"));
}
/**
@@ -72,11 +67,11 @@ public class ChainingEncryptedKeyResolver extends AbstractEncryptedKeyResolver {
* @param recipients the set of recipients
*/
public ChainingEncryptedKeyResolver(
- @Nonnull @ParameterName(name="encKeyResolvers") final List<EncryptedKeyResolver> encKeyResolvers,
+ @Nonnull @NonnullElements @ParameterName(name="encKeyResolvers")
+ final List<EncryptedKeyResolver> encKeyResolvers,
@Nullable @ParameterName(name="recipients") final Set<String> recipients) {
super(recipients);
- Constraint.isNotNull(encKeyResolvers, "List of EncryptedKeyResolvers cannot be null");
- resolvers = new ArrayList<>(Collections2.filter(encKeyResolvers, Predicates.notNull()));
+ resolvers = List.copyOf(Constraint.isNotNull(encKeyResolvers, "List of EncryptedKeyResolvers cannot be null"));
}
/**
@@ -86,7 +81,8 @@ public class ChainingEncryptedKeyResolver extends AbstractEncryptedKeyResolver {
* @param recipient the recipient
*/
public ChainingEncryptedKeyResolver(
- @Nonnull @ParameterName(name="encKeyResolvers") final List<EncryptedKeyResolver> encKeyResolvers,
+ @Nonnull @NonnullElements @ParameterName(name="encKeyResolvers")
+ final List<EncryptedKeyResolver> encKeyResolvers,
@Nullable @ParameterName(name="recipient") final String recipient) {
this(encKeyResolvers, Collections.singleton(recipient));
}
@@ -97,7 +93,7 @@ public class ChainingEncryptedKeyResolver extends AbstractEncryptedKeyResolver {
* @return a list of EncryptedKeyResolver instances
*/
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<EncryptedKeyResolver> getResolverChain() {
- return ImmutableList.copyOf(resolvers);
+ return resolvers;
}
/** {@inheritDoc} */
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionConfiguration.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionConfiguration.java
index d04feaa..aa2521c 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionConfiguration.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionConfiguration.java
@@ -17,7 +17,6 @@
package org.opensaml.xmlsec.impl;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -37,9 +36,6 @@ import org.opensaml.xmlsec.keyinfo.NamedKeyInfoGeneratorManager;
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.ImmutableList;
/**
* Basic implementation of {@link EncryptionConfiguration}.
@@ -94,7 +90,7 @@ public class BasicEncryptionConfiguration extends BasicWhitelistBlacklistConfigu
/** {@inheritDoc} */
@Override
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<Credential> getDataEncryptionCredentials() {
- return ImmutableList.copyOf(dataEncryptionCredentials);
+ return dataEncryptionCredentials;
}
/**
@@ -102,18 +98,18 @@ public class BasicEncryptionConfiguration extends BasicWhitelistBlacklistConfigu
*
* @param credentials the list of data encryption credentials
*/
- public void setDataEncryptionCredentials(@Nullable final List<Credential> credentials) {
+ public void setDataEncryptionCredentials(@Nullable @NonnullElements final List<Credential> credentials) {
if (credentials == null) {
dataEncryptionCredentials = Collections.emptyList();
- return;
+ } else {
+ dataEncryptionCredentials = List.copyOf(credentials);
}
- dataEncryptionCredentials = new ArrayList<>(Collections2.filter(credentials, Predicates.notNull()));
}
/** {@inheritDoc} */
@Override
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<String> getDataEncryptionAlgorithms() {
- return ImmutableList.copyOf(dataEncryptionAlgorithms);
+ return dataEncryptionAlgorithms;
}
/**
@@ -121,18 +117,18 @@ public class BasicEncryptionConfiguration extends BasicWhitelistBlacklistConfigu
*
* @param algorithms the list of algorithms
*/
- public void setDataEncryptionAlgorithms(@Nullable final List<String> algorithms) {
+ public void setDataEncryptionAlgorithms(@Nullable @NonnullElements final List<String> algorithms) {
if (algorithms == null) {
dataEncryptionAlgorithms = Collections.emptyList();
- return;
+ } else {
+ dataEncryptionAlgorithms = List.copyOf(StringSupport.normalizeStringCollection(algorithms));
}
- dataEncryptionAlgorithms = new ArrayList<>(StringSupport.normalizeStringCollection(algorithms));
}
/** {@inheritDoc} */
@Override
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<Credential> getKeyTransportEncryptionCredentials() {
- return ImmutableList.copyOf(keyTransportEncryptionCredentials);
+ return keyTransportEncryptionCredentials;
}
/**
@@ -140,18 +136,18 @@ public class BasicEncryptionConfiguration extends BasicWhitelistBlacklistConfigu
*
* @param credentials the list of key transport encryption credentials
*/
- public void setKeyTransportEncryptionCredentials(@Nullable final List<Credential> credentials) {
+ public void setKeyTransportEncryptionCredentials(@Nullable @NonnullElements final List<Credential> credentials) {
if (credentials == null) {
keyTransportEncryptionCredentials = Collections.emptyList();
- return;
+ } else {
+ keyTransportEncryptionCredentials = List.copyOf(credentials);
}
- keyTransportEncryptionCredentials = new ArrayList<>(Collections2.filter(credentials, Predicates.notNull()));
}
/** {@inheritDoc} */
@Override
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<String> getKeyTransportEncryptionAlgorithms() {
- return ImmutableList.copyOf(keyTransportEncryptionAlgorithms);
+ return keyTransportEncryptionAlgorithms;
}
/**
@@ -159,12 +155,12 @@ public class BasicEncryptionConfiguration extends BasicWhitelistBlacklistConfigu
*
* @param algorithms the list of algorithms
*/
- public void setKeyTransportEncryptionAlgorithms(@Nullable final List<String> algorithms) {
+ public void setKeyTransportEncryptionAlgorithms(@Nullable @NonnullElements final List<String> algorithms) {
if (algorithms == null) {
keyTransportEncryptionAlgorithms = Collections.emptyList();
- return;
+ } else {
+ keyTransportEncryptionAlgorithms = List.copyOf(StringSupport.normalizeStringCollection(algorithms));
}
- keyTransportEncryptionAlgorithms = new ArrayList<>(StringSupport.normalizeStringCollection(algorithms));
}
/** {@inheritDoc} */
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureSigningConfiguration.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureSigningConfiguration.java
index 8d0c4d5..a7ef1f5 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureSigningConfiguration.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureSigningConfiguration.java
@@ -17,7 +17,6 @@
package org.opensaml.xmlsec.impl;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -35,10 +34,6 @@ import org.opensaml.xmlsec.keyinfo.NamedKeyInfoGeneratorManager;
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.ImmutableList;
-
/**
* Basic implementation of {@link SignatureSigningConfiguration}.
*/
@@ -83,7 +78,7 @@ public class BasicSignatureSigningConfiguration extends BasicWhitelistBlacklistC
/** {@inheritDoc} */
@Override
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<Credential> getSigningCredentials() {
- return ImmutableList.copyOf(signingCredentials);
+ return signingCredentials;
}
/**
@@ -91,18 +86,18 @@ public class BasicSignatureSigningConfiguration extends BasicWhitelistBlacklistC
*
* @param credentials the list of signing credentials
*/
- public void setSigningCredentials(@Nullable final List<Credential> credentials) {
+ public void setSigningCredentials(@Nullable @NonnullElements final List<Credential> credentials) {
if (credentials == null) {
signingCredentials = Collections.emptyList();
- return;
+ } else {
+ signingCredentials = List.copyOf(credentials);
}
- signingCredentials = new ArrayList<>(Collections2.filter(credentials, Predicates.notNull()));
}
/** {@inheritDoc} */
@Override
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<String> getSignatureAlgorithms() {
- return ImmutableList.copyOf(signatureAlgorithms);
+ return signatureAlgorithms;
}
/**
@@ -110,18 +105,18 @@ public class BasicSignatureSigningConfiguration extends BasicWhitelistBlacklistC
*
* @param algorithms the list of signature algorithms
*/
- public void setSignatureAlgorithms(@Nullable final List<String> algorithms) {
+ public void setSignatureAlgorithms(@Nullable @NonnullElements final List<String> algorithms) {
if (algorithms == null) {
signatureAlgorithms = Collections.emptyList();
- return;
+ } else {
+ signatureAlgorithms = List.copyOf(StringSupport.normalizeStringCollection(algorithms));
}
- signatureAlgorithms = new ArrayList<>(StringSupport.normalizeStringCollection(algorithms));
}
/** {@inheritDoc} */
@Override
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<String> getSignatureReferenceDigestMethods() {
- return ImmutableList.copyOf(signatureReferenceDigestMethods);
+ return signatureReferenceDigestMethods;
}
/**
@@ -129,12 +124,12 @@ public class BasicSignatureSigningConfiguration extends BasicWhitelistBlacklistC
*
* @param algorithms a list of digest method algorithm URIs
*/
- public void setSignatureReferenceDigestMethods(@Nullable final List<String> algorithms) {
+ public void setSignatureReferenceDigestMethods(@Nullable @NonnullElements final List<String> algorithms) {
if (algorithms == null) {
signatureReferenceDigestMethods = Collections.emptyList();
- return;
+ } else {
+ signatureReferenceDigestMethods = List.copyOf(StringSupport.normalizeStringCollection(algorithms));
}
- signatureReferenceDigestMethods = new ArrayList<>(StringSupport.normalizeStringCollection(algorithms));
}
/**
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BlacklistPredicate.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BlacklistPredicate.java
index dcf1c3e..ecf83ca 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BlacklistPredicate.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BlacklistPredicate.java
@@ -18,7 +18,7 @@
package org.opensaml.xmlsec.impl;
import java.util.Collection;
-import java.util.HashSet;
+import java.util.Set;
import java.util.function.Predicate;
import javax.annotation.Nonnull;
@@ -27,9 +27,6 @@ import javax.annotation.Nullable;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
/**
* Predicate which implements an algorithm URI blacklist policy.
*/
@@ -43,10 +40,8 @@ public class BlacklistPredicate implements Predicate<String> {
*
* @param algorithms collection of blacklisted algorithms
*/
- public BlacklistPredicate(@Nonnull final Collection<String> algorithms) {
- Constraint.isNotNull(algorithms, "Blacklist may not be null");
- blacklist = new HashSet<>();
- blacklist.addAll(Collections2.filter(algorithms, Predicates.notNull()));
+ public BlacklistPredicate(@Nonnull @NonnullElements final Collection<String> algorithms) {
+ blacklist = Set.copyOf(Constraint.isNotNull(algorithms, "Blacklist may not be null"));
}
/** {@inheritDoc} */
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/WhitelistPredicate.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/WhitelistPredicate.java
index 5289e7f..b829dc0 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/WhitelistPredicate.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/WhitelistPredicate.java
@@ -18,7 +18,7 @@
package org.opensaml.xmlsec.impl;
import java.util.Collection;
-import java.util.HashSet;
+import java.util.Set;
import java.util.function.Predicate;
import javax.annotation.Nonnull;
@@ -27,9 +27,6 @@ import javax.annotation.Nullable;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
/**
* Predicate which implements an algorithm URI whitelist policy.
*
@@ -45,9 +42,7 @@ public class WhitelistPredicate implements Predicate<String> {
* @param algorithms collection of whitelisted algorithms
*/
public WhitelistPredicate(@Nonnull final Collection<String> algorithms) {
- Constraint.isNotNull(algorithms, "Whitelist may not be null");
- whitelist = new HashSet<>();
- whitelist.addAll(Collections2.filter(algorithms, Predicates.notNull()));
+ whitelist = Set.copyOf(Constraint.isNotNull(algorithms, "Whitelist may not be null"));
}
/** {@inheritDoc} */
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignaturePrevalidator.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignaturePrevalidator.java
index 5d7fd23..51047d8 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignaturePrevalidator.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignaturePrevalidator.java
@@ -17,7 +17,6 @@
package org.opensaml.xmlsec.signature.support.impl;
-import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nonnull;
@@ -32,9 +31,6 @@ import org.opensaml.xmlsec.signature.support.SignaturePrevalidator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
/**
* A signature prevalidator implementation which chains execution of a list of {@link SignaturePrevalidator} instances.
*/
@@ -53,8 +49,7 @@ public class ChainingSignaturePrevalidator implements SignaturePrevalidator {
*/
public ChainingSignaturePrevalidator(@Nonnull @NonnullElements @ParameterName(name="validatorChain")
final List<SignaturePrevalidator> validatorChain) {
- Constraint.isNotNull(validatorChain, "SignaturePrevalidator list cannot be null");
- validators = new ArrayList<>(Collections2.filter(validatorChain, Predicates.notNull()));
+ validators = List.copyOf(Constraint.isNotNull(validatorChain, "SignaturePrevalidator list cannot be null"));
}
/** {@inheritDoc} */
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngine.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngine.java
index 7b401fe..3f19821 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngine.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngine.java
@@ -17,7 +17,6 @@
package org.opensaml.xmlsec.signature.support.impl;
-import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nonnull;
@@ -38,10 +37,6 @@ import org.opensaml.xmlsec.signature.support.SignatureTrustEngine;
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.ImmutableList;
-
/**
* Evaluate a signature in sequence using a chain of subordinate trust engines. If the signature may be established as
* trusted by any of the subordinate engines, the token is considered trusted. Otherwise it is considered untrusted.
@@ -59,10 +54,9 @@ public class ChainingSignatureTrustEngine implements SignatureTrustEngine {
*
* @param chain the list of trust engines in the chain
*/
- public ChainingSignatureTrustEngine(@Nonnull @NonnullElements @ParameterName(name="chain")
- final List<SignatureTrustEngine> chain) {
- Constraint.isNotNull(chain, "SignatureTrustEngine list cannot be null");
- engines = new ArrayList<>(Collections2.filter(chain, Predicates.notNull()));
+ public ChainingSignatureTrustEngine(
+ @Nonnull @NonnullElements @ParameterName(name="chain") final List<SignatureTrustEngine> chain) {
+ engines = List.copyOf(Constraint.isNotNull(chain, "SignatureTrustEngine list cannot be null"));
}
/**
@@ -71,7 +65,7 @@ public class ChainingSignatureTrustEngine implements SignatureTrustEngine {
* @return the modifiable list of trust engines in the chain
*/
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<SignatureTrustEngine> getChain() {
- return ImmutableList.copyOf(engines);
+ return engines;
}
/** {@inheritDoc} */
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionConfigurationTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionConfigurationTest.java
index cf5ef9b..4b68c42 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionConfigurationTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionConfigurationTest.java
@@ -87,7 +87,7 @@ public class BasicEncryptionConfigurationTest {
Assert.assertNotNull(config.getDataEncryptionCredentials());
Assert.assertEquals(config.getDataEncryptionCredentials().size(), 0);
- config.setDataEncryptionCredentials(Arrays.asList(cred1, null, cred2, null));
+ config.setDataEncryptionCredentials(Arrays.asList(cred1, cred2));
Assert.assertNotNull(config.getDataEncryptionCredentials());
Assert.assertEquals(config.getDataEncryptionCredentials().size(), 2);
@@ -109,7 +109,7 @@ public class BasicEncryptionConfigurationTest {
Assert.assertNotNull(config.getDataEncryptionAlgorithms());
Assert.assertEquals(config.getDataEncryptionAlgorithms().size(), 0);
- config.setDataEncryptionAlgorithms(Arrays.asList(" A ", null, null, " B ", null, " C "));
+ config.setDataEncryptionAlgorithms(Arrays.asList(" A ", " B ", " C "));
Assert.assertNotNull(config.getDataEncryptionAlgorithms());
Assert.assertEquals(config.getDataEncryptionAlgorithms().size(), 3);
@@ -134,7 +134,7 @@ public class BasicEncryptionConfigurationTest {
Assert.assertNotNull(config.getKeyTransportEncryptionCredentials());
Assert.assertEquals(config.getKeyTransportEncryptionCredentials().size(), 0);
- config.setKeyTransportEncryptionCredentials(Arrays.asList(cred1, null, cred2, null));
+ config.setKeyTransportEncryptionCredentials(Arrays.asList(cred1, cred2));
Assert.assertNotNull(config.getKeyTransportEncryptionCredentials());
Assert.assertEquals(config.getKeyTransportEncryptionCredentials().size(), 2);
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningConfigurationTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningConfigurationTest.java
index 86922be..11d98c8 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningConfigurationTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningConfigurationTest.java
@@ -77,7 +77,7 @@ public class BasicSignatureSigningConfigurationTest {
Assert.assertNotNull(config.getSigningCredentials());
Assert.assertEquals(config.getSigningCredentials().size(), 0);
- config.setSigningCredentials(Arrays.asList(cred1, null, cred2, null));
+ config.setSigningCredentials(Arrays.asList(cred1, cred2));
Assert.assertNotNull(config.getSigningCredentials());
Assert.assertEquals(config.getSigningCredentials().size(), 2);
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BlacklistPredicateTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BlacklistPredicateTest.java
index eb3301f..3affb02 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BlacklistPredicateTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BlacklistPredicateTest.java
@@ -43,23 +43,6 @@ public class BlacklistPredicateTest {
Assert.assertTrue(predicate.test("bax"));
}
- @Test
- public void testWithNullsInSet() {
- BlacklistPredicate predicate = new BlacklistPredicate(Arrays.asList("A", null, "B", null, "C", null, "D"));
-
- Assert.assertFalse(predicate.test("A"));
- Assert.assertFalse(predicate.test("B"));
- Assert.assertFalse(predicate.test("C"));
- Assert.assertFalse(predicate.test("D"));
-
- Assert.assertTrue(predicate.test("X"));
- Assert.assertTrue(predicate.test("Y"));
- Assert.assertTrue(predicate.test("Z"));
- Assert.assertTrue(predicate.test("foo"));
- Assert.assertTrue(predicate.test("bar"));
- Assert.assertTrue(predicate.test("bax"));
- }
-
@Test(expectedExceptions=ConstraintViolationException.class)
public void testNullSet() {
new BlacklistPredicate(null);
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/WhitelistBlacklistConfigurationCriterion.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/WhitelistBlacklistConfigurationCriterion.java
index f1e1ed1..a297bbe 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/WhitelistBlacklistConfigurationCriterion.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/WhitelistBlacklistConfigurationCriterion.java
@@ -17,8 +17,6 @@
package org.opensaml.xmlsec.impl;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import javax.annotation.Nonnull;
@@ -32,10 +30,6 @@ import net.shibboleth.utilities.java.support.resolver.Criterion;
import org.opensaml.xmlsec.WhitelistBlacklistConfiguration;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.ImmutableList;
-
/**
* Criterion which holds one or more instances of {@link WhitelistBlacklistConfiguration},
* used exclusively for testing the {@link AbstractSecurityParametersResolver}.
@@ -52,9 +46,8 @@ public class WhitelistBlacklistConfigurationCriterion implements Criterion {
*/
public WhitelistBlacklistConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty
List<WhitelistBlacklistConfiguration> configurations) {
- Constraint.isNotNull(configurations, "List of configurations may not be null");
- configs = new ArrayList<>(Collections2.filter(configurations, Predicates.notNull()));
- Constraint.isGreaterThanOrEqual(1, configs.size(), "At least one configuration is required");
+ configs = List.copyOf(Constraint.isNotNull(configurations, "List of configurations may not be null"));
+ Constraint.isNotEmpty(configs, "At least one configuration is required");
}
@@ -65,9 +58,8 @@ public class WhitelistBlacklistConfigurationCriterion implements Criterion {
*/
public WhitelistBlacklistConfigurationCriterion(@Nonnull @NonnullElements @NotEmpty
WhitelistBlacklistConfiguration... configurations) {
- Constraint.isNotNull(configurations, "List of configurations may not be null");
- configs = new ArrayList<>(Collections2.filter(Arrays.asList(configurations), Predicates.notNull()));
- Constraint.isGreaterThanOrEqual(1, configs.size(), "At least one configuration is required");
+ configs = List.of(Constraint.isNotNull(configurations, "List of configurations may not be null"));
+ Constraint.isNotEmpty(configs, "At least one configuration is required");
}
/**
@@ -76,7 +68,7 @@ public class WhitelistBlacklistConfigurationCriterion implements Criterion {
*/
@Nonnull @NonnullElements @NotLive @Unmodifiable @NotEmpty
public List<WhitelistBlacklistConfiguration> getConfigurations() {
- return ImmutableList.copyOf(configs);
+ return configs;
}
/** {@inheritDoc} */
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/WhitelistPredicateTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/WhitelistPredicateTest.java
index 77bed9b..a72e599 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/WhitelistPredicateTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/WhitelistPredicateTest.java
@@ -45,23 +45,6 @@ public class WhitelistPredicateTest {
Assert.assertFalse(predicate.test("bar"));
Assert.assertFalse(predicate.test("bax"));
}
-
- @Test
- public void testWithNullsInSet() {
- WhitelistPredicate predicate = new WhitelistPredicate(Arrays.asList("A", null, "B", null, "C", null, "D"));
-
- Assert.assertTrue(predicate.test("A"));
- Assert.assertTrue(predicate.test("B"));
- Assert.assertTrue(predicate.test("C"));
- Assert.assertTrue(predicate.test("D"));
-
- Assert.assertFalse(predicate.test("X"));
- Assert.assertFalse(predicate.test("Y"));
- Assert.assertFalse(predicate.test("Z"));
- Assert.assertFalse(predicate.test("foo"));
- Assert.assertFalse(predicate.test("bar"));
- Assert.assertFalse(predicate.test("bax"));
- }
@Test(expectedExceptions=ConstraintViolationException.class)
public void testNullSet() {
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngineTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngineTest.java
index c591522..af10fb7 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngineTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngineTest.java
@@ -85,26 +85,6 @@ public class ChainingSignatureTrustEngineTest extends XMLObjectBaseTestCase {
Assert.assertFalse(engine.validate(token, criteriaSet), "No engine evaled token as trusted");
}
- @Test
- public void testNullEngineOK() throws SecurityException {
- chain.add(new MockSignatureTrustEngine(Boolean.FALSE));
- chain.add(null);
- chain.add(new MockSignatureTrustEngine(Boolean.TRUE));
- engine = new ChainingSignatureTrustEngine(chain);
- Assert.assertTrue(engine.validate(token, criteriaSet),
- "Engine # 3 evaled token as trusted with intervening null engine");
- }
-
- @Test
- public void testRawSignature() throws SecurityException {
- chain.add(new MockSignatureTrustEngine(Boolean.FALSE));
- chain.add(null);
- chain.add(new MockSignatureTrustEngine(Boolean.TRUE));
- engine = new ChainingSignatureTrustEngine(chain);
- Assert.assertTrue(engine.validate(null, null, null, null, null),
- "Engine # 3 evaled raw signature as trusted with intervening null engine");
- }
-
@Test(expectedExceptions = SecurityException.class)
public void testException() throws SecurityException {
chain.add(new MockSignatureTrustEngine(Boolean.FALSE));
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list