[java-sp-server] branch main updated: More code refactoring.

Scott Cantor cantor.2 at osu.edu
Tue Oct 18 15:29:15 UTC 2022


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

scantor pushed a commit to branch main
in repository java-sp-server.

View the commit online:
http://git.shibboleth.net/view/?p=java-sp-server.git;a=commit;h=1c8e0dd7187c81676ab2ad81fe8260d2e88473c7

The following commit(s) were added to refs/heads/main by this push:
     new 1c8e0dd  More code refactoring.
1c8e0dd is described below

commit 1c8e0dd7187c81676ab2ad81fe8260d2e88473c7
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Oct 18 11:29:12 2022 -0400

    More code refactoring.
---
 sp-server-impl/pom.xml                             | 29 +++++++++++++++++++--
 .../net/shibboleth/sp/impl/BasicApplication.java   | 30 ++++++++++++----------
 .../src/main/java/net/shibboleth/sp/impl/Main.java |  2 +-
 .../sp/remoting/impl/ReloadingEndpointManager.java |  6 ++---
 .../sp/remoting/impl/RequestProcessor.java         | 19 +++++---------
 .../PropertiesApplicationContextInitializer.java   |  2 +-
 .../sp/remoting/endpoint/impl/XMLParserTest.java   |  1 +
 7 files changed, 56 insertions(+), 33 deletions(-)

diff --git a/sp-server-impl/pom.xml b/sp-server-impl/pom.xml
index 23f6a31..ee247d8 100644
--- a/sp-server-impl/pom.xml
+++ b/sp-server-impl/pom.xml
@@ -27,6 +27,20 @@
             <version>${project.version}</version>
             <scope>compile</scope>
         </dependency>
+
+        <dependency>
+            <groupId>net.shibboleth</groupId>
+            <artifactId>shib-attribute-resolver-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>net.shibboleth</groupId>
+            <artifactId>shib-attribute-filter-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>net.shibboleth</groupId>
+            <artifactId>shib-metadata-api</artifactId>
+        </dependency>
+        
         <dependency>
             <groupId>org.opensaml</groupId>
             <artifactId>opensaml-core-api</artifactId>
@@ -35,14 +49,25 @@
             <groupId>org.opensaml</groupId>
             <artifactId>opensaml-xmlsec-api</artifactId>
         </dependency>
+
         <dependency>
-            <groupId>org.springframework.integration</groupId>
-            <artifactId>spring-integration-ip</artifactId>
+            <groupId>net.shibboleth</groupId>
+            <artifactId>shib-service</artifactId>
         </dependency>
+        <dependency>
+            <groupId>net.shibboleth</groupId>
+            <artifactId>shib-spring</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>io.dropwizard.metrics</groupId>
             <artifactId>metrics-core</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>org.springframework.integration</groupId>
+            <artifactId>spring-integration-ip</artifactId>
+        </dependency>
     
         <!-- provided dependencies -->
         <dependency>
diff --git a/sp-server-impl/src/main/java/net/shibboleth/sp/impl/BasicApplication.java b/sp-server-impl/src/main/java/net/shibboleth/sp/impl/BasicApplication.java
index ecfdb47..63ba3c5 100644
--- a/sp-server-impl/src/main/java/net/shibboleth/sp/impl/BasicApplication.java
+++ b/sp-server-impl/src/main/java/net/shibboleth/sp/impl/BasicApplication.java
@@ -17,21 +17,24 @@ package net.shibboleth.sp.impl;
 
 import javax.annotation.Nonnull;
 
+import org.opensaml.saml.metadata.resolver.MetadataResolver;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import net.shibboleth.idp.attribute.filter.AttributeFilter;
+import net.shibboleth.idp.attribute.resolver.AttributeResolver;
+import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
 import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.shared.component.ComponentSupport;
 import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.service.ReloadableService;
 import net.shibboleth.sp.Application;
 import net.shibboleth.sp.remoting.AbstractEndpoint;
 import net.shibboleth.sp.remoting.ApplicationEndpoint;
 import net.shibboleth.sp.remoting.ApplicationEndpointManager;
 import net.shibboleth.sp.remoting.RemoteProcessingException;
 import net.shibboleth.sp.ddf.DDF;
-import net.shibboleth.utilities.java.support.service.ReloadableService;
 
 /**
  * Basic implementation of an {@link Application}.
@@ -45,16 +48,16 @@ public class BasicApplication extends AbstractEndpoint implements Application {
     @NonnullAfterInit private ApplicationEndpointManager endpointManager;
     
     /** Metadata source. */
-    @NonnullAfterInit private ReloadableService<Object> metadataResolver;
+    @NonnullAfterInit private ReloadableService<MetadataResolver> metadataResolver;
     
     /** Transcoding registry. */
-    @NonnullAfterInit private ReloadableService<Object> transcodingRegistry;
+    @NonnullAfterInit private ReloadableService<AttributeTranscoderRegistry> transcodingRegistry;
     
     /** Attribute source. */
