[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