[java-identity-provider] 02/06: JSPT-98 Integrate lifecycle checking methods in base classes
Rod Widdowson
rdw at steadingsoftware.com
Fri Jul 15 09:44:52 UTC 2022
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch main
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=2b02189a1b0e6e9fccb398a82aaa2102dc009e63
commit 2b02189a1b0e6e9fccb398a82aaa2102dc009e63
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Thu Jul 14 16:43:55 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-saml-api idp-saml-impl
---
...tractCollectionConfigurationLookupStrategy.java | 4 +-
...tMetadataDrivenConfigurationLookupStrategy.java | 29 ++++------
.../config/BeanConfigurationLookupStrategy.java | 7 +--
.../idp/saml/audit/impl/WriteFTICKSLog.java | 30 +++++------
.../InitializeRelyingPartyContextFromSAMLPeer.java | 7 +--
...tributeSourcedSAML1NameIdentifierGenerator.java | 30 +++++------
.../impl/AttributeSourcedSAML2NameIDGenerator.java | 28 +++++-----
.../nameid/impl/BaseCryptoTransientDecoder.java | 7 +--
.../saml/nameid/impl/BaseTransformingDecoder.java | 21 +++-----
.../idp/saml/nameid/impl/BaseTransientDecoder.java | 20 ++++---
.../impl/CryptoTransientIdGenerationStrategy.java | 18 +++----
.../saml/nameid/impl/NameIDCanonicalization.java | 17 +++---
.../impl/NameIdentifierCanonicalization.java | 18 +++----
.../impl/PersistentSAML2NameIDGenerator.java | 32 +++++-------
.../nameid/impl/StoredPersistentIdDecoder.java | 9 ++--
.../impl/StoredTransientIdGenerationStrategy.java | 26 ++++-----
.../TransientSAML1NameIdentifierGenerator.java | 21 ++++----
.../nameid/impl/TransientSAML2NameIDGenerator.java | 23 ++++----
.../impl/BaseAddAttributeStatementToAssertion.java | 37 +++++--------
.../BaseAddAuthenticationStatementToAssertion.java | 27 ++++------
.../profile/impl/ExtractSubjectFromRequest.java | 30 +++++------
.../impl/InitializeAuthenticationContext.java | 36 ++++++-------
.../impl/InitializeOutboundMessageContext.java | 19 +++----
.../InitializeOutboundMessageContextForError.java | 18 +++----
.../InitializeRelyingPartyContextFromSAMLPeer.java | 14 ++---
.../impl/PopulateBindingAndEndpointContexts.java | 61 +++++++++-------------
.../PopulateInboundMessageContextWithSAMLSelf.java | 12 ++---
.../idp/saml/profile/impl/ReloadMetadata.java | 6 +--
.../impl/SpringAwareMessageDecoderFactory.java | 15 +++---
.../impl/SpringAwareMessageEncoderFactory.java | 11 ++--
.../profile/impl/UpdateSAMLSelfEntityContext.java | 12 ++---
.../impl/AddAttributeStatementToAssertion.java | 24 ++++-----
.../AddAuthenticationStatementToAssertion.java | 33 +++++-------
.../impl/FilterByQueriedAttributeDesignators.java | 10 ++--
.../impl/AddAttributeStatementToAssertion.java | 24 ++++-----
.../saml/saml2/profile/impl/AddAuthnRequest.java | 34 ++++++------
.../profile/impl/AddAuthnStatementToAssertion.java | 47 +++++++----------
.../profile/impl/FilterByQueriedAttributes.java | 10 ++--
.../profile/impl/PopulateEncryptionParameters.java | 25 ++++-----
.../profile/impl/PreProcessLogoutMessage.java | 13 ++---
.../impl/ProcessAssertionsForAuthentication.java | 17 ++----
.../saml2/profile/impl/ProcessLogoutRequest.java | 58 +++++++++-----------
.../profile/impl/ProcessRequestedAuthnContext.java | 35 ++++++-------
.../saml2/profile/impl/SAMLAuthnController.java | 32 +++++-------
.../saml/saml2/profile/impl/SOAPLogoutRequest.java | 37 ++++++-------
.../profile/impl/ValidateSAMLAuthentication.java | 61 ++++++++++------------
.../idp/saml/session/impl/AddLogoutRequest.java | 28 ++++------
.../session/impl/PrepareInboundMessageContext.java | 17 +++---
.../session/impl/SAML2SPSessionSerializer.java | 4 +-
.../idp/saml/impl/testing/TestSources.java | 5 +-
.../impl/AddAttributeStatementToAssertionTest.java | 32 ++++++------
51 files changed, 488 insertions(+), 703 deletions(-)
diff --git a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/AbstractCollectionConfigurationLookupStrategy.java b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/AbstractCollectionConfigurationLookupStrategy.java
index d0b87a2eb..3a68ed4aa 100644
--- a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/AbstractCollectionConfigurationLookupStrategy.java
+++ b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/AbstractCollectionConfigurationLookupStrategy.java
@@ -37,7 +37,6 @@ 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.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
/**
@@ -73,8 +72,7 @@ public abstract class AbstractCollectionConfigurationLookupStrategy<T1,T2>
* @param type object type
*/
public void setPropertyType(@Nonnull final Class<T1> type) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
propertyType = Constraint.isNotNull(type, "Property type cannot be null");
}
diff --git a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/AbstractMetadataDrivenConfigurationLookupStrategy.java b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/AbstractMetadataDrivenConfigurationLookupStrategy.java
index 39775461e..81cf99bbc 100644
--- a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/AbstractMetadataDrivenConfigurationLookupStrategy.java
+++ b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/AbstractMetadataDrivenConfigurationLookupStrategy.java
@@ -54,7 +54,6 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.collection.LockableClassToInstanceMultiMap;
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.logic.FunctionSupport;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
@@ -129,8 +128,7 @@ public abstract class AbstractMetadataDrivenConfigurationLookupStrategy<T> exten
* @param flag flag to set
*/
public void setStrictNameFormat(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
strictNameFormat = flag;
}
@@ -142,8 +140,7 @@ public abstract class AbstractMetadataDrivenConfigurationLookupStrategy<T> exten
* @param flag flag to set
*/
public void setEnableCaching(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
enableCaching = flag;
}
@@ -156,8 +153,7 @@ public abstract class AbstractMetadataDrivenConfigurationLookupStrategy<T> exten
* @param flag flag to set
*/
public void setIgnoreUnmappedEntityAttributes(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
ignoreUnmappedEntityAttributes = flag;
}
@@ -167,8 +163,7 @@ public abstract class AbstractMetadataDrivenConfigurationLookupStrategy<T> exten
* @param name base property name
*/
public void setPropertyName(@Nonnull @NotEmpty final String name) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
propertyName = Constraint.isNotNull(StringSupport.trimOrNull(name), "Property name cannot be null or empty");
}
@@ -181,7 +176,7 @@ public abstract class AbstractMetadataDrivenConfigurationLookupStrategy<T> exten
* @param aliases alternative profile IDs
*/
public void setProfileAliases(@Nonnull @NonnullElements final Collection<String> aliases) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+ throwSetterPreconditionExceptions();
Constraint.isNotNull(aliases, "Alias collection cannot be null");
propertyAliases = List.copyOf(StringSupport.normalizeStringCollection(aliases));
@@ -193,8 +188,7 @@ public abstract class AbstractMetadataDrivenConfigurationLookupStrategy<T> exten
* @param value default value to return
*/
public void setDefaultValue(@Nullable final T value) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
defaultValueStrategy = FunctionSupport.constant(value);
}
@@ -206,8 +200,7 @@ public abstract class AbstractMetadataDrivenConfigurationLookupStrategy<T> exten
* @since 4.0.0
*/
public void setDefaultValueStrategy(@Nonnull final Function<BaseContext,T> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
defaultValueStrategy = Constraint.isNotNull(strategy, "Default value strategy cannot be null");
}
@@ -217,8 +210,7 @@ public abstract class AbstractMetadataDrivenConfigurationLookupStrategy<T> exten
* @param strategy lookup strategy
*/
public void setMetadataLookupStrategy(@Nonnull final Function<BaseContext,EntityDescriptor> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
metadataLookupStrategy = Constraint.isNotNull(strategy, "Metadata lookup strategy cannot be null");
}
@@ -228,8 +220,7 @@ public abstract class AbstractMetadataDrivenConfigurationLookupStrategy<T> exten
* @param strategy lookup strategy
*/
public void setProfileIdLookupStrategy(@Nonnull final Function<BaseContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
profileIdLookupStrategy = Constraint.isNotNull(strategy, "Profile ID lookup strategy cannot be null");
}
@@ -254,7 +245,7 @@ public abstract class AbstractMetadataDrivenConfigurationLookupStrategy<T> exten
// Checkstyle: CyclomaticComplexity|MethodLength OFF
/** {@inheritDoc} */
@Nullable public T apply(@Nullable final BaseContext input) {
- ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
+ throwComponentStateExceptions();
CachedConfigurationContext cacheContext = null;
diff --git a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/BeanConfigurationLookupStrategy.java b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/BeanConfigurationLookupStrategy.java
index 3e71e8ad2..9730e54fd 100644
--- a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/BeanConfigurationLookupStrategy.java
+++ b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/BeanConfigurationLookupStrategy.java
@@ -37,7 +37,6 @@ import net.shibboleth.idp.attribute.IdPAttributeValue;
import net.shibboleth.idp.attribute.StringAttributeValue;
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;
/**
@@ -73,15 +72,13 @@ public class BeanConfigurationLookupStrategy<T> extends AbstractMetadataDrivenCo
* @param type bean type
*/
public void setPropertyType(@Nonnull final Class<T> type) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
propertyType = Constraint.isNotNull(type, "Property type cannot be null");
}
/** {@inheritDoc} */
public void setApplicationContext(final ApplicationContext context) throws BeansException {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
applicationContext = context;
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/audit/impl/WriteFTICKSLog.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/audit/impl/WriteFTICKSLog.java
index c19bb1983..c207a1da5 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/audit/impl/WriteFTICKSLog.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/audit/impl/WriteFTICKSLog.java
@@ -23,6 +23,13 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.opensaml.messaging.context.navigate.ChildContextLookup;
+import org.opensaml.messaging.context.navigate.MessageLookup;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.opensaml.profile.context.navigate.OutboundMessageContextLookup;
+import org.opensaml.saml.common.SAMLObject;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.authn.context.SubjectContext;
import net.shibboleth.idp.authn.context.navigate.SubjectContextPrincipalLookupFunction;
import net.shibboleth.idp.profile.AbstractProfileAction;
@@ -33,17 +40,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.codec.StringDigester;
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.messaging.context.navigate.MessageLookup;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.profile.context.navigate.OutboundMessageContextLookup;
-import org.opensaml.saml.common.SAMLObject;
-import org.slf4j.LoggerFactory;
-
/**
* Action that produces F-TICKS log entries for successful SAML SSO responses.
*
@@ -134,8 +133,7 @@ public class WriteFTICKSLog extends AbstractProfileAction {
* @param strategy lookup strategy
*/
public void setRelyingPartyLookupStrategy(@Nonnull final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
relyingPartyLookupStrategy = Constraint.isNotNull(strategy, "Relying Party ID lookup strategy cannot be null");
}
@@ -145,8 +143,7 @@ public class WriteFTICKSLog extends AbstractProfileAction {
* @param strategy lookup strategy
*/
public void setResponderLookupStrategy(@Nonnull final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
responderLookupStrategy = Constraint.isNotNull(strategy, "Responder ID lookup strategy cannot be null");
}
@@ -156,8 +153,7 @@ public class WriteFTICKSLog extends AbstractProfileAction {
* @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");
}
@@ -167,8 +163,7 @@ public class WriteFTICKSLog extends AbstractProfileAction {
* @param strategy lookup strategy
*/
public void setAuthenticationMethodLookupStrategy(@Nonnull final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
authenticationMethodLookupStrategy = Constraint.isNotNull(strategy,
"Authentication method lookup strategy cannot be null");
}
@@ -179,8 +174,7 @@ public class WriteFTICKSLog extends AbstractProfileAction {
* @param strategy lookup strategy
*/
public void setStatusCodeLookupStrategy(@Nonnull final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
statusCodeLookupStrategy = Constraint.isNotNull(strategy, "StatusCode lookup strategy cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/messaging/impl/InitializeRelyingPartyContextFromSAMLPeer.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/messaging/impl/InitializeRelyingPartyContextFromSAMLPeer.java
index 3c45efa8c..08977a5fc 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/messaging/impl/InitializeRelyingPartyContextFromSAMLPeer.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/messaging/impl/InitializeRelyingPartyContextFromSAMLPeer.java
@@ -35,7 +35,6 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.saml.profile.impl.SAMLRelyingPartyIdLookupStrategy;
import net.shibboleth.idp.saml.profile.impl.SAMLVerificationLookupStrategy;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
/**
@@ -84,8 +83,7 @@ public class InitializeRelyingPartyContextFromSAMLPeer extends AbstractMessageHa
*/
public void setRelyingPartyContextCreationStrategy(
@Nonnull final Function<MessageContext,RelyingPartyContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
relyingPartyContextCreationStrategy =
Constraint.isNotNull(strategy, "RelyingPartyContext creation strategy cannot be null");
}
@@ -97,8 +95,7 @@ public class InitializeRelyingPartyContextFromSAMLPeer extends AbstractMessageHa
*/
public void setPeerEntityContextLookupStrategy(
@Nonnull final Function<MessageContext,SAMLPeerEntityContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
peerEntityContextLookupStrategy =
Constraint.isNotNull(strategy, "SAMLPeerEntityContext lookup strategy cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML1NameIdentifierGenerator.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML1NameIdentifierGenerator.java
index 658597403..12af401fc 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML1NameIdentifierGenerator.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML1NameIdentifierGenerator.java
@@ -25,6 +25,16 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.opensaml.core.xml.XMLObject;
+import org.opensaml.messaging.context.navigate.ChildContextLookup;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.opensaml.saml.common.SAMLException;
+import org.opensaml.saml.saml1.core.NameIdentifier;
+import org.opensaml.saml.saml1.profile.AbstractSAML1NameIdentifierGenerator;
+import org.opensaml.saml.saml1.profile.SAML1ObjectSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.attribute.EmptyAttributeValue;
import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.IdPAttributeValue;
@@ -38,20 +48,9 @@ import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
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.opensaml.core.xml.XMLObject;
-import org.opensaml.messaging.context.navigate.ChildContextLookup;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.saml.common.SAMLException;
-import org.opensaml.saml.saml1.core.NameIdentifier;
-import org.opensaml.saml.saml1.profile.AbstractSAML1NameIdentifierGenerator;
-import org.opensaml.saml.saml1.profile.SAML1ObjectSupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* Generator for {@link NameIdentifier} objects based on {@link IdPAttribute} data.
*/
@@ -92,8 +91,7 @@ public class AttributeSourcedSAML1NameIdentifierGenerator extends AbstractSAML1N
*/
public void setAttributeContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext, AttributeContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
attributeContextLookupStrategy = Constraint.isNotNull(strategy,
"AttributeContext lookup strategy cannot be null");
}
@@ -104,8 +102,7 @@ public class AttributeSourcedSAML1NameIdentifierGenerator extends AbstractSAML1N
* @param ch scope to set
*/
public void setScopedDelimiter(final char ch) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
delimiter = ch;
}
@@ -115,8 +112,7 @@ public class AttributeSourcedSAML1NameIdentifierGenerator extends AbstractSAML1N
* @param ids attribute IDs to pull from
*/
public void setAttributeSourceIds(@Nonnull @NonnullElements final List<String> ids) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
attributeSourceIds = List.copyOf(Constraint.isNotNull(ids, "Attribute ID collection cannot be null"));
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML2NameIDGenerator.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML2NameIDGenerator.java
index fa67d237e..f87094035 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML2NameIDGenerator.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML2NameIDGenerator.java
@@ -25,6 +25,15 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.opensaml.messaging.context.navigate.ChildContextLookup;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.opensaml.saml.common.SAMLException;
+import org.opensaml.saml.saml2.core.NameID;
+import org.opensaml.saml.saml2.profile.AbstractSAML2NameIDGenerator;
+import org.opensaml.saml.saml2.profile.SAML2ObjectSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.attribute.EmptyAttributeValue;
import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.IdPAttributeValue;
@@ -38,19 +47,9 @@ import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
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.opensaml.messaging.context.navigate.ChildContextLookup;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.saml.common.SAMLException;
-import org.opensaml.saml.saml2.core.NameID;
-import org.opensaml.saml.saml2.profile.AbstractSAML2NameIDGenerator;
-import org.opensaml.saml.saml2.profile.SAML2ObjectSupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* Generator for {@link NameID} objects based on {@link IdPAttribute} data.
*/
@@ -91,8 +90,7 @@ public class AttributeSourcedSAML2NameIDGenerator extends AbstractSAML2NameIDGen
*/
public void setAttributeContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext, AttributeContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
attributeContextLookupStrategy = Constraint.isNotNull(strategy,
"AttributeContext lookup strategy cannot be null");
}
@@ -103,8 +101,7 @@ public class AttributeSourcedSAML2NameIDGenerator extends AbstractSAML2NameIDGen
* @param ch scope to set
*/
public void setScopedDelimiter(final char ch) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
delimiter = ch;
}
@@ -114,8 +111,7 @@ public class AttributeSourcedSAML2NameIDGenerator extends AbstractSAML2NameIDGen
* @param ids attribute IDs to pull from
*/
public void setAttributeSourceIds(@Nonnull @NonnullElements final List<String> ids) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
attributeSourceIds = List.copyOf(Constraint.isNotNull(ids, "Attribute ID collection cannot be null"));
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/BaseCryptoTransientDecoder.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/BaseCryptoTransientDecoder.java
index 87a91c6c2..a6c242651 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/BaseCryptoTransientDecoder.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/BaseCryptoTransientDecoder.java
@@ -30,7 +30,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.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.security.DataExpiredException;
import net.shibboleth.utilities.java.support.security.DataSealer;
@@ -66,8 +65,7 @@ public abstract class BaseCryptoTransientDecoder extends AbstractIdentifiableIni
* @param sealer the Data Sealer to use.
*/
public void setDataSealer(@Nonnull final DataSealer sealer) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
dataSealer = Constraint.isNotNull(sealer, "DataSealer cannot be null");
}
@@ -82,8 +80,7 @@ public abstract class BaseCryptoTransientDecoder extends AbstractIdentifiableIni
*/
@Nullable @NotEmpty protected String decode(@Nonnull final String transientId,
@Nonnull @NotEmpty final String requesterId) throws NameDecoderException {
- ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
-
+ throwComponentStateExceptions();
if (null == transientId) {
throw new NameDecoderException(getLogPrefix() + " Transient identifier was null");
} else if (Strings.isNullOrEmpty(requesterId)) {
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/BaseTransformingDecoder.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/BaseTransformingDecoder.java
index d81ec5214..b18a6cf5c 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/BaseTransformingDecoder.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/BaseTransformingDecoder.java
@@ -27,17 +27,16 @@ import java.util.regex.Pattern;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.collection.Pair;
import net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent;
-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.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/** Regular expression, etc. transform of an identifier. */
public abstract class BaseTransformingDecoder extends AbstractIdentifiableInitializableComponent {
@@ -66,8 +65,7 @@ public abstract class BaseTransformingDecoder extends AbstractIdentifiableInitia
* @since 4.1.0
*/
public void setUppercase(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
uppercase = flag;
}
@@ -79,8 +77,7 @@ public abstract class BaseTransformingDecoder extends AbstractIdentifiableInitia
* @since 4.1.0
*/
public void setLowercase(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
lowercase = flag;
}
@@ -90,7 +87,7 @@ public abstract class BaseTransformingDecoder extends AbstractIdentifiableInitia
* @param newTransforms collection of replacement transforms
*/
public void setTransforms(@Nonnull @NonnullElements final Collection<Pair<String,String>> newTransforms) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+ throwSetterPreconditionExceptions();
Constraint.isNotNull(newTransforms, "Transforms collection cannot be null");
transforms = new ArrayList<>();
@@ -108,8 +105,7 @@ public abstract class BaseTransformingDecoder extends AbstractIdentifiableInitia
* @return transformed value
*/
@Nullable protected String decode(@Nonnull @NotEmpty final String id) {
- ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
-
+ throwComponentStateExceptions();
String s = id;
if (lowercase) {
@@ -133,5 +129,4 @@ public abstract class BaseTransformingDecoder extends AbstractIdentifiableInitia
return s;
}
-
-}
\ No newline at end of file
+}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/BaseTransientDecoder.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/BaseTransientDecoder.java
index deae3b2cb..5dbb6f8d4 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/BaseTransientDecoder.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/BaseTransientDecoder.java
@@ -22,14 +22,6 @@ import java.io.IOException;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.saml.nameid.NameDecoderException;
-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.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 org.opensaml.storage.StorageRecord;
import org.opensaml.storage.StorageService;
import org.slf4j.Logger;
@@ -37,6 +29,13 @@ import org.slf4j.LoggerFactory;
import com.google.common.base.Strings;
+import net.shibboleth.idp.saml.nameid.NameDecoderException;
+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.AbstractIdentifiableInitializableComponent;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
/**
* An abstract action which contains the logic to do transient decoding matching (shared between SAML2 and SAML1).
*/
@@ -66,7 +65,7 @@ public abstract class BaseTransientDecoder extends AbstractIdentifiableInitializ
* @param store the store to use.
*/
public void setIdStore(@Nonnull final StorageService store) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+ throwSetterPreconditionExceptions();
idStore = Constraint.isNotNull(store, "StorageService cannot be null");
}
@@ -81,8 +80,7 @@ public abstract class BaseTransientDecoder extends AbstractIdentifiableInitializ
*/
@Nullable public String decode(@Nonnull final String transientId, @Nonnull @NotEmpty final String requesterId)
throws NameDecoderException {
- ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
-
+ throwComponentStateExceptions();
if (null == transientId) {
throw new NameDecoderException(getLogPrefix() + " Transient identifier was null");
} else if (Strings.isNullOrEmpty(requesterId)) {
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientIdGenerationStrategy.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientIdGenerationStrategy.java
index 8194a200c..383c19646 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientIdGenerationStrategy.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientIdGenerationStrategy.java
@@ -22,19 +22,18 @@ import java.time.Instant;
import javax.annotation.Nonnull;
+import org.opensaml.saml.common.SAMLException;
+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.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.security.DataSealer;
import net.shibboleth.utilities.java.support.security.DataSealerException;
-import org.opensaml.saml.common.SAMLException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* Generates transients using a {@link DataSealer} to encrypt the result into a recoverable value,
* for use with stateless clustering.
@@ -62,8 +61,7 @@ public class CryptoTransientIdGenerationStrategy extends AbstractIdentifiableIni
* @param sealer object used to protect and encrypt the data
*/
public void setDataSealer(@Nonnull final DataSealer sealer) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
dataSealer = Constraint.isNotNull(sealer, "DataSealer cannot be null");
}
@@ -82,8 +80,7 @@ public class CryptoTransientIdGenerationStrategy extends AbstractIdentifiableIni
* @param lifetime time ids are valid
*/
public void setIdLifetime(@Nonnull final Duration lifetime) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
Constraint.isNotNull(lifetime, "Lifetime cannot be null");
Constraint.isFalse(lifetime.isNegative() || lifetime.isZero(), "Lifetime must be positive");
@@ -103,8 +100,7 @@ public class CryptoTransientIdGenerationStrategy extends AbstractIdentifiableIni
@Override
@Nonnull @NotEmpty public String generate(@Nonnull @NotEmpty final String relyingPartyId,
@Nonnull @NotEmpty final String principalName) throws SAMLException {
- ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
-
+ throwComponentStateExceptions();
final StringBuilder principalTokenIdBuilder = new StringBuilder();
principalTokenIdBuilder.append(relyingPartyId).append("!").append(principalName);
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/NameIDCanonicalization.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/NameIDCanonicalization.java
index 2628fd087..2dfd8279c 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/NameIDCanonicalization.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/NameIDCanonicalization.java
@@ -23,6 +23,13 @@ import java.util.function.Predicate;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.opensaml.profile.action.ActionSupport;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.opensaml.saml.saml2.core.NameID;
+import org.opensaml.saml.saml2.profile.SAML2ObjectSupport;
+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;
@@ -34,16 +41,8 @@ import net.shibboleth.idp.saml.nameid.NameIDCanonicalizationFlowDescriptor;
import net.shibboleth.idp.saml.nameid.NameIDDecoder;
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.profile.action.ActionSupport;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.saml.saml2.core.NameID;
-import org.opensaml.saml.saml2.profile.SAML2ObjectSupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* Action to perform subject canonicalization, transforming the input {@link javax.security.auth.Subject}
* into a principal name by searching for one and only one {@link NameIDPrincipal} custom principal,
@@ -89,7 +88,7 @@ public class NameIDCanonicalization extends AbstractSubjectCanonicalizationActio
* @param theDecoder the decoder
*/
@NonnullAfterInit public void setDecoder(@Nonnull final NameIDDecoder theDecoder) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+ throwSetterPreconditionExceptions();
decoder = Constraint.isNotNull(theDecoder, "Name ID decoder cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/NameIdentifierCanonicalization.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/NameIdentifierCanonicalization.java
index 59eb2f80f..b34f4f65e 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/NameIdentifierCanonicalization.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/NameIdentifierCanonicalization.java
@@ -23,6 +23,13 @@ import java.util.function.Predicate;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.opensaml.profile.action.ActionSupport;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.opensaml.saml.saml1.core.NameIdentifier;
+import org.opensaml.saml.saml1.profile.SAML1ObjectSupport;
+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;
@@ -35,16 +42,8 @@ import net.shibboleth.idp.saml.nameid.NameIdentifierDecoder;
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 org.opensaml.profile.action.ActionSupport;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.saml.saml1.core.NameIdentifier;
-import org.opensaml.saml.saml1.profile.SAML1ObjectSupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* Action to perform subject canonicalization, transforming the input {@link javax.security.auth.Subject}
* into a principal name by searching for one and only one {@link NameIdentifierPrincipal} custom principal,
@@ -87,8 +86,7 @@ public class NameIdentifierCanonicalization extends AbstractSubjectCanonicalizat
* @param theDecoder the decoder
*/
public void setDecoder(@Nonnull final NameIdentifierDecoder theDecoder) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
decoder = Constraint.isNotNull(theDecoder, "NameIdentifierDecoder cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/PersistentSAML2NameIDGenerator.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/PersistentSAML2NameIDGenerator.java
index 3250f2ef8..51423215f 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/PersistentSAML2NameIDGenerator.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/PersistentSAML2NameIDGenerator.java
@@ -27,6 +27,14 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.sql.DataSource;
+import org.opensaml.messaging.context.navigate.ChildContextLookup;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.opensaml.saml.common.SAMLException;
+import org.opensaml.saml.saml2.core.NameID;
+import org.opensaml.saml.saml2.profile.AbstractSAML2NameIDGenerator;
+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.PairwiseId;
@@ -43,18 +51,9 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterI
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.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.opensaml.messaging.context.navigate.ChildContextLookup;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.saml.common.SAMLException;
-import org.opensaml.saml.saml2.core.NameID;
-import org.opensaml.saml.saml2.profile.AbstractSAML2NameIDGenerator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* Generator for "persistent" Format {@link NameID} objects that provides a source/seed ID based on {@link IdPAttribute}
* data.
@@ -103,8 +102,7 @@ public class PersistentSAML2NameIDGenerator extends AbstractSAML2NameIDGenerator
*/
public void setSubjectContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,SubjectContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
subjectContextLookupStrategy = Constraint.isNotNull(strategy, "SubjectContext lookup strategy cannot be null");
}
@@ -115,8 +113,7 @@ public class PersistentSAML2NameIDGenerator extends AbstractSAML2NameIDGenerator
*/
public void setAttributeContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,AttributeContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
attributeContextLookupStrategy =
Constraint.isNotNull(strategy, "AttributeContext lookup strategy cannot be null");
}
@@ -127,8 +124,7 @@ public class PersistentSAML2NameIDGenerator extends AbstractSAML2NameIDGenerator
* @param ids attribute IDs to pull from
*/
public void setAttributeSourceIds(@Nonnull @NonnullElements final List<String> ids) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
attributeSourceIds = List.copyOf(Constraint.isNotNull(ids, "Attribute ID collection cannot be null"));
}
@@ -138,8 +134,7 @@ public class PersistentSAML2NameIDGenerator extends AbstractSAML2NameIDGenerator
* @param store the id store
*/
public void setPersistentIdStore(@Nullable final PairwiseIdStore store) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
pidStore = store;
}
@@ -150,8 +145,7 @@ public class PersistentSAML2NameIDGenerator extends AbstractSAML2NameIDGenerator
* @param source data source
*/
public void setDataSource(@Nullable final DataSource source) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
dataSource = source;
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/StoredPersistentIdDecoder.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/StoredPersistentIdDecoder.java
index 41d6c7055..74f2fa59b 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/StoredPersistentIdDecoder.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/StoredPersistentIdDecoder.java
@@ -37,7 +37,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.AbstractIdentifiableInitializableComponent;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
/**
* An abstract decoder which contains the logic to decode SAML persistent IDs that are managed with a
@@ -60,8 +59,7 @@ public class StoredPersistentIdDecoder extends AbstractIdentifiableInitializable
* @param store the id store
*/
public void setPersistentIdStore(@Nullable final DurablePairwiseIdStore store) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
pidStore = store;
}
@@ -72,8 +70,7 @@ public class StoredPersistentIdDecoder extends AbstractIdentifiableInitializable
* @param source data source
*/
public void setDataSource(@Nullable final DataSource source) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
dataSource = source;
}
@@ -101,7 +98,7 @@ public class StoredPersistentIdDecoder extends AbstractIdentifiableInitializable
/** {@inheritDoc} */
@Nonnull @NotEmpty public String decode(@Nonnull final SubjectCanonicalizationContext c14nContext,
@Nonnull final NameID nameID) throws NameDecoderException {
- ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
+ throwComponentStateExceptions();
if (nameID.getValue() == null) {
throw new NameDecoderException("Persistent NameID was empty");
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientIdGenerationStrategy.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientIdGenerationStrategy.java
index 16cefa2af..1465ab22d 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientIdGenerationStrategy.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientIdGenerationStrategy.java
@@ -23,21 +23,20 @@ import java.time.Instant;
import javax.annotation.Nonnull;
+import org.opensaml.saml.common.SAMLException;
+import org.opensaml.storage.StorageService;
+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.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.security.IdentifierGenerationStrategy;
import net.shibboleth.utilities.java.support.security.impl.RandomIdentifierGenerationStrategy;
-import org.opensaml.saml.common.SAMLException;
-import org.opensaml.storage.StorageService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* Generates transients using a {@link StorageService} to manage the reverse mappings.
*
@@ -74,8 +73,7 @@ public class StoredTransientIdGenerationStrategy extends AbstractIdentifiableIni
* @param store the store to use.
*/
public void setIdStore(@Nonnull final StorageService store) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
idStore = Constraint.isNotNull(store, "StorageService cannot be null");
}
@@ -85,8 +83,7 @@ public class StoredTransientIdGenerationStrategy extends AbstractIdentifiableIni
* @param generator identifier generation strategy to use
*/
public void setIdGenerator(@Nonnull final IdentifierGenerationStrategy generator) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
idGenerator = Constraint.isNotNull(generator, "IdentifierGenerationStrategy cannot be null");
}
@@ -105,8 +102,7 @@ public class StoredTransientIdGenerationStrategy extends AbstractIdentifiableIni
* @param size size, in bytes, of the id
*/
public void setIdSize(@Positive final int size) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
idSize = (int) Constraint.isGreaterThan(0, size, "ID size must be positive");
}
@@ -125,8 +121,7 @@ public class StoredTransientIdGenerationStrategy extends AbstractIdentifiableIni
* @param lifetime time ids are valid
*/
public void setIdLifetime(@Nonnull final Duration lifetime) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
Constraint.isNotNull(lifetime, "ID lifetime cannot be null");
Constraint.isFalse(lifetime.isNegative() || lifetime.isZero(), "ID lifetime must be greater than 0");
@@ -149,8 +144,7 @@ public class StoredTransientIdGenerationStrategy extends AbstractIdentifiableIni
/** {@inheritDoc} */
@Nonnull @NotEmpty public String generate(@Nonnull @NotEmpty final String relyingPartyId,
@Nonnull @NotEmpty final String principalName) throws SAMLException {
- ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
-
+ throwComponentStateExceptions();
try {
final String principalTokenId = new TransientIdParameters(relyingPartyId, principalName).encode();
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientSAML1NameIdentifierGenerator.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientSAML1NameIdentifierGenerator.java
index be03773b0..3df4d42ef 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientSAML1NameIdentifierGenerator.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientSAML1NameIdentifierGenerator.java
@@ -22,6 +22,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.context.ProfileRequestContext;
+import org.opensaml.saml.common.SAMLException;
+import org.opensaml.saml.saml1.profile.AbstractSAML1NameIdentifierGenerator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.authn.context.SubjectContext;
import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
@@ -29,16 +36,8 @@ import net.shibboleth.idp.saml.xml.SAMLConstants;
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.opensaml.messaging.context.navigate.ChildContextLookup;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.saml.common.SAMLException;
-import org.opensaml.saml.saml1.profile.AbstractSAML1NameIdentifierGenerator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* Generator for transient {@link org.opensaml.saml.saml1.core.NameIdentifier} objects.
*/
@@ -69,8 +68,7 @@ public class TransientSAML1NameIdentifierGenerator extends AbstractSAML1NameIden
*/
public void setSubjectContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,SubjectContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
subjectContextLookupStrategy = Constraint.isNotNull(strategy, "SubjectContext lookup strategy cannot be null");
}
@@ -80,8 +78,7 @@ public class TransientSAML1NameIdentifierGenerator extends AbstractSAML1NameIden
* @param generator transient ID generator
*/
public void setTransientIdGenerator(@Nonnull final TransientIdGenerationStrategy generator) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
transientIdGenerator = Constraint.isNotNull(generator, "TransientIdGenerationStrategy cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientSAML2NameIDGenerator.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientSAML2NameIDGenerator.java
index f4d7cfcb2..87d70c3e9 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientSAML2NameIDGenerator.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientSAML2NameIDGenerator.java
@@ -22,15 +22,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.authn.context.SubjectContext;
-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.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.opensaml.messaging.context.navigate.ChildContextLookup;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.saml.common.SAMLException;
@@ -39,6 +30,14 @@ import org.opensaml.saml.saml2.profile.AbstractSAML2NameIDGenerator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.authn.context.SubjectContext;
+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.annotation.constraint.ThreadSafeAfterInit;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
/**
* Generator for transient {@link NameID} objects.
*/
@@ -69,8 +68,7 @@ public class TransientSAML2NameIDGenerator extends AbstractSAML2NameIDGenerator
*/
public void setSubjectContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,SubjectContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
subjectContextLookupStrategy = Constraint.isNotNull(strategy, "SubjectContext lookup strategy cannot be null");
}
@@ -80,8 +78,7 @@ public class TransientSAML2NameIDGenerator extends AbstractSAML2NameIDGenerator
* @param generator transient ID generator
*/
public void setTransientIdGenerator(@Nonnull final TransientIdGenerationStrategy generator) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
transientIdGenerator = Constraint.isNotNull(generator, "TransientIdGenerationStrategy cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseAddAttributeStatementToAssertion.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseAddAttributeStatementToAssertion.java
index bcadefba2..f33712787 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseAddAttributeStatementToAssertion.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseAddAttributeStatementToAssertion.java
@@ -23,6 +23,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.ProfileRequestContext;
+import org.opensaml.saml.common.SAMLObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import net.shibboleth.idp.attribute.AttributeEncodingException;
import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.context.AttributeContext;
@@ -34,26 +42,15 @@ import net.shibboleth.idp.profile.AbstractProfileAction;
import net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
-
-import org.opensaml.profile.action.ActionSupport;
-import org.opensaml.profile.action.EventIds;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.saml.common.SAMLObject;
-
import net.shibboleth.utilities.java.support.annotation.constraint.Live;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
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.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.security.IdentifierGenerationStrategy;
import net.shibboleth.utilities.java.support.service.ReloadableService;
-import org.opensaml.messaging.context.navigate.ChildContextLookup;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* Base class for actions that encode an {@link AttributeContext} into a SAML attribute statement.
@@ -135,8 +132,7 @@ public abstract class BaseAddAttributeStatementToAssertion<T extends SAMLObject>
* one if it exists
*/
public void setStatementInOwnAssertion(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
statementInOwnAssertion = flag;
}
@@ -161,8 +157,7 @@ public abstract class BaseAddAttributeStatementToAssertion<T extends SAMLObject>
* @param flag flag to set
*/
public void setIgnoringUnencodableAttributes(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
ignoringUnencodableAttributes = flag;
}
@@ -175,8 +170,7 @@ public abstract class BaseAddAttributeStatementToAssertion<T extends SAMLObject>
*/
public void setAttributeContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext, AttributeContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
attributeContextLookupStrategy =
Constraint.isNotNull(strategy, "AttributeContext lookup strategy cannot be null");
}
@@ -188,8 +182,7 @@ public abstract class BaseAddAttributeStatementToAssertion<T extends SAMLObject>
*/
public void setIdentifierGeneratorLookupStrategy(
@Nonnull final Function<ProfileRequestContext,IdentifierGenerationStrategy> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
idGeneratorLookupStrategy =
Constraint.isNotNull(strategy, "IdentifierGenerationStrategy lookup strategy cannot be null");
}
@@ -200,8 +193,7 @@ public abstract class BaseAddAttributeStatementToAssertion<T extends SAMLObject>
* @param strategy lookup strategy
*/
public void setIssuerLookupStrategy(@Nonnull final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
issuerLookupStrategy = Constraint.isNotNull(strategy, "Issuer lookup strategy cannot be null");
}
@@ -220,8 +212,7 @@ public abstract class BaseAddAttributeStatementToAssertion<T extends SAMLObject>
* @param registry registry service interface
*/
public void setTranscoderRegistry(@Nonnull final ReloadableService<AttributeTranscoderRegistry> registry) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
transcoderRegistry = Constraint.isNotNull(registry, "AttributeTranscoderRegistry cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseAddAuthenticationStatementToAssertion.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseAddAuthenticationStatementToAssertion.java
index 71442815a..29f97b695 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseAddAuthenticationStatementToAssertion.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseAddAuthenticationStatementToAssertion.java
@@ -22,27 +22,24 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.authn.AbstractAuthenticationAction;
-import net.shibboleth.idp.authn.AuthenticationResult;
-import net.shibboleth.idp.authn.AuthnEventIds;
-import net.shibboleth.idp.authn.context.AuthenticationContext;
-
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;
+import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction;
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 net.shibboleth.utilities.java.support.net.HttpServletSupport;
import net.shibboleth.utilities.java.support.security.IdentifierGenerationStrategy;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* Base class for actions that encode authentication information into a SAML 1 or SAML 2 statement.
*
@@ -105,8 +102,7 @@ public abstract class BaseAddAuthenticationStatementToAssertion extends Abstract
* added to one if it exists
*/
public void setStatementInOwnAssertion(final boolean inOwnAssertion) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
statementInOwnAssertion = inOwnAssertion;
}
@@ -117,8 +113,7 @@ public abstract class BaseAddAuthenticationStatementToAssertion extends Abstract
*/
public void setIdentifierGeneratorLookupStrategy(
@Nonnull final Function<ProfileRequestContext,IdentifierGenerationStrategy> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
idGeneratorLookupStrategy =
Constraint.isNotNull(strategy, "IdentifierGenerationStrategy lookup strategy cannot be null");
}
@@ -129,8 +124,7 @@ public abstract class BaseAddAuthenticationStatementToAssertion extends Abstract
* @param strategy lookup strategy
*/
public void setIssuerLookupStrategy(@Nonnull final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
issuerLookupStrategy = Constraint.isNotNull(strategy, "Issuer lookup strategy cannot be null");
}
@@ -153,8 +147,7 @@ public abstract class BaseAddAuthenticationStatementToAssertion extends Abstract
* @since 4.0.0
*/
public void setAddressLookupStrategy(@Nullable final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
addressLookupStrategy = strategy;
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java
index f2ca8fcfd..ed5235cfe 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java
@@ -25,17 +25,6 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.security.auth.Subject;
-import net.shibboleth.idp.authn.AuthnEventIds;
-import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
-import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
-import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
-import net.shibboleth.idp.saml.authn.principal.NameIDPrincipal;
-import net.shibboleth.idp.saml.authn.principal.NameIdentifierPrincipal;
-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 org.opensaml.messaging.context.MessageContext;
import org.opensaml.profile.action.ActionSupport;
import org.opensaml.profile.context.ProfileRequestContext;
@@ -46,6 +35,16 @@ import org.opensaml.saml.saml2.core.NameID;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.authn.AuthnEventIds;
+import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
+import net.shibboleth.idp.profile.AbstractProfileAction;
+import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
+import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
+import net.shibboleth.idp.saml.authn.principal.NameIDPrincipal;
+import net.shibboleth.idp.saml.authn.principal.NameIdentifierPrincipal;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+
/**
* Action that extracts a SAML Subject from an inbound message, and prepares a
* {@link SubjectCanonicalizationContext} to process it into a principal identity.
@@ -101,8 +100,7 @@ public class ExtractSubjectFromRequest extends AbstractProfileAction {
* @param strategy lookup strategy
*/
public void setRequesterLookupStrategy(@Nullable final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
requesterLookupStrategy = strategy;
}
@@ -112,8 +110,7 @@ public class ExtractSubjectFromRequest extends AbstractProfileAction {
* @param strategy lookup strategy
*/
public void setResponderLookupStrategy(@Nullable final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
responderLookupStrategy = strategy;
}
@@ -123,8 +120,7 @@ public class ExtractSubjectFromRequest extends AbstractProfileAction {
* @param predicate predicate to use
*/
public void setNameIDPolicyPredicate(@Nullable final Predicate<ProfileRequestContext> predicate) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
nameIDPolicyPredicate = predicate;
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeAuthenticationContext.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeAuthenticationContext.java
index ced457fbe..13d4d9f63 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeAuthenticationContext.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeAuthenticationContext.java
@@ -25,17 +25,6 @@ import java.util.stream.Collectors;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.authn.config.navigate.ForceAuthnProfileConfigPredicate;
-import net.shibboleth.idp.authn.context.AuthenticationContext;
-import net.shibboleth.idp.authn.context.SubjectContext;
-import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
-import net.shibboleth.idp.saml.saml2.profile.config.logic.IgnoreScopingProfileConfigPredicate;
-import net.shibboleth.idp.saml.saml2.profile.config.navigate.ProxyCountLookupFunction;
-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.messaging.context.navigate.MessageLookup;
import org.opensaml.profile.action.ActionSupport;
@@ -49,6 +38,16 @@ import org.opensaml.saml.saml2.core.Scoping;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.authn.config.navigate.ForceAuthnProfileConfigPredicate;
+import net.shibboleth.idp.authn.context.AuthenticationContext;
+import net.shibboleth.idp.authn.context.SubjectContext;
+import net.shibboleth.idp.profile.AbstractProfileAction;
+import net.shibboleth.idp.profile.context.RelyingPartyContext;
+import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
+import net.shibboleth.idp.saml.saml2.profile.config.logic.IgnoreScopingProfileConfigPredicate;
+import net.shibboleth.idp.saml.saml2.profile.config.navigate.ProxyCountLookupFunction;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
/**
* An action that creates an {@link AuthenticationContext} and attaches it to the current {@link ProfileRequestContext}.
*
@@ -102,8 +101,7 @@ public class InitializeAuthenticationContext extends AbstractProfileAction {
*/
public void setRelyingPartyContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,RelyingPartyContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
relyingPartyContextLookupStrategy =
Constraint.isNotNull(strategy, "RelyingPartyContext lookup strategy cannot be null");
}
@@ -116,8 +114,7 @@ public class InitializeAuthenticationContext extends AbstractProfileAction {
* @since 3.4.0
*/
public void setForceAuthnPredicate(@Nonnull final Predicate<ProfileRequestContext> condition) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
forceAuthnPredicate = Constraint.isNotNull(condition, "Forced authentication predicate cannot be null");
}
@@ -129,8 +126,7 @@ public class InitializeAuthenticationContext extends AbstractProfileAction {
* @since 4.0.0
*/
public void setIgnoreScopingPredicate(@Nonnull final Predicate<ProfileRequestContext> condition) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
ignoreScopingPredicate = Constraint.isNotNull(condition, "Ignore Scoping predicate cannot be null");
}
@@ -142,8 +138,7 @@ public class InitializeAuthenticationContext extends AbstractProfileAction {
* @since 4.0.0
*/
public void setProxyCountLookupStrategy(@Nonnull final Function<ProfileRequestContext,Integer> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
proxyCountLookupStrategy = Constraint.isNotNull(strategy, "Proxy count lookup strategy cannot be null");
}
@@ -153,8 +148,7 @@ public class InitializeAuthenticationContext extends AbstractProfileAction {
* @param strategy strategy used to locate the {@link AuthnRequest}
*/
public void setRequestLookupStrategy(@Nonnull final Function<ProfileRequestContext,AuthnRequest> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
requestLookupStrategy = Constraint.isNotNull(strategy, "AuthnRequest lookup strategy cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeOutboundMessageContext.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeOutboundMessageContext.java
index 160eb3b93..96420c5a4 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeOutboundMessageContext.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeOutboundMessageContext.java
@@ -22,13 +22,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.idp.profile.IdPEventIds;
-import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.messaging.context.BaseContext;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
@@ -41,6 +34,12 @@ import org.opensaml.saml.common.messaging.context.SAMLSelfEntityContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.profile.AbstractProfileAction;
+import net.shibboleth.idp.profile.IdPEventIds;
+import net.shibboleth.idp.profile.context.RelyingPartyContext;
+import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
/**
* Action that adds an outbound {@link MessageContext} and related SAML contexts to the {@link ProfileRequestContext}
* based on the identity of a relying party accessed via a lookup strategy, by default an immediate child of the profile
@@ -82,8 +81,7 @@ public class InitializeOutboundMessageContext extends AbstractProfileAction {
*/
public void setRelyingPartyContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext, RelyingPartyContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
relyingPartyContextLookupStrategy =
Constraint.isNotNull(strategy, "RelyingPartyContext lookup strategy cannot be null");
}
@@ -94,8 +92,7 @@ public class InitializeOutboundMessageContext extends AbstractProfileAction {
* @param strategy lookup strategy
*/
public void setSelfIdentityLookupStrategy(@Nonnull final Function<ProfileRequestContext, String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
selfIdentityLookupStrategy = Constraint.isNotNull(strategy, "Self identity lookup strategy cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeOutboundMessageContextForError.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeOutboundMessageContextForError.java
index 9043fd017..8d41ad404 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeOutboundMessageContextForError.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeOutboundMessageContextForError.java
@@ -22,14 +22,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.idp.profile.context.RelyingPartyContext;
-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 org.opensaml.messaging.context.BaseContext;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
@@ -45,6 +37,13 @@ import org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.profile.AbstractProfileAction;
+import net.shibboleth.idp.profile.context.RelyingPartyContext;
+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.logic.Constraint;
+
/**
* Action that prepares an outbound {@link MessageContext} and related SAML contexts
* in the event that they are not already prepared, to allow error responses to be
@@ -94,8 +93,7 @@ public class InitializeOutboundMessageContextForError extends AbstractProfileAct
*/
public void setBindingContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,SAMLBindingContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
bindingContextLookupStrategy = Constraint.isNotNull(strategy,
"SAMLBindingContext lookup strategy cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeRelyingPartyContextFromSAMLPeer.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeRelyingPartyContextFromSAMLPeer.java
index 5643c5cbc..d53b824a9 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeRelyingPartyContextFromSAMLPeer.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeRelyingPartyContextFromSAMLPeer.java
@@ -22,22 +22,20 @@ 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.opensaml.profile.context.navigate.InboundMessageContextLookup;
import org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.shibboleth.idp.profile.AbstractProfileAction;
import net.shibboleth.idp.profile.IdPEventIds;
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.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* Action that adds a {@link RelyingPartyContext} to the current {@link ProfileRequestContext} tree
* via a creation function. The context is populated via a lookup strategy to locate a {@link SAMLPeerEntityContext},
@@ -84,8 +82,7 @@ public class InitializeRelyingPartyContextFromSAMLPeer extends AbstractProfileAc
*/
public void setRelyingPartyContextCreationStrategy(
@Nonnull final Function<ProfileRequestContext,RelyingPartyContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
relyingPartyContextCreationStrategy =
Constraint.isNotNull(strategy, "RelyingPartyContext creation strategy cannot be null");
}
@@ -97,8 +94,7 @@ public class InitializeRelyingPartyContextFromSAMLPeer extends AbstractProfileAc
*/
public void setPeerEntityContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,SAMLPeerEntityContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
peerEntityContextLookupStrategy =
Constraint.isNotNull(strategy, "SAMLPeerEntityContext lookup strategy cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/PopulateBindingAndEndpointContexts.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/PopulateBindingAndEndpointContexts.java
index f7d8e2380..068eeee1e 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/PopulateBindingAndEndpointContexts.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/PopulateBindingAndEndpointContexts.java
@@ -27,22 +27,6 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.xml.namespace.QName;
-import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.saml.profile.config.SAMLArtifactAwareProfileConfiguration;
-import net.shibboleth.idp.saml.profile.config.SAMLArtifactConfiguration;
-import net.shibboleth.idp.saml.profile.config.SAMLProfileConfiguration;
-import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-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.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.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.resolver.ResolverException;
-
import org.opensaml.core.xml.XMLObjectBuilder;
import org.opensaml.core.xml.util.XMLObjectSupport;
import org.opensaml.messaging.context.MessageChannelSecurityContext;
@@ -70,6 +54,21 @@ import org.opensaml.saml.saml2.metadata.IndexedEndpoint;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.profile.AbstractProfileAction;
+import net.shibboleth.idp.profile.context.RelyingPartyContext;
+import net.shibboleth.idp.saml.profile.config.SAMLArtifactAwareProfileConfiguration;
+import net.shibboleth.idp.saml.profile.config.SAMLArtifactConfiguration;
+import net.shibboleth.idp.saml.profile.config.SAMLProfileConfiguration;
+import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
+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.ComponentInitializationException;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
+import net.shibboleth.utilities.java.support.resolver.ResolverException;
+
/**
* Action that populates the outbound {@link SAMLBindingContext} and when appropriate the
* {@link SAMLEndpointContext} based on the inbound request.
@@ -186,8 +185,7 @@ public class PopulateBindingAndEndpointContexts extends AbstractProfileAction {
* @param type type of endpoint to resolve
*/
public void setEndpointType(@Nullable final QName type) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
endpointType = type;
}
@@ -197,8 +195,7 @@ public class PopulateBindingAndEndpointContexts extends AbstractProfileAction {
* @param resolver endpoint resolver to use
*/
public void setEndpointResolver(@Nonnull final EndpointResolver<?> resolver) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
endpointResolver = Constraint.isNotNull(resolver, "EndpointResolver cannot be null");
}
@@ -211,8 +208,7 @@ public class PopulateBindingAndEndpointContexts extends AbstractProfileAction {
*/
public void setBindingDescriptorsLookupStrategy(
@Nonnull final Function<ProfileRequestContext,List<BindingDescriptor>> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
bindingDescriptorsLookupStrategy =
Constraint.isNotNull(strategy, "Binding descriptors lookup strategy cannot be null");
}
@@ -224,8 +220,7 @@ public class PopulateBindingAndEndpointContexts extends AbstractProfileAction {
*/
public void setRelyingPartyContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,RelyingPartyContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
relyingPartyContextLookupStrategy = Constraint.isNotNull(strategy,
"RelyingPartyContext lookup strategy cannot be null");
}
@@ -237,8 +232,7 @@ public class PopulateBindingAndEndpointContexts extends AbstractProfileAction {
*/
public void setMetadataContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,SAMLMetadataContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
metadataContextLookupStrategy = Constraint.isNotNull(strategy,
"SAMLMetadataContext lookup strategy cannot be null");
}
@@ -250,8 +244,7 @@ public class PopulateBindingAndEndpointContexts extends AbstractProfileAction {
*/
public void setBindingContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,SAMLBindingContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
bindingContextLookupStrategy = Constraint.isNotNull(strategy,
"SAMLBindingContext lookup strategy cannot be null");
}
@@ -263,8 +256,7 @@ public class PopulateBindingAndEndpointContexts extends AbstractProfileAction {
*/
public void setEndpointContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,SAMLEndpointContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
endpointContextLookupStrategy = Constraint.isNotNull(strategy,
"SAMLEndpointContext lookup strategy cannot be null");
}
@@ -276,8 +268,7 @@ public class PopulateBindingAndEndpointContexts extends AbstractProfileAction {
*/
public void setArtifactContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,SAMLArtifactContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
artifactContextLookupStrategy = Constraint.isNotNull(strategy,
"SAMLArtifactContext lookup strategy cannot be null");
}
@@ -289,8 +280,7 @@ public class PopulateBindingAndEndpointContexts extends AbstractProfileAction {
*/
public void setBestMatchCriterionLookupStrategy(
@Nullable final Function<ProfileRequestContext,BestMatchLocationCriterion> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
bestMatchCriterionLookupStrategy = strategy;
}
@@ -306,8 +296,7 @@ public class PopulateBindingAndEndpointContexts extends AbstractProfileAction {
* @param flag flag to set
*/
public void setArtifactImpliesSecureChannel(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
artifactImpliesSecureChannel = flag;
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/PopulateInboundMessageContextWithSAMLSelf.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/PopulateInboundMessageContextWithSAMLSelf.java
index 821991c33..11a64e78b 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/PopulateInboundMessageContextWithSAMLSelf.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/PopulateInboundMessageContextWithSAMLSelf.java
@@ -22,11 +22,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.profile.action.ActionSupport;
import org.opensaml.profile.action.EventIds;
@@ -35,6 +30,10 @@ import org.opensaml.saml.common.messaging.context.SAMLSelfEntityContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.profile.AbstractProfileAction;
+import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
/**
* Action that adds a {@link SAMLSelfEntityContext} to the inbound {@link MessageContext}
*
@@ -64,8 +63,7 @@ public class PopulateInboundMessageContextWithSAMLSelf extends AbstractProfileAc
* @param strategy lookup strategy
*/
public void setSelfIdentityLookupStrategy(@Nonnull final Function<ProfileRequestContext, String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
selfIdentityLookupStrategy = Constraint.isNotNull(strategy, "Self identity lookup strategy cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ReloadMetadata.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ReloadMetadata.java
index e08d81c4b..d4788f24c 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ReloadMetadata.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ReloadMetadata.java
@@ -22,7 +22,6 @@ import java.util.Objects;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import jakarta.servlet.http.HttpServletResponse;
import org.opensaml.profile.action.ActionSupport;
import org.opensaml.profile.action.EventIds;
@@ -35,12 +34,12 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.webflow.execution.RequestContext;
+import jakarta.servlet.http.HttpServletResponse;
import net.shibboleth.idp.profile.AbstractProfileAction;
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;
import net.shibboleth.utilities.java.support.resolver.ResolverException;
import net.shibboleth.utilities.java.support.service.ReloadableService;
@@ -79,8 +78,7 @@ public class ReloadMetadata extends AbstractProfileAction {
* @param service what to set.
*/
public void setMetadataResolver(@Nonnull final ReloadableService<MetadataResolver> service) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
metadataResolverService = Constraint.isNotNull(service, "MetadataResolver service cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/SpringAwareMessageDecoderFactory.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/SpringAwareMessageDecoderFactory.java
index 0b184b9dd..1d54cf6d1 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/SpringAwareMessageDecoderFactory.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/SpringAwareMessageDecoderFactory.java
@@ -25,12 +25,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.annotation.constraint.ThreadSafeAfterInit;
-import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
-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.decoder.MessageDecoder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -38,6 +32,11 @@ import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
+import net.shibboleth.utilities.java.support.annotation.constraint.ThreadSafeAfterInit;
+import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
+
/**
* A function that returns the correct {@link MessageDecoder} to use based on a simple map of
@@ -67,7 +66,7 @@ public class SpringAwareMessageDecoderFactory extends AbstractInitializableCompo
* @param mappings string to bean ID mappings
*/
public void setBeanMappings(@Nonnull final Map<String,String> mappings) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+ throwSetterPreconditionExceptions();
Constraint.isNotNull(mappings, "Mappings cannot be null");
beanMappings = new HashMap<>(mappings.size());
@@ -88,7 +87,7 @@ public class SpringAwareMessageDecoderFactory extends AbstractInitializableCompo
/** {@inheritDoc} */
@Nullable public MessageDecoder apply(@Nullable final String input) {
- ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
+ throwComponentStateExceptions();
final String beanID = beanMappings.get(StringSupport.trimOrNull(input));
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/SpringAwareMessageEncoderFactory.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/SpringAwareMessageEncoderFactory.java
index b34e8f72e..fdc46fc0e 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/SpringAwareMessageEncoderFactory.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/SpringAwareMessageEncoderFactory.java
@@ -22,11 +22,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.saml.binding.BindingDescriptor;
-import net.shibboleth.utilities.java.support.annotation.constraint.ThreadSafeAfterInit;
-import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-
import org.opensaml.messaging.encoder.MessageEncoder;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.saml.common.messaging.context.SAMLBindingContext;
@@ -36,6 +31,10 @@ import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
+import net.shibboleth.idp.saml.binding.BindingDescriptor;
+import net.shibboleth.utilities.java.support.annotation.constraint.ThreadSafeAfterInit;
+import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
+
/**
* A function that returns the correct {@link MessageEncoder} to use based on an underlying {@link BindingDescriptor}.
@@ -57,7 +56,7 @@ public class SpringAwareMessageEncoderFactory extends AbstractInitializableCompo
/** {@inheritDoc} */
@Nullable public MessageEncoder apply(@Nullable final ProfileRequestContext profileRequestContext) {
- ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
+ throwComponentStateExceptions();
if (applicationContext == null) {
log.warn("No Spring ApplicationContext set");
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/UpdateSAMLSelfEntityContext.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/UpdateSAMLSelfEntityContext.java
index 57828bbf8..0fd5e2f68 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/UpdateSAMLSelfEntityContext.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/UpdateSAMLSelfEntityContext.java
@@ -23,16 +23,15 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.saml.common.messaging.context.SAMLSelfEntityContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.profile.AbstractProfileAction;
+import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
/**
* Action that updates inbound and/or outbound instances of {@link SAMLSelfEntityContext}
* based on the identity of a relying party accessed via a lookup strategy,
@@ -66,8 +65,7 @@ public class UpdateSAMLSelfEntityContext extends AbstractProfileAction {
* @param strategy lookup strategy
*/
public void setSelfIdentityLookupStrategy(@Nonnull final Function<ProfileRequestContext, String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
selfIdentityLookupStrategy = Constraint.isNotNull(strategy, "Self identity lookup strategy cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAttributeStatementToAssertion.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAttributeStatementToAssertion.java
index 138b9bdd2..99157edb1 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAttributeStatementToAssertion.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAttributeStatementToAssertion.java
@@ -26,17 +26,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.attribute.AttributeEncodingException;
-import net.shibboleth.idp.attribute.IdPAttribute;
-import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
-import net.shibboleth.idp.profile.IdPEventIds;
-import net.shibboleth.idp.saml.profile.impl.BaseAddAttributeStatementToAssertion;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.service.ServiceableComponent;
-
import org.opensaml.core.xml.XMLObject;
import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.profile.action.ActionSupport;
@@ -51,6 +40,16 @@ import org.opensaml.saml.saml1.profile.SAML1ActionSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.attribute.AttributeEncodingException;
+import net.shibboleth.idp.attribute.IdPAttribute;
+import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
+import net.shibboleth.idp.profile.IdPEventIds;
+import net.shibboleth.idp.saml.profile.impl.BaseAddAttributeStatementToAssertion;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.service.ServiceableComponent;
+
/**
* Action that builds an {@link AttributeStatement} and adds it to an {@link Assertion} returned by a lookup
* strategy, by default in the {@link ProfileRequestContext#getOutboundMessageContext()}.
@@ -85,8 +84,7 @@ public class AddAttributeStatementToAssertion extends BaseAddAttributeStatementT
* @param strategy strategy used to locate the {@link Assertion} to operate on
*/
public void setAssertionLookupStrategy(@Nonnull final Function<ProfileRequestContext,Assertion> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
assertionLookupStrategy = Constraint.isNotNull(strategy, "Assertion lookup strategy cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAuthenticationStatementToAssertion.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAuthenticationStatementToAssertion.java
index 341736a41..0f5e4cb5a 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAuthenticationStatementToAssertion.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAuthenticationStatementToAssertion.java
@@ -22,24 +22,11 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.authn.context.AuthenticationContext;
-import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
-import net.shibboleth.idp.authn.principal.DefaultPrincipalDeterminationStrategy;
-
+import org.opensaml.core.xml.XMLObjectBuilderFactory;
+import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.profile.action.ActionSupport;
import org.opensaml.profile.action.EventIds;
import org.opensaml.profile.context.ProfileRequestContext;
-
-import net.shibboleth.idp.saml.authn.principal.AuthenticationMethodPrincipal;
-import net.shibboleth.idp.saml.profile.impl.BaseAddAuthenticationStatementToAssertion;
-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 net.shibboleth.utilities.java.support.security.IdentifierGenerationStrategy;
-
-import org.opensaml.core.xml.XMLObjectBuilderFactory;
-import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.saml.common.SAMLObjectBuilder;
import org.opensaml.saml.saml1.core.Assertion;
import org.opensaml.saml.saml1.core.AuthenticationStatement;
@@ -49,6 +36,16 @@ import org.opensaml.saml.saml1.profile.SAML1ActionSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.authn.context.AuthenticationContext;
+import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
+import net.shibboleth.idp.authn.principal.DefaultPrincipalDeterminationStrategy;
+import net.shibboleth.idp.saml.authn.principal.AuthenticationMethodPrincipal;
+import net.shibboleth.idp.saml.profile.impl.BaseAddAuthenticationStatementToAssertion;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.security.IdentifierGenerationStrategy;
+
/**
* Action that builds an {@link AuthenticationStatement} and adds it to an {@link Assertion} returned by a lookup
* strategy, by default in the {@link ProfileRequestContext#getOutboundMessageContext()}.
@@ -91,8 +88,7 @@ public class AddAuthenticationStatementToAssertion extends BaseAddAuthentication
* @param strategy strategy used to locate the {@link Assertion} to operate on
*/
public void setAssertionLookupStrategy(@Nonnull final Function<ProfileRequestContext,Assertion> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
assertionLookupStrategy = Constraint.isNotNull(strategy, "Assertion lookup strategy cannot be null");
}
@@ -103,8 +99,7 @@ public class AddAuthenticationStatementToAssertion extends BaseAddAuthentication
*/
public void setAuthenticationMethodLookupStrategy(
@Nonnull final Function<ProfileRequestContext,AuthenticationMethodPrincipal> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
methodLookupStrategy = Constraint.isNotNull(strategy, "Authentication method strategy cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/FilterByQueriedAttributeDesignators.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/FilterByQueriedAttributeDesignators.java
index 769438f86..dca88be32 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/FilterByQueriedAttributeDesignators.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/FilterByQueriedAttributeDesignators.java
@@ -51,7 +51,6 @@ import net.shibboleth.utilities.java.support.annotation.constraint.Live;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
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.service.ReloadableService;
import net.shibboleth.utilities.java.support.service.ServiceableComponent;
@@ -96,8 +95,7 @@ public class FilterByQueriedAttributeDesignators extends AbstractProfileAction {
* @param registry registry service interface
*/
public void setTranscoderRegistry(@Nonnull final ReloadableService<AttributeTranscoderRegistry> registry) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
transcoderRegistry = Constraint.isNotNull(registry, "AttributeTranscoderRegistry cannot be null");
}
@@ -107,8 +105,7 @@ public class FilterByQueriedAttributeDesignators extends AbstractProfileAction {
* @param strategy lookup strategy
*/
public void setRequestLookupStrategy(@Nonnull final Function<ProfileRequestContext,Request> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
requestLookupStrategy = Constraint.isNotNull(strategy, "Request lookup strategy cannot be null");
}
@@ -120,8 +117,7 @@ public class FilterByQueriedAttributeDesignators extends AbstractProfileAction {
*/
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-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAttributeStatementToAssertion.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAttributeStatementToAssertion.java
index ed1c2a01d..2306f1006 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAttributeStatementToAssertion.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAttributeStatementToAssertion.java
@@ -26,17 +26,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.attribute.AttributeEncodingException;
-import net.shibboleth.idp.attribute.IdPAttribute;
-import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
-import net.shibboleth.idp.profile.IdPEventIds;
-import net.shibboleth.idp.saml.profile.impl.BaseAddAttributeStatementToAssertion;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.service.ServiceableComponent;
-
import org.opensaml.core.xml.XMLObject;
import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.profile.action.ActionSupport;
@@ -51,6 +40,16 @@ import org.opensaml.saml.saml2.profile.SAML2ActionSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.attribute.AttributeEncodingException;
+import net.shibboleth.idp.attribute.IdPAttribute;
+import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
+import net.shibboleth.idp.profile.IdPEventIds;
+import net.shibboleth.idp.saml.profile.impl.BaseAddAttributeStatementToAssertion;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.service.ServiceableComponent;
+
/**
* Action that builds an {@link AttributeStatement} and adds it to an {@link Assertion} returned by a lookup
* strategy, by default in the {@link ProfileRequestContext#getOutboundMessageContext()}.
@@ -86,8 +85,7 @@ public class AddAttributeStatementToAssertion extends BaseAddAttributeStatementT
* @param strategy strategy used to locate the {@link Assertion} to operate on
*/
public void setAssertionLookupStrategy(@Nonnull final Function<ProfileRequestContext,Assertion> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
assertionLookupStrategy = Constraint.isNotNull(strategy, "Assertion lookup strategy cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnRequest.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnRequest.java
index 5b3535a9a..c0e105d67 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnRequest.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnRequest.java
@@ -27,19 +27,6 @@ import java.util.stream.Collectors;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.authn.AbstractAuthenticationAction;
-import net.shibboleth.idp.authn.context.AuthenticationContext;
-import net.shibboleth.idp.profile.IdPEventIds;
-import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
-import net.shibboleth.idp.saml.authn.principal.AuthnContextDeclRefPrincipal;
-import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
-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.security.IdentifierGenerationStrategy;
-import net.shibboleth.utilities.java.support.security.impl.SecureRandomIdentifierGenerationStrategy;
-
import org.opensaml.core.xml.XMLObjectBuilderFactory;
import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.messaging.context.MessageContext;
@@ -60,6 +47,18 @@ import org.opensaml.saml.saml2.core.Scoping;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.authn.AbstractAuthenticationAction;
+import net.shibboleth.idp.authn.context.AuthenticationContext;
+import net.shibboleth.idp.profile.IdPEventIds;
+import net.shibboleth.idp.profile.context.RelyingPartyContext;
+import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
+import net.shibboleth.idp.saml.authn.principal.AuthnContextDeclRefPrincipal;
+import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.security.IdentifierGenerationStrategy;
+import net.shibboleth.utilities.java.support.security.impl.SecureRandomIdentifierGenerationStrategy;
+
/**
* Action that creates an {@link AuthnRequest} and sets it as the message returned by
* {@link ProfileRequestContext#getOutboundMessageContext()}.
@@ -114,8 +113,7 @@ public class AddAuthnRequest extends AbstractAuthenticationAction {
* @param flag flag to set
*/
public void setOverwriteExisting(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
overwriteExisting = flag;
}
@@ -126,8 +124,7 @@ public class AddAuthnRequest extends AbstractAuthenticationAction {
*/
public void setIdentifierGeneratorLookupStrategy(
@Nonnull final Function<ProfileRequestContext,IdentifierGenerationStrategy> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
idGeneratorLookupStrategy =
Constraint.isNotNull(strategy, "IdentifierGenerationStrategy lookup strategy cannot be null");
}
@@ -138,8 +135,7 @@ public class AddAuthnRequest extends AbstractAuthenticationAction {
* @param strategy lookup strategy
*/
public void setIssuerLookupStrategy(@Nullable final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
issuerLookupStrategy = strategy;
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnStatementToAssertion.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnStatementToAssertion.java
index 43da3bef2..12f853464 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnStatementToAssertion.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnStatementToAssertion.java
@@ -27,38 +27,35 @@ import java.util.function.Predicate;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.authn.context.AuthenticationContext;
-import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
-import net.shibboleth.idp.authn.principal.DefaultPrincipalDeterminationStrategy;
-import net.shibboleth.idp.authn.principal.ProxyAuthenticationPrincipal;
-
+import org.opensaml.core.xml.XMLObjectBuilderFactory;
+import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.profile.action.ActionSupport;
import org.opensaml.profile.action.EventIds;
import org.opensaml.profile.context.ProfileRequestContext;
-
-import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
-import net.shibboleth.idp.saml.authn.principal.AuthnContextDeclRefPrincipal;
-import net.shibboleth.idp.saml.profile.config.navigate.SessionLifetimeLookupFunction;
-import net.shibboleth.idp.saml.profile.impl.BaseAddAuthenticationStatementToAssertion;
-import net.shibboleth.idp.saml.saml2.profile.config.logic.SuppressAuthenticatingAuthorityPredicate;
-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.core.xml.XMLObjectBuilderFactory;
-import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.saml.common.SAMLObjectBuilder;
-import org.opensaml.saml.saml2.core.SubjectLocality;
import org.opensaml.saml.saml2.core.Assertion;
import org.opensaml.saml.saml2.core.AuthenticatingAuthority;
import org.opensaml.saml.saml2.core.AuthnContext;
import org.opensaml.saml.saml2.core.AuthnStatement;
import org.opensaml.saml.saml2.core.Response;
+import org.opensaml.saml.saml2.core.SubjectLocality;
import org.opensaml.saml.saml2.profile.SAML2ActionSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.authn.context.AuthenticationContext;
+import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
+import net.shibboleth.idp.authn.principal.DefaultPrincipalDeterminationStrategy;
+import net.shibboleth.idp.authn.principal.ProxyAuthenticationPrincipal;
+import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
+import net.shibboleth.idp.saml.authn.principal.AuthnContextDeclRefPrincipal;
+import net.shibboleth.idp.saml.profile.config.navigate.SessionLifetimeLookupFunction;
+import net.shibboleth.idp.saml.profile.impl.BaseAddAuthenticationStatementToAssertion;
+import net.shibboleth.idp.saml.saml2.profile.config.logic.SuppressAuthenticatingAuthorityPredicate;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
/**
* Action that builds an {@link AuthnStatement} and adds it to an {@link Assertion} returned by a lookup
* strategy, by default in the {@link ProfileRequestContext#getOutboundMessageContext()}.
@@ -112,8 +109,7 @@ public class AddAuthnStatementToAssertion extends BaseAddAuthenticationStatement
* @param strategy strategy used to locate the {@link Assertion} to operate on
*/
public void setAssertionLookupStrategy(@Nonnull final Function<ProfileRequestContext,Assertion> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
assertionLookupStrategy = Constraint.isNotNull(strategy, "Assertion lookup strategy cannot be null");
}
@@ -124,8 +120,7 @@ public class AddAuthnStatementToAssertion extends BaseAddAuthenticationStatement
*/
public void setClassRefLookupStrategy(
@Nonnull final Function<ProfileRequestContext,AuthnContextClassRefPrincipal> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
classRefLookupStrategy = Constraint.isNotNull(strategy,
"Authentication context class reference strategy cannot be null");
}
@@ -136,8 +131,7 @@ public class AddAuthnStatementToAssertion extends BaseAddAuthenticationStatement
* @param strategy lookup strategy
*/
public void setSessionLifetimeLookupStrategy(@Nullable final Function<ProfileRequestContext,Duration> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
sessionLifetimeLookupStrategy = strategy;
}
@@ -148,8 +142,7 @@ public class AddAuthnStatementToAssertion extends BaseAddAuthenticationStatement
*/
public void setSuppressAuthenticatingAuthorityPredicate(
@Nonnull final Predicate<ProfileRequestContext> condition) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
suppressAuthenticatingAuthorityPredicate = Constraint.isNotNull(condition, "Condition cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/FilterByQueriedAttributes.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/FilterByQueriedAttributes.java
index 3a52eef4c..d22e8f92f 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/FilterByQueriedAttributes.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/FilterByQueriedAttributes.java
@@ -53,7 +53,6 @@ import net.shibboleth.utilities.java.support.annotation.constraint.Live;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
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.service.ReloadableService;
import net.shibboleth.utilities.java.support.service.ServiceableComponent;
@@ -98,8 +97,7 @@ public class FilterByQueriedAttributes extends AbstractProfileAction {
* @param registry registry service interface
*/
public void setTranscoderRegistry(@Nonnull final ReloadableService<AttributeTranscoderRegistry> registry) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
transcoderRegistry = Constraint.isNotNull(registry, "AttributeTranscoderRegistry cannot be null");
}
@@ -109,8 +107,7 @@ public class FilterByQueriedAttributes extends AbstractProfileAction {
* @param strategy lookup strategy
*/
public void setQueryLookupStrategy(@Nonnull final Function<ProfileRequestContext,AttributeQuery> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
queryLookupStrategy = Constraint.isNotNull(strategy, "Request lookup strategy cannot be null");
}
@@ -122,8 +119,7 @@ public class FilterByQueriedAttributes extends AbstractProfileAction {
*/
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-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/PopulateEncryptionParameters.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/PopulateEncryptionParameters.java
index 5b41d7d93..7c9b3b035 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/PopulateEncryptionParameters.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/PopulateEncryptionParameters.java
@@ -25,6 +25,8 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.xml.namespace.QName;
+import org.opensaml.core.criterion.EntityIdCriterion;
+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;
@@ -43,6 +45,8 @@ import org.opensaml.xmlsec.EncryptionParametersResolver;
import org.opensaml.xmlsec.SecurityConfigurationSupport;
import org.opensaml.xmlsec.criterion.EncryptionConfigurationCriterion;
import org.opensaml.xmlsec.criterion.EncryptionOptionalCriterion;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import net.shibboleth.idp.profile.AbstractProfileAction;
import net.shibboleth.idp.profile.IdPEventIds;
@@ -52,17 +56,11 @@ import net.shibboleth.idp.saml.saml2.profile.config.SingleLogoutProfileConfigura
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
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 net.shibboleth.utilities.java.support.resolver.CriteriaSet;
import net.shibboleth.utilities.java.support.resolver.ResolverException;
-import org.opensaml.core.criterion.EntityIdCriterion;
-import org.opensaml.messaging.context.navigate.ChildContextLookup;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* Action that resolves and populates {@link EncryptionParameters} on an {@link EncryptionContext}
* created/accessed via a lookup function, by default on a {@link RelyingPartyContext} child of the
@@ -143,8 +141,7 @@ public class PopulateEncryptionParameters extends AbstractProfileAction {
*/
public void setRelyingPartyContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,RelyingPartyContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
relyingPartyContextLookupStrategy =
Constraint.isNotNull(strategy, "RelyingPartyContext lookup strategy cannot be null");
}
@@ -156,8 +153,7 @@ public class PopulateEncryptionParameters extends AbstractProfileAction {
*/
public void setEncryptionContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,EncryptionContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
encryptionContextLookupStrategy = Constraint.isNotNull(strategy,
"EncryptionContext lookup strategy cannot be null");
}
@@ -187,8 +183,7 @@ public class PopulateEncryptionParameters extends AbstractProfileAction {
*/
public void setConfigurationLookupStrategy(
@Nonnull final Function<ProfileRequestContext,List<EncryptionConfiguration>> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
configurationLookupStrategy = Constraint.isNotNull(strategy,
"EncryptionConfiguration lookup strategy cannot be null");
}
@@ -200,8 +195,7 @@ public class PopulateEncryptionParameters extends AbstractProfileAction {
*/
public void setPeerContextLookupStrategy(
@Nullable final Function<ProfileRequestContext,SAMLPeerEntityContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
peerContextLookupStrategy = strategy;
}
@@ -212,8 +206,7 @@ public class PopulateEncryptionParameters extends AbstractProfileAction {
*/
public void setEncryptionParametersResolver(
@Nonnull final EncryptionParametersResolver newResolver) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
encParamsresolver = Constraint.isNotNull(newResolver, "EncryptionParametersResolver cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/PreProcessLogoutMessage.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/PreProcessLogoutMessage.java
index 3b4c37334..f638e8fc2 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/PreProcessLogoutMessage.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/PreProcessLogoutMessage.java
@@ -21,10 +21,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
-import net.shibboleth.idp.profile.AbstractProfileAction;
-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;
@@ -42,6 +38,9 @@ import org.opensaml.saml.saml2.metadata.SingleLogoutService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.profile.AbstractProfileAction;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
/**
* Profile action that performs initial analysis of a {@link LogoutRequest} or {@link LogoutResponse} to
* dispatch it for subsequent processing.
@@ -101,8 +100,7 @@ public class PreProcessLogoutMessage extends AbstractProfileAction {
* @param flag what to set
*/
public void setAssumeAsynchronousLogout(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
assumeAsync = flag;
}
@@ -113,8 +111,7 @@ public class PreProcessLogoutMessage extends AbstractProfileAction {
*/
public void setMetadataContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,SAMLMetadataContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
metadataContextLookupStrategy =
Constraint.isNotNull(strategy, "SAMLMetadataContext lookup strategy cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessAssertionsForAuthentication.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessAssertionsForAuthentication.java
index bf8b53f4f..c1b851de0 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessAssertionsForAuthentication.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessAssertionsForAuthentication.java
@@ -48,7 +48,6 @@ import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
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;
/**
* Perform processing of a SAML 2 Response's Assertions that have been validated by earlier actions
@@ -119,9 +118,7 @@ public class ProcessAssertionsForAuthentication extends AbstractAuthenticationAc
* @param strategy the new strategy function
*/
public void setAuthnAssertionSelectionStrategy(@Nonnull final Function<List<Assertion>, Assertion> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
-
+ throwSetterPreconditionExceptions();
authnAssertionSelectionStrategy = strategy;
}
@@ -131,9 +128,7 @@ public class ProcessAssertionsForAuthentication extends AbstractAuthenticationAc
* @param strategy the new strategy function
*/
public void setAuthnStatementSelectionStrategy(@Nonnull final Function<Assertion, AuthnStatement> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
-
+ throwSetterPreconditionExceptions();
authnStatementSelectionStrategy = strategy;
}
@@ -143,9 +138,7 @@ public class ProcessAssertionsForAuthentication extends AbstractAuthenticationAc
* @param strategy the new strategy function
*/
public void setResponseResolver(@Nonnull final Function<ProfileRequestContext, Response> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
-
+ throwSetterPreconditionExceptions();
responseResolver = strategy;
}
@@ -156,9 +149,7 @@ public class ProcessAssertionsForAuthentication extends AbstractAuthenticationAc
*/
public void setSAMLAuthnContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,SAMLAuthnContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
-
+ throwSetterPreconditionExceptions();
samlContextLookupStrategy = strategy;
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequest.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequest.java
index 1019cde32..3f03cf027 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequest.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequest.java
@@ -27,6 +27,22 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.opensaml.messaging.context.navigate.ChildContextLookup;
+import org.opensaml.messaging.context.navigate.MessageLookup;
+import org.opensaml.profile.action.ActionSupport;
+import org.opensaml.profile.action.EventIds;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.opensaml.profile.context.navigate.InboundMessageContextLookup;
+import org.opensaml.saml.common.profile.SAMLEventIds;
+import org.opensaml.saml.saml2.core.LogoutRequest;
+import org.opensaml.saml.saml2.core.NameID;
+import org.opensaml.saml.saml2.core.SessionIndex;
+import org.opensaml.saml.saml2.profile.SAML2ObjectSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.common.base.Predicates;
+
import net.shibboleth.idp.authn.context.SubjectContext;
import net.shibboleth.idp.profile.AbstractProfileAction;
import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
@@ -41,27 +57,10 @@ import net.shibboleth.idp.session.context.SessionContext;
import net.shibboleth.idp.session.criterion.SPSessionCriterion;
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 net.shibboleth.utilities.java.support.resolver.CriteriaSet;
import net.shibboleth.utilities.java.support.resolver.ResolverException;
-import org.opensaml.messaging.context.navigate.ChildContextLookup;
-import org.opensaml.messaging.context.navigate.MessageLookup;
-import org.opensaml.profile.action.ActionSupport;
-import org.opensaml.profile.action.EventIds;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.profile.context.navigate.InboundMessageContextLookup;
-import org.opensaml.saml.common.profile.SAMLEventIds;
-import org.opensaml.saml.saml2.core.LogoutRequest;
-import org.opensaml.saml.saml2.core.NameID;
-import org.opensaml.saml.saml2.core.SessionIndex;
-import org.opensaml.saml.saml2.profile.SAML2ObjectSupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Predicates;
-
/**
* Profile action that processes a {@link LogoutRequest} by resolving matching sessions, and destroys them,
* populating the associated {@link SPSession} objects (excepting the one initiating the logout) into a
@@ -159,8 +158,7 @@ public class ProcessLogoutRequest extends AbstractProfileAction {
* @param resolver session resolver to use
*/
public void setSessionResolver(@Nonnull final SessionResolver resolver) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
sessionResolver = Constraint.isNotNull(resolver, "SessionResolver cannot be null");
}
@@ -171,8 +169,7 @@ public class ProcessLogoutRequest extends AbstractProfileAction {
*/
public void setSubjectContextCreationStrategy(
@Nonnull final Function<ProfileRequestContext,SubjectContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
subjectContextCreationStrategy = Constraint.isNotNull(strategy,
"SubjectContext creation strategy cannot be null");
}
@@ -184,8 +181,7 @@ public class ProcessLogoutRequest extends AbstractProfileAction {
*/
public void setSessionContextCreationStrategy(
@Nonnull final Function<ProfileRequestContext,SessionContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
sessionContextCreationStrategy = Constraint.isNotNull(strategy,
"SessionContext creation strategy cannot be null");
}
@@ -197,8 +193,7 @@ public class ProcessLogoutRequest extends AbstractProfileAction {
*/
public void setLogoutContextCreationStrategy(
@Nonnull final Function<ProfileRequestContext,LogoutContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
logoutContextCreationStrategy = Constraint.isNotNull(strategy,
"LogoutContext creation strategy cannot be null");
}
@@ -210,6 +205,7 @@ public class ProcessLogoutRequest extends AbstractProfileAction {
*/
public void setSessionResolverCriteriaStrategy(
@Nonnull final Function<ProfileRequestContext,CriteriaSet> strategy) {
+ throwSetterPreconditionExceptions();
sessionResolverCriteriaStrategy = Constraint.isNotNull(strategy,
"SessionResolver CriteriaSet strategy cannot be null");
}
@@ -221,8 +217,7 @@ public class ProcessLogoutRequest extends AbstractProfileAction {
*/
public void setLogoutRequestLookupStrategy(
@Nonnull final Function<ProfileRequestContext,LogoutRequest> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
logoutRequestLookupStrategy = Constraint.isNotNull(strategy, "LogoutRequest lookup strategy cannot be null");
}
@@ -235,8 +230,7 @@ public class ProcessLogoutRequest extends AbstractProfileAction {
*/
public void setQualifiedNameIDFormatsLookupStrategy(
@Nonnull final Function<ProfileRequestContext,Collection<String>> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
qualifiedNameIDFormatsLookupStrategy = Constraint.isNotNull(strategy,
"Qualified NameID Formats lookup strategy cannot be null");
}
@@ -250,8 +244,7 @@ public class ProcessLogoutRequest extends AbstractProfileAction {
*/
public void setAssertingPartyLookupStrategy(
@Nullable final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
assertingPartyLookupStrategy = strategy;
}
@@ -264,8 +257,7 @@ public class ProcessLogoutRequest extends AbstractProfileAction {
*/
public void setRelyingPartyLookupStrategy(
@Nullable final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
relyingPartyLookupStrategy = strategy;
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessRequestedAuthnContext.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessRequestedAuthnContext.java
index 97414d803..aae78f150 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessRequestedAuthnContext.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessRequestedAuthnContext.java
@@ -28,18 +28,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.authn.AbstractAuthenticationAction;
-import net.shibboleth.idp.authn.context.AuthenticationContext;
-import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
-import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
-import net.shibboleth.idp.saml.authn.principal.AuthnContextDeclRefPrincipal;
-import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
-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.primitive.StringSupport;
-
import org.opensaml.messaging.context.navigate.ChildContextLookup;
import org.opensaml.messaging.context.navigate.MessageLookup;
import org.opensaml.profile.action.ActionSupport;
@@ -55,6 +43,17 @@ import org.opensaml.saml.saml2.core.RequestedAuthnContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.authn.AbstractAuthenticationAction;
+import net.shibboleth.idp.authn.context.AuthenticationContext;
+import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
+import net.shibboleth.idp.profile.context.RelyingPartyContext;
+import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
+import net.shibboleth.idp.saml.authn.principal.AuthnContextDeclRefPrincipal;
+import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
+
/**
* An authentication action that processes the {@link RequestedAuthnContext} in a SAML 2 {@link AuthnRequest},
* and populates a {@link RequestedPrincipalContext} with the corresponding information.
@@ -101,8 +100,7 @@ public class ProcessRequestedAuthnContext extends AbstractAuthenticationAction {
*/
public void setRelyingPartyContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,RelyingPartyContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
relyingPartyContextLookupStrategy =
Constraint.isNotNull(strategy, "RelyingPartyContext lookup strategy cannot be null");
}
@@ -113,8 +111,7 @@ public class ProcessRequestedAuthnContext extends AbstractAuthenticationAction {
* @param strategy lookup strategy
*/
public void setAuthnRequestLookupStrategy(@Nonnull final Function<ProfileRequestContext,AuthnRequest> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
authnRequestLookupStrategy = Constraint.isNotNull(strategy, "AuthnRequest lookup strategy cannot be null");
}
@@ -126,8 +123,7 @@ public class ProcessRequestedAuthnContext extends AbstractAuthenticationAction {
* @param contexts contexts to ignore
*/
public void setIgnoredContexts(@Nonnull @NonnullElements final Collection<String> contexts) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
final Collection<String> trimmed = StringSupport.normalizeStringCollection(contexts);
if (trimmed.isEmpty()) {
@@ -141,8 +137,7 @@ public class ProcessRequestedAuthnContext extends AbstractAuthenticationAction {
@Override
protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext,
@Nonnull final AuthenticationContext authenticationContext) {
- ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
-
+ throwComponentStateExceptions();
if (!super.doPreExecute(profileRequestContext, authenticationContext)) {
return false;
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/SAMLAuthnController.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/SAMLAuthnController.java
index 97ccaeb95..7b107c6b0 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/SAMLAuthnController.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/SAMLAuthnController.java
@@ -26,18 +26,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-
-import net.shibboleth.idp.authn.ExternalAuthentication;
-import net.shibboleth.idp.authn.ExternalAuthenticationException;
-import net.shibboleth.idp.authn.context.AuthenticationContext;
-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.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.MessageContext;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
@@ -58,6 +46,17 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import net.shibboleth.idp.authn.ExternalAuthentication;
+import net.shibboleth.idp.authn.ExternalAuthenticationException;
+import net.shibboleth.idp.authn.context.AuthenticationContext;
+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.AbstractInitializableComponent;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
/**
* MVC controller that handles outbound and inbound message I/O for
* proxied SAML authentication.
@@ -104,8 +103,7 @@ public class SAMLAuthnController extends AbstractInitializableComponent {
*/
public void setProfileRequestContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,ProfileRequestContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
profileRequestContextLookupStrategy = Constraint.isNotNull(strategy,
"ProfileRequestContext lookup strategy cannot be null");
}
@@ -117,8 +115,7 @@ public class SAMLAuthnController extends AbstractInitializableComponent {
*/
public void setSAMLAuthnContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,SAMLAuthnContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
samlContextLookupStrategy = Constraint.isNotNull(strategy, "SAMLAuthnContext lookup strategy cannot be null");
}
@@ -128,8 +125,7 @@ public class SAMLAuthnController extends AbstractInitializableComponent {
* @param bindings the bindings to set
*/
public void setInboundBindings(@Nullable @NonnullElements final Collection<BindingDescriptor> bindings) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
if (bindings != null) {
bindingMap = new HashMap<>(bindings.size());
bindings.forEach(b -> bindingMap.put(b.getShortName(), b));
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/SOAPLogoutRequest.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/SOAPLogoutRequest.java
index d85bef2ec..27ae9a20d 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/SOAPLogoutRequest.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/SOAPLogoutRequest.java
@@ -22,16 +22,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.idp.session.context.LogoutPropagationContext;
-import net.shibboleth.idp.session.context.LogoutPropagationContext.Result;
-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.primitive.StringSupport;
-
import org.opensaml.messaging.MessageException;
import org.opensaml.messaging.context.InOutOperationContext;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
@@ -57,6 +47,15 @@ import org.opensaml.soap.common.SOAPException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.profile.AbstractProfileAction;
+import net.shibboleth.idp.session.context.LogoutPropagationContext;
+import net.shibboleth.idp.session.context.LogoutPropagationContext.Result;
+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.logic.Constraint;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
+
/**
* Profile action that propagates a prepared {@link LogoutRequest} message to an SP via the SOAP
* binding, encapsulating SOAP pipeline construction and execution.
@@ -143,8 +142,7 @@ public class SOAPLogoutRequest extends AbstractProfileAction {
*/
public void setLogoutRequestLookupStrategy(
@Nonnull final Function<ProfileRequestContext,LogoutRequest> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
logoutRequestLookupStrategy = Constraint.isNotNull(strategy, "LogoutRequest lookup strategy cannot be null");
}
@@ -155,8 +153,7 @@ public class SOAPLogoutRequest extends AbstractProfileAction {
*/
public void setPropagationContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,LogoutPropagationContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
propagationContextLookupStrategy =
Constraint.isNotNull(strategy, "LogoutPropagationContext lookup strategy cannot be null");
}
@@ -168,8 +165,7 @@ public class SOAPLogoutRequest extends AbstractProfileAction {
*/
public void setMetadataContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,SAMLMetadataContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
metadataContextLookupStrategy = Constraint.isNotNull(strategy,
"SAMLMetadataContext lookup strategy cannot be null");
}
@@ -181,8 +177,7 @@ public class SOAPLogoutRequest extends AbstractProfileAction {
*/
public void setEndpointContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,SAMLEndpointContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
endpointContextLookupStrategy = Constraint.isNotNull(strategy,
"SAMLEndpointContext lookup strategy cannot be null");
}
@@ -193,8 +188,7 @@ public class SOAPLogoutRequest extends AbstractProfileAction {
* @param client the SOAP client
*/
public void setSOAPClient(@Nonnull final SOAPClient client) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
soapClient = Constraint.isNotNull(client, "SOAPClient cannot be null");
}
@@ -205,8 +199,7 @@ public class SOAPLogoutRequest extends AbstractProfileAction {
* @param name the pipeline name, or null
*/
public void setSOAPPipelineName(@Nullable @NotEmpty final String name) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
soapPipelineName = StringSupport.trimOrNull(name);
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ValidateSAMLAuthentication.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ValidateSAMLAuthentication.java
index 645809abe..fd1ebed7c 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ValidateSAMLAuthentication.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ValidateSAMLAuthentication.java
@@ -27,6 +27,27 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.security.auth.Subject;
+import org.opensaml.messaging.context.navigate.ChildContextLookup;
+import org.opensaml.messaging.context.navigate.RecursiveTypedParentContextLookup;
+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.opensaml.saml.saml2.core.Assertion;
+import org.opensaml.saml.saml2.core.Attribute;
+import org.opensaml.saml.saml2.core.AttributeStatement;
+import org.opensaml.saml.saml2.core.Audience;
+import org.opensaml.saml.saml2.core.AuthenticatingAuthority;
+import org.opensaml.saml.saml2.core.AuthnContext;
+import org.opensaml.saml.saml2.core.ProxyRestriction;
+import org.opensaml.saml.saml2.core.Response;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.common.base.Strings;
+import com.google.common.collect.HashMultimap;
+import com.google.common.collect.Multimap;
+
import net.shibboleth.idp.attribute.AttributeDecodingException;
import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.context.AttributeContext;
@@ -53,33 +74,11 @@ import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfigurati
import net.shibboleth.utilities.java.support.annotation.constraint.Live;
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.logic.Constraint;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
import net.shibboleth.utilities.java.support.service.ReloadableService;
import net.shibboleth.utilities.java.support.service.ServiceableComponent;
-import org.opensaml.messaging.context.navigate.ChildContextLookup;
-import org.opensaml.messaging.context.navigate.RecursiveTypedParentContextLookup;
-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.opensaml.saml.saml2.core.Assertion;
-import org.opensaml.saml.saml2.core.Attribute;
-import org.opensaml.saml.saml2.core.AttributeStatement;
-import org.opensaml.saml.saml2.core.Audience;
-import org.opensaml.saml.saml2.core.AuthenticatingAuthority;
-import org.opensaml.saml.saml2.core.AuthnContext;
-import org.opensaml.saml.saml2.core.ProxyRestriction;
-import org.opensaml.saml.saml2.core.Response;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Strings;
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.Multimap;
-
/**
* An action that produces an {@link net.shibboleth.idp.authn.AuthenticationResult} based on an inbound
* SAML 2.0 SSO response.
@@ -149,8 +148,7 @@ public class ValidateSAMLAuthentication extends AbstractValidationAction {
* @param registry registry service interface
*/
public void setTranscoderRegistry(@Nullable final ReloadableService<AttributeTranscoderRegistry> registry) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
transcoderRegistry = registry;
}
@@ -160,8 +158,7 @@ public class ValidateSAMLAuthentication extends AbstractValidationAction {
* @param filterService optional filter service for inbound attributes
*/
public void setAttributeFilter(@Nullable final ReloadableService<AttributeFilter> filterService) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
attributeFilterService = filterService;
}
@@ -171,8 +168,7 @@ public class ValidateSAMLAuthentication extends AbstractValidationAction {
* @param resolver metadata resolver
*/
public void setMetadataResolver(@Nullable final MetadataResolver resolver) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
metadataResolver = resolver;
}
@@ -183,8 +179,7 @@ public class ValidateSAMLAuthentication extends AbstractValidationAction {
*/
public void setRelyingPartyContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,RelyingPartyContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
relyingPartyContextLookupStrategy =
Constraint.isNotNull(strategy, "RelyingPartyContext lookup strategy cannot be null");
}
@@ -198,8 +193,7 @@ public class ValidateSAMLAuthentication extends AbstractValidationAction {
*/
public void setAttributeExtractionStrategy(
@Nullable final Function<ProfileRequestContext,Collection<IdPAttribute>> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
attributeExtractionStrategy = strategy;
}
@@ -211,8 +205,7 @@ public class ValidateSAMLAuthentication extends AbstractValidationAction {
* @since 4.2.0
*/
public void setLoggedAttributeId(@Nullable @NotEmpty final String id) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
loggedAttributeId = StringSupport.trimOrNull(id);
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/session/impl/AddLogoutRequest.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/session/impl/AddLogoutRequest.java
index cf591b3da..56daaa3aa 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/session/impl/AddLogoutRequest.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/session/impl/AddLogoutRequest.java
@@ -23,13 +23,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.saml.session.SAML2SPSession;
-import net.shibboleth.idp.session.context.LogoutPropagationContext;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.security.IdentifierGenerationStrategy;
-import net.shibboleth.utilities.java.support.security.impl.SecureRandomIdentifierGenerationStrategy;
-
import org.opensaml.core.xml.XMLObjectBuilderFactory;
import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.core.xml.io.MarshallingException;
@@ -50,6 +43,12 @@ import org.opensaml.saml.saml2.core.SessionIndex;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.saml.session.SAML2SPSession;
+import net.shibboleth.idp.session.context.LogoutPropagationContext;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.security.IdentifierGenerationStrategy;
+import net.shibboleth.utilities.java.support.security.impl.SecureRandomIdentifierGenerationStrategy;
+
/**
* Action that creates a {@link LogoutRequest} based on an {@link SAML2SPSession} in a
* {@link LogoutPropagationContext} and sets it as the message returned by
@@ -112,8 +111,7 @@ public class AddLogoutRequest extends AbstractProfileAction {
* @param flag flag to set
*/
public void setOverwriteExisting(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
overwriteExisting = flag;
}
@@ -123,8 +121,7 @@ public class AddLogoutRequest extends AbstractProfileAction {
* @param flag flag to set
*/
public void setIncludeSessionIndex(final boolean flag) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
includeSessionIndex = flag;
}
@@ -135,8 +132,7 @@ public class AddLogoutRequest extends AbstractProfileAction {
*/
public void setIdentifierGeneratorLookupStrategy(
@Nonnull final Function<ProfileRequestContext,IdentifierGenerationStrategy> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
idGeneratorLookupStrategy =
Constraint.isNotNull(strategy, "IdentifierGenerationStrategy lookup strategy cannot be null");
}
@@ -147,8 +143,7 @@ public class AddLogoutRequest extends AbstractProfileAction {
* @param strategy lookup strategy
*/
public void setIssuerLookupStrategy(@Nullable final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
issuerLookupStrategy = strategy;
}
@@ -159,8 +154,7 @@ public class AddLogoutRequest extends AbstractProfileAction {
*/
public void setLogoutPropagationContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,LogoutPropagationContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
logoutPropContextLookupStrategy =
Constraint.isNotNull(strategy, "LogoutPropagationContext lookup strategy cannot be null");
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/session/impl/PrepareInboundMessageContext.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/session/impl/PrepareInboundMessageContext.java
index 80b2470fa..2669b02cf 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/session/impl/PrepareInboundMessageContext.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/session/impl/PrepareInboundMessageContext.java
@@ -22,12 +22,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.idp.saml.session.SAML2SPSession;
-import net.shibboleth.idp.session.context.LogoutPropagationContext;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
import org.opensaml.profile.action.ActionSupport;
@@ -37,6 +31,11 @@ import org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.idp.profile.AbstractProfileAction;
+import net.shibboleth.idp.saml.session.SAML2SPSession;
+import net.shibboleth.idp.session.context.LogoutPropagationContext;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
/**
* Action that adds an inbound {@link MessageContext} and a {@link SAMLPeerEntityContext} to the
* {@link ProfileRequestContext} based on the identity of a relying party, by default from a
@@ -78,8 +77,7 @@ public class PrepareInboundMessageContext extends AbstractProfileAction {
*/
public void setLogoutPropagationContextLookupStrategy(
@Nonnull final Function<ProfileRequestContext,LogoutPropagationContext> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
logoutPropContextLookupStrategy =
Constraint.isNotNull(strategy, "LogoutPropagationContext lookup strategy cannot be null");
}
@@ -93,8 +91,7 @@ public class PrepareInboundMessageContext extends AbstractProfileAction {
* @since 4.0.0
*/
public void setRelyingPartyLookupStrategy(@Nullable final Function<ProfileRequestContext,String> strategy) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
relyingPartyLookupStrategy = strategy;
}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/session/impl/SAML2SPSessionSerializer.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/session/impl/SAML2SPSessionSerializer.java
index 5891241cf..b096fc13a 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/session/impl/SAML2SPSessionSerializer.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/session/impl/SAML2SPSessionSerializer.java
@@ -43,7 +43,6 @@ import net.shibboleth.idp.session.SPSession;
import net.shibboleth.utilities.java.support.annotation.ParameterName;
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.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.xml.ParserPool;
import net.shibboleth.utilities.java.support.xml.SerializeSupport;
@@ -91,8 +90,7 @@ public class SAML2SPSessionSerializer extends AbstractSPSessionSerializer {
* @param pool parser source
*/
public void setParserPool(@Nonnull final ParserPool pool) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+ throwSetterPreconditionExceptions();
parserPool = Constraint.isNotNull(pool, "ParserPool cannot be null");
}
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/testing/TestSources.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/testing/TestSources.java
index c981bbbe2..dad0d2c13 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/testing/TestSources.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/testing/TestSources.java
@@ -48,7 +48,6 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterI
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
/** Basic data sources for testing the attribute generators. */
@SuppressWarnings({"javadoc", "removal"})
@@ -256,9 +255,7 @@ public final class TestSources {
* @param newAttribute what to set.
*/
public void setValue(@Nullable final IdPAttribute newAttribute) {
- ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
- ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
-
+ throwSetterPreconditionExceptions();
value = newAttribute;
}
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAttributeStatementToAssertionTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAttributeStatementToAssertionTest.java
index 284bc8643..23b93e78f 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAttributeStatementToAssertionTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAttributeStatementToAssertionTest.java
@@ -25,6 +25,22 @@ import java.util.Map;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
+import org.opensaml.core.xml.XMLObject;
+import org.opensaml.core.xml.schema.impl.XSStringImpl;
+import org.opensaml.profile.action.EventIds;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.opensaml.saml.saml1.core.Assertion;
+import org.opensaml.saml.saml1.core.Attribute;
+import org.opensaml.saml.saml1.core.AttributeDesignator;
+import org.opensaml.saml.saml1.core.AttributeStatement;
+import org.opensaml.saml.saml1.core.Response;
+import org.springframework.webflow.execution.Event;
+import org.springframework.webflow.execution.RequestContext;
+import org.testng.Assert;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
import net.shibboleth.ext.spring.testing.MockApplicationContext;
import net.shibboleth.idp.attribute.AttributeEncodingException;
import net.shibboleth.idp.attribute.IdPAttribute;
@@ -46,22 +62,6 @@ import net.shibboleth.idp.saml.saml1.profile.SAML1ActionTestingSupport;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.test.service.MockReloadableService;
-import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
-import org.opensaml.core.xml.XMLObject;
-import org.opensaml.core.xml.schema.impl.XSStringImpl;
-import org.opensaml.profile.action.EventIds;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.saml.saml1.core.Assertion;
-import org.opensaml.saml.saml1.core.Attribute;
-import org.opensaml.saml.saml1.core.AttributeDesignator;
-import org.opensaml.saml.saml1.core.AttributeStatement;
-import org.opensaml.saml.saml1.core.Response;
-import org.springframework.webflow.execution.Event;
-import org.springframework.webflow.execution.RequestContext;
-import org.testng.Assert;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-
/** {@link AddAttributeStatementToAssertion} unit test. */
public class AddAttributeStatementToAssertionTest extends OpenSAMLInitBaseTestCase {
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list