[java-identity-provider] branch master updated: IDP-1516 - Reduce Guava dependence
Scott Cantor
cantor.2 at osu.edu
Mon Oct 28 11:27:04 EDT 2019
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch master
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=f56b765ab348d73c6e9cf8b39a11ee92e4247d22
The following commit(s) were added to refs/heads/master by this push:
new f56b765 IDP-1516 - Reduce Guava dependence
f56b765 is described below
commit f56b765ab348d73c6e9cf8b39a11ee92e4247d22
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Oct 28 11:26:26 2019 -0400
IDP-1516 - Reduce Guava dependence
https://issues.shibboleth.net/jira/browse/IDP-1516
---
.../admin/BasicAdministrativeFlowDescriptor.java | 30 ++++++++-------
...InitializeAdministrativeProfileContextTree.java | 6 +--
.../idp/admin/impl/UnlockDataSealers.java | 9 ++---
.../idp/admin/impl/UnlockPrivateKeys.java | 13 +++----
.../attribute/filter/AttributeFilterPolicy.java | 5 +--
.../filter/context/AttributeFilterContext.java | 43 +++++++++++++---------
.../attribute/filter/impl/AttributeFilterImpl.java | 8 ++--
.../logic/impl/AbstractComposedMatcher.java | 15 +++-----
.../saml/impl/AttributeInMetadataMatcher.java | 2 +-
.../logic/impl/AbstractComposedPolicyRule.java | 14 +++----
.../impl/AbstractEntityAttributePolicyRule.java | 8 ++--
.../impl/AttributeTranscoderRegistryImpl.java | 9 +----
.../transcoding/impl/TranscodingRuleLoader.java | 3 --
.../attribute/resolver/AbstractResolverPlugin.java | 19 ++++++----
.../context/AttributeResolutionContext.java | 27 ++++++--------
.../ad/mapped/impl/MappedAttributeDefinition.java | 9 +++--
.../resolver/ad/mapped/impl/ValueMap.java | 9 +++--
.../http/impl/ScriptedResponseMappingStrategy.java | 17 +++------
.../spring/dc/impl/DataConnectorFactoryBean.java | 14 ++-----
.../LogoutPropagationFlowDescriptorSelector.java | 10 +----
.../session/impl/StorageBackedSessionManager.java | 9 ++---
.../shibboleth/idp/ui/impl/SetRPUIInformation.java | 11 +-----
22 files changed, 127 insertions(+), 163 deletions(-)
diff --git a/idp-admin-api/src/main/java/net/shibboleth/idp/admin/BasicAdministrativeFlowDescriptor.java b/idp-admin-api/src/main/java/net/shibboleth/idp/admin/BasicAdministrativeFlowDescriptor.java
index 1bbc0e5..fc88d50 100644
--- a/idp-admin-api/src/main/java/net/shibboleth/idp/admin/BasicAdministrativeFlowDescriptor.java
+++ b/idp-admin-api/src/main/java/net/shibboleth/idp/admin/BasicAdministrativeFlowDescriptor.java
@@ -21,7 +21,6 @@ import java.security.Principal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.function.Function;
@@ -56,7 +55,6 @@ import org.opensaml.saml.ext.saml2mdui.UIInfo;
import com.google.common.base.MoreObjects;
import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
/**
* A descriptor for an administrative flow.
@@ -201,7 +199,7 @@ public class BasicAdministrativeFlowDescriptor extends AbstractProfileConfigurat
*/
public void setDisplayNames(@Nonnull @NonnullElements final Collection<LangBearingString> displayNames) {
uiInfo.getDisplayNames().clear();
- for (final LangBearingString s : Collections2.filter(displayNames, Predicates.notNull())) {
+ for (final LangBearingString s : displayNames) {
final DisplayName displayName =
((SAMLObjectBuilder<DisplayName>) builderFactory.<DisplayName>getBuilderOrThrow(
DisplayName.DEFAULT_ELEMENT_NAME)).buildObject();
@@ -218,7 +216,7 @@ public class BasicAdministrativeFlowDescriptor extends AbstractProfileConfigurat
*/
public void setDescriptions(@Nonnull @NonnullElements final Collection<LangBearingString> descriptions) {
uiInfo.getDescriptions().clear();
- for (final LangBearingString s : Collections2.filter(descriptions, Predicates.notNull())) {
+ for (final LangBearingString s : descriptions) {
final Description desc =
((SAMLObjectBuilder<Description>) builderFactory.<Description>getBuilderOrThrow(
Description.DEFAULT_ELEMENT_NAME)).buildObject();
@@ -236,7 +234,7 @@ public class BasicAdministrativeFlowDescriptor extends AbstractProfileConfigurat
*/
public void setLogos(@Nonnull @NonnullElements final Collection<Logo> logos) {
uiInfo.getLogos().clear();
- for (final Logo src : Collections2.filter(logos, Predicates.notNull())) {
+ for (final Logo src : logos) {
final org.opensaml.saml.ext.saml2mdui.Logo logo =
((SAMLObjectBuilder<org.opensaml.saml.ext.saml2mdui.Logo>)
builderFactory.<org.opensaml.saml.ext.saml2mdui.Logo>getBuilderOrThrow(
@@ -256,7 +254,7 @@ public class BasicAdministrativeFlowDescriptor extends AbstractProfileConfigurat
*/
public void setInformationURLs(@Nonnull @NonnullElements final Collection<LangBearingString> urls) {
uiInfo.getInformationURLs().clear();
- for (final LangBearingString s : Collections2.filter(urls, Predicates.notNull())) {
+ for (final LangBearingString s : urls) {
final InformationURL url =
((SAMLObjectBuilder<InformationURL>) builderFactory.<InformationURL>getBuilderOrThrow(
InformationURL.DEFAULT_ELEMENT_NAME)).buildObject();
@@ -273,7 +271,7 @@ public class BasicAdministrativeFlowDescriptor extends AbstractProfileConfigurat
*/
public void setPrivacyStatementURLs(@Nonnull @NonnullElements final Collection<LangBearingString> urls) {
uiInfo.getPrivacyStatementURLs().clear();
- for (final LangBearingString s : Collections2.filter(urls, Predicates.notNull())) {
+ for (final LangBearingString s : urls) {
final PrivacyStatementURL url =
((SAMLObjectBuilder<PrivacyStatementURL>) builderFactory.<PrivacyStatementURL>getBuilderOrThrow(
PrivacyStatementURL.DEFAULT_ELEMENT_NAME)).buildObject();
@@ -350,8 +348,11 @@ public class BasicAdministrativeFlowDescriptor extends AbstractProfileConfigurat
/** {@inheritDoc} */
@Nonnull @NonnullElements @NotLive @Unmodifiable public List<Principal> getDefaultAuthenticationMethods(
@Nullable final ProfileRequestContext profileRequestContext) {
- return CollectionSupport.buildImmutableList(
- defaultAuthenticationMethodsLookupStrategy.apply(profileRequestContext));
+ final Collection<Principal> methods = defaultAuthenticationMethodsLookupStrategy.apply(profileRequestContext);
+ if (methods != null) {
+ return List.copyOf(methods);
+ }
+ return Collections.emptyList();
}
/**
@@ -362,8 +363,7 @@ public class BasicAdministrativeFlowDescriptor extends AbstractProfileConfigurat
public void setDefaultAuthenticationMethods(@Nullable @NonnullElements final Collection<Principal> methods) {
if (methods != null) {
- defaultAuthenticationMethodsLookupStrategy =
- FunctionSupport.constant(new ArrayList<>(Collections2.filter(methods, Predicates.notNull())));
+ defaultAuthenticationMethodsLookupStrategy = FunctionSupport.constant(List.copyOf(methods));
} else {
defaultAuthenticationMethodsLookupStrategy = FunctionSupport.constant(null);
}
@@ -382,7 +382,11 @@ public class BasicAdministrativeFlowDescriptor extends AbstractProfileConfigurat
/** {@inheritDoc} */
@Nonnull @NonnullElements @NotLive @Unmodifiable public Set<String> getAuthenticationFlows(
@Nullable final ProfileRequestContext profileRequestContext) {
- return CollectionSupport.buildImmutableSet(authenticationFlowsLookupStrategy.apply(profileRequestContext));
+ final Set<String> flows = authenticationFlowsLookupStrategy.apply(profileRequestContext);
+ if (flows != null) {
+ return Set.copyOf(flows);
+ }
+ return Collections.emptySet();
}
/**
@@ -394,7 +398,7 @@ public class BasicAdministrativeFlowDescriptor extends AbstractProfileConfigurat
if (flows != null) {
authenticationFlowsLookupStrategy =
- FunctionSupport.constant(new HashSet<>(StringSupport.normalizeStringCollection(flows)));
+ FunctionSupport.constant(Set.copyOf(StringSupport.normalizeStringCollection(flows)));
} else {
authenticationFlowsLookupStrategy = FunctionSupport.constant(null);
}
diff --git a/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/InitializeAdministrativeProfileContextTree.java b/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/InitializeAdministrativeProfileContextTree.java
index 7990838..c604374 100644
--- a/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/InitializeAdministrativeProfileContextTree.java
+++ b/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/InitializeAdministrativeProfileContextTree.java
@@ -17,7 +17,6 @@
package net.shibboleth.idp.admin.impl;
-import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nonnull;
@@ -28,9 +27,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.idp.admin.AdministrativeFlowDescriptor;
import net.shibboleth.idp.profile.AbstractProfileAction;
import net.shibboleth.idp.profile.IdPEventIds;
@@ -83,7 +79,7 @@ public class InitializeAdministrativeProfileContextTree extends AbstractProfileA
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
if (langs != null) {
- fallbackLanguages = new ArrayList<>(Collections2.filter(langs, Predicates.notNull()));
+ fallbackLanguages = List.copyOf(langs);
} else {
fallbackLanguages = null;
}
diff --git a/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/UnlockDataSealers.java b/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/UnlockDataSealers.java
index 3a781b2..b844487 100644
--- a/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/UnlockDataSealers.java
+++ b/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/UnlockDataSealers.java
@@ -18,10 +18,10 @@
package net.shibboleth.idp.admin.impl;
import java.security.KeyException;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
+import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -39,9 +39,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;
-
/**
* Action that sets keystore and key passwords for one or more DataSealer KeyStrategy
* objects based on query parameters.
@@ -83,8 +80,8 @@ public class UnlockDataSealers extends AbstractProfileAction {
public void setKeyStrategies(@Nullable @NonnullElements final Collection<BasicKeystoreKeyStrategy> strategies) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- if (strategies != null && !strategies.isEmpty()) {
- keyStrategies = new ArrayList<>(Collections2.filter(strategies, Predicates.notNull()));
+ if (strategies != null) {
+ keyStrategies = List.copyOf(strategies);
} else {
keyStrategies = Collections.emptyList();
}
diff --git a/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/UnlockPrivateKeys.java b/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/UnlockPrivateKeys.java
index e328db7..52a50e3 100644
--- a/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/UnlockPrivateKeys.java
+++ b/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/UnlockPrivateKeys.java
@@ -20,10 +20,10 @@ package net.shibboleth.idp.admin.impl;
import java.io.IOException;
import java.io.InputStream;
import java.security.KeyException;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
+import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -44,9 +44,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.Resource;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
/**
* Action that creates private key objects and injects them into existing
* {@link MutableCredential} objects.
@@ -87,8 +84,8 @@ public class UnlockPrivateKeys extends AbstractProfileAction {
public void setCredentials(@Nullable @NonnullElements final Collection<MutableCredential> creds) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- if (creds != null && !creds.isEmpty()) {
- credentials = new ArrayList<>(Collections2.filter(creds, Predicates.notNull()));
+ if (creds != null) {
+ credentials = List.copyOf(creds);
} else {
credentials = Collections.emptyList();
}
@@ -102,8 +99,8 @@ public class UnlockPrivateKeys extends AbstractProfileAction {
public void setKeyResources(@Nullable @NonnullElements final Collection<Resource> keys) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- if (keys != null && !keys.isEmpty()) {
- keyResources = new ArrayList<>(Collections2.filter(keys, Predicates.notNull()));
+ if (keys != null) {
+ keyResources = List.copyOf(keys);
} else {
keyResources = Collections.emptyList();
}
diff --git a/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filter/AttributeFilterPolicy.java b/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filter/AttributeFilterPolicy.java
index 703640e..039cbba 100644
--- a/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filter/AttributeFilterPolicy.java
+++ b/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filter/AttributeFilterPolicy.java
@@ -31,8 +31,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.base.Predicates;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterables;
+import com.google.common.collect.Collections2;
import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.filter.PolicyRequirementRule.Tristate;
@@ -90,7 +89,7 @@ public class AttributeFilterPolicy extends AbstractIdentifiedInitializableCompon
final ArrayList<AttributeRule> checkedPolicies = new ArrayList<>();
CollectionSupport.addIf(checkedPolicies, attributeRules, Predicates.notNull());
if (null != attributeRules) {
- valuePolicies = ImmutableList.copyOf(Iterables.filter(attributeRules, Predicates.notNull()));
+ valuePolicies = List.copyOf(Collections2.filter(attributeRules, Predicates.notNull()));
} else {
valuePolicies = Collections.emptyList();
}
diff --git a/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterContext.java b/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterContext.java
index ee3b4ff..66f7e7b 100644
--- a/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterContext.java
+++ b/idp-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterContext.java
@@ -17,7 +17,6 @@
package net.shibboleth.idp.attribute.filter.context;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@@ -32,7 +31,6 @@ import net.shibboleth.idp.attribute.filter.AttributeFilter;
import net.shibboleth.idp.attribute.filter.AttributeFilterException;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
-import net.shibboleth.utilities.java.support.collection.CollectionSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.service.ReloadableService;
import net.shibboleth.utilities.java.support.service.ServiceableComponent;
@@ -44,8 +42,6 @@ import org.opensaml.saml.metadata.resolver.MetadataResolver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
-
/** A context supplying input to the {@link net.shibboleth.idp.attribute.filter.AttributeFilter} interface. */
@NotThreadSafe
public final class AttributeFilterContext extends BaseContext {
@@ -160,13 +156,16 @@ public final class AttributeFilterContext extends BaseContext {
*/
@Nonnull public AttributeFilterContext setPrefilteredIdPAttributes(
@Nullable @NullableElements final Collection<IdPAttribute> attributes) {
- final Collection<IdPAttribute> checkedAttributes = new ArrayList<>();
- CollectionSupport.addIf(checkedAttributes, attributes, Predicates.notNull());
-
- prefilteredAttributes = new HashMap<>(checkedAttributes.size());
- for (final IdPAttribute attribute : checkedAttributes) {
- prefilteredAttributes.put(attribute.getId(), attribute);
+ if (attributes != null) {
+ prefilteredAttributes = new HashMap<>(attributes.size());
+ for (final IdPAttribute attribute : attributes) {
+ if (attribute != null) {
+ prefilteredAttributes.put(attribute.getId(), attribute);
+ }
+ }
+ } else {
+ prefilteredAttributes = new HashMap<>();
}
return this;
@@ -185,16 +184,24 @@ public final class AttributeFilterContext extends BaseContext {
* Sets the attributes that have been filtered.
*
* @param attributes attributes that have been filtered
+ *
+ * @return this context
*/
- public void setFilteredIdPAttributes(@Nullable @NullableElements final Collection<IdPAttribute> attributes) {
- final Collection<IdPAttribute> checkedAttributes = new ArrayList<>();
- CollectionSupport.addIf(checkedAttributes, attributes, Predicates.notNull());
-
- filteredAttributes = new HashMap<>(checkedAttributes.size());
-
- for (final IdPAttribute attribute : checkedAttributes) {
- filteredAttributes.put(attribute.getId(), attribute);
+ @Nonnull public AttributeFilterContext setFilteredIdPAttributes(
+ @Nullable @NullableElements final Collection<IdPAttribute> attributes) {
+
+ if (attributes != null) {
+ filteredAttributes = new HashMap<>(attributes.size());
+ for (final IdPAttribute attribute : attributes) {
+ if (attribute != null) {
+ filteredAttributes.put(attribute.getId(), attribute);
+ }
+ }
+ } else {
+ filteredAttributes = new HashMap<>();
}
+
+ return this;
}
/**
diff --git a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/impl/AttributeFilterImpl.java b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/impl/AttributeFilterImpl.java
index 0c89d78..eff5c74 100644
--- a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/impl/AttributeFilterImpl.java
+++ b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/impl/AttributeFilterImpl.java
@@ -51,8 +51,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.base.Predicates;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterables;
/** Service that filters out attributes and values based upon loaded policies. */
@ThreadSafe
@@ -62,10 +60,10 @@ public class AttributeFilterImpl extends AbstractServiceableComponent<AttributeF
@Nonnull private final Logger log = LoggerFactory.getLogger(AttributeFilterImpl.class);
/** Filter policies used by this engine. */
- private final List<AttributeFilterPolicy> filterPolicies;
+ @Nonnull @NonnullElements private final List<AttributeFilterPolicy> filterPolicies;
/** Log prefix. */
- private String logPrefix;
+ @Nullable private String logPrefix;
/** Strategy to get the {@link MetricContext} for timing. */
@Nonnull private Function<AttributeFilterContext,MetricContext> metricContextLookupStrategy;
@@ -82,7 +80,7 @@ public class AttributeFilterImpl extends AbstractServiceableComponent<AttributeF
final ArrayList<AttributeFilterPolicy> checkedPolicies = new ArrayList<>();
CollectionSupport.addIf(checkedPolicies, policies, Predicates.notNull());
- filterPolicies = ImmutableList.copyOf(Iterables.filter(checkedPolicies, Predicates.notNull()));
+ filterPolicies = List.copyOf(checkedPolicies);
metricContextLookupStrategy = new ChildContextLookup<>(MetricContext.class).compose(new RootContextLookup<>());
}
diff --git a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AbstractComposedMatcher.java b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AbstractComposedMatcher.java
index a04cdfd..676ead7 100644
--- a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AbstractComposedMatcher.java
+++ b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AbstractComposedMatcher.java
@@ -17,8 +17,8 @@
package net.shibboleth.idp.attribute.filter.matcher.logic.impl;
-import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
@@ -29,15 +29,13 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterI
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.collection.CollectionSupport;
import net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.component.UnmodifiableComponent;
import com.google.common.base.Predicates;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterables;
+import com.google.common.collect.Collections2;
/**
* Base class for {@link Matcher} implementations that are compositions of two or more other
@@ -55,13 +53,12 @@ public abstract class AbstractComposedMatcher extends AbstractIdentifiableInitia
*/
public void setSubsidiaries(@Nullable @NullableElements final Collection<Matcher> composedMatchers) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- final ArrayList<Matcher> checkedMatchers = new ArrayList<>();
-
+
if (composedMatchers != null) {
- CollectionSupport.addIf(checkedMatchers, composedMatchers, Predicates.notNull());
+ matchers = List.copyOf(Collections2.filter(composedMatchers, Predicates.notNull()));
+ } else {
+ matchers = Collections.emptyList();
}
-
- matchers = ImmutableList.copyOf(Iterables.filter(checkedMatchers, Predicates.notNull()));
}
/** {@inheritDoc} */
diff --git a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/AttributeInMetadataMatcher.java b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/AttributeInMetadataMatcher.java
index 3723378..422c8d6 100644
--- a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/AttributeInMetadataMatcher.java
+++ b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/AttributeInMetadataMatcher.java
@@ -228,7 +228,7 @@ public class AttributeInMetadataMatcher extends AbstractIdentifiableInitializabl
// TODO: not sure what the right answer is here
log.debug("{} The peer's metadata did not contain requested attribute information"
+ ", returning all the input values", getLogPrefix());
- return ImmutableSet.copyOf(attribute.getValues());
+ return Set.copyOf(attribute.getValues());
}
log.debug("{} The peer's metadata did not contain requested attribute information"
+ ", returning no values", getLogPrefix());
diff --git a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/AbstractComposedPolicyRule.java b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/AbstractComposedPolicyRule.java
index 240af0b..bd76b54 100644
--- a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/AbstractComposedPolicyRule.java
+++ b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/logic/impl/AbstractComposedPolicyRule.java
@@ -17,8 +17,8 @@
package net.shibboleth.idp.attribute.filter.policyrule.logic.impl;
-import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
@@ -29,7 +29,6 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterI
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.collection.CollectionSupport;
import net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
@@ -37,8 +36,7 @@ import net.shibboleth.utilities.java.support.component.UnmodifiableComponent;
import com.google.common.base.MoreObjects;
import com.google.common.base.Predicates;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterables;
+import com.google.common.collect.Collections2;
/**
* Base class for {@link PolicyRequirementRule} implementations that are compositions of other
@@ -56,12 +54,12 @@ public abstract class AbstractComposedPolicyRule extends AbstractIdentifiableIni
*/
public void setSubsidiaries(@Nullable @NullableElements final Collection<PolicyRequirementRule> theRules) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- final ArrayList<PolicyRequirementRule> checkedMatchers = new ArrayList<>();
-
+
if (theRules != null) {
- CollectionSupport.addIf(checkedMatchers, theRules, Predicates.notNull());
+ rules = List.copyOf(Collections2.filter(theRules, Predicates.notNull()));
+ } else {
+ rules = Collections.emptyList();
}
- rules = ImmutableList.copyOf(Iterables.filter(checkedMatchers, Predicates.notNull()));
}
/** {@inheritDoc} */
diff --git a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AbstractEntityAttributePolicyRule.java b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AbstractEntityAttributePolicyRule.java
index ae94225..35f27b1 100644
--- a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AbstractEntityAttributePolicyRule.java
+++ b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/AbstractEntityAttributePolicyRule.java
@@ -22,6 +22,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
+import java.util.stream.Collectors;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -58,8 +59,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.Multimap;
/**
@@ -281,9 +280,8 @@ public abstract class AbstractEntityAttributePolicyRule extends AbstractPolicyRu
new Object[] {getLogPrefix(), name, getAttributeName(), getNameFormat(),});
valueAccumulator.addAll(
- Collections2.filter(
- Collections2.transform(entityAttribute.getAttributeValues(), this::getStringValue),
- Predicates.notNull()));
+ entityAttribute.getAttributeValues().stream().filter(v -> v != null).map(
+ this::getStringValue).collect(Collectors.toList()));
}
}
}
diff --git a/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/transcoding/impl/AttributeTranscoderRegistryImpl.java b/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/transcoding/impl/AttributeTranscoderRegistryImpl.java
index 6e89204..3a7a822 100644
--- a/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/transcoding/impl/AttributeTranscoderRegistryImpl.java
+++ b/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/transcoding/impl/AttributeTranscoderRegistryImpl.java
@@ -49,9 +49,7 @@ 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.ArrayListMultimap;
-import com.google.common.collect.Collections2;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Multimap;
@@ -126,14 +124,11 @@ public class AttributeTranscoderRegistryImpl extends AbstractServiceableComponen
*/
public void setTranscoderRegistry(@Nonnull @NonnullElements final Collection<TranscodingRule> mappings) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+ Constraint.isNotNull(mappings, "Mappings cannot be null");
transcodingRegistry.clear();
-
- if (mappings == null) {
- return;
- }
- for (final TranscodingRule mapping : Collections2.filter(mappings, Predicates.notNull())) {
+ for (final TranscodingRule mapping : mappings) {
final String internalId = StringSupport.trimOrNull(mapping.get(PROP_ID, String.class));
if (internalId != null) {
diff --git a/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/transcoding/impl/TranscodingRuleLoader.java b/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/transcoding/impl/TranscodingRuleLoader.java
index 375afba..a043018 100644
--- a/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/transcoding/impl/TranscodingRuleLoader.java
+++ b/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/transcoding/impl/TranscodingRuleLoader.java
@@ -33,8 +33,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.FileSystemResource;
-import com.google.common.base.Predicates;
-
import net.shibboleth.idp.attribute.transcoding.TranscodingRule;
import net.shibboleth.utilities.java.support.annotation.ParameterName;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
@@ -100,7 +98,6 @@ public class TranscodingRuleLoader {
rules = maps
.stream()
- .filter(Predicates.notNull())
.map(m -> {
return new TranscodingRule(m);
})
diff --git a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPlugin.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPlugin.java
index 632bc14..79f3b99 100644
--- a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPlugin.java
+++ b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPlugin.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.attribute.resolver;
import java.util.Collections;
-import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
import java.util.function.Function;
@@ -36,6 +35,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.DisposableBean;
import com.google.common.base.Predicates;
+import com.google.common.collect.Collections2;
import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
@@ -43,7 +43,6 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterI
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.collection.CollectionSupport;
import net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
@@ -170,9 +169,11 @@ public abstract class AbstractResolverPlugin<ResolvedType> extends AbstractIdent
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
- final HashSet<ResolverAttributeDefinitionDependency> checkedDeps = new HashSet<>();
- CollectionSupport.addIf(checkedDeps, dependencies, Predicates.notNull());
- attributeDependencies = Collections.unmodifiableSet(checkedDeps);
+ if (dependencies != null) {
+ attributeDependencies = Set.copyOf(Collections2.filter(dependencies, Predicates.notNull()));
+ } else {
+ attributeDependencies = Collections.emptySet();
+ }
}
/**
@@ -185,9 +186,11 @@ public abstract class AbstractResolverPlugin<ResolvedType> extends AbstractIdent
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
- final HashSet<ResolverDataConnectorDependency> checkedDeps = new HashSet<>();
- CollectionSupport.addIf(checkedDeps, dependencies, Predicates.notNull());
- dataConnectorDependencies = Collections.unmodifiableSet(checkedDeps);
+ if (dependencies != null) {
+ dataConnectorDependencies = Set.copyOf(Collections2.filter(dependencies, Predicates.notNull()));
+ } else {
+ dataConnectorDependencies = Collections.emptySet();
+ }
}
diff --git a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/context/AttributeResolutionContext.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/context/AttributeResolutionContext.java
index b14ad15..e34f3fb 100644
--- a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/context/AttributeResolutionContext.java
+++ b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/context/AttributeResolutionContext.java
@@ -18,8 +18,8 @@
package net.shibboleth.idp.attribute.resolver.context;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -45,10 +45,6 @@ import org.opensaml.messaging.context.BaseContext;
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.ImmutableMap;
-
/** A context supplying input to the {@link net.shibboleth.idp.attribute.resolver.AttributeResolver} interface. */
@NotThreadSafe
public final class AttributeResolutionContext extends BaseContext {
@@ -83,8 +79,8 @@ public final class AttributeResolutionContext extends BaseContext {
/** Constructor. */
public AttributeResolutionContext() {
allowCachedResults = true;
- requestedAttributeNames = new HashSet<>();
- resolvedAttributes = new HashMap<>();
+ requestedAttributeNames = Collections.emptySet();
+ resolvedAttributes = Collections.emptyMap();
}
/**
@@ -282,10 +278,8 @@ public final class AttributeResolutionContext extends BaseContext {
*/
@Nullable public AttributeResolutionContext setRequestedIdPAttributeNames(
@Nonnull @NonnullElements final Collection<String> names) {
- Constraint.isNotNull(names, "Requested IdPAttribute collection cannot be null");
-
- requestedAttributeNames.clear();
- requestedAttributeNames.addAll(Collections2.filter(names, Predicates.notNull()));
+ requestedAttributeNames = Set.copyOf(
+ Constraint.isNotNull(names, "Requested IdPAttribute collection cannot be null"));
return this;
}
@@ -296,7 +290,7 @@ public final class AttributeResolutionContext extends BaseContext {
* @return set of resolved attributes
*/
@Nonnull @NonnullElements @Unmodifiable @NotLive public Map<String, IdPAttribute> getResolvedIdPAttributes() {
- return ImmutableMap.copyOf(resolvedAttributes);
+ return resolvedAttributes;
}
/**
@@ -308,16 +302,19 @@ public final class AttributeResolutionContext extends BaseContext {
*/
@Nullable public AttributeResolutionContext setResolvedIdPAttributes(
@Nullable @NullableElements final Collection<IdPAttribute> attributes) {
- resolvedAttributes = new HashMap<>();
-
+
+ final Map<String,IdPAttribute> copy = new HashMap<>();
+
if (attributes != null) {
for (final IdPAttribute attribute : attributes) {
if (attribute != null) {
- resolvedAttributes.put(attribute.getId(), attribute);
+ copy.put(attribute.getId(), attribute);
}
}
}
+ resolvedAttributes = Map.copyOf(copy);
+
return this;
}
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/mapped/impl/MappedAttributeDefinition.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/mapped/impl/MappedAttributeDefinition.java
index beea056..ecbeb4a 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/mapped/impl/MappedAttributeDefinition.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/mapped/impl/MappedAttributeDefinition.java
@@ -50,8 +50,7 @@ import org.slf4j.LoggerFactory;
import com.google.common.base.Predicates;
import com.google.common.base.Strings;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
+import com.google.common.collect.Collections2;
/**
* Implementation of Mapped Attributes. <br/>
@@ -93,7 +92,11 @@ public class MappedAttributeDefinition extends AbstractAttributeDefinition {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
- valueMaps = ImmutableSet.copyOf(Iterables.filter(mappings, Predicates.notNull()));
+ if (mappings != null) {
+ valueMaps = Set.copyOf(Collections2.filter(mappings, Predicates.notNull()));
+ } else {
+ valueMaps = Collections.emptySet();
+ }
}
/**
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/mapped/impl/ValueMap.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/mapped/impl/ValueMap.java
index 4932212..003e1fa 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/mapped/impl/ValueMap.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/mapped/impl/ValueMap.java
@@ -32,8 +32,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.base.Predicates;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
+import com.google.common.collect.Collections2;
import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
@@ -89,7 +88,11 @@ public class ValueMap implements Function<String, Set<StringAttributeValue>> {
*/
public void setSourceValues(@Nullable @NullableElements final Collection<SourceValue> newValues) {
- sourceValues = ImmutableSet.copyOf(Iterables.filter(newValues, Predicates.notNull()));
+ if (newValues != null) {
+ sourceValues = Set.copyOf(Collections2.filter(newValues, Predicates.notNull()));
+ } else {
+ sourceValues = Collections.emptySet();
+ }
}
/**
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/ScriptedResponseMappingStrategy.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/ScriptedResponseMappingStrategy.java
index b7096c0..688e9a9 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/ScriptedResponseMappingStrategy.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/ScriptedResponseMappingStrategy.java
@@ -40,12 +40,10 @@ import org.apache.http.entity.ContentType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.IdPAttributeValue;
import net.shibboleth.idp.attribute.resolver.ResolutionException;
+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;
@@ -94,10 +92,8 @@ public final class ScriptedResponseMappingStrategy extends AbstractScriptEvaluat
*
* @param statuses successful codes
*/
- public void setAcceptStatuses(@Nonnull final Collection<Integer> statuses) {
- Constraint.isNotNull(statuses, "Statuses cannot be null");
-
- acceptStatuses = new HashSet<>(Collections2.filter(statuses, Predicates.notNull()));
+ public void setAcceptStatuses(@Nonnull @NonnullElements final Collection<Integer> statuses) {
+ acceptStatuses = Set.copyOf(Constraint.isNotNull(statuses, "Statuses cannot be null"));
}
/**
@@ -105,10 +101,9 @@ public final class ScriptedResponseMappingStrategy extends AbstractScriptEvaluat
*
* @param types types to allow
*/
- public void setAcceptTypes(@Nonnull final Collection<String> types) {
- Constraint.isNotNull(types, "Types cannot be null");
-
- acceptTypes = new HashSet<>(StringSupport.normalizeStringCollection(types));
+ public void setAcceptTypes(@Nonnull @NonnullElements final Collection<String> types) {
+ acceptTypes = Set.copyOf(StringSupport.normalizeStringCollection(
+ Constraint.isNotNull(types, "Types cannot be null")));
}
/**
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/DataConnectorFactoryBean.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/DataConnectorFactoryBean.java
index c6c90ac..1f12226 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/DataConnectorFactoryBean.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/DataConnectorFactoryBean.java
@@ -21,7 +21,6 @@ import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Constructor;
import java.time.Duration;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
@@ -46,11 +45,6 @@ import org.springframework.context.ApplicationContextAware;
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.core.io.Resource;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterables;
-
/**
* A factory bean to collect the parameterization that goes onto a {@link AbstractDataConnector}.
*
@@ -135,8 +129,7 @@ public class DataConnectorFactoryBean extends AbstractResolverPluginFactoryBean<
* @param theResources the resources to look at
*/
public void setResources(@Nonnull @NonnullElements final List<Resource> theResources) {
- resources =
- ImmutableList.<Resource> builder().addAll(Iterables.filter(theResources, Predicates.notNull())).build();
+ resources = List.copyOf(Constraint.isNotNull(theResources, "Resources cannot be null"));
}
/**
@@ -173,7 +166,8 @@ public class DataConnectorFactoryBean extends AbstractResolverPluginFactoryBean<
*/
public void setBeanFactoryPostProcessors(@Nonnull @NonnullElements
final List<BeanFactoryPostProcessor> processors) {
- factoryPostProcessors = new ArrayList<>(Collections2.filter(processors, Predicates.notNull()));
+ factoryPostProcessors = List.copyOf(
+ Constraint.isNotNull(processors, "BeanFactoryPostProcessors cannot be null"));
}
/**
@@ -191,7 +185,7 @@ public class DataConnectorFactoryBean extends AbstractResolverPluginFactoryBean<
* @param processors bean post processors to apply
*/
public void setBeanPostProcessors(@Nonnull @NonnullElements final List<BeanPostProcessor> processors) {
- postProcessors = new ArrayList<>(Collections2.filter(processors, Predicates.notNull()));
+ postProcessors = List.copyOf(Constraint.isNotNull(processors, "BeanPostProcessors cannot be null"));
}
/**
diff --git a/idp-session-api/src/main/java/net/shibboleth/idp/session/logic/LogoutPropagationFlowDescriptorSelector.java b/idp-session-api/src/main/java/net/shibboleth/idp/session/logic/LogoutPropagationFlowDescriptorSelector.java
index 7dd51f7..f872575 100644
--- a/idp-session-api/src/main/java/net/shibboleth/idp/session/logic/LogoutPropagationFlowDescriptorSelector.java
+++ b/idp-session-api/src/main/java/net/shibboleth/idp/session/logic/LogoutPropagationFlowDescriptorSelector.java
@@ -17,16 +17,12 @@
package net.shibboleth.idp.session.logic;
-import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
import net.shibboleth.idp.session.LogoutPropagationFlowDescriptor;
import net.shibboleth.idp.session.SPSession;
import net.shibboleth.utilities.java.support.annotation.ParameterName;
@@ -39,7 +35,7 @@ import net.shibboleth.utilities.java.support.logic.Constraint;
public class LogoutPropagationFlowDescriptorSelector implements Function<SPSession,LogoutPropagationFlowDescriptor> {
/** List of available flows. */
- private final List<LogoutPropagationFlowDescriptor> availableFlows;
+ @Nonnull @NonnullElements private final List<LogoutPropagationFlowDescriptor> availableFlows;
/**
* Constructor.
@@ -48,9 +44,7 @@ public class LogoutPropagationFlowDescriptorSelector implements Function<SPSessi
*/
public LogoutPropagationFlowDescriptorSelector(
@Nonnull @NonnullElements @ParameterName(name="flows") final List<LogoutPropagationFlowDescriptor> flows) {
- Constraint.isNotNull(flows, "Flows cannot be null");
-
- availableFlows = new ArrayList<>(Collections2.filter(flows, Predicates.notNull()));
+ availableFlows = List.copyOf(Constraint.isNotNull(flows, "Flows cannot be null"));
}
/** {@inheritDoc} */
diff --git a/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java b/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java
index 56037cf..1846efe 100644
--- a/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java
+++ b/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java
@@ -62,10 +62,8 @@ import org.opensaml.storage.VersionMismatchException;
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.ImmutableList;
-import com.google.common.collect.Iterables;
/**
* Implementation of {@link SessionManager} and {@link SessionResolver} interfaces that relies on a
@@ -463,11 +461,12 @@ public class StorageBackedSessionManager extends AbstractIdentifiableInitializab
public void setAuthenticationFlowDescriptors(
@Nonnull @NonnullElements final Iterable<AuthenticationFlowDescriptor> flows) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- Constraint.isNotNull(flows, "Flow collection cannot be null");
flowDescriptorMap.clear();
- for (final AuthenticationFlowDescriptor desc : Iterables.filter(flows, Predicates.notNull())) {
- flowDescriptorMap.put(desc.getId(), desc);
+ for (final AuthenticationFlowDescriptor desc : Constraint.isNotNull(flows, "Flow collection cannot be null")) {
+ if (desc != null) {
+ flowDescriptorMap.put(desc.getId(), desc);
+ }
}
}
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/impl/SetRPUIInformation.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/impl/SetRPUIInformation.java
index 94edf2a..6176354 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/impl/SetRPUIInformation.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/impl/SetRPUIInformation.java
@@ -17,7 +17,6 @@
package net.shibboleth.idp.ui.impl;
-import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
@@ -40,9 +39,6 @@ import org.opensaml.saml.saml2.metadata.SPSSODescriptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.profile.AbstractProfileAction;
import net.shibboleth.idp.saml.profile.context.navigate.SAMLMetadataContextLookupFunction;
@@ -51,6 +47,7 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElemen
import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.net.HttpServletSupport;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
* Action to populate the {@link ProfileRequestContext} with a {@link RelyingPartyUIContext}. The contents are populated
@@ -149,11 +146,7 @@ public class SetRPUIInformation extends AbstractProfileAction {
public void setFallbackLanguages(@Nonnull @NonnullElements final List<String> langs) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- if (langs != null) {
- fallbackLanguages = new ArrayList<>(Collections2.filter(langs, Predicates.notNull()));
- } else {
- fallbackLanguages = null;
- }
+ fallbackLanguages = List.copyOf(StringSupport.normalizeStringCollection(langs));
}
/**
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list