[java-opensaml] 05/14: JSPT-98 Integrate lifecycle checking methods in base classes

Rod Widdowson rdw at steadingsoftware.com
Mon Jun 13 19:42:36 UTC 2022


This is an automated email from the git hooks/post-receive script.

rdw pushed a commit to branch dev/JSPT-98
in repository java-opensaml.

View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=63f817ad046a8f9f18b814312106548202416f3d

commit 63f817ad046a8f9f18b814312106548202416f3d
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sun Jun 12 15:27: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: profile-impl
---
 .../action/impl/AbstractMessageChannelSecurity.java  |  7 +++----
 .../opensaml/profile/action/impl/CheckAccess.java    | 20 +++++++++-----------
 .../HttpServletRequestMessageChannelSecurity.java    |  3 +--
 .../org/opensaml/profile/action/impl/LogEvent.java   |  5 ++---
 .../impl/PopulateClientTLSValidationParameters.java  | 19 +++++++++----------
 .../action/impl/PopulateDecryptionParameters.java    | 14 ++++++--------
 .../profile/action/impl/PopulateMetricContext.java   |  9 ++++-----
 .../impl/PopulateSignatureValidationParameters.java  |  7 +++----
 8 files changed, 37 insertions(+), 47 deletions(-)

diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/AbstractMessageChannelSecurity.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/AbstractMessageChannelSecurity.java
index ce7769282..946cbf648 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/AbstractMessageChannelSecurity.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/AbstractMessageChannelSecurity.java
@@ -22,13 +22,12 @@ import java.util.function.Function;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
-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.profile.action.AbstractProfileAction;
 import org.opensaml.profile.context.ProfileRequestContext;
 
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
 /**
  * Abstract base class for profile actions which populate a
  * {@link org.opensaml.messaging.context.MessageChannelSecurityContext} on a {@link BaseContext},
@@ -60,7 +59,7 @@ public abstract class AbstractMessageChannelSecurity extends AbstractProfileActi
      */
     public void setParentContextLookupStrategy(
             @Nonnull final Function<ProfileRequestContext,BaseContext> strategy) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
 
         parentContextLookupStrategy = Constraint.isNotNull(strategy, "Parent context lookup strategy cannot be null");
     }
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/CheckAccess.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/CheckAccess.java
index adaffdccf..ad177f006 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/CheckAccess.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/CheckAccess.java
@@ -26,19 +26,17 @@ import org.opensaml.profile.action.AbstractProfileAction;
 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.utilities.java.support.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.logic.FunctionSupport;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
 import net.shibboleth.utilities.java.support.security.AccessControlService;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 /**
  * This action validates that a request comes from an authorized client, based on an injected service
  * and policy parameters.
@@ -76,7 +74,7 @@ public class CheckAccess extends AbstractProfileAction {
      * @param acs service to use
      */
     public void setAccessControlService(@Nonnull final AccessControlService acs) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         service = Constraint.isNotNull(acs, "AccessControlService cannot be null");
     }
@@ -89,7 +87,7 @@ public class CheckAccess extends AbstractProfileAction {
      * @since 3.3.0
      */
     public void setPolicyNameLookupStrategy(@Nonnull final Function<ProfileRequestContext,String> strategy) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         policyNameLookupStrategy = Constraint.isNotNull(strategy, "Policy lookup strategy cannot be null");
     }
