[java-identity-provider] branch main updated: Replace Collections and Arrays usage.
Scott Cantor
cantor.2 at osu.edu
Thu Apr 20 14:26:27 UTC 2023
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=b16fff3de1d3aeb525260004b7cb87110fe39a3a
The following commit(s) were added to refs/heads/main by this push:
new b16fff3de Replace Collections and Arrays usage.
b16fff3de is described below
commit b16fff3de1d3aeb525260004b7cb87110fe39a3a
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Apr 20 10:26:23 2023 -0400
Replace Collections and Arrays usage.
---
.../shibboleth/idp/module/AbstractIdPModule.java | 16 ++++----
.../net/shibboleth/idp/plugin/IdPPluginTest.java | 7 ++--
.../java/net/shibboleth/idp/plugin/TestPlugin.java | 6 +--
.../idp/admin/impl/DoStorageOperation.java | 4 +-
.../shibboleth/idp/authn/AuthenticationResult.java | 6 +--
.../AuthenticationFlowsLookupFunction.java | 11 +++--
.../PostAuthenticationFlowsLookupFunction.java | 11 +++--
.../principal/GenericPrincipalSerializer.java | 3 +-
.../SubjectDerivedAttributeValuesFunction.java | 7 ++--
.../impl/SubjectDerivedAttributesFunction.java | 6 +--
.../idp/authn/duo/impl/ValidateDuoWebResponse.java | 6 +--
.../idp/authn/impl/DoLockoutManagerOperation.java | 4 +-
.../authn/impl/PopulateAuthenticationContext.java | 3 +-
.../authn/impl/ValidateExternalAuthentication.java | 14 ++++---
.../idp/authn/impl/ValidateFunctionResult.java | 8 ++--
.../shibboleth/idp/authn/impl/X509ProxyFilter.java | 4 +-
.../impl/DoRevocationCacheOperation.java | 4 +-
.../context/impl/AuthenticationContextTest.java | 13 ++++--
.../SubjectDerivedAttributeValuesFunctionTest.java | 7 ++--
...ttributeSourcedSubjectCanonicalizationTest.java | 25 ++++++-----
.../BaseMultiFactorAuthenticationContextTest.java | 4 +-
.../impl/HTPasswdCredentialValidatorTest.java | 18 ++++----
.../InitializeRequestedPrincipalContextTest.java | 8 ++--
.../authn/impl/JAASCredentialValidatorTest.java | 20 +++++----
.../authn/impl/LDAPCredentialValidatorTest.java | 16 ++++----
.../impl/PopulateAuthenticationContextTest.java | 7 +---
...pulateMultiFactorAuthenticationContextTest.java | 10 ++---
.../authn/impl/SelectAuthenticationFlowTest.java | 48 +++++++++++-----------
.../idp/authn/impl/ValidateCredentialsTest.java | 18 ++++----
.../authn/impl/ValidateUserAgentAddressTest.java | 18 ++++----
.../X509CertificateCredentialValidatorTest.java | 5 ++-
...RequestedPrincipalContextPrincipalEvalTest.java | 12 +++---
.../impl/AttributeRevocationConditionTest.java | 18 ++++----
.../idp/cas/protocol/TicketValidationResponse.java | 6 +--
.../PrepareTicketValidationResponseAction.java | 8 ++--
.../cas/proxy/impl/HttpClientProxyValidator.java | 8 ++--
.../impl/CASDateTimeAttributeTranscoderTest.java | 3 +-
.../CASScopedStringAttributeTranscoderTest.java | 10 ++---
.../impl/CASStringAttributeTranscoderTest.java | 10 ++---
.../proxy/impl/HttpClientProxyValidatorTest.java | 4 +-
.../service/impl/MetadataServiceRegistryTest.java | 5 +--
.../idp/test/flows/cas/LoginFlowTest.java | 6 +--
.../impl/CurrentConsentIdsAuditExtractor.java | 6 +--
.../CurrentConsentIsApprovedAuditExtractor.java | 4 +-
.../impl/CurrentConsentValuesAuditExtractor.java | 6 +--
.../logic/impl/MessageSourceConsentFunction.java | 6 +--
.../impl/CurrentConsentIdsAuditExtractorTest.java | 9 ++--
...CurrentConsentIsApprovedAuditExtractorTest.java | 8 ++--
.../CurrentConsentValuesAuditExtractorTest.java | 8 ++--
.../context/impl/AttributeReleaseContextTest.java | 6 +--
.../impl/PopulateAttributeReleaseContextTest.java | 9 ++--
.../flow/storage/impl/RevokeConsentTest.java | 4 +-
.../idp/consent/impl/ConsentTestingSupport.java | 7 ++--
.../impl/AttributeValueLookupFunctionTest.java | 10 ++---
.../impl/AttributeValuesHashFunctionTest.java | 15 ++++---
.../impl/PreferExplicitOrderComparatorTest.java | 8 ++--
.../storage/impl/CollectionSerializerTest.java | 6 +--
...IdPPropertiesApplicationContextInitializer.java | 4 +-
.../idp/installer/InstallerPropertiesImpl.java | 4 +-
.../net/shibboleth/idp/installer/V4Install.java | 3 +-
.../installer/impl/CurrentInstallStateImpl.java | 7 ++--
.../metadata/impl/MetadataGeneratorImpl.java | 17 ++++----
.../idp/installer/plugin/impl/PluginInstaller.java | 4 +-
.../installer/plugin/impl/PluginInstallerCLI.java | 3 +-
.../idp/installer/plugin/impl/TrustStore.java | 6 +--
.../installer/plugin/impl/PluginInstallerTest.java | 4 +-
.../idp/installer/plugin/impl/PluginStateTest.java | 6 +--
.../idp/installer/plugin/impl/TestModule.java | 14 +++----
.../idp/installer/plugin/impl/TestPlugin.java | 6 +--
.../navigate/InboundFlowsLookupFunction.java | 8 ++--
.../navigate/OutboundFlowsLookupFunction.java | 8 ++--
.../idp/profile/impl/FilterAttributes.java | 32 ++++++++-------
.../idp/profile/impl/ResolveAttributes.java | 4 +-
.../audit/impl/PopulateAuditContextTest.java | 12 +++---
.../idp/profile/audit/impl/WriteAuditLogTest.java | 20 ++++-----
.../impl/SelectProfileConfigurationTest.java | 11 +++--
.../PopulateProfileInterceptorContextTest.java | 9 +---
77 files changed, 354 insertions(+), 367 deletions(-)
diff --git a/idp-admin-api/src/main/java/net/shibboleth/idp/module/AbstractIdPModule.java b/idp-admin-api/src/main/java/net/shibboleth/idp/module/AbstractIdPModule.java
index 31194edb2..89413ffdf 100644
--- a/idp-admin-api/src/main/java/net/shibboleth/idp/module/AbstractIdPModule.java
+++ b/idp-admin-api/src/main/java/net/shibboleth/idp/module/AbstractIdPModule.java
@@ -32,9 +32,7 @@ import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.LinkedHashMap;
-import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -71,7 +69,7 @@ public abstract class AbstractIdPModule implements IdPModule {
@Nonnull private Logger log = LoggerFactory.getLogger(AbstractIdPModule.class);
/** Module resources. */
- @Nonnull @NonnullElements private Collection<BasicModuleResource> moduleResources;
+ @Nonnull private Collection<ModuleResource> moduleResources;
/** Constructor. */
public AbstractIdPModule() {
@@ -79,8 +77,8 @@ public abstract class AbstractIdPModule implements IdPModule {
}
/** {@inheritDoc} */
- @Nonnull @NonnullElements @NotLive @Unmodifiable public Collection<ModuleResource> getResources() {
- return List.copyOf(moduleResources);
+ @Nonnull @NotLive @Unmodifiable public Collection<ModuleResource> getResources() {
+ return moduleResources;
}
/**
@@ -90,9 +88,9 @@ public abstract class AbstractIdPModule implements IdPModule {
*/
public void setResources(@Nullable @NonnullElements final Collection<BasicModuleResource> resources) {
if (resources != null) {
- moduleResources = List.copyOf(resources);
+ moduleResources = CollectionSupport.copyToList(resources);
} else {
- moduleResources = Collections.emptyList();
+ moduleResources = CollectionSupport.emptyList();
}
}
@@ -164,7 +162,7 @@ public abstract class AbstractIdPModule implements IdPModule {
results.put(resource, ((BasicModuleResource) resource).enable(moduleContext));
}
} else {
- results = Collections.emptyMap();
+ results = CollectionSupport.emptyMap();
}
log.debug("Module {} enabled", getId());
@@ -190,7 +188,7 @@ public abstract class AbstractIdPModule implements IdPModule {
results.put(resource, ((BasicModuleResource) resource).disable(moduleContext, clean));
}
} else {
- results = Collections.emptyMap();
+ results = CollectionSupport.emptyMap();
}
log.debug("Module {} disabled", getId());
diff --git a/idp-admin-api/src/test/java/net/shibboleth/idp/plugin/IdPPluginTest.java b/idp-admin-api/src/test/java/net/shibboleth/idp/plugin/IdPPluginTest.java
index 8aed7d902..e6181dd65 100644
--- a/idp-admin-api/src/test/java/net/shibboleth/idp/plugin/IdPPluginTest.java
+++ b/idp-admin-api/src/test/java/net/shibboleth/idp/plugin/IdPPluginTest.java
@@ -18,7 +18,6 @@ package net.shibboleth.idp.plugin;
import java.io.IOException;
import java.net.URL;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.ServiceLoader;
@@ -31,10 +30,12 @@ import org.testng.annotations.Test;
import net.shibboleth.idp.module.IdPModule;
import net.shibboleth.idp.module.ModuleException;
import net.shibboleth.idp.module.TestModule;
+import net.shibboleth.shared.collection.CollectionSupport;
/**
* Unit tests exercising plugin code.
*/
+ at SuppressWarnings("javadoc")
public class IdPPluginTest {
private IdPPlugin testPlugin;
@@ -59,8 +60,8 @@ public class IdPPluginTest {
Assert.assertEquals(urls.get(1).toString(), "https://backup.example.org/plugin");
final IdPModule test = new TestModule();
- Assert.assertEquals(testPlugin.getEnableOnInstall(), Collections.singleton(test));
- Assert.assertEquals(testPlugin.getDisableOnRemoval(), Collections.singleton(test));
+ Assert.assertEquals(testPlugin.getEnableOnInstall(), CollectionSupport.singleton(test));
+ Assert.assertEquals(testPlugin.getDisableOnRemoval(), CollectionSupport.singleton(test));
}
}
\ No newline at end of file
diff --git a/idp-admin-api/src/test/java/net/shibboleth/idp/plugin/TestPlugin.java b/idp-admin-api/src/test/java/net/shibboleth/idp/plugin/TestPlugin.java
index ed1f12fe2..10035d8bd 100644
--- a/idp-admin-api/src/test/java/net/shibboleth/idp/plugin/TestPlugin.java
+++ b/idp-admin-api/src/test/java/net/shibboleth/idp/plugin/TestPlugin.java
@@ -18,11 +18,11 @@
package net.shibboleth.idp.plugin;
import java.io.IOException;
-import java.util.Collections;
import net.shibboleth.idp.module.IdPModule;
import net.shibboleth.idp.module.ModuleException;
import net.shibboleth.idp.module.TestModule;
+import net.shibboleth.shared.collection.CollectionSupport;
/**
* Test plugin for unit test.
@@ -40,8 +40,8 @@ public class TestPlugin extends PropertyDrivenIdPPlugin {
try {
final IdPModule module = new TestModule();
- setEnableOnInstall(Collections.singleton(module));
- setDisableOnRemoval(Collections.singleton(module));
+ setEnableOnInstall(CollectionSupport.singleton(module));
+ setDisableOnRemoval(CollectionSupport.singleton(module));
} catch (final IOException | ModuleException e) {
throw new PluginException(e);
}
diff --git a/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/DoStorageOperation.java b/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/DoStorageOperation.java
index a14d39b75..acce008ee 100644
--- a/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/DoStorageOperation.java
+++ b/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/DoStorageOperation.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.admin.impl;
import java.io.IOException;
-import java.util.Collections;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -46,6 +45,7 @@ import net.shibboleth.idp.profile.context.SpringRequestContext;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NonnullBeforeExec;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -427,7 +427,7 @@ public class DoStorageOperation extends AbstractProfileAction {
final Error e = new Error();
final Errors errors = new Errors();
- errors.setErrors(Collections.singletonList(e));
+ errors.setErrors(CollectionSupport.singletonList(e));
e.setStatus(Integer.toString(status));
e.setTitle(title);
e.setDetail(detail);
diff --git a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AuthenticationResult.java b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AuthenticationResult.java
index c8b9868de..a7003229a 100644
--- a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AuthenticationResult.java
+++ b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AuthenticationResult.java
@@ -19,7 +19,6 @@ package net.shibboleth.idp.authn;
import java.security.Principal;
import java.time.Instant;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
@@ -42,6 +41,7 @@ import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
@@ -114,8 +114,8 @@ public class AuthenticationResult implements PrincipalSupportingComponent, Predi
*/
public AuthenticationResult(@Nonnull @NotEmpty final String flowId, @Nonnull final Principal principal) {
this(flowId, new Subject(false,
- Collections.singleton(Constraint.isNotNull(principal, "Principal cannot be null")),
- Collections.emptySet(), Collections.emptySet()));
+ CollectionSupport.singleton(Constraint.isNotNull(principal, "Principal cannot be null")),
+ CollectionSupport.emptySet(), CollectionSupport.emptySet()));
}
/**
diff --git a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/config/navigate/AuthenticationFlowsLookupFunction.java b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/config/navigate/AuthenticationFlowsLookupFunction.java
index b5e4625db..d2c05f1c5 100644
--- a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/config/navigate/AuthenticationFlowsLookupFunction.java
+++ b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/config/navigate/AuthenticationFlowsLookupFunction.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.authn.config.navigate;
import java.util.Collection;
-import java.util.Collections;
import javax.annotation.Nullable;
@@ -26,9 +25,9 @@ import net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.CollectionSupport;
import org.opensaml.profile.context.ProfileRequestContext;
@@ -43,17 +42,17 @@ public class AuthenticationFlowsLookupFunction extends AbstractRelyingPartyLooku
/** {@inheritDoc} */
@Override
- @Nullable @NonnullElements @NotLive @Unmodifiable public Collection<String> apply(
+ @Nullable @NotLive @Unmodifiable public Collection<String> apply(
@Nullable final ProfileRequestContext input) {
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc != null && pc instanceof AuthenticationProfileConfiguration) {
- return ((AuthenticationProfileConfiguration) pc).getAuthenticationFlows(input);
+ if (pc instanceof AuthenticationProfileConfiguration apc) {
+ return apc.getAuthenticationFlows(input);
}
}
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
}
\ No newline at end of file
diff --git a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/config/navigate/PostAuthenticationFlowsLookupFunction.java b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/config/navigate/PostAuthenticationFlowsLookupFunction.java
index 6a32637b6..45ca5e748 100644
--- a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/config/navigate/PostAuthenticationFlowsLookupFunction.java
+++ b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/config/navigate/PostAuthenticationFlowsLookupFunction.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.authn.config.navigate;
import java.util.Collection;
-import java.util.Collections;
import javax.annotation.Nullable;
@@ -26,9 +25,9 @@ import net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.CollectionSupport;
import org.opensaml.profile.context.ProfileRequestContext;
@@ -43,17 +42,17 @@ public class PostAuthenticationFlowsLookupFunction extends AbstractRelyingPartyL
/** {@inheritDoc} */
@Override
- @Nullable @NonnullElements @NotLive @Unmodifiable public Collection<String> apply(
+ @Nullable @NotLive @Unmodifiable public Collection<String> apply(
@Nullable final ProfileRequestContext input) {
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc != null && pc instanceof AuthenticationProfileConfiguration) {
- return ((AuthenticationProfileConfiguration) pc).getPostAuthenticationFlows(input);
+ if (pc instanceof AuthenticationProfileConfiguration apc) {
+ return apc.getPostAuthenticationFlows(input);
}
}
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
}
\ No newline at end of file
diff --git a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/principal/GenericPrincipalSerializer.java b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/principal/GenericPrincipalSerializer.java
index 2dcb8f0d8..eedcfadd3 100644
--- a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/principal/GenericPrincipalSerializer.java
+++ b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/principal/GenericPrincipalSerializer.java
@@ -87,7 +87,8 @@ public class GenericPrincipalSerializer extends AbstractPrincipalSerializer<Stri
final BiMap<String,Integer> s = ImmutableBiMap.of();
assert s!=null;
symbolics = s;
- final Set<Class<? extends Principal>> cpt = Collections.synchronizedSet(new HashSet<Class<? extends Principal>>());
+ final Set<Class<? extends Principal>> cpt =
+ Collections.synchronizedSet(new HashSet<Class<? extends Principal>>());
assert cpt!=null;
compatiblePrincipalTypes = cpt;
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/context/impl/SubjectDerivedAttributeValuesFunction.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/context/impl/SubjectDerivedAttributeValuesFunction.java
index c4180bdf8..d36e31295 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/context/impl/SubjectDerivedAttributeValuesFunction.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/context/impl/SubjectDerivedAttributeValuesFunction.java
@@ -20,7 +20,6 @@ package net.shibboleth.idp.authn.context.impl;
import java.security.Principal;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import java.util.function.Function;
@@ -37,10 +36,12 @@ import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
import net.shibboleth.idp.authn.context.SubjectContext;
import net.shibboleth.idp.authn.context.navigate.SubjectCanonicalizationContextSubjectLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
+
/**
* A Function which returns {@link IdPAttributeValue}s derived from the {@link java.security.Principal}s
* associated with the request. The precise values are determined by an injected {@link Function}.
@@ -138,7 +139,7 @@ public class SubjectDerivedAttributeValuesFunction extends AbstractIdentifiableI
/** {@inheritDoc} */
@Nullable public List<IdPAttributeValue> apply(@Nullable final ProfileRequestContext prc) {
- Collection<Subject> subjects = Collections.emptyList();
+ Collection<Subject> subjects = CollectionSupport.emptyList();
if (subjectLookupStrategy != null) {
final Subject subject = subjectLookupStrategy.apply(prc);
@@ -146,7 +147,7 @@ public class SubjectDerivedAttributeValuesFunction extends AbstractIdentifiableI
log.debug("{} No Subject returned from lookup, no attribute resolved", getLogPrefix());
return null;
}
- subjects = Collections.singletonList(subject);
+ subjects = CollectionSupport.singletonList(subject);
} else {
final SubjectContext cs = scLookupStrategy.apply(prc);
if (cs == null || cs.getSubjects().isEmpty()) {
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/context/impl/SubjectDerivedAttributesFunction.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/context/impl/SubjectDerivedAttributesFunction.java
index 2e059249f..a560a211c 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/context/impl/SubjectDerivedAttributesFunction.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/context/impl/SubjectDerivedAttributesFunction.java
@@ -19,7 +19,6 @@ package net.shibboleth.idp.authn.context.impl;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -37,6 +36,7 @@ import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
import net.shibboleth.idp.authn.context.SubjectContext;
import net.shibboleth.idp.authn.context.navigate.SubjectCanonicalizationContextSubjectLookupFunction;
import net.shibboleth.idp.authn.principal.IdPAttributePrincipal;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
@@ -127,7 +127,7 @@ public class SubjectDerivedAttributesFunction extends AbstractIdentifiableInitia
/** {@inheritDoc} */
@Nullable public List<IdPAttribute> apply(@Nullable final ProfileRequestContext prc) {
- Collection<Subject> subjects = Collections.emptyList();
+ Collection<Subject> subjects = CollectionSupport.emptyList();
if (subjectLookupStrategy != null) {
final Subject subject = subjectLookupStrategy.apply(prc);
@@ -135,7 +135,7 @@ public class SubjectDerivedAttributesFunction extends AbstractIdentifiableInitia
log.debug("{} No Subject returned from lookup, no attribute resolved", getLogPrefix());
return null;
}
- subjects = Collections.singletonList(subject);
+ subjects = CollectionSupport.singletonList(subject);
} else {
final SubjectContext cs = scLookupStrategy.apply(prc);
if (cs == null || cs.getSubjects().isEmpty()) {
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/ValidateDuoWebResponse.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/ValidateDuoWebResponse.java
index f950993aa..8525c2203 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/ValidateDuoWebResponse.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/ValidateDuoWebResponse.java
@@ -21,7 +21,6 @@ import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.Principal;
-import java.util.Collections;
import java.util.Map;
import java.util.Set;
import java.util.function.Function;
@@ -48,6 +47,7 @@ import net.shibboleth.idp.profile.IdPAuditFields;
import net.shibboleth.idp.session.context.navigate.CanonicalUsernameLookupStrategy;
import net.shibboleth.shared.annotation.constraint.NonnullBeforeExec;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.logic.FunctionSupport;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -240,10 +240,10 @@ public class ValidateDuoWebResponse extends AbstractAuditingValidationAction {
return Map.of(AuthnAuditFields.DUO_CLIENT_ID, duoIntegration.getIntegrationKey(),
IdPAuditFields.USERNAME, username);
} else {
- return Collections.singletonMap(IdPAuditFields.USERNAME, username);
+ return CollectionSupport.singletonMap(IdPAuditFields.USERNAME, username);
}
} else if (duoIntegration != null) {
- return Collections.singletonMap(AuthnAuditFields.DUO_CLIENT_ID, duoIntegration.getIntegrationKey());
+ return CollectionSupport.singletonMap(AuthnAuditFields.DUO_CLIENT_ID, duoIntegration.getIntegrationKey());
}
return super.getAuditFields(profileRequestContext);
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/DoLockoutManagerOperation.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/DoLockoutManagerOperation.java
index 02ec35054..9b442d61d 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/DoLockoutManagerOperation.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/DoLockoutManagerOperation.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.authn.impl;
import java.io.IOException;
-import java.util.Collections;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -46,6 +45,7 @@ import net.shibboleth.idp.profile.context.SpringRequestContext;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NonnullBeforeExec;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -291,7 +291,7 @@ public class DoLockoutManagerOperation extends AbstractProfileAction {
final Error e = new Error();
final Errors errors = new Errors();
- errors.setErrors(Collections.singletonList(e));
+ errors.setErrors(CollectionSupport.singletonList(e));
e.setStatus(Integer.toString(status));
e.setTitle(title);
e.setDetail(detail);
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PopulateAuthenticationContext.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PopulateAuthenticationContext.java
index 5202498a7..104de559d 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PopulateAuthenticationContext.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PopulateAuthenticationContext.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.authn.impl;
import java.util.Collection;
-import java.util.Collections;
import java.util.function.Function;
import javax.annotation.Nonnull;
@@ -76,7 +75,7 @@ public class PopulateAuthenticationContext extends AbstractAuthenticationAction
/** Constructor. */
public PopulateAuthenticationContext() {
availableFlows = CollectionSupport.emptyList();
- potentialFlowsLookupStrategy = FunctionSupport.constant(Collections.emptyList());
+ potentialFlowsLookupStrategy = FunctionSupport.constant(CollectionSupport.emptyList());
activeFlowsLookupStrategy = new AuthenticationFlowsLookupFunction();
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateExternalAuthentication.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateExternalAuthentication.java
index 9c8436192..362f3b020 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateExternalAuthentication.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateExternalAuthentication.java
@@ -17,8 +17,8 @@
package net.shibboleth.idp.authn.impl;
+import java.security.Principal;
import java.time.Instant;
-import java.util.Collections;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;
@@ -189,13 +189,15 @@ public class ValidateExternalAuthentication extends AbstractAuditingValidationAc
} else if (extContext.getPrincipal() != null) {
log.info("{} External authentication succeeded for Principal: {}", getLogPrefix(),
extContext.getPrincipal());
- extContext.setSubject(new Subject(false, Collections.singleton(extContext.getPrincipal()),
- Collections.emptySet(), Collections.emptySet()));
+ final Principal p = extContext.getPrincipal();
+ assert p != null;
+ extContext.setSubject(new Subject(false, CollectionSupport.singleton(p), CollectionSupport.emptySet(),
+ CollectionSupport.emptySet()));
} else if (principalName!= null) {
log.info("{} External authentication succeeded for user: {}", getLogPrefix(), principalName);
extContext.setSubject(new Subject(false,
- Collections.singleton(new UsernamePrincipal(principalName)),
- Collections.emptySet(), Collections.emptySet()));
+ CollectionSupport.singleton(new UsernamePrincipal(principalName)),
+ CollectionSupport.emptySet(), CollectionSupport.emptySet()));
} else {
log.info("{} External authentication failed, no user identity or error information returned",
getLogPrefix());
@@ -323,7 +325,7 @@ public class ValidateExternalAuthentication extends AbstractAuditingValidationAc
if (subject != null) {
final String name = getUsername(subject);
if (name != null) {
- return Collections.singletonMap(IdPAuditFields.USERNAME, name);
+ return CollectionSupport.singletonMap(IdPAuditFields.USERNAME, name);
}
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateFunctionResult.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateFunctionResult.java
index bbf9b45c8..2dfc52fc3 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateFunctionResult.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateFunctionResult.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.authn.impl;
import java.security.Principal;
-import java.util.Collections;
import java.util.Map;
import java.util.Set;
import java.util.function.Function;
@@ -37,6 +36,7 @@ import net.shibboleth.idp.authn.principal.UsernamePrincipal;
import net.shibboleth.idp.profile.IdPAuditFields;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.logic.ConstraintViolationException;
@@ -162,13 +162,13 @@ public class ValidateFunctionResult extends AbstractAuditingValidationAction {
@Nullable protected Map<String,String> getAuditFields(@Nonnull final ProfileRequestContext profileRequestContext) {
if (result instanceof String) {
- return Collections.singletonMap(IdPAuditFields.USERNAME, (String) result);
+ return CollectionSupport.singletonMap(IdPAuditFields.USERNAME, (String) result);
} else if (result instanceof UsernamePrincipal) {
- return Collections.singletonMap(IdPAuditFields.USERNAME, ((UsernamePrincipal) result).getName());
+ return CollectionSupport.singletonMap(IdPAuditFields.USERNAME, ((UsernamePrincipal) result).getName());
} else if (result instanceof Subject) {
final String name = getUsername((Subject) result);
if (name != null) {
- return Collections.singletonMap(IdPAuditFields.USERNAME, name);
+ return CollectionSupport.singletonMap(IdPAuditFields.USERNAME, name);
}
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/X509ProxyFilter.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/X509ProxyFilter.java
index 47d466bd8..a0c62d597 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/X509ProxyFilter.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/X509ProxyFilter.java
@@ -22,7 +22,6 @@ import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
@@ -33,6 +32,7 @@ import org.slf4j.Logger;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.primitive.StringSupport;
@@ -69,7 +69,7 @@ public class X509ProxyFilter implements Filter {
/** Constructor. */
public X509ProxyFilter() {
- chainHeaders = Collections.emptyList();
+ chainHeaders = CollectionSupport.emptyList();
}
/** {@inheritDoc} */
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/revocation/impl/DoRevocationCacheOperation.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/revocation/impl/DoRevocationCacheOperation.java
index a246cd9a0..d762d8773 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/revocation/impl/DoRevocationCacheOperation.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/revocation/impl/DoRevocationCacheOperation.java
@@ -19,7 +19,6 @@ package net.shibboleth.idp.authn.revocation.impl;
import java.io.IOException;
import java.time.Duration;
-import java.util.Collections;
import javax.annotation.Nonnull;
@@ -42,6 +41,7 @@ import net.shibboleth.idp.profile.context.SpringRequestContext;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NonnullBeforeExec;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -361,7 +361,7 @@ public class DoRevocationCacheOperation extends AbstractProfileAction {
final Error e = new Error();
final Errors errors = new Errors();
- errors.setErrors(Collections.singletonList(e));
+ errors.setErrors(CollectionSupport.singletonList(e));
e.setStatus(Integer.toString(status));
e.setTitle(title);
e.setDetail(detail);
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/AuthenticationContextTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/AuthenticationContextTest.java
index 020d8cb05..6d604ea19 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/AuthenticationContextTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/AuthenticationContextTest.java
@@ -19,7 +19,6 @@ package net.shibboleth.idp.authn.context.impl;
import java.time.Instant;
import java.util.Arrays;
-import java.util.Collections;
import javax.security.auth.Subject;
@@ -29,6 +28,7 @@ import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
import net.shibboleth.idp.authn.principal.PrincipalEvalPredicateFactoryRegistry;
import net.shibboleth.idp.authn.testing.TestPrincipal;
+import net.shibboleth.shared.collection.CollectionSupport;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -144,7 +144,7 @@ public class AuthenticationContextTest {
RequestedPrincipalContext rpCtx = ctx.getSubcontext(RequestedPrincipalContext.class);
assert rpCtx!=null;
Assert.assertEquals(rpCtx.getOperator(), "foo");
- Assert.assertEquals(rpCtx.getRequestedPrincipals(), Collections.singletonList(new TestPrincipal("bar")));
+ Assert.assertEquals(rpCtx.getRequestedPrincipals(), CollectionSupport.singletonList(new TestPrincipal("bar")));
Assert.assertFalse(ctx.addRequestedPrincipalContext("foo", new TestPrincipal("bar"), false));
@@ -152,15 +152,20 @@ public class AuthenticationContextTest {
rpCtx = ctx.getSubcontext(RequestedPrincipalContext.class);
assert rpCtx!=null;
Assert.assertEquals(rpCtx.getOperator(), "fob");
- Assert.assertEquals(rpCtx.getRequestedPrincipals(), Collections.singletonList(new TestPrincipal("baz")));
+ Assert.assertEquals(rpCtx.getRequestedPrincipals(), CollectionSupport.singletonList(new TestPrincipal("baz")));
- ctx.addRequestedPrincipalContext("fog", TestPrincipal.class.getName(), Arrays.asList("baf", "bag"), true);
+ ctx.addRequestedPrincipalContext("fog", TestPrincipal.class.getName(), CollectionSupport.listOf("baf", "bag"), true);
rpCtx = ctx.getSubcontext(RequestedPrincipalContext.class);
assert rpCtx!=null;
Assert.assertEquals(rpCtx.getOperator(), "fog");
Assert.assertEquals(rpCtx.getRequestedPrincipals().size(), 2);
}
+ /**
+ * Tests helper method when bad type used.
+ *
+ * @throws Exception
+ */
@Test(expectedExceptions = ClassCastException.class)
public void testRequestedPrincipalContextHelperBadType() throws Exception {
final AuthenticationContext ctx = new AuthenticationContext();
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/SubjectDerivedAttributeValuesFunctionTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/SubjectDerivedAttributeValuesFunctionTest.java
index 74a837f5f..e74259629 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/SubjectDerivedAttributeValuesFunctionTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/SubjectDerivedAttributeValuesFunctionTest.java
@@ -22,7 +22,6 @@ import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -44,6 +43,7 @@ import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
import net.shibboleth.idp.authn.context.SubjectContext;
import net.shibboleth.idp.authn.principal.IdPAttributePrincipal;
import net.shibboleth.idp.saml.authn.principal.AuthenticationMethodPrincipal;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.FunctionSupport;
@@ -54,7 +54,8 @@ public class SubjectDerivedAttributeValuesFunctionTest {
/** Simple result. */
private static final String SIMPLE_VALUE = "simple";
- @Nonnull private List<IdPAttributeValue> doResolve(@Nonnull final ContextDerivedAttributeDefinition defn, @Nonnull final AttributeResolutionContext ctx) throws ResolutionException {
+ @Nonnull private List<IdPAttributeValue> doResolve(@Nonnull final ContextDerivedAttributeDefinition defn,
+ @Nonnull final AttributeResolutionContext ctx) throws ResolutionException {
final IdPAttribute attr = defn.resolve(ctx);
assert attr!=null;
return attr.getValues();
@@ -203,7 +204,7 @@ public class SubjectDerivedAttributeValuesFunctionTest {
}
@Test public void empty() throws ComponentInitializationException, ResolutionException {
- final List<IdPAttributeValue> list = Collections.emptyList();
+ final List<IdPAttributeValue> list = CollectionSupport.emptyList();
final IdPAttribute attr = new IdPAttribute("wibble");
attr.setValues(list);
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/AttributeSourcedSubjectCanonicalizationTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/AttributeSourcedSubjectCanonicalizationTest.java
index 822780fac..763024385 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/AttributeSourcedSubjectCanonicalizationTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/AttributeSourcedSubjectCanonicalizationTest.java
@@ -17,8 +17,6 @@
package net.shibboleth.idp.authn.impl;
-import java.util.Collections;
-
import javax.security.auth.Subject;
import org.springframework.webflow.execution.Event;
@@ -39,6 +37,7 @@ import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
/** {@link AttributeSourcedSubjectCanonicalization} unit test. */
+ at SuppressWarnings("javadoc")
public class AttributeSourcedSubjectCanonicalizationTest extends BaseAuthenticationContextTest {
private AttributeSourcedSubjectCanonicalization action;
@@ -96,12 +95,12 @@ public class AttributeSourcedSubjectCanonicalizationTest extends BaseAuthenticat
action.initialize();
final IdPAttribute inputAttribute = new IdPAttribute("attr2");
- inputAttribute.setValues(Collections.singletonList(new StringAttributeValue("foo")));
+ inputAttribute.setValues(CollectionSupport.singletonList(new StringAttributeValue("foo")));
final SubjectCanonicalizationContext sc = prc.ensureSubcontext(SubjectCanonicalizationContext.class);
sc.setSubject(new Subject());
- sc.ensureSubcontext(AttributeContext.class).setIdPAttributes(Collections.singleton(inputAttribute));
+ sc.ensureSubcontext(AttributeContext.class).setIdPAttributes(CollectionSupport.singleton(inputAttribute));
final Event event = action.execute(src);
@@ -114,7 +113,7 @@ public class AttributeSourcedSubjectCanonicalizationTest extends BaseAuthenticat
action.initialize();
final IdPAttribute inputAttribute = new IdPAttribute("attr2");
- inputAttribute.setValues(Collections.singletonList(new StringAttributeValue("foo")));
+ inputAttribute.setValues(CollectionSupport.singletonList(new StringAttributeValue("foo")));
final SubjectCanonicalizationContext sc = prc.ensureSubcontext(SubjectCanonicalizationContext.class);
final Subject subject = new Subject();
sc.setSubject(subject);
@@ -131,7 +130,7 @@ public class AttributeSourcedSubjectCanonicalizationTest extends BaseAuthenticat
action.initialize();
final IdPAttribute inputAttribute = new IdPAttribute("attr2");
- inputAttribute.setValues(Collections.singletonList(new ScopedStringAttributeValue("foo", "scope")));
+ inputAttribute.setValues(CollectionSupport.singletonList(new ScopedStringAttributeValue("foo", "scope")));
final SubjectCanonicalizationContext sc = prc.ensureSubcontext(SubjectCanonicalizationContext.class);
final Subject subject = new Subject();
sc.setSubject(subject);
@@ -148,17 +147,17 @@ public class AttributeSourcedSubjectCanonicalizationTest extends BaseAuthenticat
action.initialize();
final IdPAttribute attr2 = new IdPAttribute("attr2");
- attr2.setValues(Collections.singletonList(new StringAttributeValue("foo")));
+ attr2.setValues(CollectionSupport.singletonList(new StringAttributeValue("foo")));
final IdPAttribute attr2bar = new IdPAttribute("attr2");
- attr2bar.setValues(Collections.singletonList(new StringAttributeValue("bar")));
+ attr2bar.setValues(CollectionSupport.singletonList(new StringAttributeValue("bar")));
final SubjectCanonicalizationContext sc = prc.ensureSubcontext(SubjectCanonicalizationContext.class);
final Subject subject = new Subject();
sc.setSubject(subject);
subject.getPrincipals().add(new IdPAttributePrincipal(attr2));
- sc.ensureSubcontext(AttributeContext.class).setIdPAttributes(Collections.singleton(attr2bar));
+ sc.ensureSubcontext(AttributeContext.class).setIdPAttributes(CollectionSupport.singleton(attr2bar));
Event event = action.execute(src);
@@ -167,7 +166,7 @@ public class AttributeSourcedSubjectCanonicalizationTest extends BaseAuthenticat
subject.getPrincipals().clear();
subject.getPrincipals().add(new IdPAttributePrincipal(attr2bar));
- sc.ensureSubcontext(AttributeContext.class).setIdPAttributes(Collections.singleton(attr2));
+ sc.ensureSubcontext(AttributeContext.class).setIdPAttributes(CollectionSupport.singleton(attr2));
event = action.execute(src);
@@ -180,17 +179,17 @@ public class AttributeSourcedSubjectCanonicalizationTest extends BaseAuthenticat
action.initialize();
final IdPAttribute attr2 = new IdPAttribute("attr2");
- attr2.setValues(Collections.singletonList(new StringAttributeValue("bar")));
+ attr2.setValues(CollectionSupport.singletonList(new StringAttributeValue("bar")));
final IdPAttribute attr1 = new IdPAttribute("attr1");
- attr1.setValues(Collections.singletonList(new StringAttributeValue("foo")));
+ attr1.setValues(CollectionSupport.singletonList(new StringAttributeValue("foo")));
final SubjectCanonicalizationContext sc = prc.ensureSubcontext(SubjectCanonicalizationContext.class);
final Subject subject = new Subject();
sc.setSubject(subject);
subject.getPrincipals().add(new IdPAttributePrincipal(attr2));
- sc.ensureSubcontext(AttributeContext.class).setIdPAttributes(Collections.singleton(attr1));
+ sc.ensureSubcontext(AttributeContext.class).setIdPAttributes(CollectionSupport.singleton(attr1));
final Event event = action.execute(src);
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/BaseMultiFactorAuthenticationContextTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/BaseMultiFactorAuthenticationContextTest.java
index d625012ee..294f28728 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/BaseMultiFactorAuthenticationContextTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/BaseMultiFactorAuthenticationContextTest.java
@@ -24,10 +24,10 @@ import net.shibboleth.idp.authn.context.MultiFactorAuthenticationContext;
import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileRequestContextLookup;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
import net.shibboleth.idp.profile.testing.RequestContextBuilder;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.FunctionSupport;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -86,7 +86,7 @@ public class BaseMultiFactorAuthenticationContextTest {
final PopulateAuthenticationContext action = new PopulateAuthenticationContext();
action.setAvailableFlows(authenticationFlows.values());
- action.setPotentialFlowsLookupStrategy(FunctionSupport.constant(Collections.singletonList(authenticationFlows.get("authn/MFA"))));
+ action.setPotentialFlowsLookupStrategy(FunctionSupport.constant(CollectionSupport.singletonList(authenticationFlows.get("authn/MFA"))));
action.initialize();
action.execute(src);
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidatorTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidatorTest.java
index 89644db4c..76a2f26ff 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidatorTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidatorTest.java
@@ -17,9 +17,7 @@
package net.shibboleth.idp.authn.impl;
-import java.security.Principal;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;
@@ -45,10 +43,12 @@ import net.shibboleth.idp.authn.principal.UsernamePrincipal;
import net.shibboleth.idp.authn.principal.impl.ExactPrincipalEvalPredicateFactory;
import net.shibboleth.idp.authn.testing.TestPrincipal;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.testing.ConstantSupplier;
/** Unit test for htpasswd file validation. */
+ at SuppressWarnings("javadoc")
public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTest {
private static final String DATA_PATH = "src/test/resources/net/shibboleth/idp/authn/impl/";
@@ -65,11 +65,11 @@ public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTe
validator.setId("htpasswdtest");
action = new ValidateCredentials();
- action.setValidators(Collections.singletonList(validator));
+ action.setValidators(CollectionSupport.singletonList(validator));
final Map<String,Collection<String>> mappings = new HashMap<>();
- mappings.put("InvalidPassword", Collections.singleton(AuthnEventIds.INVALID_CREDENTIALS));
- mappings.put(AuthnEventIds.UNKNOWN_USERNAME, Collections.singleton(AuthnEventIds.UNKNOWN_USERNAME));
+ mappings.put("InvalidPassword", CollectionSupport.singleton(AuthnEventIds.INVALID_CREDENTIALS));
+ mappings.put(AuthnEventIds.UNKNOWN_USERNAME, CollectionSupport.singleton(AuthnEventIds.UNKNOWN_USERNAME));
action.setClassifiedMessages(mappings);
final MockHttpServletRequest request = new MockHttpServletRequest();
@@ -121,9 +121,9 @@ public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTe
rpc.getPrincipalEvalPredicateFactoryRegistry().register(
TestPrincipal.class, "exact", new ExactPrincipalEvalPredicateFactory());
rpc.setOperator("exact");
- rpc.setRequestedPrincipals(Collections.<Principal>singletonList(new TestPrincipal("test1")));
+ rpc.setRequestedPrincipals(CollectionSupport.singletonList(new TestPrincipal("test1")));
- validator.setSupportedPrincipals(Collections.<Principal>singletonList(new TestPrincipal("test2")));
+ validator.setSupportedPrincipals(CollectionSupport.singletonList(new TestPrincipal("test2")));
validator.initialize();
action.initialize();
@@ -328,9 +328,9 @@ public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTe
rpc.getPrincipalEvalPredicateFactoryRegistry().register(
TestPrincipal.class, "exact", new ExactPrincipalEvalPredicateFactory());
rpc.setOperator("exact");
- rpc.setRequestedPrincipals(Collections.singletonList(new TestPrincipal("test1")));
+ rpc.setRequestedPrincipals(CollectionSupport.singletonList(new TestPrincipal("test1")));
- validator.setSupportedPrincipals(Collections.singletonList(new TestPrincipal("test1")));
+ validator.setSupportedPrincipals(CollectionSupport.singletonList(new TestPrincipal("test1")));
validator.initialize();
action.initialize();
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContextTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContextTest.java
index 7607d6782..51b5abf02 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContextTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContextTest.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.authn.impl;
import java.security.Principal;
-import java.util.Collections;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
@@ -28,7 +27,6 @@ import net.shibboleth.idp.profile.IdPEventIds;
import org.opensaml.profile.context.ProfileRequestContext;
-import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileRequestContextLookup;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
@@ -116,7 +114,7 @@ public class InitializeRequestedPrincipalContextTest {
*/
@Test public void testInvalidProfileConfiguration() throws Exception {
src = new RequestContextBuilder().setRelyingPartyProfileConfigurations(
- Collections.<ProfileConfiguration>singleton(new MockProfileConfiguration("mock"))).buildRequestContext();
+ CollectionSupport.singleton(new MockProfileConfiguration("mock"))).buildRequestContext();
prc = new WebflowRequestContextProfileRequestContextLookup().apply(src);
final AuthenticationContext authCtx = prc.ensureSubcontext(AuthenticationContext.class);
@@ -135,7 +133,7 @@ public class InitializeRequestedPrincipalContextTest {
final MockAuthenticationProfileConfiguration mock =
new MockAuthenticationProfileConfiguration("mock", CollectionSupport.<Principal>emptyList());
src = new RequestContextBuilder().setRelyingPartyProfileConfigurations(
- Collections.<ProfileConfiguration>singleton(mock)).buildRequestContext();
+ CollectionSupport.singleton(mock)).buildRequestContext();
prc = new WebflowRequestContextProfileRequestContextLookup().apply(src);
final AuthenticationContext authCtx = prc.ensureSubcontext(AuthenticationContext.class);
@@ -162,7 +160,7 @@ public class InitializeRequestedPrincipalContextTest {
final MockAuthenticationProfileConfiguration mock =
new MockAuthenticationProfileConfiguration("mock", CollectionSupport.singletonList(method));
src = new RequestContextBuilder().setRelyingPartyProfileConfigurations(
- Collections.<ProfileConfiguration>singleton(mock)).buildRequestContext();
+ CollectionSupport.singleton(mock)).buildRequestContext();
prc = new WebflowRequestContextProfileRequestContextLookup().apply(src);
final AuthenticationContext authCtx = prc.ensureSubcontext(AuthenticationContext.class);
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/JAASCredentialValidatorTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/JAASCredentialValidatorTest.java
index 57f4b6a26..d1fa5e77f 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/JAASCredentialValidatorTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/JAASCredentialValidatorTest.java
@@ -25,7 +25,6 @@ import java.net.URISyntaxException;
import java.security.Principal;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;
@@ -60,6 +59,7 @@ import net.shibboleth.shared.testing.ConstantSupplier;
import net.shibboleth.shared.testing.InMemoryDirectory;
/** Unit test for JAAS validation. */
+ at SuppressWarnings("javadoc")
public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
private static final String DATA_PATH = "src/test/resources/net/shibboleth/idp/authn/impl/";
@@ -86,6 +86,8 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
/**
* Shutdown the in-memory directory server.
+ *
+ * @throws Exception
*/
@AfterClass public void teardownDirectoryServer() throws Exception {
if (directoryServer.openConnectionCount() > 0) {
@@ -102,11 +104,11 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
validator.setId("jaastest");
action = new ValidateCredentials();
- action.setValidators(Collections.singletonList(validator));
+ action.setValidators(CollectionSupport.singletonList(validator));
final Map<String,Collection<String>> mappings = new HashMap<>();
- mappings.put("UnknownUsername", Collections.singleton("DN_RESOLUTION_FAILURE"));
- mappings.put("InvalidPassword", Collections.singleton("INVALID_CREDENTIALS"));
+ mappings.put("UnknownUsername", CollectionSupport.singleton("DN_RESOLUTION_FAILURE"));
+ mappings.put("InvalidPassword", CollectionSupport.singleton("INVALID_CREDENTIALS"));
action.setClassifiedMessages(mappings);
final MockHttpServletRequest request = new MockHttpServletRequest();
@@ -174,7 +176,7 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
- validator.setLoginConfigNames(Collections.singletonList("ShibBadAuth"));
+ validator.setLoginConfigNames(CollectionSupport.singletonList("ShibBadAuth"));
validator.setLoginConfigType("JavaLoginConfig");
validator.setLoginConfigParameters(URISupport.fileURIFromAbsolutePath(getCurrentDir()
+ '/' + DATA_PATH + "jaas.config"));
@@ -207,8 +209,8 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
rpc.setOperator("exact");
rpc.setRequestedPrincipals(CollectionSupport.<Principal>singletonList(new TestPrincipal("test1")));
- validator.setLoginConfigurations(Collections.singletonList(new Pair<String,Collection<Principal>>("ShibUserPassAuth",
- Collections.singletonList(new TestPrincipal("test2")))));
+ validator.setLoginConfigurations(CollectionSupport.singletonList(new Pair<String,Collection<Principal>>("ShibUserPassAuth",
+ CollectionSupport.singletonList(new TestPrincipal("test2")))));
validator.setLoginConfigType("JavaLoginConfig");
validator.setLoginConfigParameters(URISupport.fileURIFromAbsolutePath(getCurrentDir()
+ '/' + DATA_PATH + "jaas.config"));
@@ -355,8 +357,8 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
rpc.setOperator("exact");
rpc.setRequestedPrincipals(CollectionSupport.<Principal>singletonList(new TestPrincipal("test1")));
- validator.setLoginConfigurations(Collections.singletonList(new Pair<String,Collection<Principal>>("ShibUserPassAuth",
- Collections.<Principal>singletonList(new TestPrincipal("test1")))));
+ validator.setLoginConfigurations(CollectionSupport.singletonList(new Pair<>("ShibUserPassAuth",
+ CollectionSupport.singletonList(new TestPrincipal("test1")))));
validator.setLoginConfigType("JavaLoginConfig");
validator.setLoginConfigResource(new ClassPathResource(DATA_CLASSPATH + "jaas.config"));
validator.initialize();
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/LDAPCredentialValidatorTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/LDAPCredentialValidatorTest.java
index 0ae46a94f..e4f6ed23e 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/LDAPCredentialValidatorTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/LDAPCredentialValidatorTest.java
@@ -20,9 +20,7 @@ package net.shibboleth.idp.authn.impl;
import static org.testng.Assert.assertEquals;
import java.time.ZonedDateTime;
-import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.function.Function;
@@ -59,12 +57,14 @@ import net.shibboleth.idp.authn.context.UsernamePasswordContext;
import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
import net.shibboleth.idp.authn.principal.UsernamePrincipal;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.testing.ConstantSupplier;
import net.shibboleth.shared.testing.InMemoryDirectory;
import net.shibboleth.shared.testing.VelocityEngine;
/** Unit test for LDAP credential validation. */
+ at SuppressWarnings("javadoc")
public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
private static final String DATA_PATH = "/net/shibboleth/idp/authn/impl/";
@@ -109,6 +109,8 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
/**
* Shutdown the in-memory directory server.
+ *
+ * @throws Exception
*/
@AfterClass public void teardownDirectoryServer() throws Exception {
if (directoryServer.openConnectionCount() > 0) {
@@ -125,13 +127,13 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
validator.setId("ldaptest");
action = new ValidateCredentials();
- action.setValidators(Collections.singletonList(validator));
+ action.setValidators(CollectionSupport.singletonList(validator));
final Map<String, Collection<String>> mappings = new HashMap<>();
- mappings.put("UnknownUsername", Collections.singleton("DN_RESOLUTION_FAILURE"));
- mappings.put("InvalidPassword", Collections.singleton("INVALID_CREDENTIALS"));
- mappings.put("ExpiringPassword", Collections.singleton("ACCOUNT_WARNING"));
- mappings.put("ExpiredPassword", Arrays.asList("PASSWORD_EXPIRED", "CHANGE_AFTER_RESET"));
+ mappings.put("UnknownUsername", CollectionSupport.singleton("DN_RESOLUTION_FAILURE"));
+ mappings.put("InvalidPassword", CollectionSupport.singleton("INVALID_CREDENTIALS"));
+ mappings.put("ExpiringPassword", CollectionSupport.singleton("ACCOUNT_WARNING"));
+ mappings.put("ExpiredPassword", CollectionSupport.listOf("PASSWORD_EXPIRED", "CHANGE_AFTER_RESET"));
action.setClassifiedMessages(mappings);
final MockHttpServletRequest request = new MockHttpServletRequest();
action.setHttpServletRequestSupplier(new ConstantSupplier<>(request));
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateAuthenticationContextTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateAuthenticationContextTest.java
index 95d391d48..254b78b85 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateAuthenticationContextTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateAuthenticationContextTest.java
@@ -20,14 +20,12 @@ package net.shibboleth.idp.authn.impl;
import net.shibboleth.idp.authn.AuthenticationFlowDescriptor;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.FunctionSupport;
-import java.util.Collection;
-import java.util.Collections;
import java.util.List;
-import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.profile.testing.ActionTestingSupport;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
@@ -110,8 +108,7 @@ final public class PopulateAuthenticationContextTest extends BaseAuthenticationC
final PopulateAuthenticationContext action = new PopulateAuthenticationContext();
action.setAvailableFlows(authenticationFlows);
action.setPotentialFlowsLookupStrategy(FunctionSupport.constant(authenticationFlows));
- action.setActiveFlowsLookupStrategy(
- FunctionSupport.<ProfileRequestContext,Collection<String>>constant(Collections.singletonList("test2")));
+ action.setActiveFlowsLookupStrategy(FunctionSupport.constant(CollectionSupport.singletonList("test2")));
action.initialize();
action.execute(src);
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateMultiFactorAuthenticationContextTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateMultiFactorAuthenticationContextTest.java
index 19c0f7b56..e125fb5bd 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateMultiFactorAuthenticationContextTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateMultiFactorAuthenticationContextTest.java
@@ -19,8 +19,6 @@ package net.shibboleth.idp.authn.impl;
import java.time.Duration;
import java.time.Instant;
-import java.util.Collections;
-import java.util.Map;
import javax.security.auth.Subject;
@@ -34,6 +32,7 @@ import net.shibboleth.idp.authn.principal.AuthenticationResultPrincipal;
import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileRequestContextLookup;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
import net.shibboleth.idp.profile.testing.RequestContextBuilder;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.FunctionSupport;
@@ -45,6 +44,7 @@ import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
/** {@link PopulateMultiFactorAuthenticationContext} unit test. */
+ at SuppressWarnings("javadoc")
public class PopulateMultiFactorAuthenticationContextTest {
private RequestContext rc;
@@ -75,8 +75,7 @@ public class PopulateMultiFactorAuthenticationContextTest {
@Test public void testTransitions() throws ComponentInitializationException {
action.setTransitionMapLookupStrategy(
- FunctionSupport.<ProfileRequestContext,Map<String,MultiFactorAuthenticationTransition>>constant(
- Collections.singletonMap("", new MultiFactorAuthenticationTransition())));
+ FunctionSupport.constant(CollectionSupport.singletonMap("", new MultiFactorAuthenticationTransition())));
action.initialize();
final Event event = action.execute(rc);
ActionTestingSupport.assertProceedEvent(event);
@@ -138,8 +137,7 @@ public class PopulateMultiFactorAuthenticationContextTest {
ac.setMaxAge(Duration.ofMinutes(30));
action.setTransitionMapLookupStrategy(
- FunctionSupport.<ProfileRequestContext,Map<String,MultiFactorAuthenticationTransition>>constant(
- Collections.singletonMap("", new MultiFactorAuthenticationTransition())));
+ FunctionSupport.constant(CollectionSupport.singletonMap("", new MultiFactorAuthenticationTransition())));
action.initialize();
final Event event = action.execute(rc);
ActionTestingSupport.assertProceedEvent(event);
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlowTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlowTest.java
index 7ecaa84ac..77f57f65a 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlowTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlowTest.java
@@ -18,8 +18,6 @@
package net.shibboleth.idp.authn.impl;
import java.security.Principal;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
import javax.security.auth.Subject;
@@ -39,9 +37,11 @@ import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
import net.shibboleth.idp.authn.principal.impl.ExactPrincipalEvalPredicateFactory;
import net.shibboleth.idp.authn.testing.TestPrincipal;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
/** {@link SelectAuthenticationFlow} unit test. */
+ at SuppressWarnings("javadoc")
public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest {
private SelectAuthenticationFlow action;
@@ -101,7 +101,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
final AuthenticationResult active = new AuthenticationResult("test2", new Subject());
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
assert authCtx != null;
- authCtx.setActiveResults(Arrays.asList(active));
+ authCtx.setActiveResults(CollectionSupport.singletonList(active));
final Event event = action.execute(src);
@@ -113,7 +113,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
final AuthenticationResult active = new AuthenticationResult("test2", new Subject());
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
assert authCtx != null;
- authCtx.setActiveResults(Arrays.asList(active));
+ authCtx.setActiveResults(CollectionSupport.singletonList(active));
authCtx.setForceAuthn(true);
final Event event = action.execute(src);
@@ -127,7 +127,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
final RequestedPrincipalContext rpc = new RequestedPrincipalContext();
rpc.setOperator("exact");
- rpc.setRequestedPrincipals(Arrays.<Principal>asList(new TestPrincipal("foo")));
+ rpc.setRequestedPrincipals(CollectionSupport.singletonList(new TestPrincipal("foo")));
assert authCtx != null;
authCtx.addSubcontext(rpc, true);
@@ -138,7 +138,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
@Test public void testPreferredNoMatch() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
- final List<Principal> principals = Arrays.<Principal>asList(new TestPrincipal("test3"));
+ final List<Principal> principals = CollectionSupport.singletonList(new TestPrincipal("test3"));
final PreferredPrincipalContext ppc = new PreferredPrincipalContext();
ppc.setPreferredPrincipals(principals);
assert authCtx != null;
@@ -156,7 +156,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
@Test public void testPreferredNoneActive() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
- final List<Principal> principals = Arrays.<Principal>asList(new TestPrincipal("test3"));
+ final List<Principal> principals = CollectionSupport.singletonList(new TestPrincipal("test3"));
final PreferredPrincipalContext ppc = new PreferredPrincipalContext();
ppc.setPreferredPrincipals(principals);
assert authCtx != null;
@@ -175,7 +175,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
@Test public void testPreferredPickActiveNonMatch() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
- final List<Principal> principals = Arrays.<Principal>asList(new TestPrincipal("test3"),
+ final List<Principal> principals = CollectionSupport.listOf(new TestPrincipal("test3"),
new TestPrincipal("test2"));
final PreferredPrincipalContext ppc = new PreferredPrincipalContext();
ppc.setPreferredPrincipals(principals);
@@ -183,8 +183,8 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
authCtx.addSubcontext(ppc, true);
final AuthenticationResult active = new AuthenticationResult("test1", new Subject());
active.getSubject().getPrincipals().add(new TestPrincipal("test1"));
- authCtx.setActiveResults(Arrays.asList(active));
- authCtx.getPotentialFlows().get("test3").setSupportedPrincipals(Collections.singletonList(principals.get(0)));
+ authCtx.setActiveResults(CollectionSupport.singletonList(active));
+ authCtx.getPotentialFlows().get("test3").setSupportedPrincipals(CollectionSupport.singletonList(principals.get(0)));
final Event event = action.execute(src);
@@ -194,7 +194,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
@Test public void testPreferredPickActiveMatch() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
- final List<Principal> principals = Arrays.<Principal>asList(new TestPrincipal("test3"),
+ final List<Principal> principals = CollectionSupport.listOf(new TestPrincipal("test3"),
new TestPrincipal("test2"));
final PreferredPrincipalContext ppc = new PreferredPrincipalContext();
ppc.setPreferredPrincipals(principals);
@@ -204,8 +204,8 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
final AuthenticationResult active3 = new AuthenticationResult("test3", new Subject());
active1.getSubject().getPrincipals().add(new TestPrincipal("test1"));
active3.getSubject().getPrincipals().add(new TestPrincipal("test3"));
- authCtx.setActiveResults(Arrays.asList(active1, active3));
- authCtx.getPotentialFlows().get("test3").setSupportedPrincipals(Collections.singletonList(principals.get(0)));
+ authCtx.setActiveResults(CollectionSupport.listOf(active1, active3));
+ authCtx.getPotentialFlows().get("test3").setSupportedPrincipals(CollectionSupport.singletonList(principals.get(0)));
final Event event = action.execute(src);
@@ -215,7 +215,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
@Test public void testRequestNoneActive() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
- final List<Principal> principals = Arrays.<Principal>asList(new TestPrincipal("test3"));
+ final List<Principal> principals = CollectionSupport.singletonList(new TestPrincipal("test3"));
final RequestedPrincipalContext rpc = new RequestedPrincipalContext();
rpc.getPrincipalEvalPredicateFactoryRegistry().register(
TestPrincipal.class, "exact", new ExactPrincipalEvalPredicateFactory());
@@ -238,7 +238,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
assert authCtx != null;
authCtx.getIntermediateFlows().put("test2", authCtx.getPotentialFlows().get("test2"));
- final List<Principal> principals = Arrays.<Principal>asList(new TestPrincipal("test3"),
+ final List<Principal> principals = CollectionSupport.listOf(new TestPrincipal("test3"),
new TestPrincipal("test2"));
final RequestedPrincipalContext rpc = new RequestedPrincipalContext();
rpc.getPrincipalEvalPredicateFactoryRegistry().register(
@@ -261,7 +261,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
@Test public void testRequestPickInactive() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
- final List<Principal> principals = Arrays.<Principal>asList(new TestPrincipal("test3"),
+ final List<Principal> principals = CollectionSupport.listOf(new TestPrincipal("test3"),
new TestPrincipal("test2"));
final RequestedPrincipalContext rpc = new RequestedPrincipalContext();
rpc.getPrincipalEvalPredicateFactoryRegistry().register(
@@ -272,8 +272,8 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
authCtx.addSubcontext(rpc, true);
final AuthenticationResult active = new AuthenticationResult("test2", new Subject());
active.getSubject().getPrincipals().add(new TestPrincipal("test2"));
- authCtx.setActiveResults(Arrays.asList(active));
- authCtx.getPotentialFlows().get("test3").setSupportedPrincipals(Collections.singletonList(principals.get(0)));
+ authCtx.setActiveResults(CollectionSupport.singletonList(active));
+ authCtx.getPotentialFlows().get("test3").setSupportedPrincipals(CollectionSupport.singletonList(principals.get(0)));
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, "test3");
@@ -284,7 +284,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
@Test public void testRequestPickActive() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
- final List<Principal> principals = Arrays.<Principal>asList(new TestPrincipal("test3"),
+ final List<Principal> principals = CollectionSupport.listOf(new TestPrincipal("test3"),
new TestPrincipal("test2"));
final RequestedPrincipalContext rpc = new RequestedPrincipalContext();
rpc.getPrincipalEvalPredicateFactoryRegistry().register(
@@ -295,8 +295,8 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
authCtx.addSubcontext(rpc, true);
final AuthenticationResult active = new AuthenticationResult("test3", new Subject());
active.getSubject().getPrincipals().add(new TestPrincipal("test3"));
- authCtx.setActiveResults(Arrays.asList(active));
- authCtx.getPotentialFlows().get("test3").setSupportedPrincipals(Collections.singletonList(principals.get(0)));
+ authCtx.setActiveResults(CollectionSupport.singletonList(active));
+ authCtx.getPotentialFlows().get("test3").setSupportedPrincipals(CollectionSupport.singletonList(principals.get(0)));
final Event event = action.execute(src);
@@ -307,7 +307,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
@Test public void testRequestFavorSSO() throws ComponentInitializationException {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
assert authCtx != null;
- final List<Principal> principals = Arrays.<Principal>asList(new TestPrincipal("test3"),
+ final List<Principal> principals = CollectionSupport.listOf(new TestPrincipal("test3"),
new TestPrincipal("test2"));
final RequestedPrincipalContext rpc = new RequestedPrincipalContext();
rpc.getPrincipalEvalPredicateFactoryRegistry().register(
@@ -317,8 +317,8 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
authCtx.addSubcontext(rpc, true);
final AuthenticationResult active = new AuthenticationResult("test2", new Subject());
active.getSubject().getPrincipals().add(new TestPrincipal("test2"));
- authCtx.setActiveResults(Arrays.asList(active));
- authCtx.getPotentialFlows().get("test3").setSupportedPrincipals(Collections.singletonList(principals.get(0)));
+ authCtx.setActiveResults(CollectionSupport.singletonList(active));
+ authCtx.getPotentialFlows().get("test3").setSupportedPrincipals(CollectionSupport.singletonList(principals.get(0)));
action = new SelectAuthenticationFlow();
action.setFavorSSO(true);
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateCredentialsTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateCredentialsTest.java
index f97421c77..08c3ec624 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateCredentialsTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateCredentialsTest.java
@@ -19,9 +19,7 @@ package net.shibboleth.idp.authn.impl;
import static org.testng.Assert.assertEquals;
-import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
@@ -51,12 +49,14 @@ import net.shibboleth.idp.authn.context.UsernamePasswordContext;
import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
import net.shibboleth.idp.authn.principal.UsernamePrincipal;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.testing.ConstantSupplier;
import net.shibboleth.shared.testing.InMemoryDirectory;
import net.shibboleth.shared.testing.VelocityEngine;
/** Unit test for multiple credential validation. */
+ at SuppressWarnings("javadoc")
public class ValidateCredentialsTest extends BaseAuthenticationContextTest {
private static final String DATA_PATH = "/net/shibboleth/idp/authn/impl/";
@@ -99,6 +99,8 @@ public class ValidateCredentialsTest extends BaseAuthenticationContextTest {
/**
* Shutdown the in-memory directory server.
+ *
+ * @throws Exception
*/
@AfterClass public void teardownDirectoryServer() throws Exception {
if (directoryServer.openConnectionCount() > 0) {
@@ -123,14 +125,14 @@ public class ValidateCredentialsTest extends BaseAuthenticationContextTest {
htpasswd.initialize();
action = new ValidateCredentials();
- action.setValidators(Arrays.asList(ldap, htpasswd));
+ action.setValidators(CollectionSupport.listOf(ldap, htpasswd));
final Map<String, Collection<String>> mappings = new HashMap<>();
- mappings.put("UnknownUsername", Collections.singleton("DN_RESOLUTION_FAILURE"));
- mappings.put("InvalidPassword", Collections.singleton("INVALID_CREDENTIALS"));
- mappings.put("InvalidPassword", Collections.singleton(AuthnEventIds.INVALID_CREDENTIALS));
- mappings.put("ExpiringPassword", Collections.singleton("ACCOUNT_WARNING"));
- mappings.put("ExpiredPassword", Arrays.asList("PASSWORD_EXPIRED", "CHANGE_AFTER_RESET"));
+ mappings.put("UnknownUsername", CollectionSupport.singleton("DN_RESOLUTION_FAILURE"));
+ mappings.put("InvalidPassword", CollectionSupport.singleton("INVALID_CREDENTIALS"));
+ mappings.put("InvalidPassword", CollectionSupport.singleton(AuthnEventIds.INVALID_CREDENTIALS));
+ mappings.put("ExpiringPassword", CollectionSupport.singleton("ACCOUNT_WARNING"));
+ mappings.put("ExpiredPassword", CollectionSupport.listOf("PASSWORD_EXPIRED", "CHANGE_AFTER_RESET"));
action.setClassifiedMessages(mappings);
final MockHttpServletRequest request = new MockHttpServletRequest();
action.setHttpServletRequestSupplier(new ConstantSupplier<>(request));
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddressTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddressTest.java
index aa5e0032d..adfbe63a7 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddressTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddressTest.java
@@ -17,12 +17,6 @@
package net.shibboleth.idp.authn.impl;
-
-import java.security.Principal;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.webflow.execution.Event;
import org.testng.Assert;
@@ -38,11 +32,13 @@ import net.shibboleth.idp.authn.principal.UsernamePrincipal;
import net.shibboleth.idp.authn.principal.impl.ExactPrincipalEvalPredicateFactory;
import net.shibboleth.idp.authn.testing.TestPrincipal;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.net.IPRange;
import net.shibboleth.shared.testing.ConstantSupplier;
/** {@link ValidateUserAgentAddress} unit test. */
+ at SuppressWarnings("javadoc")
public class ValidateUserAgentAddressTest extends BaseAuthenticationContextTest {
private ValidateUserAgentAddress action;
@@ -53,9 +49,9 @@ public class ValidateUserAgentAddressTest extends BaseAuthenticationContextTest
super.setUp();
action = new ValidateUserAgentAddress();
- action.setMappings(Collections.<String,Collection<IPRange>>singletonMap(
- "foo", Arrays.asList(IPRange.parseCIDRBlock("192.168.1.0/24"))));
- action.setSupportedPrincipals(Arrays.asList(new TestPrincipal("UserAgentAuthentication")));
+ action.setMappings(CollectionSupport.singletonMap("foo",
+ CollectionSupport.singletonList(IPRange.parseCIDRBlock("192.168.1.0/24"))));
+ action.setSupportedPrincipals(CollectionSupport.singletonList(new TestPrincipal("UserAgentAuthentication")));
final MockHttpServletRequest request = new MockHttpServletRequest();
action.setHttpServletRequestSupplier(new ConstantSupplier<>(request));
action.initialize();
@@ -110,7 +106,7 @@ public class ValidateUserAgentAddressTest extends BaseAuthenticationContextTest
rpc.getPrincipalEvalPredicateFactoryRegistry().register(
TestPrincipal.class, "exact", new ExactPrincipalEvalPredicateFactory());
rpc.setOperator("exact");
- rpc.setRequestedPrincipals(Arrays.<Principal>asList(new TestPrincipal("PasswordAuthentication")));
+ rpc.setRequestedPrincipals(CollectionSupport.singletonList(new TestPrincipal("PasswordAuthentication")));
ac.addSubcontext(rpc, true);
doExtract();
@@ -130,7 +126,7 @@ public class ValidateUserAgentAddressTest extends BaseAuthenticationContextTest
rpc.getPrincipalEvalPredicateFactoryRegistry().register(
TestPrincipal.class, "exact", new ExactPrincipalEvalPredicateFactory());
rpc.setOperator("exact");
- rpc.setRequestedPrincipals(Arrays.<Principal>asList(new TestPrincipal("UserAgentAuthentication")));
+ rpc.setRequestedPrincipals(CollectionSupport.singletonList(new TestPrincipal("UserAgentAuthentication")));
ac.addSubcontext(rpc, true);
doExtract();
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/X509CertificateCredentialValidatorTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/X509CertificateCredentialValidatorTest.java
index a3671556e..34c098c90 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/X509CertificateCredentialValidatorTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/X509CertificateCredentialValidatorTest.java
@@ -20,7 +20,6 @@ package net.shibboleth.idp.authn.impl;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
-import java.util.Collections;
import javax.annotation.Nonnull;
import javax.security.auth.x500.X500Principal;
@@ -45,10 +44,12 @@ import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.testing.ConstantSupplier;
/** {@link X509CertificateCredentialValidator} unit test. */
+ at SuppressWarnings("javadoc")
public class X509CertificateCredentialValidatorTest extends BaseAuthenticationContextTest {
@Nonnull final private String entityCertBase64 =
@@ -106,7 +107,7 @@ public class X509CertificateCredentialValidatorTest extends BaseAuthenticationCo
validator.setId("x509");
action = new ValidateCredentials();
- action.setValidators(Collections.singletonList(validator));
+ action.setValidators(CollectionSupport.singletonList(validator));
final MockHttpServletRequest request = new MockHttpServletRequest();
action.setHttpServletRequestSupplier(new ConstantSupplier<>(request));
action.initialize();
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/principal/impl/RequestedPrincipalContextPrincipalEvalTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/principal/impl/RequestedPrincipalContextPrincipalEvalTest.java
index a910bf50b..203261a98 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/principal/impl/RequestedPrincipalContextPrincipalEvalTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/principal/impl/RequestedPrincipalContextPrincipalEvalTest.java
@@ -18,11 +18,10 @@
package net.shibboleth.idp.authn.principal.impl;
import java.security.Principal;
-import java.util.Arrays;
-import java.util.Collections;
import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
import net.shibboleth.idp.authn.principal.UsernamePrincipal;
+import net.shibboleth.shared.collection.CollectionSupport;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
@@ -32,6 +31,7 @@ import org.testng.annotations.Test;
* Tests the {@link RequestedPrincipalContext#isAcceptable(Principal)} method using a mocked up
* registry of evaluation predicates.
*/
+ at SuppressWarnings("javadoc")
public class RequestedPrincipalContextPrincipalEvalTest {
/**
@@ -62,13 +62,13 @@ public class RequestedPrincipalContextPrincipalEvalTest {
@Test public void testUnknownOperator() {
rpCtx.setOperator("unknown");
- rpCtx.setRequestedPrincipals(Collections.<Principal>singletonList(foo));
+ rpCtx.setRequestedPrincipals(CollectionSupport.singletonList(foo));
Assert.assertFalse(rpCtx.isAcceptable(foo));
}
@Test public void testExact() {
rpCtx.setOperator("exact");
- rpCtx.setRequestedPrincipals(Arrays.<Principal>asList(foo, bar));
+ rpCtx.setRequestedPrincipals(CollectionSupport.listOf(foo, bar));
Assert.assertTrue(rpCtx.isAcceptable(foo));
Assert.assertTrue(rpCtx.isAcceptable(bar));
Assert.assertFalse(rpCtx.isAcceptable(baz));
@@ -76,7 +76,7 @@ public class RequestedPrincipalContextPrincipalEvalTest {
@Test public void testBetterKnown() {
rpCtx.setOperator("better");
- rpCtx.setRequestedPrincipals(Arrays.<Principal>asList(foo));
+ rpCtx.setRequestedPrincipals(CollectionSupport.singletonList(foo));
Assert.assertFalse(rpCtx.isAcceptable(foo));
Assert.assertTrue(rpCtx.isAcceptable(bar));
Assert.assertFalse(rpCtx.isAcceptable(baz));
@@ -84,7 +84,7 @@ public class RequestedPrincipalContextPrincipalEvalTest {
@Test public void testBetterUnknown() {
rpCtx.setOperator("better");
- rpCtx.setRequestedPrincipals(Arrays.<Principal>asList(bar));
+ rpCtx.setRequestedPrincipals(CollectionSupport.singletonList(bar));
Assert.assertFalse(rpCtx.isAcceptable(foo));
Assert.assertFalse(rpCtx.isAcceptable(bar));
Assert.assertFalse(rpCtx.isAcceptable(baz));
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/AttributeRevocationConditionTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/AttributeRevocationConditionTest.java
index 21af8cf89..41d753656 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/AttributeRevocationConditionTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/AttributeRevocationConditionTest.java
@@ -18,9 +18,7 @@
package net.shibboleth.idp.authn.revocation.impl;
import java.time.Instant;
-import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.stream.Collectors;
import javax.annotation.Nonnull;
@@ -34,6 +32,7 @@ import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
import net.shibboleth.idp.authn.AuthenticationResult;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.FunctionSupport;
import net.shibboleth.shared.service.ReloadableService;
@@ -45,6 +44,7 @@ import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
/** {@link AttributeRevocationCondition} unit test. */
+ at SuppressWarnings("javadoc")
public class AttributeRevocationConditionTest extends BaseAuthenticationContextTest {
private Collection<Instant> revocationsToResolve;
@@ -74,7 +74,7 @@ public class AttributeRevocationConditionTest extends BaseAuthenticationContextT
final AuthenticationResult active = authenticationFlows.get(1).newAuthenticationResult(new Subject());
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
assert authCtx != null;
- authCtx.setActiveResults(Arrays.asList(active));
+ authCtx.setActiveResults(CollectionSupport.singletonList(active));
Assert.assertTrue(active.test(prc));
}
@@ -83,9 +83,9 @@ public class AttributeRevocationConditionTest extends BaseAuthenticationContextT
final AuthenticationResult active = authenticationFlows.get(1).newAuthenticationResult(new Subject());
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
assert authCtx != null;
- authCtx.setActiveResults(Arrays.asList(active));
+ authCtx.setActiveResults(CollectionSupport.singletonList(active));
- revocationsToResolve = Collections.singletonList(Instant.now().plusSeconds(3600));
+ revocationsToResolve = CollectionSupport.singletonList(Instant.now().plusSeconds(3600));
Assert.assertFalse(active.test(prc));
}
@@ -94,9 +94,9 @@ public class AttributeRevocationConditionTest extends BaseAuthenticationContextT
final AuthenticationResult active = authenticationFlows.get(1).newAuthenticationResult(new Subject());
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
assert authCtx != null;
- authCtx.setActiveResults(Arrays.asList(active));
+ authCtx.setActiveResults(CollectionSupport.singletonList(active));
- revocationsToResolve = Collections.singletonList(Instant.now().minusSeconds(3600));
+ revocationsToResolve = CollectionSupport.singletonList(Instant.now().minusSeconds(3600));
Assert.assertTrue(active.test(prc));
}
@@ -145,7 +145,7 @@ public class AttributeRevocationConditionTest extends BaseAuthenticationContextT
return "test";
}
- public void resolveAttributes(AttributeResolutionContext resolutionContext)
+ public void resolveAttributes(@Nonnull final AttributeResolutionContext resolutionContext)
throws ResolutionException {
if ("jdoe".equals(resolutionContext.getPrincipal()) && revocationsToResolve != null) {
final IdPAttribute attr = new IdPAttribute("revocation");
@@ -154,7 +154,7 @@ public class AttributeRevocationConditionTest extends BaseAuthenticationContextT
.map(i -> StringAttributeValue.valueOf(Long.toString(i.getEpochSecond())))
.collect(Collectors.toUnmodifiableList())
);
- resolutionContext.setResolvedIdPAttributes(Collections.singletonList(attr));
+ resolutionContext.setResolvedIdPAttributes(CollectionSupport.singletonList(attr));
}
}
};
diff --git a/idp-cas-api/src/main/java/net/shibboleth/idp/cas/protocol/TicketValidationResponse.java b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/protocol/TicketValidationResponse.java
index 83d2c6101..618dd689b 100644
--- a/idp-cas-api/src/main/java/net/shibboleth/idp/cas/protocol/TicketValidationResponse.java
+++ b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/protocol/TicketValidationResponse.java
@@ -22,12 +22,12 @@ import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
@@ -82,7 +82,7 @@ public class TicketValidationResponse extends AbstractProtocolResponse {
* @return immutable collection of user attributes
*/
@Nonnull @NonnullElements @NotLive @Unmodifiable public Collection<Attribute> getAttributes() {
- final Collection<Attribute> result = Collections.unmodifiableList(attributes);
+ final Collection<Attribute> result = CollectionSupport.copyToList(attributes);
assert result!=null;
return result;
}
@@ -120,7 +120,7 @@ public class TicketValidationResponse extends AbstractProtocolResponse {
* @return immutable list of proxies traversed in order of most recent to last recent
*/
@Nonnull @NonnullElements @NotLive @Unmodifiable public List<String> getProxies() {
- final List<String> result = Collections.unmodifiableList(proxies);
+ final List<String> result = CollectionSupport.copyToList(proxies);
assert result!=null;
return result;
}
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/PrepareTicketValidationResponseAction.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/PrepareTicketValidationResponseAction.java
index 332bf8e50..cf3c91218 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/PrepareTicketValidationResponseAction.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/PrepareTicketValidationResponseAction.java
@@ -19,7 +19,6 @@ package net.shibboleth.idp.cas.flow.impl;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.Set;
import java.util.function.Function;
@@ -109,8 +108,9 @@ public class PrepareTicketValidationResponseAction extends
/** Constructor. */
public PrepareTicketValidationResponseAction() {
- final Function<ProfileRequestContext,AttributeContext> acf = new ChildContextLookup<>(AttributeContext.class, true).compose(
- new ChildContextLookup<>(RelyingPartyContext.class));
+ final Function<ProfileRequestContext,AttributeContext> acf =
+ new ChildContextLookup<>(AttributeContext.class, true).compose(
+ new ChildContextLookup<>(RelyingPartyContext.class));
assert acf != null;
attributeContextFunction = acf;
principalLookupFunction = new TicketPrincipalLookupFunction();
@@ -256,7 +256,7 @@ public class PrepareTicketValidationResponseAction extends
if (transcodingRules.isEmpty()) {
log.debug("{} Attribute {} does not have any transcoding rules, applying default", getLogPrefix(),
attribute.getId());
- transcodingRules = Collections.singletonList(defaultTranscodingRule);
+ transcodingRules = CollectionSupport.singletonList(defaultTranscodingRule);
}
int count = 0;
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidator.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidator.java
index 45147ed6c..0e473bbd4 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidator.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidator.java
@@ -23,7 +23,6 @@ import java.io.IOException;
import java.net.URI;
import java.security.GeneralSecurityException;
import java.security.cert.CertificateException;
-import java.util.Collections;
import java.util.Set;
import java.util.function.Function;
@@ -40,6 +39,7 @@ import net.shibboleth.idp.cas.service.Service;
import net.shibboleth.idp.cas.service.ServiceContext;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.resolver.CriteriaSet;
@@ -113,7 +113,7 @@ public class HttpClientProxyValidator implements ProxyValidator {
@Nonnull final HttpClient client, @Nonnull final HttpClientSecurityParameters parameters) {
httpClient = Constraint.isNotNull(client, "HTTP client cannot be null");
securityParameters = Constraint.isNotNull(parameters, "HTTP client security parameters cannot be null");
- allowedResponseCodes = Collections.singleton(200);
+ allowedResponseCodes = CollectionSupport.singleton(200);
}
/**
@@ -124,7 +124,7 @@ public class HttpClientProxyValidator implements ProxyValidator {
public void setAllowedResponseCodes(@NotEmpty @NonnullElements final Set<Integer> responseCodes) {
Constraint.isNotEmpty(responseCodes, "Response codes cannot be null or empty.");
Constraint.noNullItems(responseCodes.toArray(), "Response codes cannot contain null elements.");
- allowedResponseCodes = Set.copyOf(responseCodes);
+ allowedResponseCodes = CollectionSupport.copyToSet(responseCodes);
}
/** {@inheritDoc} */
@@ -214,7 +214,7 @@ public class HttpClientProxyValidator implements ProxyValidator {
new EntityRoleCriterion(SPSSODescriptor.DEFAULT_ELEMENT_NAME),
new ProtocolCriterion(AbstractProtocolConfiguration.PROTOCOL_URI),
new UsageCriterion(UsageType.SIGNING),
- new TrustedNamesCriterion(Collections.singleton(requestUri.getHost())));
+ new TrustedNamesCriterion(CollectionSupport.singleton(requestUri.getHost())));
context.setAttribute(CONTEXT_KEY_CRITERIA_SET, criteria);
}
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASDateTimeAttributeTranscoderTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASDateTimeAttributeTranscoderTest.java
index 4a8dc65a3..36d0bf110 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASDateTimeAttributeTranscoderTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASDateTimeAttributeTranscoderTest.java
@@ -19,7 +19,6 @@ package net.shibboleth.idp.cas.attribute.transcoding.impl;
import java.time.Instant;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -67,7 +66,7 @@ public class CASDateTimeAttributeTranscoderTest {
final CASDateTimeAttributeTranscoder transcoder = new CASDateTimeAttributeTranscoder();
transcoder.initialize();
- registry.setNamingRegistry(Collections.singletonList(
+ registry.setNamingRegistry(CollectionSupport.singletonList(
new BasicNamingFunction<>(transcoder.getEncodedType(), new AbstractCASAttributeTranscoder.NamingFunction())));
final Map<String,Object> ruleset1 = new HashMap<>();
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASScopedStringAttributeTranscoderTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASScopedStringAttributeTranscoderTest.java
index 9a5238040..1921f4cf2 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASScopedStringAttributeTranscoderTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASScopedStringAttributeTranscoderTest.java
@@ -17,9 +17,7 @@
package net.shibboleth.idp.cas.attribute.transcoding.impl;
-import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -72,7 +70,7 @@ public class CASScopedStringAttributeTranscoderTest {
final CASScopedStringAttributeTranscoder transcoder = new CASScopedStringAttributeTranscoder();
transcoder.initialize();
- registry.setNamingRegistry(Collections.singletonList(
+ registry.setNamingRegistry(CollectionSupport.singletonList(
new BasicNamingFunction<>(transcoder.getEncodedType(), new AbstractCASAttributeTranscoder.NamingFunction())));
final Map<String,Object> ruleset1 = new HashMap<>();
@@ -125,7 +123,7 @@ public class CASScopedStringAttributeTranscoderTest {
@Test(expectedExceptions = {AttributeEncodingException.class,}) public void inappropriate() throws Exception {
final int[] intArray = {1, 2, 3, 4};
final List<IdPAttributeValue> values =
- Arrays.asList(new ByteAttributeValue(new byte[] {1, 2, 3,}), new IdPAttributeValue() {
+ CollectionSupport.listOf(new ByteAttributeValue(new byte[] {1, 2, 3,}), new IdPAttributeValue() {
@Override
public @Nonnull Object getNativeValue() {
return intArray;
@@ -150,7 +148,7 @@ public class CASScopedStringAttributeTranscoderTest {
@Test public void single() throws Exception {
final List<IdPAttributeValue> values =
- Arrays.asList(new ByteAttributeValue(new byte[] {1, 2, 3,}),
+ CollectionSupport.listOf(new ByteAttributeValue(new byte[] {1, 2, 3,}),
new ScopedStringAttributeValue(STRING_1, SCOPE_1),
new StringAttributeValue(STRING_1),
new StringAttributeValue(STRING_1 + "@" + SCOPE_1));
@@ -201,7 +199,7 @@ public class CASScopedStringAttributeTranscoderTest {
@Test public void multi() throws Exception {
final List<IdPAttributeValue> values =
- Arrays.asList(new ByteAttributeValue(new byte[] {1, 2, 3,}),
+ CollectionSupport.listOf(new ByteAttributeValue(new byte[] {1, 2, 3,}),
new ScopedStringAttributeValue(STRING_1, SCOPE_1),
new ScopedStringAttributeValue(STRING_2, SCOPE_2));
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASStringAttributeTranscoderTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASStringAttributeTranscoderTest.java
index f9990586c..a2c159c8b 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASStringAttributeTranscoderTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASStringAttributeTranscoderTest.java
@@ -17,9 +17,7 @@
package net.shibboleth.idp.cas.attribute.transcoding.impl;
-import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -68,7 +66,7 @@ public class CASStringAttributeTranscoderTest {
final CASStringAttributeTranscoder transcoder = new CASStringAttributeTranscoder();
transcoder.initialize();
- registry.setNamingRegistry(Collections.singletonList(
+ registry.setNamingRegistry(CollectionSupport.singletonList(
new BasicNamingFunction<>(transcoder.getEncodedType(), new AbstractCASAttributeTranscoder.NamingFunction())));
final Map<String,Object> ruleset1 = new HashMap<>();
@@ -119,7 +117,7 @@ public class CASStringAttributeTranscoderTest {
@Test(expectedExceptions = {AttributeEncodingException.class,}) public void inappropriate() throws Exception {
final int[] intArray = {1, 2, 3, 4};
final List<IdPAttributeValue> values =
- Arrays.asList(new ByteAttributeValue(new byte[] {1, 2, 3,}), new IdPAttributeValue() {
+ CollectionSupport.listOf(new ByteAttributeValue(new byte[] {1, 2, 3,}), new IdPAttributeValue() {
@Override
public @Nonnull Object getNativeValue() {
return intArray;
@@ -145,7 +143,7 @@ public class CASStringAttributeTranscoderTest {
@Test public void single() throws Exception {
final List<IdPAttributeValue> values =
- Arrays.asList(new ByteAttributeValue(new byte[] {1, 2, 3,}), new StringAttributeValue(STRING_1));
+ CollectionSupport.listOf(new ByteAttributeValue(new byte[] {1, 2, 3,}), new StringAttributeValue(STRING_1));
final IdPAttribute inputAttribute = new IdPAttribute(ATTR_ID);
inputAttribute.setValues(values);
@@ -190,7 +188,7 @@ public class CASStringAttributeTranscoderTest {
@Test public void multi() throws Exception {
final List<IdPAttributeValue> values =
- Arrays.asList(new ByteAttributeValue(new byte[] {1, 2, 3,}),
+ CollectionSupport.listOf(new ByteAttributeValue(new byte[] {1, 2, 3,}),
new StringAttributeValue(STRING_1),
new StringAttributeValue(STRING_2),
new ScopedStringAttributeValue(STRING_1, STRING_2));
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidatorTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidatorTest.java
index a4bd19a46..9e735ffdb 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidatorTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidatorTest.java
@@ -28,7 +28,6 @@ import java.net.URI;
import java.nio.ByteBuffer;
import java.security.cert.CertificateException;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
@@ -60,6 +59,7 @@ import net.shibboleth.idp.cas.flow.impl.AbstractFlowActionTest;
import net.shibboleth.idp.cas.protocol.ProtocolContext;
import net.shibboleth.idp.cas.service.Service;
import net.shibboleth.idp.cas.service.ServiceContext;
+import net.shibboleth.shared.collection.CollectionSupport;
/**
* Unit test for {@link HttpClientProxyValidator} class.
@@ -127,7 +127,7 @@ public class HttpClientProxyValidatorTest extends AbstractFlowActionTest {
// This is an attempt to get them portably depending on whether IPv4 and/or IPv6 is enabled.
// Resolve the 'localhost' addrs that will be resolved and used by HttpClient
- final List<InetAddress> localhostAddrs = Arrays.asList(SystemDefaultDnsResolver.INSTANCE.resolve("localhost"));
+ final List<InetAddress> localhostAddrs = CollectionSupport.listOf(SystemDefaultDnsResolver.INSTANCE.resolve("localhost"));
// Resolve available loopback and link-local interfaces
// Using ByteBuffer just to get hashcode() and equals() for byte[] for filtering using the Set.
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistryTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistryTest.java
index 25bf6c655..e11d9a7ab 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistryTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistryTest.java
@@ -21,7 +21,6 @@ import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNull;
import java.time.Duration;
-import java.util.Collections;
import java.util.Timer;
import javax.annotation.Nonnull;
@@ -31,7 +30,6 @@ import org.opensaml.core.config.InitializationService;
import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.saml.metadata.resolver.impl.PredicateRoleDescriptorResolver;
import org.opensaml.saml.metadata.resolver.impl.ResourceBackedMetadataResolver;
-import org.opensaml.saml.metadata.resolver.index.MetadataIndex;
import org.opensaml.saml.metadata.resolver.index.impl.EndpointMetadataIndex;
import org.springframework.core.io.ClassPathResource;
import org.testng.annotations.AfterClass;
@@ -41,6 +39,7 @@ import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import net.shibboleth.idp.cas.service.Service;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.resource.Resource;
import net.shibboleth.shared.spring.resource.ResourceHelper;
@@ -94,7 +93,7 @@ public class MetadataServiceRegistryTest {
assert fiveHundredSeconds!=null;
metadataResolver.setMaxRefreshDelay(fiveHundredSeconds);
metadataResolver.setId("cas");
- metadataResolver.setIndexes(Collections.<MetadataIndex>singleton(new EndpointMetadataIndex(
+ metadataResolver.setIndexes(CollectionSupport.singleton(new EndpointMetadataIndex(
new MetadataServiceRegistry.LoginEndpointPredicate())));
metadataResolver.initialize();
}
diff --git a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/LoginFlowTest.java b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/LoginFlowTest.java
index 72779657d..3d9e2dff4 100644
--- a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/LoginFlowTest.java
+++ b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/LoginFlowTest.java
@@ -23,7 +23,6 @@ import static org.testng.Assert.assertNotEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
-import java.util.Collections;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -60,6 +59,7 @@ import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
import net.shibboleth.profile.relyingparty.RelyingPartyConfigurationResolver;
import net.shibboleth.profile.relyingparty.VerifiedProfileCriterion;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.net.URISupport;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.service.ReloadableService;
@@ -93,7 +93,7 @@ public class LoginFlowTest extends AbstractFlowTest {
@BeforeMethod
public void setUp() throws Exception {
- setPostAuthenticationFlows(Collections.emptyList());
+ setPostAuthenticationFlows(CollectionSupport.emptyList());
}
@@ -203,7 +203,7 @@ public class LoginFlowTest extends AbstractFlowTest {
public void testLoginWithConsent() throws Exception {
final String service = "https://start.example.org/";
externalContext.getMockRequestParameterMap().put("service", service);
- setPostAuthenticationFlows(Collections.singletonList("attribute-release"));
+ setPostAuthenticationFlows(CollectionSupport.singletonList("attribute-release"));
overrideEndStateOutput(FLOW_ID, "RedirectToService");
final FlowExecutionResult result = flowExecutor.launchExecution(FLOW_ID, null, externalContext);
diff --git a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentIdsAuditExtractor.java b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentIdsAuditExtractor.java
index 4566d52d3..72d5db59e 100644
--- a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentIdsAuditExtractor.java
+++ b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentIdsAuditExtractor.java
@@ -18,13 +18,13 @@
package net.shibboleth.idp.consent.audit.impl;
import java.util.Collection;
-import java.util.Collections;
import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.idp.consent.context.ConsentContext;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
@@ -54,12 +54,12 @@ public class CurrentConsentIdsAuditExtractor implements Function<ProfileRequestC
}
/** {@inheritDoc} */
- @Override @Nullable public Collection<String> apply(@Nullable final ProfileRequestContext input) {
+ @Nullable public Collection<String> apply(@Nullable final ProfileRequestContext input) {
final ConsentContext consentContext = consentContextLookupStrategy.apply(input);
if (consentContext != null) {
return consentContext.getCurrentConsents().keySet();
}
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
}
\ No newline at end of file
diff --git a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentIsApprovedAuditExtractor.java b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentIsApprovedAuditExtractor.java
index a40efae4a..c0df33590 100644
--- a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentIsApprovedAuditExtractor.java
+++ b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentIsApprovedAuditExtractor.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.consent.audit.impl;
import java.util.Collection;
-import java.util.Collections;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -27,6 +26,7 @@ import javax.annotation.Nullable;
import net.shibboleth.idp.consent.Consent;
import net.shibboleth.idp.consent.context.ConsentContext;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
@@ -68,7 +68,7 @@ public class CurrentConsentIsApprovedAuditExtractor implements Function<ProfileR
map(Consent::isApproved).
collect(Collectors.toList());
}
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
}
\ No newline at end of file
diff --git a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentValuesAuditExtractor.java b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentValuesAuditExtractor.java
index 9fee7056b..d3d81dd68 100644
--- a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentValuesAuditExtractor.java
+++ b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentValuesAuditExtractor.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.consent.audit.impl;
import java.util.Collection;
-import java.util.Collections;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -27,6 +26,7 @@ import javax.annotation.Nullable;
import net.shibboleth.idp.consent.Consent;
import net.shibboleth.idp.consent.context.ConsentContext;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
@@ -56,7 +56,7 @@ public class CurrentConsentValuesAuditExtractor implements Function<ProfileReque
}
/** {@inheritDoc} */
- @Override @Nullable public Collection<String> apply(@Nullable final ProfileRequestContext input) {
+ @Nullable public Collection<String> apply(@Nullable final ProfileRequestContext input) {
final ConsentContext consentContext = consentContextLookupStrategy.apply(input);
if (consentContext != null && !consentContext.getCurrentConsents().isEmpty()) {
@@ -67,7 +67,7 @@ public class CurrentConsentValuesAuditExtractor implements Function<ProfileReque
map(Consent::getValue).
collect(Collectors.toList());
}
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
}
\ No newline at end of file
diff --git a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/logic/impl/MessageSourceConsentFunction.java b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/logic/impl/MessageSourceConsentFunction.java
index a7e233c90..7f29e838e 100644
--- a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/logic/impl/MessageSourceConsentFunction.java
+++ b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/logic/impl/MessageSourceConsentFunction.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.consent.logic.impl;
import java.security.NoSuchAlgorithmException;
-import java.util.Collections;
import java.util.Locale;
import java.util.Map;
import java.util.function.Function;
@@ -38,6 +37,7 @@ import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.codec.StringDigester;
import net.shibboleth.shared.codec.StringDigester.OutputFormat;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
@@ -186,9 +186,9 @@ public class MessageSourceConsentFunction extends AbstractInitializableComponent
}
}
- return Collections.singletonMap(id, consent);
+ return CollectionSupport.singletonMap(id, consent);
}
- return Collections.emptyMap();
+ return CollectionSupport.emptyMap();
}
diff --git a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentIdsAuditExtractorTest.java b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentIdsAuditExtractorTest.java
index 0c3364ff5..2a01b3320 100644
--- a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentIdsAuditExtractorTest.java
+++ b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentIdsAuditExtractorTest.java
@@ -17,14 +17,13 @@
package net.shibboleth.idp.consent.audit.impl;
-import java.util.Collections;
-import java.util.List;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import net.shibboleth.idp.consent.context.ConsentContext;
+import net.shibboleth.shared.collection.CollectionSupport;
/** {@link CurrentConsentIdsAuditExtractor} unit test. */
@SuppressWarnings("javadoc")
@@ -40,10 +39,10 @@ public class CurrentConsentIdsAuditExtractorTest extends AbstractConsentAuditExt
final ConsentContext ctx = prc.getSubcontext(ConsentContext.class);
assert ctx != null;
ctx.getCurrentConsents().clear();
- Assert.assertEquals(extractor.apply(prc), Collections.emptyList());
+ Assert.assertEquals(extractor.apply(prc), CollectionSupport.emptyList());
}
@Test public void testExtraction() {
- Assert.assertEquals(extractor.apply(prc), List.of("consent1", "consent2"));
+ Assert.assertEquals(extractor.apply(prc), CollectionSupport.listOf("consent1", "consent2"));
}
-}
+}
\ No newline at end of file
diff --git a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentIsApprovedAuditExtractorTest.java b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentIsApprovedAuditExtractorTest.java
index 66c4ec56a..39890ccf3 100644
--- a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentIsApprovedAuditExtractorTest.java
+++ b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentIsApprovedAuditExtractorTest.java
@@ -17,14 +17,12 @@
package net.shibboleth.idp.consent.audit.impl;
-import java.util.Collections;
-import java.util.List;
-
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import net.shibboleth.idp.consent.context.ConsentContext;
+import net.shibboleth.shared.collection.CollectionSupport;
/** {@link CurrentConsentIsApprovedAuditExtractor} unit test. */
@SuppressWarnings("javadoc")
@@ -40,13 +38,13 @@ public class CurrentConsentIsApprovedAuditExtractorTest extends AbstractConsentA
final ConsentContext ctx = prc.getSubcontext(ConsentContext.class);
assert ctx != null;
ctx.getCurrentConsents().clear();
- Assert.assertEquals(extractor.apply(prc), Collections.emptyList());
+ Assert.assertEquals(extractor.apply(prc), CollectionSupport.emptyList());
}
@Test public void testExtraction() {
final ConsentContext ctx = prc.getSubcontext(ConsentContext.class);
assert ctx != null;
ctx.getCurrentConsents().get("consent1").setApproved(true);
- Assert.assertEquals(extractor.apply(prc), List.of(true, false));
+ Assert.assertEquals(extractor.apply(prc), CollectionSupport.listOf(true, false));
}
}
diff --git a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentValuesAuditExtractorTest.java b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentValuesAuditExtractorTest.java
index 88b4fa975..68ed27429 100644
--- a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentValuesAuditExtractorTest.java
+++ b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/audit/impl/CurrentConsentValuesAuditExtractorTest.java
@@ -17,14 +17,12 @@
package net.shibboleth.idp.consent.audit.impl;
-import java.util.Collections;
-import java.util.List;
-
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import net.shibboleth.idp.consent.context.ConsentContext;
+import net.shibboleth.shared.collection.CollectionSupport;
/** {@link CurrentConsentValuesAuditExtractor} unit test. */
@SuppressWarnings("javadoc")
@@ -40,10 +38,10 @@ public class CurrentConsentValuesAuditExtractorTest extends AbstractConsentAudit
final ConsentContext ctx = prc.getSubcontext(ConsentContext.class);
assert ctx != null;
ctx.getCurrentConsents().clear();
- Assert.assertEquals(extractor.apply(prc), Collections.emptyList());
+ Assert.assertEquals(extractor.apply(prc), CollectionSupport.emptyList());
}
@Test public void testExtraction() {
- Assert.assertEquals(extractor.apply(prc), List.of("value1", "value2"));
+ Assert.assertEquals(extractor.apply(prc), CollectionSupport.listOf("value1", "value2"));
}
}
diff --git a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/context/impl/AttributeReleaseContextTest.java b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/context/impl/AttributeReleaseContextTest.java
index 2c912417d..6bba6e4c7 100644
--- a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/context/impl/AttributeReleaseContextTest.java
+++ b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/context/impl/AttributeReleaseContextTest.java
@@ -17,13 +17,13 @@
package net.shibboleth.idp.consent.context.impl;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.consent.context.AttributeReleaseContext;
+import net.shibboleth.shared.collection.CollectionSupport;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
@@ -47,10 +47,10 @@ public class AttributeReleaseContextTest {
@Test public void testConsentableAttributes() {
final IdPAttribute attr1 = new IdPAttribute("attr1");
- attr1.setValues(Collections.singletonList(new StringAttributeValue("value1")));
+ attr1.setValues(CollectionSupport.singletonList(new StringAttributeValue("value1")));
final IdPAttribute attr2 = new IdPAttribute("attr2");
- attr2.setValues(Collections.singletonList(new StringAttributeValue("value2")));
+ attr2.setValues(CollectionSupport.singletonList(new StringAttributeValue("value2")));
map = new HashMap<>();
map.put(attr1.getId(), attr1);
diff --git a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/flow/ar/impl/PopulateAttributeReleaseContextTest.java b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/flow/ar/impl/PopulateAttributeReleaseContextTest.java
index a73f91b7d..45f74fe18 100644
--- a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/flow/ar/impl/PopulateAttributeReleaseContextTest.java
+++ b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/flow/ar/impl/PopulateAttributeReleaseContextTest.java
@@ -18,8 +18,6 @@
package net.shibboleth.idp.consent.flow.ar.impl;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -43,6 +41,7 @@ import net.shibboleth.idp.consent.logic.impl.PreferExplicitOrderComparator;
import net.shibboleth.idp.profile.IdPEventIds;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
/** {@link PopulateAttributeReleaseContext} unit test. */
@@ -106,7 +105,7 @@ public class PopulateAttributeReleaseContextTest extends AbstractAttributeReleas
@Test public void testExplicitAttributeOrderingWithKnownAttributesOnly() throws Exception {
- final List<String> attributeOrder = Arrays.asList("attribute2", "attribute3", "attribute1");
+ final List<String> attributeOrder = CollectionSupport.listOf("attribute2", "attribute3", "attribute1");
final Map<String, IdPAttribute> orderedAttributes = new TreeMap<>(Ordering.explicit(attributeOrder));
orderedAttributes.putAll(ConsentTestingSupport.newAttributeMap());
@@ -128,10 +127,10 @@ public class PopulateAttributeReleaseContextTest extends AbstractAttributeReleas
@Test public void testExplicitAttributeOrderingWithUnknownAttributes() throws Exception {
- final List<String> attributeOrder = Arrays.asList("attribute3", "attribute2");
+ final List<String> attributeOrder = CollectionSupport.listOf("attribute3", "attribute2");
final IdPAttribute attribute4 = new IdPAttribute("attribute4");
- attribute4.setValues(Collections.singletonList(new StringAttributeValue("value4")));
+ attribute4.setValues(CollectionSupport.singletonList(new StringAttributeValue("value4")));
final Map<String, IdPAttribute> orderedAttributes = new LinkedHashMap<>();
orderedAttributes.put("attribute3", ConsentTestingSupport.newAttributeMap().get("attribute3"));
diff --git a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/flow/storage/impl/RevokeConsentTest.java b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/flow/storage/impl/RevokeConsentTest.java
index 9011cc0bd..8e997ea79 100644
--- a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/flow/storage/impl/RevokeConsentTest.java
+++ b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/flow/storage/impl/RevokeConsentTest.java
@@ -17,10 +17,10 @@
package net.shibboleth.idp.consent.flow.storage.impl;
-import java.util.Collections;
import net.shibboleth.idp.consent.impl.ConsentTestingSupport;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
+import net.shibboleth.shared.collection.CollectionSupport;
import org.opensaml.storage.impl.MemoryStorageService;
import org.springframework.webflow.execution.Event;
@@ -42,7 +42,7 @@ public class RevokeConsentTest extends AbstractConsentIndexedStorageActionTest {
ss.create("context", "key", ConsentTestingSupport.newConsentMap(),
((AbstractConsentStorageAction) action).getStorageSerializer(), null);
Assert.assertNotNull(ss.read("context", "key"));
- ss.create("context", "_index", Collections.singletonList("key"),
+ ss.create("context", "_index", CollectionSupport.singletonList("key"),
((AbstractConsentIndexedStorageAction) action).getStorageKeysSerializer(), null);
action.initialize();
diff --git a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/impl/ConsentTestingSupport.java b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/impl/ConsentTestingSupport.java
index 9c03c23b9..7d5702c14 100644
--- a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/impl/ConsentTestingSupport.java
+++ b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/impl/ConsentTestingSupport.java
@@ -18,8 +18,6 @@
package net.shibboleth.idp.consent.impl;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -31,6 +29,7 @@ import net.shibboleth.idp.attribute.IdPAttributeValue;
import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.consent.Consent;
import net.shibboleth.idp.consent.storage.impl.ConsentResult;
+import net.shibboleth.shared.collection.CollectionSupport;
/**
* Helper methods for creating test objects for consent action tests.
@@ -89,10 +88,10 @@ public class ConsentTestingSupport {
attribute1.setValues(values);
final IdPAttribute attribute2 = new IdPAttribute("attribute2");
- attribute2.setValues(Arrays.asList(value1a, value2));
+ attribute2.setValues(CollectionSupport.listOf(value1a, value2));
final IdPAttribute attribute3 = new IdPAttribute("attribute3");
- attribute3.setValues(Collections.singletonList(value3));
+ attribute3.setValues(CollectionSupport.singletonList(value3));
final Map<String, IdPAttribute> map = new HashMap<>();
map.put(attribute1.getId(), attribute1);
diff --git a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/logic/impl/AttributeValueLookupFunctionTest.java b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/logic/impl/AttributeValueLookupFunctionTest.java
index ff35118de..ce25f67fd 100644
--- a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/logic/impl/AttributeValueLookupFunctionTest.java
+++ b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/logic/impl/AttributeValueLookupFunctionTest.java
@@ -17,7 +17,6 @@
package net.shibboleth.idp.consent.logic.impl;
-import java.util.Collections;
import java.util.Map;
import net.shibboleth.idp.attribute.ByteAttributeValue;
@@ -28,6 +27,7 @@ import net.shibboleth.idp.consent.impl.ConsentTestingSupport;
import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileRequestContextLookup;
import net.shibboleth.idp.profile.testing.RequestContextBuilder;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.ConstraintViolationException;
import org.opensaml.profile.context.ProfileRequestContext;
@@ -59,7 +59,7 @@ public class AttributeValueLookupFunctionTest {
final Map<String, IdPAttribute> unfilteredAttributes = ConsentTestingSupport.newAttributeMap();
final IdPAttribute attribute4 = new IdPAttribute("attribute4");
- attribute4.setValues(Collections.singletonList(new StringAttributeValue("value4")));
+ attribute4.setValues(CollectionSupport.singletonList(new StringAttributeValue("value4")));
unfilteredAttributes.put(attribute4.getId(), attribute4);
attributeCtx.setUnfilteredIdPAttributes(unfilteredAttributes.values());
@@ -96,7 +96,7 @@ public class AttributeValueLookupFunctionTest {
final AttributeContext attributeCtx =
prc.ensureSubcontext(RelyingPartyContext.class).getSubcontext(AttributeContext.class);
assert attributeCtx!=null;
- attributeCtx.setIdPAttributes(Collections.singleton(new IdPAttribute("EmptyAttribute")));
+ attributeCtx.setIdPAttributes(CollectionSupport.singleton(new IdPAttribute("EmptyAttribute")));
function = new AttributeValueLookupFunction("EmptyAttribute");
Assert.assertNull(function.apply(prc));
@@ -106,12 +106,12 @@ public class AttributeValueLookupFunctionTest {
byte[] data = {1, 2, 3, 0xF};
final IdPAttribute byteAttribute = new IdPAttribute("ByteAttribute");
- byteAttribute.setValues(Collections.singletonList(new ByteAttributeValue(data)));
+ byteAttribute.setValues(CollectionSupport.singletonList(new ByteAttributeValue(data)));
final AttributeContext attributeCtx =
prc.ensureSubcontext(RelyingPartyContext.class).getSubcontext(AttributeContext.class);
assert attributeCtx!=null;
- attributeCtx.setIdPAttributes(Collections.singleton(byteAttribute));
+ attributeCtx.setIdPAttributes(CollectionSupport.singleton(byteAttribute));
function = new AttributeValueLookupFunction("ByteAttribute");
Assert.assertNull(function.apply(prc));
diff --git a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/logic/impl/AttributeValuesHashFunctionTest.java b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/logic/impl/AttributeValuesHashFunctionTest.java
index 42ad93de6..8a6b28d4c 100644
--- a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/logic/impl/AttributeValuesHashFunctionTest.java
+++ b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/logic/impl/AttributeValuesHashFunctionTest.java
@@ -19,7 +19,6 @@ package net.shibboleth.idp.consent.logic.impl;
import static org.testng.Assert.assertEquals;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
@@ -38,6 +37,7 @@ import net.shibboleth.idp.attribute.IdPAttributeValue;
import net.shibboleth.idp.attribute.ScopedStringAttributeValue;
import net.shibboleth.idp.attribute.XMLObjectAttributeValue;
import net.shibboleth.idp.consent.impl.ConsentTestingSupport;
+import net.shibboleth.shared.collection.CollectionSupport;
/** {@link AttributeValuesHashFunction} unit test. */
@SuppressWarnings("javadoc")
@@ -55,7 +55,7 @@ public class AttributeValuesHashFunctionTest extends XMLObjectBaseTestCase {
}
@Test public void testEmptyInput() {
- Assert.assertNull(function.apply(Collections.emptyList()));
+ Assert.assertNull(function.apply(CollectionSupport.emptyList()));
}
@Test(enabled = true) public void testNullValue() {
@@ -82,14 +82,14 @@ public class AttributeValuesHashFunctionTest extends XMLObjectBaseTestCase {
@Test public void testScoped() {
// NOTE Any change is an ODS drift
final IdPAttributeValue val = new ScopedStringAttributeValue("Value", "Scope");
- assertEquals(function.apply(Collections.singletonList(val)), "WFoLzGdi3WmUjhWe3Q6uSyoHVZJXukDWeOUb7CyH5V8=");
+ assertEquals(function.apply(CollectionSupport.singletonList(val)), "WFoLzGdi3WmUjhWe3Q6uSyoHVZJXukDWeOUb7CyH5V8=");
}
@Test public void testByte() {
// NOTE Any change is an ODS drift
final byte[] theBytes = {1,2,3};
final IdPAttributeValue val = new ByteAttributeValue(theBytes);
- assertEquals(function.apply(Collections.singletonList(val)), "saP1UTQcyQPZHOPI6tVhVWMKOmB3BDCTn/l5QFSsyX4=");
+ assertEquals(function.apply(CollectionSupport.singletonList(val)), "saP1UTQcyQPZHOPI6tVhVWMKOmB3BDCTn/l5QFSsyX4=");
}
@Test public void testXML() {
@@ -100,7 +100,7 @@ public class AttributeValuesHashFunctionTest extends XMLObjectBaseTestCase {
final XSString xmlString = builder.buildObject(XSString.TYPE_NAME);
xmlString.setValue("value");
final IdPAttributeValue val = new XMLObjectAttributeValue(xmlString);
- assertEquals(function.apply(Collections.singletonList(val)), "c+NqWOijlvFBpla4r1q3F0RkpYZK7phCNe2gKb0r57o=");
+ assertEquals(function.apply(CollectionSupport.singletonList(val)), "c+NqWOijlvFBpla4r1q3F0RkpYZK7phCNe2gKb0r57o=");
}
private IdPAttributeValue testAV(@Nonnull Object type) {
@@ -116,11 +116,10 @@ public class AttributeValuesHashFunctionTest extends XMLObjectBaseTestCase {
}
@Test public void unknownTypeValue() {
- assertEquals(function.apply(Collections.singletonList(testAV("42"))), "Lt6BAjtq4qQJ6ADEZKf/s5XZxzBh6mShY/UCphriugY=");
+ assertEquals(function.apply(CollectionSupport.singletonList(testAV("42"))), "Lt6BAjtq4qQJ6ADEZKf/s5XZxzBh6mShY/UCphriugY=");
}
- @SuppressWarnings("null")
@Test public void unknownTypeNoValue() {
- assertEquals(function.apply(Collections.singletonList(testAV(nullObj))), "xPtMT+sJsVtAtjNLzPrBBlfbY/yUsAQ7Ncxxc7Q5k70=");
+ assertEquals(function.apply(CollectionSupport.singletonList(testAV(nullObj))), "xPtMT+sJsVtAtjNLzPrBBlfbY/yUsAQ7Ncxxc7Q5k70=");
}
}
diff --git a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/logic/impl/PreferExplicitOrderComparatorTest.java b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/logic/impl/PreferExplicitOrderComparatorTest.java
index 67b58830e..ac92b6c87 100644
--- a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/logic/impl/PreferExplicitOrderComparatorTest.java
+++ b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/logic/impl/PreferExplicitOrderComparatorTest.java
@@ -27,6 +27,8 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import net.shibboleth.shared.collection.CollectionSupport;
+
/** {@link PreferExplicitOrderComparator} unit test. */
@SuppressWarnings("javadoc")
public class PreferExplicitOrderComparatorTest {
@@ -109,7 +111,7 @@ public class PreferExplicitOrderComparatorTest {
@Test public void testExplicitOrderingWithWhitespaceInConstructor() {
- c = new PreferExplicitOrderComparator(Arrays.asList(" first ", "\tmiddle", "last\n"));
+ c = new PreferExplicitOrderComparator(CollectionSupport.listOf(" first ", "\tmiddle", "last\n"));
Collections.sort(toBeSorted, c);
@@ -121,7 +123,7 @@ public class PreferExplicitOrderComparatorTest {
// natural ordering
Collections.sort(expected);
- c = new PreferExplicitOrderComparator(Collections.<String> emptyList());
+ c = new PreferExplicitOrderComparator(CollectionSupport.emptyList());
Collections.sort(toBeSorted, c);
@@ -133,7 +135,7 @@ public class PreferExplicitOrderComparatorTest {
// natural ordering
Collections.sort(expected);
- c = new PreferExplicitOrderComparator(Arrays.asList("not", "known"));
+ c = new PreferExplicitOrderComparator(CollectionSupport.listOf("not", "known"));
Collections.sort(toBeSorted, c);
diff --git a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/storage/impl/CollectionSerializerTest.java b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/storage/impl/CollectionSerializerTest.java
index 890e374a7..6c23127e3 100644
--- a/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/storage/impl/CollectionSerializerTest.java
+++ b/idp-consent-impl/src/test/java/net/shibboleth/idp/consent/storage/impl/CollectionSerializerTest.java
@@ -19,9 +19,7 @@ package net.shibboleth.idp.consent.storage.impl;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
@@ -49,13 +47,13 @@ public class CollectionSerializerTest {
@Test public void testEmpty() throws Exception {
Assert.assertEquals(serializer.serialize(new ArrayList<String>()), "[]");
- Assert.assertEquals(serializer.deserialize(-1, "context", "key", "[]", null), Collections.emptyList());
+ Assert.assertEquals(serializer.deserialize(-1, "context", "key", "[]", null), CollectionSupport.emptyList());
}
@SuppressWarnings("null")
@Test public void testNullValue() throws Exception {
Assert.assertEquals(serializer.serialize(CollectionSupport.<String> singletonList((String)nullObj)), "[]");
- Assert.assertEquals(serializer.deserialize(-1, "context", "key", "[null]", null), Collections.emptyList());
+ Assert.assertEquals(serializer.deserialize(-1, "context", "key", "[null]", null), CollectionSupport.emptyList());
}
@Test public void testSimple() throws IOException {
diff --git a/idp-core/src/main/java/net/shibboleth/idp/spring/IdPPropertiesApplicationContextInitializer.java b/idp-core/src/main/java/net/shibboleth/idp/spring/IdPPropertiesApplicationContextInitializer.java
index d08c79c4c..75e4992bf 100644
--- a/idp-core/src/main/java/net/shibboleth/idp/spring/IdPPropertiesApplicationContextInitializer.java
+++ b/idp-core/src/main/java/net/shibboleth/idp/spring/IdPPropertiesApplicationContextInitializer.java
@@ -29,7 +29,6 @@ import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.Map;
import java.util.Properties;
import java.util.TreeSet;
@@ -46,6 +45,7 @@ import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -249,7 +249,7 @@ public class IdPPropertiesApplicationContextInitializer
final String idpPropertiesNative = Path.of(IDP_PROPERTIES).toString();
try {
- Files.walkFileTree(searchRoot, Collections.singleton(FileVisitOption.FOLLOW_LINKS),
+ Files.walkFileTree(searchRoot, CollectionSupport.singleton(FileVisitOption.FOLLOW_LINKS),
Integer.MAX_VALUE,
new FileVisitor<Path>() {
diff --git a/idp-installer/src/main/java/net/shibboleth/idp/installer/InstallerPropertiesImpl.java b/idp-installer/src/main/java/net/shibboleth/idp/installer/InstallerPropertiesImpl.java
index c0ce97cb2..cd43968e0 100644
--- a/idp-installer/src/main/java/net/shibboleth/idp/installer/InstallerPropertiesImpl.java
+++ b/idp-installer/src/main/java/net/shibboleth/idp/installer/InstallerPropertiesImpl.java
@@ -45,6 +45,7 @@ import org.slf4j.Logger;
import net.shibboleth.idp.installer.ant.impl.PasswordHandler;
import net.shibboleth.idp.installer.impl.InstallationLogger;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.primitive.NonnullSupplier;
@@ -179,7 +180,7 @@ public class InstallerPropertiesImpl extends AbstractInitializableComponent impl
private String credentialsKeyFileMode;
/** Local overload of properties (to deal with nested calling). */
- private Map<String, String> inheritedProperties = Collections.emptyMap();
+ private Map<String, String> inheritedProperties;
/** Input handler from the prompting. */
private final InputHandler inputHandler;
@@ -191,6 +192,7 @@ public class InstallerPropertiesImpl extends AbstractInitializableComponent impl
public InstallerPropertiesImpl(final boolean copiedDistribution) {
needSourceDir = !copiedDistribution;
inputHandler = getInputHandler();
+ inheritedProperties = CollectionSupport.emptyMap();
}
/** Get an {@link InputHandler} for the prompting.
diff --git a/idp-installer/src/main/java/net/shibboleth/idp/installer/V4Install.java b/idp-installer/src/main/java/net/shibboleth/idp/installer/V4Install.java
index 4a24886a0..a8e5a6945 100644
--- a/idp-installer/src/main/java/net/shibboleth/idp/installer/V4Install.java
+++ b/idp-installer/src/main/java/net/shibboleth/idp/installer/V4Install.java
@@ -29,7 +29,6 @@ import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.time.Instant;
-import java.util.Collections;
import java.util.Iterator;
import java.util.Properties;
import java.util.ServiceConfigurationError;
@@ -162,7 +161,7 @@ public class V4Install extends AbstractInitializableComponent {
final PluginVersion pluginVersion = new PluginVersion(plugin);
try {
log.debug("Considering Plugin {}, version {}", pluginId, pluginVersion);
- final PluginState state = new PluginState(plugin, Collections.emptyList());
+ final PluginState state = new PluginState(plugin, CollectionSupport.emptyList());
state.initialize();
if (!state.getPluginInfo().isSupportedWithIdPVersion(pluginVersion, idpVersion)) {
log.warn("Installed Plugin {} version {} is not supported with IdP Version {}, continuing.",
diff --git a/idp-installer/src/main/java/net/shibboleth/idp/installer/impl/CurrentInstallStateImpl.java b/idp-installer/src/main/java/net/shibboleth/idp/installer/impl/CurrentInstallStateImpl.java
index 46af3f8f0..2c78c1100 100644
--- a/idp-installer/src/main/java/net/shibboleth/idp/installer/impl/CurrentInstallStateImpl.java
+++ b/idp-installer/src/main/java/net/shibboleth/idp/installer/impl/CurrentInstallStateImpl.java
@@ -33,7 +33,6 @@ import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -55,6 +54,7 @@ import net.shibboleth.idp.module.IdPModule;
import net.shibboleth.idp.module.ModuleContext;
import net.shibboleth.idp.spring.IdPPropertiesApplicationContextInitializer;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -72,7 +72,7 @@ public final class CurrentInstallStateImpl extends AbstractInitializableComponen
private final String[][] deleteAfterUpgrades = { { "credentials", "secrets.properties", }, };
/** The module IDs which are enabled. */
- private Set<String> enabledModules = Collections.emptySet();
+ private Set<String> enabledModules;
/** Whether the IdP properties file exists.*/
private boolean idpPropertiesPresent;
@@ -100,6 +100,7 @@ public final class CurrentInstallStateImpl extends AbstractInitializableComponen
*/
public CurrentInstallStateImpl(final InstallerProperties installerProps) {
targetDir = installerProps.getTargetDir();
+ enabledModules = CollectionSupport.emptySet();
}
/** Work out what the "current" install state is (before we do any more work).
@@ -212,7 +213,7 @@ public final class CurrentInstallStateImpl extends AbstractInitializableComponen
if (null == getInstalledVersion()) {
// New install. We need all files
- pathsToDelete = Collections.emptyList();
+ pathsToDelete = CollectionSupport.emptyList();
} else {
pathsToDelete = new ArrayList<>();
for (int i = 0; i < deleteAfterUpgrades.length; i++) {
diff --git a/idp-installer/src/main/java/net/shibboleth/idp/installer/metadata/impl/MetadataGeneratorImpl.java b/idp-installer/src/main/java/net/shibboleth/idp/installer/metadata/impl/MetadataGeneratorImpl.java
index f8ec94c96..968fb0396 100644
--- a/idp-installer/src/main/java/net/shibboleth/idp/installer/metadata/impl/MetadataGeneratorImpl.java
+++ b/idp-installer/src/main/java/net/shibboleth/idp/installer/metadata/impl/MetadataGeneratorImpl.java
@@ -25,8 +25,6 @@ import java.io.IOException;
import java.io.OutputStreamWriter;
import java.time.Instant;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.EnumSet;
import java.util.List;
import java.util.Set;
@@ -62,6 +60,7 @@ import net.shibboleth.idp.saml.xmlobject.ExtensionsConstants;
import net.shibboleth.idp.saml.xmlobject.Scope;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
@@ -364,9 +363,9 @@ public class MetadataGeneratorImpl extends AbstractInitializableComponent implem
protected void writeIDPSSO() throws IOException {
final List<String> protocols;
if (isSAML1Commented()) {
- protocols = Collections.singletonList(SAMLConstants.SAML20P_NS);
+ protocols = CollectionSupport.singletonList(SAMLConstants.SAML20P_NS);
} else {
- protocols = Arrays.asList(SAMLConstants.SAML20P_NS, SAMLConstants.SAML11P_NS, "urn:mace:shibboleth:1.0");
+ protocols = CollectionSupport.listOf(SAMLConstants.SAML20P_NS, SAMLConstants.SAML11P_NS, "urn:mace:shibboleth:1.0");
}
writeRoleDescriptor(IDPSSODescriptor.DEFAULT_ELEMENT_LOCAL_NAME, protocols);
@@ -421,9 +420,9 @@ public class MetadataGeneratorImpl extends AbstractInitializableComponent implem
}
final List<String> protocols;
if (isSAML2AttributeQueryCommented()) {
- protocols = Collections.singletonList(SAMLConstants.SAML11P_NS);
+ protocols = CollectionSupport.singletonList(SAMLConstants.SAML11P_NS);
} else {
- protocols = Arrays.asList(SAMLConstants.SAML20P_NS, SAMLConstants.SAML11P_NS);
+ protocols = CollectionSupport.listOf(SAMLConstants.SAML20P_NS, SAMLConstants.SAML11P_NS);
}
writeRoleDescriptor(AttributeAuthorityDescriptor.DEFAULT_ELEMENT_LOCAL_NAME, protocols);
writer.newLine();
@@ -614,7 +613,11 @@ public class MetadataGeneratorImpl extends AbstractInitializableComponent implem
signing.add(signingCert);
}
writeKeyDescriptors(signing, "signing");
- writeKeyDescriptors(Collections.singletonList(params.getEncryptionCert()), "encryption");
+
+ final List<String> encryption = params.getEncryptionCert();
+ if (encryption != null) {
+ writeKeyDescriptors(CollectionSupport.singletonList(encryption), "encryption");
+ }
writer.newLine();
}
diff --git a/idp-installer/src/main/java/net/shibboleth/idp/installer/plugin/impl/PluginInstaller.java b/idp-installer/src/main/java/net/shibboleth/idp/installer/plugin/impl/PluginInstaller.java
index f886131fd..4e03a8706 100644
--- a/idp-installer/src/main/java/net/shibboleth/idp/installer/plugin/impl/PluginInstaller.java
+++ b/idp-installer/src/main/java/net/shibboleth/idp/installer/plugin/impl/PluginInstaller.java
@@ -34,7 +34,6 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.time.Instant;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -88,6 +87,7 @@ import net.shibboleth.shared.logic.PredicateSupport;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resource.Resource;
import net.shibboleth.shared.spring.httpclient.resource.HTTPResource;
+
/**
* The class where the heavy lifting of managing a plugin happens.
*/
@@ -631,7 +631,7 @@ public final class PluginInstaller extends AbstractInitializableComponent implem
final File inFile = pluginsContents.resolve(pluginId).toFile();
if (!inFile.exists()) {
LOG.debug("Contents file for plugin {} ({}) does not exist", pluginId, inFile.getAbsolutePath());
- installedContents = Collections.emptyList();
+ installedContents = CollectionSupport.emptyList();
return;
}
try (final BufferedInputStream inStream = new BufferedInputStream(new FileInputStream(inFile))) {
diff --git a/idp-installer/src/main/java/net/shibboleth/idp/installer/plugin/impl/PluginInstallerCLI.java b/idp-installer/src/main/java/net/shibboleth/idp/installer/plugin/impl/PluginInstallerCLI.java
index 57021d446..8b472e272 100644
--- a/idp-installer/src/main/java/net/shibboleth/idp/installer/plugin/impl/PluginInstallerCLI.java
+++ b/idp-installer/src/main/java/net/shibboleth/idp/installer/plugin/impl/PluginInstallerCLI.java
@@ -26,7 +26,6 @@ import java.net.URL;
import java.nio.file.Path;
import java.security.Security;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
@@ -137,7 +136,7 @@ public final class PluginInstallerCLI extends AbstractIdPHomeAwareCommandLine<Pl
return RC_INIT;
}
} else {
- updateURLs = Collections.emptyList();
+ updateURLs = CollectionSupport.emptyList();
}
try (final PluginInstaller inst = new PluginInstaller(Constraint.isNotNull(getHttpClient(), "HJttpClient cannot be non null (by construction"))) {
diff --git a/idp-installer/src/main/java/net/shibboleth/idp/installer/plugin/impl/TrustStore.java b/idp-installer/src/main/java/net/shibboleth/idp/installer/plugin/impl/TrustStore.java
index f78cf17e5..36b5b6525 100644
--- a/idp-installer/src/main/java/net/shibboleth/idp/installer/plugin/impl/TrustStore.java
+++ b/idp-installer/src/main/java/net/shibboleth/idp/installer/plugin/impl/TrustStore.java
@@ -24,7 +24,6 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.Iterator;
import java.util.function.Predicate;
@@ -49,6 +48,7 @@ import org.slf4j.Logger;
import net.shibboleth.idp.installer.impl.InstallationLogger;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
@@ -154,7 +154,7 @@ import net.shibboleth.shared.logic.Constraint;
* has problems.
*/
protected void createNewStore() throws IOException {
- keyRings = new PGPPublicKeyRingCollection(Collections.emptyList());
+ keyRings = new PGPPublicKeyRingCollection(CollectionSupport.emptyList());
saveStoreInternal();
}
@@ -231,7 +231,7 @@ import net.shibboleth.shared.logic.Constraint;
}
keyRings = PGPPublicKeyRingCollection.addPublicKeyRing(
keyRings,
- new PGPPublicKeyRing(Collections.singletonList(key)));
+ new PGPPublicKeyRing(CollectionSupport.singletonList(key)));
saveStoreInternal();
}
diff --git a/idp-installer/src/test/java/net/shibboleth/idp/installer/plugin/impl/PluginInstallerTest.java b/idp-installer/src/test/java/net/shibboleth/idp/installer/plugin/impl/PluginInstallerTest.java
index 7d67b0066..03a204512 100644
--- a/idp-installer/src/test/java/net/shibboleth/idp/installer/plugin/impl/PluginInstallerTest.java
+++ b/idp-installer/src/test/java/net/shibboleth/idp/installer/plugin/impl/PluginInstallerTest.java
@@ -23,7 +23,6 @@ import java.io.IOException;
import java.net.URL;
import java.nio.file.Path;
import java.security.Security;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.function.Predicate;
@@ -39,6 +38,7 @@ import org.testng.annotations.Test;
import net.shibboleth.idp.plugin.AbstractIdPPlugin;
import net.shibboleth.idp.plugin.IdPPlugin;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.httpclient.HttpClientBuilder;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -132,7 +132,7 @@ public class PluginInstallerTest extends BasePluginTest {
/** {@inheritDoc} */
public @Nonnull List<URL> getUpdateURLs() throws IOException {
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
/** {@inheritDoc} */
diff --git a/idp-installer/src/test/java/net/shibboleth/idp/installer/plugin/impl/PluginStateTest.java b/idp-installer/src/test/java/net/shibboleth/idp/installer/plugin/impl/PluginStateTest.java
index 4dc8d26b1..65f0569a7 100644
--- a/idp-installer/src/test/java/net/shibboleth/idp/installer/plugin/impl/PluginStateTest.java
+++ b/idp-installer/src/test/java/net/shibboleth/idp/installer/plugin/impl/PluginStateTest.java
@@ -25,7 +25,6 @@ import static org.testng.Assert.fail;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
@@ -34,6 +33,7 @@ import org.testng.annotations.Test;
import net.shibboleth.idp.plugin.IdPPlugin;
import net.shibboleth.idp.plugin.PluginVersion;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
/**
@@ -52,7 +52,7 @@ public class PluginStateTest {
final IdPPlugin simple = new TestPlugin();
- final PluginState state = new PluginState(simple, Collections.EMPTY_LIST);
+ final PluginState state = new PluginState(simple, CollectionSupport.emptyList());
state.initialize();
@@ -120,7 +120,7 @@ public class PluginStateTest {
}
};
- final PluginState state = new PluginState(simple, Collections.EMPTY_LIST);
+ final PluginState state = new PluginState(simple, CollectionSupport.emptyList());
state.initialize();
assertEquals(state.getPluginInfo().getAvailableVersions().size(), 3);
diff --git a/idp-installer/src/test/java/net/shibboleth/idp/installer/plugin/impl/TestModule.java b/idp-installer/src/test/java/net/shibboleth/idp/installer/plugin/impl/TestModule.java
index ecaf8dc8e..cfff1fcf4 100644
--- a/idp-installer/src/test/java/net/shibboleth/idp/installer/plugin/impl/TestModule.java
+++ b/idp-installer/src/test/java/net/shibboleth/idp/installer/plugin/impl/TestModule.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.installer.plugin.impl;
import java.util.Collection;
-import java.util.Collections;
import java.util.Map;
import javax.annotation.Nonnull;
@@ -27,6 +26,7 @@ import javax.annotation.Nullable;
import net.shibboleth.idp.module.IdPModule;
import net.shibboleth.idp.module.ModuleContext;
import net.shibboleth.idp.module.ModuleException;
+import net.shibboleth.shared.collection.CollectionSupport;
@SuppressWarnings("javadoc")
public class TestModule implements IdPModule {
@@ -74,31 +74,31 @@ public class TestModule implements IdPModule {
/** {@inheritDoc} */
public @Nonnull Collection<ModuleResource> getResources() {
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
/** {@inheritDoc} */
- public boolean isEnabled(ModuleContext moduleContext) {
+ public boolean isEnabled(@Nonnull final ModuleContext moduleContext) {
return enabled;
}
/** {@inheritDoc} */
- public @Nonnull Map<ModuleResource, ResourceResult> enable(ModuleContext moduleContext) throws ModuleException {
+ public @Nonnull Map<ModuleResource, ResourceResult> enable(@Nonnull final ModuleContext moduleContext) throws ModuleException {
if (throwOnEnable != null) {
throw throwOnEnable;
}
enabled = true;
- return Collections.emptyMap();
+ return CollectionSupport.emptyMap();
}
/** {@inheritDoc} */
- public @Nonnull Map<ModuleResource, ResourceResult> disable(ModuleContext moduleContext, boolean clean)
+ public @Nonnull Map<ModuleResource, ResourceResult> disable(@Nonnull final ModuleContext moduleContext, boolean clean)
throws ModuleException {
if (throwOnDisable != null) {
throw throwOnDisable;
}
enabled = false;
- return Collections.emptyMap();
+ return CollectionSupport.emptyMap();
}
}
\ No newline at end of file
diff --git a/idp-installer/src/test/java/net/shibboleth/idp/installer/plugin/impl/TestPlugin.java b/idp-installer/src/test/java/net/shibboleth/idp/installer/plugin/impl/TestPlugin.java
index 4ac211b1c..9a3896a87 100644
--- a/idp-installer/src/test/java/net/shibboleth/idp/installer/plugin/impl/TestPlugin.java
+++ b/idp-installer/src/test/java/net/shibboleth/idp/installer/plugin/impl/TestPlugin.java
@@ -19,7 +19,6 @@ package net.shibboleth.idp.installer.plugin.impl;
import java.io.IOException;
import java.net.URL;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
@@ -27,6 +26,7 @@ import javax.annotation.Nonnull;
import org.springframework.core.io.ClassPathResource;
import net.shibboleth.idp.plugin.AbstractIdPPlugin;
+import net.shibboleth.shared.collection.CollectionSupport;
/**
*
@@ -44,9 +44,9 @@ public class TestPlugin extends AbstractIdPPlugin {
public @Nonnull List<URL> getUpdateURLs() {
ClassPathResource resource = new ClassPathResource("/net/shibboleth/idp/plugin/plugins.props");
try {
- return Collections.singletonList(resource.getURL());
+ return CollectionSupport.singletonList(resource.getURL());
} catch (IOException e) {
- return Collections.EMPTY_LIST;
+ return CollectionSupport.emptyList();
}
}
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/InboundFlowsLookupFunction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/InboundFlowsLookupFunction.java
index d31d0b380..d82db9487 100644
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/InboundFlowsLookupFunction.java
+++ b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/InboundFlowsLookupFunction.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.profile.config.navigate;
import java.util.Collection;
-import java.util.Collections;
import javax.annotation.Nullable;
@@ -29,6 +28,7 @@ import net.shibboleth.idp.profile.config.InterceptorAwareProfileConfiguration;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.CollectionSupport;
import org.opensaml.profile.context.ProfileRequestContext;
@@ -48,12 +48,12 @@ public class InboundFlowsLookupFunction extends AbstractRelyingPartyLookupFuncti
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc instanceof InterceptorAwareProfileConfiguration) {
- return ((InterceptorAwareProfileConfiguration) pc).getInboundInterceptorFlows(input);
+ if (pc instanceof InterceptorAwareProfileConfiguration ipc) {
+ return ipc.getInboundInterceptorFlows(input);
}
}
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
}
\ No newline at end of file
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/OutboundFlowsLookupFunction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/OutboundFlowsLookupFunction.java
index 1336f5f44..3387a1809 100644
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/OutboundFlowsLookupFunction.java
+++ b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/OutboundFlowsLookupFunction.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.profile.config.navigate;
import java.util.Collection;
-import java.util.Collections;
import javax.annotation.Nullable;
@@ -29,6 +28,7 @@ import net.shibboleth.idp.profile.config.InterceptorAwareProfileConfiguration;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.CollectionSupport;
import org.opensaml.profile.context.ProfileRequestContext;
@@ -48,12 +48,12 @@ public class OutboundFlowsLookupFunction extends AbstractRelyingPartyLookupFunct
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc instanceof InterceptorAwareProfileConfiguration) {
- return ((InterceptorAwareProfileConfiguration) pc).getOutboundInterceptorFlows(input);
+ if (pc instanceof InterceptorAwareProfileConfiguration ipc) {
+ return ipc.getOutboundInterceptorFlows(input);
}
}
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
}
\ No newline at end of file
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java
index d1c009d0e..95dbf21ad 100644
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java
+++ b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java
@@ -17,7 +17,6 @@
package net.shibboleth.idp.profile.impl;
-import java.util.Collections;
import java.util.function.Function;
import javax.annotation.Nonnull;
@@ -47,6 +46,7 @@ import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.context.navigate.IssuerLookupFunction;
import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullBeforeExec;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.service.ReloadableService;
@@ -151,8 +151,9 @@ public class FilterAttributes extends AbstractProfileAction {
issuerLookupStrategy = new IssuerLookupFunction();
recipientLookupStrategy = new RelyingPartyIdLookupFunction();
- final Function<ProfileRequestContext,AttributeContext> acls = new ChildContextLookup<>(AttributeContext.class).compose(
- new ChildContextLookup<>(RelyingPartyContext.class));
+ final Function<ProfileRequestContext,AttributeContext> acls =
+ new ChildContextLookup<>(AttributeContext.class).compose(
+ new ChildContextLookup<>(RelyingPartyContext.class));
assert acls != null;
attributeContextLookupStrategy = acls;
@@ -165,13 +166,14 @@ public class FilterAttributes extends AbstractProfileAction {
profileRequestContextFromFilterLookupStrategy = new RootContextLookup<>(ProfileRequestContext.class);
// Default: inbound msg context -> SAMLPeerEntityContext -> SAMLMetadataContext
- final Function<ProfileRequestContext,SAMLMetadataContext> metadataContextLookupStrategy = new ChildContextLookup<>(SAMLMetadataContext.class).compose(
- new ChildContextLookup<>(SAMLPeerEntityContext.class).compose(
- new InboundMessageContextLookup()));
+ final Function<ProfileRequestContext,SAMLMetadataContext> metadataContextLookupStrategy =
+ new ChildContextLookup<>(SAMLMetadataContext.class).compose(
+ new ChildContextLookup<>(SAMLPeerEntityContext.class).compose(
+ new InboundMessageContextLookup()));
assert metadataContextLookupStrategy != null;
// This is always set to navigate to the PRC and then apply the previous function.
- Function<AttributeFilterContext,SAMLMetadataContext> mffls = metadataContextLookupStrategy.compose(
+ final Function<AttributeFilterContext,SAMLMetadataContext> mffls = metadataContextLookupStrategy.compose(
profileRequestContextFromFilterLookupStrategy);
assert mffls != null;
metadataFromFilterLookupStrategy = mffls;
@@ -183,14 +185,15 @@ public class FilterAttributes extends AbstractProfileAction {
proxiedRequesterContextLookupStrategy = prcls;
// This is always set to navigate to the PRC and then apply the previous function.
- final Function<AttributeFilterContext,ProxiedRequesterContext> pffls = proxiedRequesterContextLookupStrategy.compose(
- profileRequestContextFromFilterLookupStrategy);
+ final Function<AttributeFilterContext,ProxiedRequesterContext> pffls =
+ proxiedRequesterContextLookupStrategy.compose(profileRequestContextFromFilterLookupStrategy);
assert pffls != null;
proxiesFromFilterLookupStrategy = pffls;
// Defaults to ProfileRequestContext -> RelyingPartyContext -> AttributeFilterContext.
- final Function<ProfileRequestContext,AttributeFilterContext> fccs = new ChildContextLookup<>(AttributeFilterContext.class, true).compose(
- new ChildContextLookup<>(RelyingPartyContext.class));
+ final Function<ProfileRequestContext,AttributeFilterContext> fccs =
+ new ChildContextLookup<>(AttributeFilterContext.class, true).compose(
+ new ChildContextLookup<>(RelyingPartyContext.class));
assert fccs != null;
filterContextCreationStrategy = fccs;
@@ -289,8 +292,9 @@ public class FilterAttributes extends AbstractProfileAction {
public void setMetadataContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,SAMLMetadataContext> strategy) {
checkSetterPreconditions();
- final Function<AttributeFilterContext,SAMLMetadataContext> mffls = strategy.compose(profileRequestContextFromFilterLookupStrategy);
- assert mffls!=null;
+ final Function<AttributeFilterContext,SAMLMetadataContext> mffls =
+ strategy.compose(profileRequestContextFromFilterLookupStrategy);
+ assert mffls != null;
metadataFromFilterLookupStrategy = mffls;
}
@@ -393,7 +397,7 @@ public class FilterAttributes extends AbstractProfileAction {
log.error("{} Error encountered while filtering attributes", getLogPrefix(), e);
if (maskFailures) {
log.warn("Filter error masked, clearing resolved attributes");
- attributeContext.setIdPAttributes(Collections.emptySet());
+ attributeContext.setIdPAttributes(CollectionSupport.emptySet());
} else {
ActionSupport.buildEvent(profileRequestContext, IdPEventIds.UNABLE_FILTER_ATTRIBS);
}
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java
index 8d73341dc..0ed77c0cb 100644
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java
+++ b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.profile.impl;
import java.util.Collection;
-import java.util.Collections;
import java.util.function.Consumer;
import java.util.function.Function;
@@ -44,6 +43,7 @@ import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.profile.context.navigate.IssuerLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.logic.FunctionSupport;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -115,7 +115,7 @@ public final class ResolveAttributes extends AbstractProfileAction {
attributeContextCreationStrategy = new ChildContextLookup<>(AttributeContext.class, true).compose(
new ChildContextLookup<>(RelyingPartyContext.class));
- attributesLookupStrategy = FunctionSupport.constant(Collections.emptyList());
+ attributesLookupStrategy = FunctionSupport.constant(CollectionSupport.emptyList());
maskFailures = true;
createResolutionContext = true;
diff --git a/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/audit/impl/PopulateAuditContextTest.java b/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/audit/impl/PopulateAuditContextTest.java
index 7c5975ca4..0bf8a7086 100644
--- a/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/audit/impl/PopulateAuditContextTest.java
+++ b/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/audit/impl/PopulateAuditContextTest.java
@@ -17,9 +17,7 @@
package net.shibboleth.idp.profile.audit.impl;
-import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.function.Function;
@@ -60,7 +58,7 @@ public class PopulateAuditContextTest {
@Test public void testSingle() throws Exception {
final Map<String,Function<ProfileRequestContext,Object>> map = new HashMap<>();
- map.put("a", new MockFunction(Collections.singletonList("foo")));
+ map.put("a", new MockFunction(CollectionSupport.singletonList("foo")));
action.setFieldExtractors(map);
action.initialize();
@@ -77,8 +75,8 @@ public class PopulateAuditContextTest {
@Test public void testMultiple() throws Exception {
final Map<String,Function<ProfileRequestContext,Object>> map = new HashMap<>();
- map.put("a", new MockFunction(Collections.singletonList("foo")));
- map.put("A", new MockFunction(Arrays.asList("bar", "baz")));
+ map.put("a", new MockFunction(CollectionSupport.singletonList("foo")));
+ map.put("A", new MockFunction(CollectionSupport.listOf("bar", "baz")));
action.setFieldExtractors(map);
action.initialize();
@@ -97,8 +95,8 @@ public class PopulateAuditContextTest {
@Test public void testSkipped() throws Exception {
final Map<String,Function<ProfileRequestContext,Object>> map = new HashMap<>();
- map.put("a", new MockFunction(Collections.singletonList("foo")));
- map.put("A", new MockFunction(Arrays.asList("bar", "baz")));
+ map.put("a", new MockFunction(CollectionSupport.singletonList("foo")));
+ map.put("A", new MockFunction(CollectionSupport.listOf("bar", "baz")));
action.setFieldExtractors(map);
action.setFormattingMapParser(new FormattingMapParser(CollectionSupport.singletonMap("foo", "%A - %b %%")));
diff --git a/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/audit/impl/WriteAuditLogTest.java b/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/audit/impl/WriteAuditLogTest.java
index 22a0095c6..c401b8d52 100644
--- a/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/audit/impl/WriteAuditLogTest.java
+++ b/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/audit/impl/WriteAuditLogTest.java
@@ -17,7 +17,6 @@
package net.shibboleth.idp.profile.audit.impl;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
@@ -34,6 +33,7 @@ import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileR
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
import net.shibboleth.idp.profile.testing.RequestContextBuilder;
import net.shibboleth.profile.context.AuditContext;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.testing.ConstantSupplier;
@@ -72,32 +72,32 @@ public class WriteAuditLogTest {
}
@Test public void testFormat() {
- action.setFormattingMap(Collections.singletonMap("category", "Foo"));
+ action.setFormattingMap(CollectionSupport.singletonMap("category", "Foo"));
List<String> format = action.getFormattingMap().get("category");
Assert.assertEquals(format.size(), 1);
Assert.assertEquals(format.get(0), "Foo");
- action.setFormattingMap(Collections.singletonMap("category", "%Foo"));
+ action.setFormattingMap(CollectionSupport.singletonMap("category", "%Foo"));
format = action.getFormattingMap().get("category");
Assert.assertEquals(format.size(), 1);
Assert.assertEquals(format.get(0), "%Foo");
- action.setFormattingMap(Collections.singletonMap("category", "%Foo|%Bar %Baz%Bat"));
+ action.setFormattingMap(CollectionSupport.singletonMap("category", "%Foo|%Bar %Baz%Bat"));
format = action.getFormattingMap().get("category");
Assert.assertEquals(format.size(), 5);
Assert.assertEquals(format.toArray(), new String[]{"%Foo", "|", "%Bar", " ", "%Baz%Bat"});
- action.setFormattingMap(Collections.singletonMap("category", "%Foo|%Bar %Baz-Bat"));
+ action.setFormattingMap(CollectionSupport.singletonMap("category", "%Foo|%Bar %Baz-Bat"));
format = action.getFormattingMap().get("category");
Assert.assertEquals(format.size(), 5);
Assert.assertEquals(format.toArray(), new String[]{"%Foo", "|", "%Bar", " ", "%Baz-Bat"});
- action.setFormattingMap(Collections.singletonMap("category", "%Foo|%Bar %%%"));
+ action.setFormattingMap(CollectionSupport.singletonMap("category", "%Foo|%Bar %%%"));
format = action.getFormattingMap().get("category");
Assert.assertEquals(format.size(), 5);
Assert.assertEquals(format.toArray(), new String[]{"%Foo", "|", "%Bar", " ", "%%%"});
- action.setFormattingMap(Collections.singletonMap("category", "%Foo|%Bar % %%"));
+ action.setFormattingMap(CollectionSupport.singletonMap("category", "%Foo|%Bar % %%"));
format = action.getFormattingMap().get("category");
Assert.assertEquals(format.size(), 7);
Assert.assertEquals(format.toArray(), new String[]{"%Foo", "|", "%Bar", " ", "%", " ", "%%"});
@@ -109,7 +109,7 @@ public class WriteAuditLogTest {
ac.getFieldValues("B").add("bar");
ac.getFieldValues("B").add("baz");
- action.setFormattingMap(Collections.singletonMap("category", "%A %B"));
+ action.setFormattingMap(CollectionSupport.singletonMap("category", "%A %B"));
action.initialize();
final Event event = action.execute(src);
@@ -123,7 +123,7 @@ public class WriteAuditLogTest {
ac.getFieldValues("B").add("bar");
ac.getFieldValues("B").add("baz");
- action.setFormattingMap(Collections.singletonMap("category", "%A - %C|%B"));
+ action.setFormattingMap(CollectionSupport.singletonMap("category", "%A - %C|%B"));
action.initialize();
final Event event = action.execute(src);
@@ -132,7 +132,7 @@ public class WriteAuditLogTest {
}
@Test public void testServletRequest() throws ComponentInitializationException {
- action.setFormattingMap(Collections.singletonMap("category", "%a %URL - %UA"));
+ action.setFormattingMap(CollectionSupport.singletonMap("category", "%a %URL - %UA"));
action.initialize();
final Event event = action.execute(src);
diff --git a/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/impl/SelectProfileConfigurationTest.java b/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/impl/SelectProfileConfigurationTest.java
index de76fa8c5..441512d3d 100644
--- a/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/impl/SelectProfileConfigurationTest.java
+++ b/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/impl/SelectProfileConfigurationTest.java
@@ -17,8 +17,6 @@
package net.shibboleth.idp.profile.impl;
-import java.util.Collections;
-
import net.shibboleth.idp.profile.IdPEventIds;
import org.opensaml.profile.context.ProfileRequestContext;
@@ -29,6 +27,7 @@ import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileR
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
import net.shibboleth.idp.profile.testing.MockProfileConfiguration;
import net.shibboleth.idp.profile.testing.RequestContextBuilder;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import org.springframework.webflow.execution.Event;
@@ -96,7 +95,7 @@ public class SelectProfileConfigurationTest {
*/
@Test public void testInvalidProfileConfiguration() throws Exception {
src = new RequestContextBuilder().setRelyingPartyProfileConfigurations(
- Collections.<ProfileConfiguration>singleton(new MockProfileConfiguration("mock"))).buildRequestContext();
+ CollectionSupport.singleton(new MockProfileConfiguration("mock"))).buildRequestContext();
prc = new WebflowRequestContextProfileRequestContextLookup().apply(src);
final RelyingPartyContext rpCtx = prc.getSubcontext(RelyingPartyContext.class);
assert rpCtx != null;
@@ -118,7 +117,7 @@ public class SelectProfileConfigurationTest {
action.initialize();
src = new RequestContextBuilder().setRelyingPartyProfileConfigurations(
- Collections.<ProfileConfiguration>singleton(new MockProfileConfiguration("mock"))).buildRequestContext();
+ CollectionSupport.singleton(new MockProfileConfiguration("mock"))).buildRequestContext();
prc = new WebflowRequestContextProfileRequestContextLookup().apply(src);
final RelyingPartyContext rpCtx = prc.getSubcontext(RelyingPartyContext.class);
assert rpCtx != null;
@@ -136,7 +135,7 @@ public class SelectProfileConfigurationTest {
*/
@Test public void testSelectProfileConfiguration() throws Exception {
src = new RequestContextBuilder().setRelyingPartyProfileConfigurations(
- Collections.<ProfileConfiguration>singleton(new MockProfileConfiguration("mock"))).buildRequestContext();
+ CollectionSupport.singleton(new MockProfileConfiguration("mock"))).buildRequestContext();
prc = new WebflowRequestContextProfileRequestContextLookup().apply(src);
final RelyingPartyContext rpCtx = prc.getSubcontext(RelyingPartyContext.class);
assert rpCtx != null;
@@ -160,7 +159,7 @@ public class SelectProfileConfigurationTest {
*/
@Test public void testFallback() throws Exception {
src = new RequestContextBuilder().setRelyingPartyProfileConfigurations(
- Collections.<ProfileConfiguration>singleton(new MockProfileConfiguration("mock"))).buildRequestContext();
+ CollectionSupport.singleton(new MockProfileConfiguration("mock"))).buildRequestContext();
prc = new WebflowRequestContextProfileRequestContextLookup().apply(src);
final RelyingPartyContext rpCtx = prc.getSubcontext(RelyingPartyContext.class);
assert rpCtx != null;
diff --git a/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/interceptor/impl/PopulateProfileInterceptorContextTest.java b/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/interceptor/impl/PopulateProfileInterceptorContextTest.java
index 8c2e5468c..9a6917dc7 100644
--- a/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/interceptor/impl/PopulateProfileInterceptorContextTest.java
+++ b/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/interceptor/impl/PopulateProfileInterceptorContextTest.java
@@ -17,9 +17,6 @@
package net.shibboleth.idp.profile.interceptor.impl;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
@@ -66,8 +63,7 @@ public class PopulateProfileInterceptorContextTest {
final PopulateProfileInterceptorContext action = new PopulateProfileInterceptorContext();
action.setAvailableFlows(interceptorFlows);
- action.setActiveFlowsLookupStrategy(FunctionSupport.<ProfileRequestContext, Collection<String>> constant(Arrays
- .asList("test1", "test2", "test3")));
+ action.setActiveFlowsLookupStrategy(FunctionSupport.constant(CollectionSupport.listOf("test1", "test2", "test3")));
action.initialize();
final Event event = action.execute(src);
@@ -98,8 +94,7 @@ public class PopulateProfileInterceptorContextTest {
@Test public void testError() throws Exception {
final PopulateProfileInterceptorContext action = new PopulateProfileInterceptorContext();
action.setAvailableFlows(interceptorFlows);
- action.setActiveFlowsLookupStrategy(FunctionSupport
- .<ProfileRequestContext, Collection<String>> constant(Collections.singletonList("test4")));
+ action.setActiveFlowsLookupStrategy(FunctionSupport.constant(CollectionSupport.singletonList("test4")));
action.initialize();
final Event event = action.execute(src);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list