-    @NonnullAfterInit private ReloadableService<Object> attributeResolver;
+    @NonnullAfterInit private ReloadableService<AttributeResolver> attributeResolver;
     
     /** Filter engine. */
-    @NonnullAfterInit private ReloadableService<Object> attributeFilter;
+    @NonnullAfterInit private ReloadableService<AttributeFilter> attributeFilter;
     
     /**
      * Sets the {@link ApplicationEndpointManager} to use.
@@ -62,7 +65,7 @@ public class BasicApplication extends AbstractEndpoint implements Application {
      * @param manager application endpoint manager
      */
     public void setEndpointManager(@Nonnull final ApplicationEndpointManager manager) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        checkSetterPreconditions();
         
         endpointManager = Constraint.isNotNull(manager, "ApplicationEndpointManager cannot be null");
     }
@@ -85,7 +88,7 @@ public class BasicApplication extends AbstractEndpoint implements Application {
     }
 
     /** {@inheritDoc} */
-    @Nonnull public ReloadableService<Object> getMetadataResolver() {
+    @Nonnull public ReloadableService<MetadataResolver> getMetadataResolver() {
         return metadataResolver;
     }
     
@@ -94,30 +97,31 @@ public class BasicApplication extends AbstractEndpoint implements Application {
      * 
      * @param service metadata resolver service
      */
-    public void setMetadataResolver(@Nonnull final ReloadableService<Object> service) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+    public void setMetadataResolver(@Nonnull final ReloadableService<MetadataResolver> service) {
+        checkSetterPreconditions();
         
         metadataResolver = Constraint.isNotNull(service, "MetadataResolver service cannot be null");
     }
 
     /** {@inheritDoc} */
-    @Nonnull public ReloadableService<Object> getAttributeTranscoderRegistry() {
+    @Nonnull public ReloadableService<AttributeTranscoderRegistry> getAttributeTranscoderRegistry() {
         return transcodingRegistry;
     }
 
     /** {@inheritDoc} */
-    @Nonnull public ReloadableService<Object> getAttributeResolver() {
+    @Nonnull public ReloadableService<AttributeResolver> getAttributeResolver() {
         return attributeResolver;
     }
 
     /** {@inheritDoc} */
-    @Nonnull public ReloadableService<Object> getAttributeFilter() {
+    @Nonnull public ReloadableService<AttributeFilter> getAttributeFilter() {
         return attributeFilter;
     }
 
     /** {@inheritDoc} */
     @Override
     @Nonnull public DDF doReceive(@Nonnull final DDF input) throws RemoteProcessingException {
+        checkComponentActive();
         
         final DDF operation = input.getmember(OPERATION);
         if (!operation.isstring()) {
diff --git a/sp-server-impl/src/main/java/net/shibboleth/sp/impl/Main.java b/sp-server-impl/src/main/java/net/shibboleth/sp/impl/Main.java
index 7d898f8..4320989 100644
--- a/sp-server-impl/src/main/java/net/shibboleth/sp/impl/Main.java
+++ b/sp-server-impl/src/main/java/net/shibboleth/sp/impl/Main.java
@@ -18,7 +18,7 @@ import java.util.List;
 
 import org.springframework.context.support.GenericApplicationContext;
 
-import net.shibboleth.ext.spring.util.ApplicationContextBuilder;
+import net.shibboleth.shared.spring.util.ApplicationContextBuilder;
 import net.shibboleth.sp.spring.impl.PropertiesApplicationContextInitializer;
 
 /**
diff --git a/sp-server-impl/src/main/java/net/shibboleth/sp/remoting/impl/ReloadingEndpointManager.java b/sp-server-impl/src/main/java/net/shibboleth/sp/remoting/impl/ReloadingEndpointManager.java
index 8bbc1c3..3406649 100644
--- a/sp-server-impl/src/main/java/net/shibboleth/sp/remoting/impl/ReloadingEndpointManager.java
+++ b/sp-server-impl/src/main/java/net/shibboleth/sp/remoting/impl/ReloadingEndpointManager.java
@@ -19,17 +19,17 @@ package net.shibboleth.sp.remoting.impl;
 
 import javax.annotation.Nonnull;
 
-import net.shibboleth.ext.spring.service.AbstractServiceableComponent;
 import net.shibboleth.shared.annotation.ParameterName;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.service.ServiceableComponent;
+import net.shibboleth.shared.spring.service.AbstractServiceableComponent;
 import net.shibboleth.sp.remoting.Endpoint;
 import net.shibboleth.sp.remoting.EndpointManager;
 
 /**
- * This class wraps an {@link EndpointManager} in a
- * {@link net.shibboleth.utilities.java.support.service.ServiceableComponent}.
+ * This class wraps an {@link EndpointManager} in a {@link ServiceableComponent}.
  */
 public class ReloadingEndpointManager extends AbstractServiceableComponent<EndpointManager>
         implements EndpointManager {
diff --git a/sp-server-impl/src/main/java/net/shibboleth/sp/remoting/impl/RequestProcessor.java b/sp-server-impl/src/main/java/net/shibboleth/sp/remoting/impl/RequestProcessor.java
index 26e84bf..16bb398 100644
--- a/sp-server-impl/src/main/java/net/shibboleth/sp/remoting/impl/RequestProcessor.java
+++ b/sp-server-impl/src/main/java/net/shibboleth/sp/remoting/impl/RequestProcessor.java
@@ -33,14 +33,13 @@ import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
 import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.shared.component.ComponentSupport;
 import net.shibboleth.shared.logic.Constraint;
 import net.shibboleth.shared.net.IPRange;
+import net.shibboleth.shared.service.ReloadableService;
+import net.shibboleth.shared.service.ServiceableComponent;
 import net.shibboleth.sp.remoting.Endpoint;
 import net.shibboleth.sp.remoting.EndpointManager;
 import net.shibboleth.sp.ddf.DDF;
-import net.shibboleth.utilities.java.support.service.ReloadableService;
-import net.shibboleth.utilities.java.support.service.ServiceableComponent;
 
 /**
  * Core request processing service called by Spring Integration to handle requests.
@@ -64,7 +63,7 @@ public class RequestProcessor extends AbstractIdentifiableInitializableComponent
      * @param svc endpoint manager wrapped in a service component
      */
     public void setEndpointManager(@Nonnull final ReloadableService<EndpointManager> svc) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        checkSetterPreconditions();
         
         service = Constraint.isNotNull(svc, "EndpointManager service cannot be null");
     }
@@ -75,7 +74,7 @@ public class RequestProcessor extends AbstractIdentifiableInitializableComponent
      * @param ranges allowed ranges for client connection enforcement
      */
     public void setAllowedRanges(@Nullable @NonnullElements final Collection<IPRange> ranges) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        checkSetterPreconditions();
         
         if (ranges != null) {
             allowedRanges = List.copyOf(ranges);
@@ -106,7 +105,7 @@ public class RequestProcessor extends AbstractIdentifiableInitializableComponent
      * @throws RemoteProcessingException if an error is raised by the destination of the message 
      */
 	@Nonnull public DDF execute(@Nonnull final Message<DDF> message) throws RemoteProcessingException {
-        ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
+        checkComponentActive();
         
         final Object address = message.getHeaders().get(IpHeaders.IP_ADDRESS);
         if (address instanceof String) {
@@ -137,18 +136,12 @@ public class RequestProcessor extends AbstractIdentifiableInitializableComponent
 	    }
 	    
 	    final Endpoint endpoint;
-        ServiceableComponent<EndpointManager> component = null;
-        try {
-            component = service.getServiceableComponent();
+        try (final ServiceableComponent<EndpointManager> component = service.getServiceableComponent()) {
             if (null == component) {
                 log.error("Error accessing EndpointManager component: Invalid configuration");
                 throw new RemoteProcessingException("Error accessing EndpointManager component: Invalid configuration");
             }
             endpoint = component.getComponent().getEndpoint(input.name());
-        } finally {
-            if (null != component) {
-                component.unpinComponent();
-            }
         }
 	    
 	    if (endpoint == null) {
diff --git a/sp-server-impl/src/main/java/net/shibboleth/sp/spring/impl/PropertiesApplicationContextInitializer.java b/sp-server-impl/src/main/java/net/shibboleth/sp/spring/impl/PropertiesApplicationContextInitializer.java
index 9d19bb1..ab63b6b 100644
--- a/sp-server-impl/src/main/java/net/shibboleth/sp/spring/impl/PropertiesApplicationContextInitializer.java
+++ b/sp-server-impl/src/main/java/net/shibboleth/sp/spring/impl/PropertiesApplicationContextInitializer.java
@@ -18,8 +18,8 @@ import javax.annotation.Nonnull;
 
 import org.springframework.context.ConfigurableApplicationContext;
 
-import net.shibboleth.ext.spring.context.AbstractPropertiesApplicationContextInitializer;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.spring.context.AbstractPropertiesApplicationContextInitializer;
 
 /**
  * Specialization of context initializer for SP use.
diff --git a/sp-server-impl/src/test/java/net/shibboleth/sp/remoting/endpoint/impl/XMLParserTest.java b/sp-server-impl/src/test/java/net/shibboleth/sp/remoting/endpoint/impl/XMLParserTest.java
index d0a30dd..3d5f23e 100644
--- a/sp-server-impl/src/test/java/net/shibboleth/sp/remoting/endpoint/impl/XMLParserTest.java
+++ b/sp-server-impl/src/test/java/net/shibboleth/sp/remoting/endpoint/impl/XMLParserTest.java
@@ -53,6 +53,7 @@ public class XMLParserTest {
         parserPool.initialize();
         
         endpoint = new XMLParser();
+        endpoint.setId("test");
         endpoint.setParserPool(parserPool);
         endpoint.initialize();
     }

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


More information about the commits mailing list