@@ -100,7 +98,7 @@ public class CheckAccess extends AbstractProfileAction {
      * @param name  policy name
      */
     public void setPolicyName(@Nonnull @NotEmpty final String name) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         policyNameLookupStrategy = FunctionSupport.constant(
                 Constraint.isNotNull(StringSupport.trimOrNull(name), "Policy name cannot be null or empty"));
@@ -114,7 +112,7 @@ public class CheckAccess extends AbstractProfileAction {
      * @since 3.3.0
      */
     public void setOperationLookupStrategy(@Nonnull final Function<ProfileRequestContext,String> strategy) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         operationLookupStrategy = Constraint.isNotNull(strategy, "Policy lookup strategy cannot be null");
     }
@@ -125,7 +123,7 @@ public class CheckAccess extends AbstractProfileAction {
      * @param op operation
      */
     public void setOperation(@Nullable final String op) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         operationLookupStrategy = FunctionSupport.constant(StringSupport.trimOrNull(op));
     }
@@ -138,7 +136,7 @@ public class CheckAccess extends AbstractProfileAction {
      * @since 3.3.0
      */
     public void setResourceLookupStrategy(@Nonnull final Function<ProfileRequestContext,String> strategy) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         resourceLookupStrategy = Constraint.isNotNull(strategy, "Policy lookup strategy cannot be null");
     }
@@ -149,7 +147,7 @@ public class CheckAccess extends AbstractProfileAction {
      * @param res resource
      */
     public void setResource(@Nullable final String res) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         resourceLookupStrategy = FunctionSupport.constant(StringSupport.trimOrNull(res));
     }
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/HttpServletRequestMessageChannelSecurity.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/HttpServletRequestMessageChannelSecurity.java
index 7ff33f22f..e0fa03ed8 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/HttpServletRequestMessageChannelSecurity.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/HttpServletRequestMessageChannelSecurity.java
@@ -22,7 +22,6 @@ import org.opensaml.profile.context.ProfileRequestContext;
 
 import jakarta.servlet.http.HttpServletRequest;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
 
 /**
  * Profile action which populates a {@link MessageChannelSecurityContext} based on a
@@ -51,7 +50,7 @@ public class HttpServletRequestMessageChannelSecurity extends AbstractMessageCha
      * @param flag flag to set
      */
     public void setDefaultPortInsecure(final boolean flag) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         defaultPortInsecure = flag;
     }
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/LogEvent.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/LogEvent.java
index 2278af5d3..b719b3711 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/LogEvent.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/LogEvent.java
@@ -34,7 +34,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 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;
 
@@ -67,7 +66,7 @@ public class LogEvent extends AbstractProfileAction {
      * @param strategy  lookup strategy
      */
     public void setEventContextLookupStrategy(@Nonnull final Function<ProfileRequestContext,EventContext> strategy) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         eventContextLookupStrategy = Constraint.isNotNull(strategy, "EventContext lookup strategy cannot be null");
     }
