[java-identity-provider] 02/05: JSPT-98 Integrate lifecycle checking methods in base classes
Rod Widdowson
rdw at steadingsoftware.com
Wed Jul 6 14:18:41 UTC 2022
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch dev/JSPT-98
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=b5b2826b282f8ec080c5d59980de498932524b9e
commit b5b2826b282f8ec080c5d59980de498932524b9e
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sun Jul 3 16:40:39 2022 +0100
JSPT-98 Integrate lifecycle checking methods in base classes
https://shibboleth.atlassian.net/browse/JSPT-98
Stop using ComponentSupport and use the appropriate methods instead:
idp-authn-impl
---
.../authn/duo/impl/AbstractDuoAuthenticator.java | 18 +++--------
.../impl/ExtractDuoAuthenticationFromHeaders.java | 19 ++++--------
.../idp/authn/duo/impl/ValidateDuoAuthAPI.java | 20 +++++-------
.../idp/authn/duo/impl/ValidateDuoWebResponse.java | 10 ++----
.../AttributeSourcedSubjectCanonicalization.java | 25 ++++++---------
.../DefaultAuthenticationResultSerializer.java | 15 +++++----
.../idp/authn/impl/DoLockoutManagerOperation.java | 4 +--
.../idp/authn/impl/ExtractRemoteUser.java | 10 ++----
.../ExtractUsernamePasswordFromFormRequest.java | 22 ++++++-------
.../impl/FinalizeMultiFactorAuthentication.java | 30 ++++++++----------
.../authn/impl/HTPasswdCredentialValidator.java | 22 ++++++-------
.../impl/InitializeRequestedPrincipalContext.java | 19 +++++-------
.../idp/authn/impl/JAASCredentialValidator.java | 29 +++++++----------
.../authn/impl/KerberosCredentialValidator.java | 36 +++++++++-------------
.../idp/authn/impl/LDAPCredentialValidator.java | 30 ++++++++----------
.../authn/impl/PopulateAuthenticationContext.java | 23 ++++++--------
.../PopulateMultiFactorAuthenticationContext.java | 24 ++++++---------
.../PopulateSubjectCanonicalizationContext.java | 12 +++-----
.../impl/PreserveAuthenticationFlowState.java | 12 +++-----
.../idp/authn/impl/SelectAuthenticationFlow.java | 14 ++++-----
.../impl/StorageBackedAccountLockoutManager.java | 28 ++++++-----------
.../impl/TransitionMultiFactorAuthentication.java | 26 +++++++---------
.../idp/authn/impl/ValidateCredentials.java | 22 ++++++-------
.../authn/impl/ValidateExternalAuthentication.java | 21 ++++++-------
.../idp/authn/impl/ValidateFunctionResult.java | 16 +++++-----
.../idp/authn/impl/ValidateRemoteUser.java | 22 ++++++-------
.../idp/authn/impl/ValidateUserAgentAddress.java | 22 ++++++-------
.../authn/impl/X500SubjectCanonicalization.java | 23 ++++++--------
.../impl/X509CertificateCredentialValidator.java | 28 ++++++++---------
.../impl/DiscoveryProfileRequestFunction.java | 25 +++++++--------
.../impl/InitializeProxyProfileRequestContext.java | 18 ++++-------
.../authn/spnego/impl/KerberosRealmSettings.java | 7 ++---
.../authn/spnego/impl/SPNEGOAutoLoginManager.java | 13 +++-----
33 files changed, 265 insertions(+), 400 deletions(-)
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/AbstractDuoAuthenticator.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/AbstractDuoAuthenticator.java
index c95d89e4f..23fe9d5a9 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/AbstractDuoAuthenticator.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/AbstractDuoAuthenticator.java
@@ -24,9 +24,6 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.annotation.concurrent.ThreadSafe;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.core.type.TypeReference;
-
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
@@ -37,11 +34,12 @@ import org.opensaml.security.httpclient.HttpClientSecurityParameters;
import org.opensaml.security.httpclient.HttpClientSecuritySupport;
import com.duosecurity.duoweb.DuoWebException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
/**
@@ -65,9 +63,7 @@ public abstract class AbstractDuoAuthenticator extends AbstractInitializableComp
* @param client HttpClient
*/
public void setHttpClient(@Nonnull final HttpClient client) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
-
+ throwSetterPreconditionExceptions();
httpClient = Constraint.isNotNull(client, "HTTP client cannot be null");
}
@@ -77,9 +73,7 @@ public abstract class AbstractDuoAuthenticator extends AbstractInitializableComp
* @param params the new client security parameters
*/
public void setHttpClientSecurityParameters(@Nullable final HttpClientSecurityParameters params) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
-
+ throwSetterPreconditionExceptions();
httpClientSecurityParameters = params;
}
@@ -89,9 +83,7 @@ public abstract class AbstractDuoAuthenticator extends AbstractInitializableComp
* @param mapper object mapper
*/
public void setObjectMapper(@Nonnull final ObjectMapper mapper) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
-
+ throwSetterPreconditionExceptions();
objectMapper = Constraint.isNotNull(mapper, "Object mapper cannot be null");
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/ExtractDuoAuthenticationFromHeaders.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/ExtractDuoAuthenticationFromHeaders.java
index 7006bc8e3..b46a3f79a 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/ExtractDuoAuthenticationFromHeaders.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/ExtractDuoAuthenticationFromHeaders.java
@@ -36,7 +36,6 @@ import net.shibboleth.idp.authn.duo.DuoAuthAPI;
import net.shibboleth.idp.authn.duo.context.DuoAuthenticationContext;
import net.shibboleth.idp.ui.context.RelyingPartyUIContext;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.net.HttpServletSupport;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
@@ -94,8 +93,7 @@ public class ExtractDuoAuthenticationFromHeaders extends AbstractAuthenticationA
* @param headerName the factor header name
*/
public void setFactorHeader(@Nonnull @NotEmpty final String headerName) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
factorHeaderName = Constraint.isNotNull(StringSupport.trimOrNull(headerName),
"Factor header name cannot be null or empty.");
}
@@ -106,8 +104,7 @@ public class ExtractDuoAuthenticationFromHeaders extends AbstractAuthenticationA
* @param headerName the factor header name
*/
public void setDeviceHeader(@Nonnull @NotEmpty final String headerName) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
deviceHeaderName = Constraint.isNotNull(StringSupport.trimOrNull(headerName),
"Device header name cannot be null or empty.");
}
@@ -118,8 +115,7 @@ public class ExtractDuoAuthenticationFromHeaders extends AbstractAuthenticationA
* @param headerName the factor header name
*/
public void setPasscodeHeader(@Nonnull @NotEmpty final String headerName) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
passcodeHeaderName = Constraint.isNotNull(StringSupport.trimOrNull(headerName),
"Passcode header name cannot be null or empty.");
}
@@ -139,8 +135,7 @@ public class ExtractDuoAuthenticationFromHeaders extends AbstractAuthenticationA
* @param flag flag to set
*/
public void setClientAdddressTrusted(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
clientAddressTrusted = flag;
}
@@ -159,8 +154,7 @@ public class ExtractDuoAuthenticationFromHeaders extends AbstractAuthenticationA
* @param flag flag to set
*/
public void setAutoAuthenticationSupported(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
autoAuthenticationSupported = flag;
}
@@ -171,8 +165,7 @@ public class ExtractDuoAuthenticationFromHeaders extends AbstractAuthenticationA
*/
public void setPushInfoLookupStrategy(
@Nullable final Function<ProfileRequestContext,Map<String,String>> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
pushInfoLookupStrategy = strategy;
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/ValidateDuoAuthAPI.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/ValidateDuoAuthAPI.java
index 4c2050744..64ebdd774 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/ValidateDuoAuthAPI.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/duo/impl/ValidateDuoAuthAPI.java
@@ -30,6 +30,8 @@ import org.opensaml.profile.context.ProfileRequestContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.duosecurity.duoweb.DuoWebException;
+
import net.shibboleth.idp.authn.AbstractValidationAction;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
@@ -41,12 +43,9 @@ import net.shibboleth.idp.authn.duo.context.DuoAuthenticationContext;
import net.shibboleth.idp.session.context.navigate.CanonicalUsernameLookupStrategy;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.logic.FunctionSupport;
-import com.duosecurity.duoweb.DuoWebException;
-
/**
* An action that checks for a {@link DuoAuthenticationContext} and directly produces an
* {@link net.shibboleth.idp.authn.AuthenticationResult} based on that identity by authenticating against the Duo
@@ -114,8 +113,7 @@ public class ValidateDuoAuthAPI extends AbstractValidationAction {
*/
public void setDuoIntegrationLookupStrategy(
@Nonnull final Function<ProfileRequestContext,DuoIntegration> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
duoIntegrationLookupStrategy = Constraint.isNotNull(strategy, "DuoIntegration lookup strategy cannot be null");
}
@@ -125,8 +123,7 @@ public class ValidateDuoAuthAPI extends AbstractValidationAction {
* @param duo Duo integration details
*/
public void setDuoIntegration(@Nonnull final DuoIntegration duo) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
Constraint.isNotNull(duo, "DuoIntegration cannot be null");
duoIntegrationLookupStrategy = FunctionSupport.constant(duo);
}
@@ -137,8 +134,7 @@ public class ValidateDuoAuthAPI extends AbstractValidationAction {
* @param strategy lookup strategy
*/
public void setUsernameLookupStrategy(@Nonnull final Function<ProfileRequestContext, String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
usernameLookupStrategy = Constraint.isNotNull(strategy, "Username lookup strategy cannot be null");
}
@@ -148,8 +144,7 @@ public class ValidateDuoAuthAPI extends AbstractValidationAction {
* @param authenticator a Duo AuthAPI /auth endpoint implementation
*/
public void setAuthAuthenticator(@Nonnull final DuoAuthAuthenticator authenticator) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
authAuthenticator = Constraint.isNotNull(authenticator, "DuoAuthAuthenticator cannot be null");
}
@@ -159,8 +154,7 @@ public class ValidateDuoAuthAPI extends AbstractValidationAction {
* @param authenticator a Duo AuthAPI /preauth endpoint implementation
*/
public void setPreauthAuthenticator(@Nonnull final DuoPreauthAuthenticator authenticator) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
preauthAuthenticator = Constraint.isNotNull(authenticator, "DuoPreauthAuthenticator cannot be null");
}
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 b8b81639e..4d0c9d963 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
@@ -44,7 +44,6 @@ import net.shibboleth.idp.authn.duo.DuoIntegration;
import net.shibboleth.idp.authn.duo.DuoPrincipal;
import net.shibboleth.idp.session.context.navigate.CanonicalUsernameLookupStrategy;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.logic.FunctionSupport;
@@ -104,8 +103,7 @@ public class ValidateDuoWebResponse extends AbstractValidationAction {
*/
public void setDuoIntegrationLookupStrategy(
@Nonnull final Function<ProfileRequestContext,DuoIntegration> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
duoIntegrationLookupStrategy = Constraint.isNotNull(strategy, "DuoIntegration lookup strategy cannot be null");
}
@@ -115,8 +113,7 @@ public class ValidateDuoWebResponse extends AbstractValidationAction {
* @param duo Duo integration details
*/
public void setDuoIntegration(@Nonnull final DuoIntegration duo) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
Constraint.isNotNull(duo, "DuoIntegration cannot be null");
duoIntegrationLookupStrategy = FunctionSupport.constant(duo);
}
@@ -127,8 +124,7 @@ public class ValidateDuoWebResponse extends AbstractValidationAction {
* @param strategy lookup strategy
*/
public void setUsernameLookupStrategy(@Nonnull final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
usernameLookupStrategy = Constraint.isNotNull(strategy, "Username lookup strategy cannot be null");
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/AttributeSourcedSubjectCanonicalization.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/AttributeSourcedSubjectCanonicalization.java
index f5168f7f5..8a5cc94ca 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/AttributeSourcedSubjectCanonicalization.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/AttributeSourcedSubjectCanonicalization.java
@@ -29,6 +29,12 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.security.auth.Subject;
+import org.opensaml.messaging.context.navigate.ChildContextLookup;
+import org.opensaml.profile.action.ActionSupport;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.IdPAttributeValue;
import net.shibboleth.idp.attribute.ScopedStringAttributeValue;
@@ -41,16 +47,9 @@ import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
import net.shibboleth.idp.authn.principal.IdPAttributePrincipal;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import org.opensaml.messaging.context.navigate.ChildContextLookup;
-import org.opensaml.profile.action.ActionSupport;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* An action that extracts a resolved {@link IdPAttribute} value from an {@link AttributeContext} child obtained via
* lookup function (by default a child of the {@link SubjectCanonicalizationContext}), and uses it as the result
@@ -107,8 +106,7 @@ public class AttributeSourcedSubjectCanonicalization extends AbstractSubjectCano
* @param ch delimiter to use
*/
public void setScopedDelimiter(final char ch) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
delimiter = ch;
}
@@ -121,8 +119,7 @@ public class AttributeSourcedSubjectCanonicalization extends AbstractSubjectCano
* @since 4.1.0
*/
public void setResolveFromSubject(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
resolveFromSubject = flag;
}
@@ -132,8 +129,7 @@ public class AttributeSourcedSubjectCanonicalization extends AbstractSubjectCano
* @param ids attribute IDs to read from
*/
public void setAttributeSourceIds(@Nonnull @NonnullElements final List<String> ids) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
attributeSourceIds = new ArrayList<>(StringSupport.normalizeStringCollection(ids));
}
@@ -144,8 +140,7 @@ public class AttributeSourcedSubjectCanonicalization extends AbstractSubjectCano
*/
public void setAttributeContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,AttributeContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
attributeContextLookupStrategy = Constraint.isNotNull(strategy,
"AttributeContext lookup strategy cannot be null");
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializer.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializer.java
index 9e5eed795..a1994eac4 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializer.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializer.java
@@ -49,6 +49,11 @@ import javax.json.stream.JsonGenerator;
import javax.json.stream.JsonGeneratorFactory;
import javax.security.auth.Subject;
+import org.opensaml.security.x509.X509Support;
+import org.opensaml.storage.StorageSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.authn.AuthenticationResult;
import net.shibboleth.idp.authn.principal.GenericPrincipalSerializer;
import net.shibboleth.idp.authn.principal.PrincipalSerializer;
@@ -61,14 +66,8 @@ import net.shibboleth.utilities.java.support.codec.Base64Support;
import net.shibboleth.utilities.java.support.codec.EncodingException;
import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import org.opensaml.security.x509.X509Support;
-import org.opensaml.storage.StorageSerializer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* Handles serialization of results, delegating handling of {@link Principal} objects to one or more
* {@link PrincipalSerializer} plugins.
@@ -193,7 +192,7 @@ public class DefaultAuthenticationResultSerializer extends AbstractInitializable
// Checkstyle: CyclomaticComplexity|MethodLength OFF
/** {@inheritDoc} */
@Nonnull @NotEmpty public String serialize(@Nonnull final AuthenticationResult instance) throws IOException {
- ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
+ throwComponentStateExceptions();
try {
final StringWriter sink = new StringWriter(128);
@@ -260,7 +259,7 @@ public class DefaultAuthenticationResultSerializer extends AbstractInitializable
@Nonnull public AuthenticationResult deserialize(final long version, @Nonnull @NotEmpty final String context,
@Nonnull @NotEmpty final String key, @Nonnull @NotEmpty final String value,
@Nullable final Long expiration) throws IOException {
- ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
+ throwComponentStateExceptions();
try (final JsonReader reader = readerFactory.createReader(new StringReader(value))) {
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 15ffc5908..c5df3c5b0 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
@@ -47,7 +47,6 @@ import net.shibboleth.idp.profile.context.SpringRequestContext;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
/**
@@ -99,8 +98,7 @@ public class DoLockoutManagerOperation extends AbstractProfileAction {
* @param mapper object mapper
*/
public void setObjectMapper(@Nonnull final ObjectMapper mapper) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
objectMapper = Constraint.isNotNull(mapper, "ObjectMapper cannot be null");
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ExtractRemoteUser.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ExtractRemoteUser.java
index 1c5c7302e..b362e47ce 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ExtractRemoteUser.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ExtractRemoteUser.java
@@ -35,7 +35,6 @@ import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.context.UsernameContext;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
@@ -75,8 +74,7 @@ public class ExtractRemoteUser extends AbstractExtractionAction {
* @param flag value to set
*/
public void setCheckRemoteUser(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
checkRemoteUser = flag;
}
@@ -86,8 +84,7 @@ public class ExtractRemoteUser extends AbstractExtractionAction {
* @param attributes list of request attributes to check
*/
public void setCheckAttributes(@Nullable @NonnullElements final Collection<String> attributes) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
checkAttributes = StringSupport.normalizeStringCollection(attributes);
}
@@ -97,8 +94,7 @@ public class ExtractRemoteUser extends AbstractExtractionAction {
* @param headers list of request headers to check
*/
public void setCheckHeaders(@Nullable @NonnullElements final Collection<String> headers) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
checkHeaders = StringSupport.normalizeStringCollection(headers);
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ExtractUsernamePasswordFromFormRequest.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ExtractUsernamePasswordFromFormRequest.java
index c8b0c4ede..527732033 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ExtractUsernamePasswordFromFormRequest.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ExtractUsernamePasswordFromFormRequest.java
@@ -18,22 +18,21 @@
package net.shibboleth.idp.authn.impl;
import javax.annotation.Nonnull;
-import jakarta.servlet.http.HttpServletRequest;
+import org.opensaml.profile.action.ActionSupport;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import jakarta.servlet.http.HttpServletRequest;
import net.shibboleth.idp.authn.AbstractExtractionAction;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.context.UsernamePasswordContext;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import org.opensaml.profile.action.ActionSupport;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* An action that extracts a username and password from an HTTP form body or query string,
* creates a {@link UsernamePasswordContext}, and attaches it to the {@link AuthenticationContext}.
@@ -71,8 +70,7 @@ public class ExtractUsernamePasswordFromFormRequest extends AbstractExtractionAc
* @param fieldName the username parameter name
*/
public void setUsernameFieldName(@Nonnull @NotEmpty final String fieldName) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
usernameFieldName = Constraint.isNotNull(
StringSupport.trimOrNull(fieldName), "Username field name cannot be null or empty.");
}
@@ -83,8 +81,7 @@ public class ExtractUsernamePasswordFromFormRequest extends AbstractExtractionAc
* @param fieldName the password parameter name
*/
public void setPasswordFieldName(@Nonnull @NotEmpty final String fieldName) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
passwordFieldName = Constraint.isNotNull(
StringSupport.trimOrNull(fieldName), "Password field name cannot be null or empty.");
}
@@ -95,8 +92,7 @@ public class ExtractUsernamePasswordFromFormRequest extends AbstractExtractionAc
* @param fieldName the SSO bypass parameter name
*/
public void setSSOBypassFieldName(@Nonnull @NotEmpty final String fieldName) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
ssoBypassFieldName = Constraint.isNotNull(
StringSupport.trimOrNull(fieldName), "SSO Bypass field name cannot be null or empty.");
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthentication.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthentication.java
index cacc0ee8f..c339df80b 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthentication.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthentication.java
@@ -26,6 +26,13 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.security.auth.Subject;
+import org.opensaml.messaging.context.navigate.ChildContextLookup;
+import org.opensaml.profile.action.ActionSupport;
+import org.opensaml.profile.action.EventIds;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.authn.AbstractAuthenticationAction;
import net.shibboleth.idp.authn.AuthenticationResult;
import net.shibboleth.idp.authn.AuthnEventIds;
@@ -37,16 +44,8 @@ import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import org.opensaml.messaging.context.navigate.ChildContextLookup;
-import org.opensaml.profile.action.ActionSupport;
-import org.opensaml.profile.action.EventIds;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* An authentication action that completes MFA by producing a final {@link AuthenticationResult}
* out of whatever constituent parts and pieces exist, by means of an overridable function,
@@ -102,8 +101,7 @@ public class FinalizeMultiFactorAuthentication extends AbstractAuthenticationAct
*/
public void setMultiFactorContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,MultiFactorAuthenticationContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
multiFactorContextLookupStrategy = Constraint.isNotNull(strategy,
"MultiFactorAuthenticationContext lookup strategy cannot be null");
}
@@ -115,8 +113,7 @@ public class FinalizeMultiFactorAuthentication extends AbstractAuthenticationAct
*/
public void setResultMergingStrategy(
@Nullable final Function<ProfileRequestContext,AuthenticationResult> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
resultMergingStrategy = strategy;
}
@@ -126,8 +123,7 @@ public class FinalizeMultiFactorAuthentication extends AbstractAuthenticationAct
* @param predicate predicate to apply, or null
*/
public void setResultCachingPredicate(@Nullable final Predicate<ProfileRequestContext> predicate) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
resultCachingPredicate = predicate;
}
@@ -138,8 +134,7 @@ public class FinalizeMultiFactorAuthentication extends AbstractAuthenticationAct
*/
public void setRequesterLookupStrategy(
@Nullable final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
requesterLookupStrategy = strategy;
}
@@ -150,8 +145,7 @@ public class FinalizeMultiFactorAuthentication extends AbstractAuthenticationAct
*/
public void setResponderLookupStrategy(
@Nullable final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
responderLookupStrategy = strategy;
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidator.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidator.java
index c044fe4bf..5b40598fe 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidator.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidator.java
@@ -33,6 +33,15 @@ import javax.annotation.Nullable;
import javax.security.auth.Subject;
import javax.security.auth.login.LoginException;
+import org.apache.commons.codec.digest.Crypt;
+import org.apache.commons.codec.digest.Md5Crypt;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.core.io.Resource;
+
+import com.google.common.base.Strings;
+
import net.shibboleth.idp.authn.AbstractUsernamePasswordCredentialValidator;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
@@ -43,18 +52,8 @@ import net.shibboleth.utilities.java.support.annotation.constraint.ThreadSafeAft
import net.shibboleth.utilities.java.support.codec.StringDigester;
import net.shibboleth.utilities.java.support.codec.StringDigester.OutputFormat;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import org.apache.commons.codec.digest.Crypt;
-import org.apache.commons.codec.digest.Md5Crypt;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.core.io.Resource;
-
-import com.google.common.base.Strings;
-
/**
* A password validator that authenticates against Apache htpasswd files.
*
@@ -90,8 +89,7 @@ public class HTPasswdCredentialValidator extends AbstractUsernamePasswordCredent
* @param resource resource to use
*/
public void setResource(@Nonnull final Resource resource) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
htPasswdResource = Constraint.isNotNull(resource, "Resource cannot be null");
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContext.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContext.java
index 8bcd3ef69..be335e863 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContext.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContext.java
@@ -24,6 +24,12 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.opensaml.messaging.context.navigate.ChildContextLookup;
+import org.opensaml.profile.action.ActionSupport;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.authn.AbstractAuthenticationAction;
import net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration;
import net.shibboleth.idp.authn.context.AuthenticationContext;
@@ -31,15 +37,8 @@ import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
import net.shibboleth.idp.profile.IdPEventIds;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import org.opensaml.messaging.context.navigate.ChildContextLookup;
-import org.opensaml.profile.action.ActionSupport;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* An action that creates an {@link RequestedPrincipalContext} and attaches it to the current
* {@link AuthenticationContext}, if the profile request context contains a {@link RelyingPartyContext}
@@ -84,8 +83,7 @@ public class InitializeRequestedPrincipalContext extends AbstractAuthenticationA
* @param flag flag to set
*/
public void setReplaceExistingContext(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
replaceExistingContext = flag;
}
@@ -98,8 +96,7 @@ public class InitializeRequestedPrincipalContext extends AbstractAuthenticationA
*/
public void setRelyingPartyContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,RelyingPartyContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
relyingPartyContextLookupStrategy =
Constraint.isNotNull(strategy, "RelyingPartyContext lookup strategy cannot be null");
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/JAASCredentialValidator.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/JAASCredentialValidator.java
index 42917c3b3..5b53fdf43 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/JAASCredentialValidator.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/JAASCredentialValidator.java
@@ -39,6 +39,11 @@ import javax.security.auth.callback.UnsupportedCallbackException;
import javax.security.auth.login.Configuration;
import javax.security.auth.login.LoginException;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.core.io.Resource;
+
import net.shibboleth.idp.authn.AbstractUsernamePasswordCredentialValidator;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
@@ -49,14 +54,8 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.annotation.constraint.ThreadSafeAfterInit;
import net.shibboleth.utilities.java.support.collection.Pair;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.core.io.Resource;
-
/**
* A password validator that authenticates against JAAS.
*
@@ -111,8 +110,7 @@ public class JAASCredentialValidator extends AbstractUsernamePasswordCredentialV
* @param type the type of JAAS configuration to use
*/
public void setLoginConfigType(@Nullable final String type) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
loginConfigType = StringSupport.trimOrNull(type);
}
@@ -131,8 +129,7 @@ public class JAASCredentialValidator extends AbstractUsernamePasswordCredentialV
* @param uri the JAAS configuration URI parameters to use
*/
public void setLoginConfigParameters(@Nullable final URI uri) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
if (uri != null) {
loginConfigParameters = new URIParameter(uri);
} else {
@@ -148,8 +145,7 @@ public class JAASCredentialValidator extends AbstractUsernamePasswordCredentialV
* @since 4.1.0
*/
public void setLoginConfigResource(@Nullable final Resource resource) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
loginConfigResource = resource;
}
@@ -160,8 +156,7 @@ public class JAASCredentialValidator extends AbstractUsernamePasswordCredentialV
* @param configs list of JAAS application names and custom principals to use
*/
public void setLoginConfigurations(@Nullable final Collection<Pair<String,Collection<Principal>>> configs) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
if (configs != null) {
loginConfigurations = new ArrayList<>(configs.size());
for (final Pair<String,Collection<Principal>> config : configs) {
@@ -185,8 +180,7 @@ public class JAASCredentialValidator extends AbstractUsernamePasswordCredentialV
* @param names list of JAAS application names to use
*/
public void setLoginConfigNames(@Nullable @NonnullElements final Collection<String> names) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
loginConfigNames = StringSupport.normalizeStringCollection(names);
}
@@ -197,8 +191,7 @@ public class JAASCredentialValidator extends AbstractUsernamePasswordCredentialV
*/
public void setLoginConfigStrategy(
@Nullable final Function<ProfileRequestContext,Collection<Pair<String,Subject>>> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
loginConfigStrategy = strategy;
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/KerberosCredentialValidator.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/KerberosCredentialValidator.java
index ec7d45342..cff35e95c 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/KerberosCredentialValidator.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/KerberosCredentialValidator.java
@@ -33,6 +33,16 @@ import javax.security.auth.callback.UnsupportedCallbackException;
import javax.security.auth.login.LoginException;
import javax.security.auth.spi.LoginModule;
+import org.ietf.jgss.GSSContext;
+import org.ietf.jgss.GSSCredential;
+import org.ietf.jgss.GSSException;
+import org.ietf.jgss.GSSManager;
+import org.ietf.jgss.GSSName;
+import org.ietf.jgss.Oid;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.authn.AbstractUsernamePasswordCredentialValidator;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
@@ -41,20 +51,9 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterI
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.annotation.constraint.ThreadSafeAfterInit;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import org.ietf.jgss.GSSContext;
-import org.ietf.jgss.GSSCredential;
-import org.ietf.jgss.GSSException;
-import org.ietf.jgss.GSSManager;
-import org.ietf.jgss.GSSName;
-import org.ietf.jgss.Oid;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* A password validator that authenticates against Kerberos natively, with optional service ticket verification.
*
@@ -98,8 +97,7 @@ public class KerberosCredentialValidator extends AbstractUsernamePasswordCredent
* @param name name of login module class
*/
public void setLoginModuleClassName(@Nonnull final String name) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
loginModuleClassName = Constraint.isNotNull(StringSupport.trimOrNull(name),
"Class name cannot be null or empty");
}
@@ -110,8 +108,7 @@ public class KerberosCredentialValidator extends AbstractUsernamePasswordCredent
* @param flag flag to set
*/
public void setRefreshKrb5Config(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
refreshKrb5Config = flag;
}
@@ -121,8 +118,7 @@ public class KerberosCredentialValidator extends AbstractUsernamePasswordCredent
* @param flag flag to set
*/
public void setPreserveTicket(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
preserveTicket = flag;
}
@@ -134,8 +130,7 @@ public class KerberosCredentialValidator extends AbstractUsernamePasswordCredent
* @param name name of service principal
*/
public void setServicePrincipal(@Nullable final String name) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
servicePrincipal = StringSupport.trimOrNull(name);
}
@@ -145,8 +140,7 @@ public class KerberosCredentialValidator extends AbstractUsernamePasswordCredent
* @param path path to file containing a keytab
*/
public void setKeytabPath(@Nullable final String path) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
keytabPath = StringSupport.trimOrNull(path);
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/LDAPCredentialValidator.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/LDAPCredentialValidator.java
index 51f6c91aa..2a26eae91 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/LDAPCredentialValidator.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/LDAPCredentialValidator.java
@@ -23,17 +23,6 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.security.auth.Subject;
-import net.shibboleth.idp.authn.AbstractUsernamePasswordCredentialValidator;
-import net.shibboleth.idp.authn.AuthnEventIds;
-import net.shibboleth.idp.authn.context.AuthenticationContext;
-import net.shibboleth.idp.authn.context.LDAPResponseContext;
-import net.shibboleth.idp.authn.context.UsernamePasswordContext;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.annotation.constraint.ThreadSafeAfterInit;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.apache.velocity.VelocityContext;
import org.ldaptive.Credential;
import org.ldaptive.LdapException;
@@ -49,6 +38,16 @@ import org.opensaml.profile.context.ProfileRequestContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.authn.AbstractUsernamePasswordCredentialValidator;
+import net.shibboleth.idp.authn.AuthnEventIds;
+import net.shibboleth.idp.authn.context.AuthenticationContext;
+import net.shibboleth.idp.authn.context.LDAPResponseContext;
+import net.shibboleth.idp.authn.context.UsernamePasswordContext;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.utilities.java.support.annotation.constraint.ThreadSafeAfterInit;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
/**
* A password validator that authenticates against LDAP natively.
*
@@ -84,8 +83,7 @@ public class LDAPCredentialValidator extends AbstractUsernamePasswordCredentialV
* @param auth to authenticate with
*/
public void setAuthenticator(@Nonnull final Authenticator auth) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
authenticator = Constraint.isNotNull(auth, "Authenticator cannot be null");
}
@@ -104,8 +102,7 @@ public class LDAPCredentialValidator extends AbstractUsernamePasswordCredentialV
* @param attributes attribute names
*/
public void setReturnAttributes(@Nullable final String... attributes) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
returnAttributes = attributes;
}
@@ -115,8 +112,7 @@ public class LDAPCredentialValidator extends AbstractUsernamePasswordCredentialV
* @param strategy strategy function
*/
public void setPasswordLookupStrategy(@Nullable final Function<ProfileRequestContext,char[]> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
passwordLookupStrategy = strategy;
}
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 e061a16ad..0a78db230 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
@@ -25,6 +25,10 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.authn.AbstractAuthenticationAction;
import net.shibboleth.idp.authn.AuthenticationFlowDescriptor;
import net.shibboleth.idp.authn.config.navigate.AuthenticationFlowsLookupFunction;
@@ -32,14 +36,9 @@ import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
import net.shibboleth.idp.authn.principal.PrincipalEvalPredicateFactoryRegistry;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.logic.FunctionSupport;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* An action that populates an {@link AuthenticationContext} with the {@link AuthenticationFlowDescriptor}
* objects configured into the IdP, potential flows filtered by flow IDs from a lookup function.
@@ -87,8 +86,7 @@ public class PopulateAuthenticationContext extends AbstractAuthenticationAction
* @param flows the flows known to the system
*/
public void setAvailableFlows(@Nonnull @NonnullElements final Collection<AuthenticationFlowDescriptor> flows) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
availableFlows = List.copyOf(Constraint.isNotNull(flows, "Flow collection cannot be null"));
}
@@ -101,8 +99,7 @@ public class PopulateAuthenticationContext extends AbstractAuthenticationAction
*/
public void setPotentialFlowsLookupStrategy(
@Nonnull final Function<ProfileRequestContext,Collection<AuthenticationFlowDescriptor>> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
potentialFlowsLookupStrategy = Constraint.isNotNull(strategy, "Potential flow lookup strategy cannot be null");
}
@@ -113,7 +110,7 @@ public class PopulateAuthenticationContext extends AbstractAuthenticationAction
*/
public void setActiveFlowsLookupStrategy(
@Nonnull final Function<ProfileRequestContext,Collection<String>> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+ throwSetterPreconditionExceptions();
activeFlowsLookupStrategy = Constraint.isNotNull(strategy, "Flow lookup strategy cannot be null");
}
@@ -133,8 +130,7 @@ public class PopulateAuthenticationContext extends AbstractAuthenticationAction
*/
public void setPrincipalEvalPredicateFactoryRegistry(
@Nonnull final PrincipalEvalPredicateFactoryRegistry registry) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
evalRegistry = Constraint.isNotNull(registry, "PrincipalEvalPredicateFactoryRegistry cannot be null");
}
@@ -147,8 +143,7 @@ public class PopulateAuthenticationContext extends AbstractAuthenticationAction
* @since 3.4.0
*/
public void setFixedEventLookupStrategy(@Nullable final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
fixedEventLookupStrategy = strategy;
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PopulateMultiFactorAuthenticationContext.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PopulateMultiFactorAuthenticationContext.java
index d707ca7a3..faf0df4e0 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PopulateMultiFactorAuthenticationContext.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PopulateMultiFactorAuthenticationContext.java
@@ -27,6 +27,13 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.opensaml.messaging.context.navigate.ChildContextLookup;
+import org.opensaml.profile.action.ActionSupport;
+import org.opensaml.profile.action.EventIds;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.authn.AbstractAuthenticationAction;
import net.shibboleth.idp.authn.AuthenticationFlowDescriptor;
import net.shibboleth.idp.authn.AuthenticationResult;
@@ -35,17 +42,9 @@ import net.shibboleth.idp.authn.MultiFactorAuthenticationTransition;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.context.MultiFactorAuthenticationContext;
import net.shibboleth.idp.authn.principal.AuthenticationResultPrincipal;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.logic.FunctionSupport;
-import org.opensaml.messaging.context.navigate.ChildContextLookup;
-import org.opensaml.profile.action.ActionSupport;
-import org.opensaml.profile.action.EventIds;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* An action that creates and populates a {@link MultiFactorAuthenticationContext} with the set of
* transition rules to use for coordinating activity, the executing {@link AuthenticationFlowDescriptor}
@@ -94,8 +93,7 @@ public class PopulateMultiFactorAuthenticationContext extends AbstractAuthentica
*/
public void setTransitionMapLookupStrategy(
@Nonnull final Function<ProfileRequestContext,Map<String,MultiFactorAuthenticationTransition>> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
transitionMapLookupStrategy = Constraint.isNotNull(strategy, "Transition map lookup strategy cannot be null");
}
@@ -106,8 +104,7 @@ public class PopulateMultiFactorAuthenticationContext extends AbstractAuthentica
*/
public void setMultiFactorContextCreationStrategy(
@Nonnull final Function<ProfileRequestContext,MultiFactorAuthenticationContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
multiFactorContextCreationStrategy = Constraint.isNotNull(strategy,
"MultiFactorAuthenticationContext creation strategy cannot be null");
}
@@ -122,8 +119,7 @@ public class PopulateMultiFactorAuthenticationContext extends AbstractAuthentica
*/
public void setActiveResultLookupStrategy(
@Nullable final Function<ProfileRequestContext,Collection<AuthenticationResult>> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
activeResultLookupStrategy = strategy;
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PopulateSubjectCanonicalizationContext.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PopulateSubjectCanonicalizationContext.java
index 1d3c93d7e..b0dc29bfd 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PopulateSubjectCanonicalizationContext.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PopulateSubjectCanonicalizationContext.java
@@ -23,17 +23,16 @@ import java.util.List;
import javax.annotation.Nonnull;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.authn.AbstractSubjectCanonicalizationAction;
import net.shibboleth.idp.authn.SubjectCanonicalizationFlowDescriptor;
import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* An action that populates a {@link SubjectCanonicalizationContext} with the
* {@link SubjectCanonicalizationFlowDescriptor} objects configured into the IdP.
@@ -62,8 +61,7 @@ public class PopulateSubjectCanonicalizationContext extends AbstractSubjectCanon
*/
public void setAvailableFlows(
@Nonnull @NonnullElements final Collection<SubjectCanonicalizationFlowDescriptor> flows) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
availableFlows = List.copyOf(Constraint.isNotNull(flows, "Flow collection cannot be null"));
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PreserveAuthenticationFlowState.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PreserveAuthenticationFlowState.java
index e99ce77e4..e8327d6ad 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PreserveAuthenticationFlowState.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/PreserveAuthenticationFlowState.java
@@ -26,16 +26,15 @@ import java.util.Map;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.authn.AbstractAuthenticationAction;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* An action that extracts configured parameters from a servlet request and populates
* {@link AuthenticationContext#getAuthenticationStateMap()} with the data.
@@ -66,8 +65,7 @@ public class PreserveAuthenticationFlowState extends AbstractAuthenticationActio
* @param names parameter names
*/
public void setParameterNames(@Nullable @NonnullElements final Collection<String> names) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
if (names == null) {
parameterNames = Collections.emptyList();
} else {
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlow.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlow.java
index c530a1a04..03b2c893c 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlow.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlow.java
@@ -23,6 +23,11 @@ import java.util.Map;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.opensaml.profile.action.ActionSupport;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.authn.AbstractAuthenticationAction;
import net.shibboleth.idp.authn.AuthenticationFlowDescriptor;
import net.shibboleth.idp.authn.AuthenticationResult;
@@ -32,12 +37,6 @@ import net.shibboleth.idp.authn.context.PreferredPrincipalContext;
import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
import net.shibboleth.idp.authn.principal.PrincipalEvalPredicate;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-
-import org.opensaml.profile.action.ActionSupport;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* An authentication action that selects an authentication flow to invoke, or re-uses an
@@ -106,8 +105,7 @@ public class SelectAuthenticationFlow extends AbstractAuthenticationAction {
* @param flag whether SSO should trump explicit relying party requirements preference
*/
public void setFavorSSO(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
favorSSO = flag;
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/StorageBackedAccountLockoutManager.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/StorageBackedAccountLockoutManager.java
index 6fcbd8f40..25327a7cf 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/StorageBackedAccountLockoutManager.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/StorageBackedAccountLockoutManager.java
@@ -43,7 +43,6 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.annotation.constraint.Positive;
import net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.logic.FunctionSupport;
import net.shibboleth.utilities.java.support.net.HttpServletSupport;
@@ -89,8 +88,7 @@ public class StorageBackedAccountLockoutManager extends AbstractIdentifiableInit
* @param storage the back-end to use
*/
public void setStorageService(@Nonnull final StorageService storage) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
storageService = Constraint.isNotNull(storage, "StorageService cannot be null");
final StorageCapabilities caps = storageService.getCapabilities();
if (caps instanceof StorageCapabilitiesEx) {
@@ -109,8 +107,7 @@ public class StorageBackedAccountLockoutManager extends AbstractIdentifiableInit
* @param strategy strategy function
*/
public void setLockoutKeyStrategy(@Nonnull final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
lockoutKeyStrategy = Constraint.isNotNull(strategy, "Lockout key strategy cannot be null");
}
@@ -122,8 +119,7 @@ public class StorageBackedAccountLockoutManager extends AbstractIdentifiableInit
* @param attempts maximum failed attempts
*/
public void setMaxAttempts(@Positive final int attempts) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
maxAttemptsLookupStrategy = FunctionSupport.constant(
Constraint.isGreaterThan(0, attempts, "Attempts must be greater than zero"));
}
@@ -136,8 +132,7 @@ public class StorageBackedAccountLockoutManager extends AbstractIdentifiableInit
* @param strategy lookup function
*/
public void setMaxAttemptsLookupStrategy(@Nonnull final Function<ProfileRequestContext,Integer> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
maxAttemptsLookupStrategy = Constraint.isNotNull(strategy, "Max attempts lookup strategy cannot be null");
}
@@ -149,8 +144,7 @@ public class StorageBackedAccountLockoutManager extends AbstractIdentifiableInit
* @param window counter window
*/
public void setCounterInterval(@Nonnull final Duration window) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
counterIntervalLookupStrategy = FunctionSupport.constant(
Constraint.isNotNull(window, "Counter interval cannot be null"));
}
@@ -163,8 +157,7 @@ public class StorageBackedAccountLockoutManager extends AbstractIdentifiableInit
* @param strategy lookup function
*/
public void setCounterIntervalLookupStrategy(@Nonnull final Function<ProfileRequestContext,Duration> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
counterIntervalLookupStrategy = Constraint.isNotNull(strategy,
"Counter interval lookup strategy cannot be null");
}
@@ -177,8 +170,7 @@ public class StorageBackedAccountLockoutManager extends AbstractIdentifiableInit
* @param duration lockout duration
*/
public void setLockoutDuration(@Nonnull final Duration duration) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
lockoutDurationLookupStrategy = FunctionSupport.constant(
Constraint.isNotNull(duration, "Lockout duration cannot be null"));
}
@@ -191,8 +183,7 @@ public class StorageBackedAccountLockoutManager extends AbstractIdentifiableInit
* @param strategy lookup function
*/
public void setLockoutDurationLookupStrategy(@Nonnull final Function<ProfileRequestContext,Duration> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
lockoutDurationLookupStrategy = Constraint.isNotNull(strategy,
"Lockout duration lookup strategy cannot be null");
}
@@ -203,8 +194,7 @@ public class StorageBackedAccountLockoutManager extends AbstractIdentifiableInit
* @param flag flag to set
*/
public void setExtendLockoutDuration(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
extendLockoutDuration = flag;
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/TransitionMultiFactorAuthentication.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/TransitionMultiFactorAuthentication.java
index cb1b87659..e75a13f3d 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/TransitionMultiFactorAuthentication.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/TransitionMultiFactorAuthentication.java
@@ -22,6 +22,14 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.opensaml.messaging.context.navigate.ChildContextLookup;
+import org.opensaml.profile.action.ActionSupport;
+import org.opensaml.profile.action.EventIds;
+import org.opensaml.profile.context.EventContext;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.authn.AbstractAuthenticationAction;
import net.shibboleth.idp.authn.AuthenticationFlowDescriptor;
import net.shibboleth.idp.authn.AuthenticationResult;
@@ -30,17 +38,8 @@ import net.shibboleth.idp.authn.MultiFactorAuthenticationTransition;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.context.MultiFactorAuthenticationContext;
import net.shibboleth.idp.profile.context.navigate.WebFlowCurrentEventLookupFunction;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import org.opensaml.messaging.context.navigate.ChildContextLookup;
-import org.opensaml.profile.action.ActionSupport;
-import org.opensaml.profile.action.EventIds;
-import org.opensaml.profile.context.EventContext;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* An authentication action that acts as the driver regulating execution of transitions
* between MFA stages.
@@ -122,8 +121,7 @@ public class TransitionMultiFactorAuthentication extends AbstractAuthenticationA
*/
public void setMultiFactorContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,MultiFactorAuthenticationContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
multiFactorContextLookupStrategy = Constraint.isNotNull(strategy,
"MultiFactorAuthenticationContext lookup strategy cannot be null");
}
@@ -134,8 +132,7 @@ public class TransitionMultiFactorAuthentication extends AbstractAuthenticationA
* @param strategy lookup strategy
*/
public void setEventContextLookupStrategy(@Nonnull final Function<ProfileRequestContext,EventContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
eventContextLookupStrategy = Constraint.isNotNull(strategy, "EventContext lookup strategy cannot be null");
}
@@ -148,8 +145,7 @@ public class TransitionMultiFactorAuthentication extends AbstractAuthenticationA
* @param flag flag to set
*/
public void setValidateLoginTransitions(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
validateLoginTransitions = flag;
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateCredentials.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateCredentials.java
index 2a56ec04d..c916aaa2a 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateCredentials.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateCredentials.java
@@ -27,6 +27,12 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.security.auth.Subject;
+import org.opensaml.profile.action.ActionSupport;
+import org.opensaml.profile.action.EventIds;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.authn.AbstractValidationAction;
import net.shibboleth.idp.authn.AccountLockoutManager;
import net.shibboleth.idp.authn.AuthenticationResult;
@@ -38,13 +44,6 @@ import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.context.UsernamePasswordContext;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-
-import org.opensaml.profile.action.ActionSupport;
-import org.opensaml.profile.action.EventIds;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* An action that processes a list of {@link CredentialValidator} objects to produce an {@link AuthenticationResult}.
@@ -97,8 +96,7 @@ public class ValidateCredentials extends AbstractValidationAction implements War
* @param manager lockout manager
*/
public void setLockoutManager(@Nullable final AccountLockoutManager manager) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
lockoutManager = manager;
}
@@ -108,8 +106,7 @@ public class ValidateCredentials extends AbstractValidationAction implements War
* @param validators validators to use
*/
public void setValidators(@Nullable @NonnullElements final List<CredentialValidator> validators) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
if (validators != null) {
credentialValidators = List.copyOf(validators);
} else {
@@ -124,8 +121,7 @@ public class ValidateCredentials extends AbstractValidationAction implements War
* @param flag flag to set
*/
public void setRequireAll(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
requireAll = flag;
}
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 8e44c598f..e9a577582 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
@@ -26,6 +26,13 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.security.auth.Subject;
+import org.opensaml.profile.action.ActionSupport;
+import org.opensaml.profile.action.EventIds;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.opensaml.saml.metadata.resolver.MetadataResolver;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.context.AttributeContext;
import net.shibboleth.idp.attribute.filter.AttributeFilter;
@@ -40,17 +47,9 @@ import net.shibboleth.idp.authn.principal.IdPAttributePrincipal;
import net.shibboleth.idp.authn.principal.ProxyAuthenticationPrincipal;
import net.shibboleth.idp.authn.principal.UsernamePrincipal;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.service.ReloadableService;
import net.shibboleth.utilities.java.support.service.ServiceableComponent;
-import org.opensaml.profile.action.ActionSupport;
-import org.opensaml.profile.action.EventIds;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.saml.metadata.resolver.MetadataResolver;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* An action that checks for an {@link ExternalAuthenticationContext} and directly produces an
* {@link net.shibboleth.idp.authn.AuthenticationResult} or records error state based on the
@@ -113,8 +112,7 @@ public class ValidateExternalAuthentication extends AbstractValidationAction {
* @param expression a matching expression
*/
public void setMatchExpression(@Nullable final Pattern expression) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
if (expression != null && !expression.pattern().isEmpty()) {
matchExpression = expression;
} else {
@@ -130,8 +128,7 @@ public class ValidateExternalAuthentication extends AbstractValidationAction {
* @since 4.0.0
*/
public void setMetadataResolver(@Nullable final MetadataResolver resolver) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
metadataResolver = resolver;
}
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 3af9d2d18..58db3739b 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
@@ -24,6 +24,12 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.security.auth.Subject;
+import org.opensaml.profile.action.ActionSupport;
+import org.opensaml.profile.action.EventIds;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.authn.AbstractValidationAction;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
@@ -31,16 +37,9 @@ import net.shibboleth.idp.authn.principal.UsernamePrincipal;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-import org.opensaml.profile.action.ActionSupport;
-import org.opensaml.profile.action.EventIds;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* An action that executes a deployer-supplied function and produces an
* {@link net.shibboleth.idp.authn.AuthenticationResult} based on the function result.
@@ -81,8 +80,7 @@ public class ValidateFunctionResult extends AbstractValidationAction {
* @param strategy result strategy
*/
public void setResultLookupStrategy(@Nonnull final Function<ProfileRequestContext,?> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
resultLookupStrategy = Constraint.isNotNull(strategy, "Result lookup strategy cannot be null");
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateRemoteUser.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateRemoteUser.java
index 7a5364739..458e58176 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateRemoteUser.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateRemoteUser.java
@@ -26,6 +26,12 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.security.auth.Subject;
+import org.opensaml.profile.action.ActionSupport;
+import org.opensaml.profile.action.EventIds;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.authn.AbstractValidationAction;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
@@ -33,15 +39,8 @@ import net.shibboleth.idp.authn.context.UsernameContext;
import net.shibboleth.idp.authn.principal.UsernamePrincipal;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import org.opensaml.profile.action.ActionSupport;
-import org.opensaml.profile.action.EventIds;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* An action that checks for a {@link UsernameContext} and directly produces an
* {@link net.shibboleth.idp.authn.AuthenticationResult} based on that identity.
@@ -88,8 +87,7 @@ public class ValidateRemoteUser extends AbstractValidationAction {
* @param allowed usernames to allow
*/
public void setAllowedUsernames(@Nullable @NonnullElements final Collection<String> allowed) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
allowedUsernames = Set.copyOf(StringSupport.normalizeStringCollection(allowed));
}
@@ -99,8 +97,7 @@ public class ValidateRemoteUser extends AbstractValidationAction {
* @param denied usernames to deny
*/
public void setDeniedUsernames(@Nullable @NonnullElements final Collection<String> denied) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
deniedUsernames = Set.copyOf(StringSupport.normalizeStringCollection(denied));
}
@@ -110,8 +107,7 @@ public class ValidateRemoteUser extends AbstractValidationAction {
* @param expression a matching expression
*/
public void setMatchExpression(@Nullable final Pattern expression) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
if (expression != null && !expression.pattern().isEmpty()) {
matchExpression = expression;
} else {
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddress.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddress.java
index 66f24cac3..0a2ed5123 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddress.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddress.java
@@ -28,26 +28,23 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.security.auth.Subject;
+import org.opensaml.profile.action.ActionSupport;
+import org.opensaml.profile.action.EventIds;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.common.base.Strings;
+
import net.shibboleth.idp.authn.AbstractValidationAction;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.context.UserAgentContext;
import net.shibboleth.idp.authn.principal.UsernamePrincipal;
-
-import org.opensaml.profile.action.ActionSupport;
-import org.opensaml.profile.action.EventIds;
-import org.opensaml.profile.context.ProfileRequestContext;
-
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.net.IPRange;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Strings;
-
/**
* An action that ensures that a user-agent address found within a {@link UserAgentContext}
* is within a given range and generates an {@link net.shibboleth.idp.authn.AuthenticationResult}.
@@ -89,8 +86,7 @@ public class ValidateUserAgentAddress extends AbstractValidationAction {
* @param newMappings the IP range(s) to authenticate as particular principals
*/
public void setMappings(@Nullable @NonnullElements final Map<String,Collection<IPRange>> newMappings) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
if (newMappings != null) {
mappings = new HashMap<>(newMappings.size());
for (final Map.Entry<String,Collection<IPRange>> e : newMappings.entrySet()) {
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/X500SubjectCanonicalization.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/X500SubjectCanonicalization.java
index 486263e56..7b43e2945 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/X500SubjectCanonicalization.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/X500SubjectCanonicalization.java
@@ -27,15 +27,6 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.security.auth.x500.X500Principal;
-import net.shibboleth.idp.authn.AbstractSubjectCanonicalizationAction;
-import net.shibboleth.idp.authn.AuthnEventIds;
-import net.shibboleth.idp.authn.SubjectCanonicalizationException;
-import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-
import org.cryptacular.x509.dn.Attribute;
import org.cryptacular.x509.dn.NameReader;
import org.cryptacular.x509.dn.RDN;
@@ -46,6 +37,14 @@ import org.opensaml.security.x509.X509Support;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.authn.AbstractSubjectCanonicalizationAction;
+import net.shibboleth.idp.authn.AuthnEventIds;
+import net.shibboleth.idp.authn.SubjectCanonicalizationException;
+import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
+
/**
* An action that operates on a {@link SubjectCanonicalizationContext} child of the current
@@ -101,8 +100,7 @@ public class X500SubjectCanonicalization extends AbstractSubjectCanonicalization
* @param types types to search for
*/
public void setSubjectAltNameTypes(@Nullable @NonnullElements final List<Integer> types) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
if (types != null) {
subjectAltNameTypes = List.copyOf(types);
} else {
@@ -116,8 +114,7 @@ public class X500SubjectCanonicalization extends AbstractSubjectCanonicalization
* @param ids RDN OIDs to search for
*/
public void setObjectIds(@Nullable @NonnullElements final List<String> ids) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
objectIds = List.copyOf(StringSupport.normalizeStringCollection(ids));
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/X509CertificateCredentialValidator.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/X509CertificateCredentialValidator.java
index c6b6f7149..5729b11fd 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/X509CertificateCredentialValidator.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/X509CertificateCredentialValidator.java
@@ -26,16 +26,6 @@ import javax.annotation.Nullable;
import javax.security.auth.Subject;
import javax.security.auth.login.LoginException;
-import net.shibboleth.idp.authn.AbstractCredentialValidator;
-import net.shibboleth.idp.authn.AuthnEventIds;
-import net.shibboleth.idp.authn.context.AuthenticationContext;
-import net.shibboleth.idp.authn.context.CertificateContext;
-import net.shibboleth.idp.authn.context.UsernamePasswordContext;
-import net.shibboleth.utilities.java.support.annotation.constraint.ThreadSafeAfterInit;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
-
import org.opensaml.messaging.context.navigate.ChildContextLookup;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.security.SecurityException;
@@ -45,6 +35,15 @@ import org.opensaml.security.x509.X509Credential;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.authn.AbstractCredentialValidator;
+import net.shibboleth.idp.authn.AuthnEventIds;
+import net.shibboleth.idp.authn.context.AuthenticationContext;
+import net.shibboleth.idp.authn.context.CertificateContext;
+import net.shibboleth.idp.authn.context.UsernamePasswordContext;
+import net.shibboleth.utilities.java.support.annotation.constraint.ThreadSafeAfterInit;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
+
/**
* A credential validator that validates an X.509 certificate.
*
@@ -77,8 +76,7 @@ public class X509CertificateCredentialValidator extends AbstractCredentialValida
*/
public void setCertificateContextLookupStrategy(
@Nonnull final Function<AuthenticationContext,CertificateContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
certContextLookupStrategy = Constraint.isNotNull(strategy,
"CertificateContextLookupStrategy cannot be null");
}
@@ -89,8 +87,7 @@ public class X509CertificateCredentialValidator extends AbstractCredentialValida
* @param tm trust engine to use
*/
public void setTrustEngine(@Nullable final TrustEngine<? super X509Credential> tm) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
trustEngine = tm;
}
@@ -102,8 +99,7 @@ public class X509CertificateCredentialValidator extends AbstractCredentialValida
* @param flag flag to set
*/
public void setSaveCertificateToCredentialSet(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
saveCertificateToCredentialSet = flag;
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/proxy/impl/DiscoveryProfileRequestFunction.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/proxy/impl/DiscoveryProfileRequestFunction.java
index ffb38d8c2..b134e57a2 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/proxy/impl/DiscoveryProfileRequestFunction.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/proxy/impl/DiscoveryProfileRequestFunction.java
@@ -22,16 +22,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.annotation.concurrent.ThreadSafe;
-import jakarta.servlet.http.HttpServletRequest;
-
-import net.shibboleth.idp.authn.context.AuthenticationContext;
-import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.collection.Pair;
-import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
import org.opensaml.profile.context.ProfileRequestContext;
@@ -42,6 +32,15 @@ import org.springframework.webflow.execution.RequestContext;
import com.google.common.escape.Escaper;
import com.google.common.net.UrlEscapers;
+import jakarta.servlet.http.HttpServletRequest;
+import net.shibboleth.idp.authn.context.AuthenticationContext;
+import net.shibboleth.idp.profile.context.RelyingPartyContext;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.utilities.java.support.collection.Pair;
+import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
/**
* A {@link Function} that produces a discovery request URL using the protocol defined in
* https://wiki.oasis-open.org/security/IdpDiscoSvcProtonProfile
@@ -79,8 +78,7 @@ public class DiscoveryProfileRequestFunction extends AbstractInitializableCompon
*/
public void setRelyingPartyContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,RelyingPartyContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
relyingPartyContextLookupStrategy =
Constraint.isNotNull(strategy, "RelyingPartyContext lookup strategy cannot be null");
}
@@ -91,8 +89,7 @@ public class DiscoveryProfileRequestFunction extends AbstractInitializableCompon
* @param strategy lookup strategy
*/
public void setDiscoveryURLLookupStrategy(@Nonnull final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
discoveryURLLookupStrategy = Constraint.isNotNull(strategy, "Discovery URL lookup strategy cannot be null");
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/proxy/impl/InitializeProxyProfileRequestContext.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/proxy/impl/InitializeProxyProfileRequestContext.java
index 0e19a9adb..52c495ddf 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/proxy/impl/InitializeProxyProfileRequestContext.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/proxy/impl/InitializeProxyProfileRequestContext.java
@@ -23,14 +23,12 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.annotation.concurrent.ThreadSafe;
-import net.shibboleth.idp.authn.context.AuthenticationContext;
-import net.shibboleth.idp.profile.AbstractProfileAction;
-
import org.opensaml.profile.action.ActionSupport;
import org.opensaml.profile.action.EventIds;
import org.opensaml.profile.context.ProfileRequestContext;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
+import net.shibboleth.idp.authn.context.AuthenticationContext;
+import net.shibboleth.idp.profile.AbstractProfileAction;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
@@ -75,8 +73,7 @@ public final class InitializeProxyProfileRequestContext extends AbstractProfileA
*/
public void setProfileRequestContextCreationStrategy(
@Nonnull final Function<ProfileRequestContext,ProfileRequestContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
profileRequestContextCreationStrategy = Constraint.isNotNull(strategy, "Creation strategy cannot be null");
}
@@ -86,8 +83,7 @@ public final class InitializeProxyProfileRequestContext extends AbstractProfileA
* @param id profile ID to populate into the context
*/
public void setProfileId(@Nullable final String id) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
profileId = StringSupport.trimOrNull(id);
}
@@ -97,8 +93,7 @@ public final class InitializeProxyProfileRequestContext extends AbstractProfileA
* @param id logging ID to populate into the context
*/
public void setLoggingId(@Nullable final String id) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
loggingId = StringSupport.trimOrNull(id);
}
@@ -108,8 +103,7 @@ public final class InitializeProxyProfileRequestContext extends AbstractProfileA
* @param browser true iff the request is browser based
*/
public void setBrowserProfile(final boolean browser) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
browserProfile = browser;
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/spnego/impl/KerberosRealmSettings.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/spnego/impl/KerberosRealmSettings.java
index e8955d465..671403cb0 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/spnego/impl/KerberosRealmSettings.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/spnego/impl/KerberosRealmSettings.java
@@ -24,7 +24,6 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterI
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
@@ -48,7 +47,7 @@ public class KerberosRealmSettings extends AbstractInitializableComponent {
* @param principal service principal
*/
public void setServicePrincipal(@Nonnull @NotEmpty final String principal) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+ throwSetterPreconditionExceptions();
servicePrincipal = Constraint.isNotEmpty(StringSupport.trim(principal), "Principal cannot be null or empty");
}
@@ -67,7 +66,7 @@ public class KerberosRealmSettings extends AbstractInitializableComponent {
* @param newKeytab keytab to use
*/
public void setKeytab(@Nullable final String newKeytab) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+ throwSetterPreconditionExceptions();
keytab = StringSupport.trim(newKeytab);
}
@@ -86,7 +85,7 @@ public class KerberosRealmSettings extends AbstractInitializableComponent {
* @param newPassword password to use
*/
public void setPassword(@Nullable final String newPassword) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+ throwSetterPreconditionExceptions();
password = newPassword;
}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/spnego/impl/SPNEGOAutoLoginManager.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/spnego/impl/SPNEGOAutoLoginManager.java
index cca6bf587..4907905a0 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/spnego/impl/SPNEGOAutoLoginManager.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/spnego/impl/SPNEGOAutoLoginManager.java
@@ -19,18 +19,17 @@ package net.shibboleth.idp.authn.spnego.impl;
import javax.annotation.Nonnull;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.net.CookieManager;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* Component managing the auto-login state via cookie.
*/
@@ -65,8 +64,7 @@ public class SPNEGOAutoLoginManager extends AbstractInitializableComponent {
* @param manager the CookieManager to use.
*/
public void setCookieManager(@Nonnull final CookieManager manager) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
cookieManager = Constraint.isNotNull(manager, "CookieManager cannot be null");
}
@@ -87,8 +85,7 @@ public class SPNEGOAutoLoginManager extends AbstractInitializableComponent {
* @since 4.2.0
*/
public void setCookieName(@Nonnull @NotEmpty final String name) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
cookieName = Constraint.isNotEmpty(StringSupport.trimOrNull(name), "Cookie name cannot be null or empty");
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list