[java-identity-provider] 05/06: JSPT-98 Integrate lifecycle checking methods in base classes

Rod Widdowson rdw at steadingsoftware.com
Fri Jul 15 09:44:55 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=4cd6168343c03ad164b08828b3aca624e557c974

commit 4cd6168343c03ad164b08828b3aca624e557c974
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Thu Jul 14 16:49:06 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-core
---
 .../shibboleth/idp/metrics/impl/HTTPReporter.java  | 24 ++++++++++++++--------
 .../idp/spring/DeprecatedPropertyBean.java         |  5 ++---
 .../shibboleth/idp/spring/OpenSAMLConfigBean.java  |  7 ++-----
 3 files changed, 19 insertions(+), 17 deletions(-)

diff --git a/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/HTTPReporter.java b/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/HTTPReporter.java
index d416a5f62..f1be27a98 100644
--- a/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/HTTPReporter.java
+++ b/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/HTTPReporter.java
@@ -59,8 +59,8 @@ import net.shibboleth.utilities.java.support.annotation.ParameterName;
 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.component.InitializableComponent;
+import net.shibboleth.utilities.java.support.component.UninitializedComponentException;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
 
@@ -174,8 +174,7 @@ public class HTTPReporter extends ScheduledReporter implements InitializableComp
      * @param client client to use
      */
     public void setHttpClient(@Nonnull final HttpClient client) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+        doSetterPreconditions();
         httpClient = Constraint.isNotNull(client, "HttpClient cannot be null");
     }
     
@@ -185,8 +184,7 @@ public class HTTPReporter extends ScheduledReporter implements InitializableComp
      * @param url URL to post data to
      */
     public void setCollectorURL(@Nonnull @NotEmpty final String url) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-        
+        doSetterPreconditions();
         collectorURL = Constraint.isNotNull(StringSupport.trimOrNull(url), "Collector URL cannot be null or empty");
     }
 
@@ -196,8 +194,7 @@ public class HTTPReporter extends ScheduledReporter implements InitializableComp
      * @param params the new client security parameters
      */
     public void setHttpClientSecurityParameters(@Nullable final HttpClientSecurityParameters params) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
+        doSetterPreconditions();
         httpClientSecurityParameters = params;
     }
     
@@ -207,11 +204,20 @@ public class HTTPReporter extends ScheduledReporter implements InitializableComp
      * @param format formatting string
      */
     public void setDateTimeFormat(@Nullable @NotEmpty final String format) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-        
+        doSetterPreconditions();
         dateTimeFormat = StringSupport.trimOrNull(format);
     }
     
+    /**
+     * Helper for a setter method to check the standard preconditions.
+     */
+    private final void doSetterPreconditions() {
+        if (!isInitialized()) {
+            throw new UninitializedComponentException(
+                    "HTTPReported has not yet been initialized and cannot be used.");
+        }
+    }
+    
     /** {@inheritDoc} */
     public boolean isInitialized() {
         return isInitialized;
diff --git a/idp-core/src/main/java/net/shibboleth/idp/spring/DeprecatedPropertyBean.java b/idp-core/src/main/java/net/shibboleth/idp/spring/DeprecatedPropertyBean.java
index 69d502ec0..63bb0be02 100644
--- a/idp-core/src/main/java/net/shibboleth/idp/spring/DeprecatedPropertyBean.java
+++ b/idp-core/src/main/java/net/shibboleth/idp/spring/DeprecatedPropertyBean.java
@@ -32,7 +32,6 @@ import org.springframework.context.ApplicationContextAware;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
 import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
 import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
@@ -68,7 +67,7 @@ public class DeprecatedPropertyBean extends AbstractInitializableComponent imple
      * @param map deprecated property names and replacements
      */
     public void setDeprecatedProperties(@Nonnull final Map<String,String> map) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         Constraint.isNotNull(map, "Property map cannot be null");
         
         deprecatedProperties = new HashMap<>(map.size());
@@ -84,7 +83,7 @@ public class DeprecatedPropertyBean extends AbstractInitializableComponent imple
      * @param properties defunct property names
      */
     public void setDeadProperties(@Nonnull @NonnullElements final Collection<String> properties) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        throwSetterPreconditionExceptions();
         Constraint.isNotNull(properties, "Property collection cannot be null");
         
         deadProperties = StringSupport.normalizeStringCollection(properties);
diff --git a/idp-core/src/main/java/net/shibboleth/idp/spring/OpenSAMLConfigBean.java b/idp-core/src/main/java/net/shibboleth/idp/spring/OpenSAMLConfigBean.java
index 835fd9d2d..838b046fc 100644
--- a/idp-core/src/main/java/net/shibboleth/idp/spring/OpenSAMLConfigBean.java
+++ b/idp-core/src/main/java/net/shibboleth/idp/spring/OpenSAMLConfigBean.java
@@ -33,7 +33,6 @@ import com.codahale.metrics.MetricRegistry;
 
 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.xml.ParserPool;
 
 
@@ -70,8 +69,7 @@ public class OpenSAMLConfigBean extends AbstractInitializableComponent {
      * @param newParserPool the parser pool to set
      */
     public void setParserPool(@Nullable final ParserPool newParserPool) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-        
+        throwSetterPreconditionExceptions();
         parserPool = newParserPool;
     }
     
@@ -90,8 +88,7 @@ public class OpenSAMLConfigBean extends AbstractInitializableComponent {
      * @param newParserPool the decryption parser pool to set
      */
     public void setDecryptionParserPool(@Nullable final ParserPool newParserPool) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-        
+        throwSetterPreconditionExceptions();
         decryptionParserPool = newParserPool;
     }
     

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


More information about the commits mailing list