@@ -78,7 +77,7 @@ public class LogEvent extends AbstractProfileAction {
      * @param events events to ignore
      */
     public void setSuppressedEvents(@Nullable @NotEmpty final Collection<String> events) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         if (events != null) {
             suppressedEvents = new HashSet<>(StringSupport.normalizeStringCollection(events));
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateClientTLSValidationParameters.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateClientTLSValidationParameters.java
index 2321baf1a..c0f98f3d0 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateClientTLSValidationParameters.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateClientTLSValidationParameters.java
@@ -23,13 +23,6 @@ import java.util.function.Function;
 
 import javax.annotation.Nonnull;
 
-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.core.config.ConfigurationService;
 import org.opensaml.messaging.context.navigate.ChildContextLookup;
 import org.opensaml.profile.action.AbstractProfileAction;
@@ -45,6 +38,12 @@ import org.opensaml.security.x509.tls.ClientTLSValidationParametersResolver;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+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.resolver.CriteriaSet;
+import net.shibboleth.utilities.java.support.resolver.ResolverException;
+
 /**
  * Action that resolves and populates {@link ClientTLSValidationParameters} on a 
  * {@link ClientTLSSecurityParametersContext} created/accessed via a lookup function, 
@@ -87,7 +86,7 @@ public class PopulateClientTLSValidationParameters extends AbstractProfileAction
      */
     public void setSecurityParametersContextLookupStrategy(
             @Nonnull final Function<ProfileRequestContext,ClientTLSSecurityParametersContext> strategy) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
 
         securityParametersContextLookupStrategy = Constraint.isNotNull(strategy,
                 "ClientTLSSecurityParametersContext lookup strategy cannot be null");
@@ -100,7 +99,7 @@ public class PopulateClientTLSValidationParameters extends AbstractProfileAction
      */
     public void setConfigurationLookupStrategy(
             @Nonnull final Function<ProfileRequestContext,List<ClientTLSValidationConfiguration>> strategy) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         configurationLookupStrategy = Constraint.isNotNull(strategy,
                 "ClientTLSValidationConfiguration lookup strategy cannot be null");
@@ -113,7 +112,7 @@ public class PopulateClientTLSValidationParameters extends AbstractProfileAction
      */
     public void setClientTLSValidationParametersResolver(
             @Nonnull final ClientTLSValidationParametersResolver newResolver) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         resolver = Constraint.isNotNull(newResolver, "ClientTLSValidationParametersResolver cannot be null");
     }
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateDecryptionParameters.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateDecryptionParameters.java
index 00640eee2..30e2215a7 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateDecryptionParameters.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateDecryptionParameters.java
@@ -23,6 +23,7 @@ import java.util.function.Function;
 
 import javax.annotation.Nonnull;
 
+import org.opensaml.messaging.context.navigate.ChildContextLookup;
 import org.opensaml.profile.action.AbstractConditionalProfileAction;
 import org.opensaml.profile.action.ActionSupport;
 import org.opensaml.profile.action.EventIds;
@@ -34,18 +35,15 @@ import org.opensaml.xmlsec.DecryptionParametersResolver;
 import org.opensaml.xmlsec.SecurityConfigurationSupport;
 import org.opensaml.xmlsec.context.SecurityParametersContext;
 import org.opensaml.xmlsec.criterion.DecryptionConfigurationCriterion;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 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.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 /**
  * Action that resolves and populates {@link DecryptionParameters} on a {@link SecurityParametersContext}
  * created/accessed via a lookup function, by default on the inbound message context.
@@ -85,7 +83,7 @@ public class PopulateDecryptionParameters extends AbstractConditionalProfileActi
      */
     public void setSecurityParametersContextLookupStrategy(
             @Nonnull final Function<ProfileRequestContext,SecurityParametersContext> strategy) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
 
         securityParametersContextLookupStrategy = Constraint.isNotNull(strategy,
                 "SecurityParametersContext lookup strategy cannot be null");
@@ -98,7 +96,7 @@ public class PopulateDecryptionParameters extends AbstractConditionalProfileActi
      */
     public void setConfigurationLookupStrategy(
             @Nonnull final Function<ProfileRequestContext,List<DecryptionConfiguration>> strategy) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         configurationLookupStrategy = Constraint.isNotNull(strategy,
                 "DecryptionConfiguration lookup strategy cannot be null");
@@ -110,7 +108,7 @@ public class PopulateDecryptionParameters extends AbstractConditionalProfileActi
      * @param newResolver   resolver to use
      */
     public void setDecryptionParametersResolver(@Nonnull final DecryptionParametersResolver newResolver) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         resolver = Constraint.isNotNull(newResolver, "DecryptionParametersResolver cannot be null");
     }
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateMetricContext.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateMetricContext.java
index b7a0de871..7d293821c 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateMetricContext.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateMetricContext.java
@@ -22,16 +22,15 @@ import java.util.function.Function;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
-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 org.opensaml.profile.action.AbstractProfileAction;
 import org.opensaml.profile.context.MetricContext;
 import org.opensaml.profile.context.ProfileRequestContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+
 
 /**
  * An action that populates a {@link MetricContext} child of the {@link ProfileRequestContext} with
@@ -59,7 +58,7 @@ public class PopulateMetricContext extends AbstractProfileAction {
      * @param strategy  timer mapping strategy
      */
     public void setMetricStrategy(@Nullable final Function<ProfileRequestContext,Boolean> strategy) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         metricStrategy = strategy;
     }
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateSignatureValidationParameters.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateSignatureValidationParameters.java
index 4612af014..3672db2d9 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateSignatureValidationParameters.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateSignatureValidationParameters.java
@@ -39,7 +39,6 @@ import org.slf4j.LoggerFactory;
 
 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;
 
 /**
@@ -85,7 +84,7 @@ public class PopulateSignatureValidationParameters
      */
     public void setSecurityParametersContextLookupStrategy(
             @Nonnull final Function<ProfileRequestContext,SecurityParametersContext> strategy) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
 
         securityParametersContextLookupStrategy = Constraint.isNotNull(strategy,
                 "SecurityParametersContext lookup strategy cannot be null");
@@ -98,7 +97,7 @@ public class PopulateSignatureValidationParameters
      */
     public void setConfigurationLookupStrategy(
             @Nonnull final Function<ProfileRequestContext,List<SignatureValidationConfiguration>> strategy) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         configurationLookupStrategy = Constraint.isNotNull(strategy,
                 "SignatureValidationConfiguration lookup strategy cannot be null");
@@ -111,7 +110,7 @@ public class PopulateSignatureValidationParameters
      */
     public void setSignatureValidationParametersResolver(
             @Nonnull final SignatureValidationParametersResolver newResolver) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         
         resolver = Constraint.isNotNull(newResolver, "SignatureValidationParametersResolver cannot be null");
     }

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list