[java-opensaml] branch main updated: IDP-1793 Use Suppliers for HttpRequest/Response

Rod Widdowson rdw at steadingsoftware.com
Mon Aug 15 15:30:29 UTC 2022


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

rdw pushed a commit to branch main
in repository java-opensaml.

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

The following commit(s) were added to refs/heads/main by this push:
     new 1daa91018 IDP-1793 Use Suppliers for HttpRequest/Response
1daa91018 is described below

commit 1daa910188dee83138fbf669c2abb03ed47b926a
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Mon Aug 15 16:25:39 2022 +0100

    IDP-1793 Use Suppliers for HttpRequest/Response
    
    https://shibboleth.atlassian.net/browse/IDP-1793
    
    Remove deprecated methods from classes/interfaces and default
    implementations from interfaces.
    
    Clean up two tests which were still using the deprecated setters.
---
 .../AbstractHttpServletRequestMessageDecoder.java  | 26 ------------
 .../servlet/HttpServletRequestMessageDecoder.java  | 11 +----
 .../AbstractHttpServletResponseMessageEncoder.java | 32 --------------
 .../servlet/HttpServletResponseMessageEncoder.java | 12 +-----
 .../profile/action/AbstractProfileAction.java      | 49 ----------------------
 .../saml2/profile/impl/ValidateAssertionsTest.java |  4 +-
 .../encoder/http/impl/HTTPSOAP11EncoderTest.java   | 15 +++----
 7 files changed, 12 insertions(+), 137 deletions(-)

diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/AbstractHttpServletRequestMessageDecoder.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/AbstractHttpServletRequestMessageDecoder.java
index a7efb2c74..e01533ceb 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/AbstractHttpServletRequestMessageDecoder.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/AbstractHttpServletRequestMessageDecoder.java
@@ -20,15 +20,9 @@ package org.opensaml.messaging.decoder.servlet;
 import java.util.function.Supplier;
 
 import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.net.ThreadLocalHttpServletRequestProxy;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
-
 
 import org.opensaml.messaging.decoder.AbstractMessageDecoder;
 import org.opensaml.messaging.decoder.MessageDecodingException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import jakarta.servlet.http.HttpServletRequest;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
@@ -39,9 +33,6 @@ import net.shibboleth.utilities.java.support.component.ComponentInitializationEx
 public abstract class AbstractHttpServletRequestMessageDecoder extends AbstractMessageDecoder
         implements HttpServletRequestMessageDecoder {
 
-    /** Logger. */
-    private final Logger log = LoggerFactory.getLogger(AbstractHttpServletRequestMessageDecoder.class);
-
     /** Current HTTP request, if available. */
     @Nullable private Supplier<HttpServletRequest> httpServletRequestSupplier;
 
@@ -63,23 +54,6 @@ public abstract class AbstractHttpServletRequestMessageDecoder extends AbstractM
         return httpServletRequestSupplier;
     }
 
-    /** {@inheritDoc} */
-    @Override
-    @Deprecated(since = "4.3", forRemoval = true)
-    public void setHttpServletRequest(@Nullable final HttpServletRequest request) {
-        checkSetterPreconditions();
-        DeprecationSupport.warnOnce(ObjectType.METHOD, "setHttpServletReqest",
-                getClass().getCanonicalName(), "setHttpServletRequestSupplier");
-        if (request != null && !(request instanceof ThreadLocalHttpServletRequestProxy)) {
-            log.warn("Unsafe HttpServletRequest injected");
-        }
-        httpServletRequestSupplier = new Supplier<>() {
-            public HttpServletRequest get() {
-                return request;
-            };
-        };
-    }
-
     /** {@inheritDoc} */
     @Override
     public void setHttpServletRequestSupplier(@Nullable final Supplier<HttpServletRequest> requestSupplier) {
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/HttpServletRequestMessageDecoder.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/HttpServletRequestMessageDecoder.java
index 07edbfbbf..d82baa18e 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/HttpServletRequestMessageDecoder.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/HttpServletRequestMessageDecoder.java
@@ -38,20 +38,11 @@ public interface HttpServletRequestMessageDecoder extends MessageDecoder {
      */
     @Nullable HttpServletRequest getHttpServletRequest();
     
-    /**
-     * Set the HTTP servlet request on which to operate.
-     *
-     * @param request the HTTP servlet request
-     */
-    @Deprecated(forRemoval = true, since="4.3")
-    void setHttpServletRequest(@Nullable final HttpServletRequest request);
     /**
      * Set the supplier for the HTTP servlet request on which to operate.
      *
      * @param requestSupplier the HTTP servlet request
      */
-    default void setHttpServletRequestSupplier(@Nullable final Supplier<HttpServletRequest> requestSupplier) {
-        setHttpServletRequest(requestSupplier.get());
-    }
+    void setHttpServletRequestSupplier(@Nullable final Supplier<HttpServletRequest> requestSupplier);
 }
 
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/AbstractHttpServletResponseMessageEncoder.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/AbstractHttpServletResponseMessageEncoder.java
index 7460040e3..e61fd17cd 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/AbstractHttpServletResponseMessageEncoder.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/AbstractHttpServletResponseMessageEncoder.java
@@ -22,14 +22,6 @@ import java.util.function.Supplier;
 import javax.annotation.Nullable;
 
 import org.opensaml.messaging.encoder.AbstractMessageEncoder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import net.shibboleth.utilities.java.support.net.ThreadLocalHttpServletResponseProxy;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
 
 import jakarta.servlet.http.HttpServletResponse;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
@@ -40,9 +32,6 @@ import net.shibboleth.utilities.java.support.component.ComponentInitializationEx
 public abstract class AbstractHttpServletResponseMessageEncoder extends AbstractMessageEncoder
         implements HttpServletResponseMessageEncoder {
 
-    /** Logger. */
-    private final Logger log = LoggerFactory.getLogger(AbstractHttpServletResponseMessageEncoder.class);
-
     /** Supplier for the Current HTTP servlet response, if available. */
     @Nullable private Supplier<HttpServletResponse> httpServletResponseSupplier;
 
@@ -61,8 +50,6 @@ public abstract class AbstractHttpServletResponseMessageEncoder extends Abstract
      */
     public synchronized void setHttpServletResponseSupplier(@Nullable final Supplier<HttpServletResponse> supplier) {
         checkSetterPreconditions();
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-
         httpServletResponseSupplier = supplier;
     }
 
@@ -75,25 +62,6 @@ public abstract class AbstractHttpServletResponseMessageEncoder extends Abstract
         return httpServletResponseSupplier;
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    @Deprecated(since = "4.3", forRemoval = true)
-    public synchronized void setHttpServletResponse(@Nullable final HttpServletResponse response) {
-        checkSetterPreconditions();
-
-        DeprecationSupport.warnOnce(ObjectType.METHOD, "setHttpServletResponse",
-                getClass().getCanonicalName(), "setHttpServletResponseSupplier");
-        if (response != null && !(response instanceof ThreadLocalHttpServletResponseProxy)) {
-            log.warn("Unsafe HttpServletRequest injected");
-        }
-        httpServletResponseSupplier = new Supplier<>() {
-            public HttpServletResponse get() {
-                return response;
-            };
-        };
-    }
-
     /** {@inheritDoc} */
     protected void doInitialize() throws ComponentInitializationException {
         super.doInitialize();
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/HttpServletResponseMessageEncoder.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/HttpServletResponseMessageEncoder.java
index 3fb5632b0..8a4475d15 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/HttpServletResponseMessageEncoder.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/HttpServletResponseMessageEncoder.java
@@ -37,22 +37,12 @@ public interface HttpServletResponseMessageEncoder extends MessageEncoder {
      */
     @Nullable HttpServletResponse getHttpServletResponse();
     
-    /**
-     * Set the Http servlet response on which to operate.
-     * 
-     * @param response the HTTP servlet response
-     */
-    @Deprecated(forRemoval = true, since="4.3")
-    void setHttpServletResponse(@Nullable final HttpServletResponse response);
-    
     /**
      * Set the supplier for the HTTP servlet response on which to operate.
      *
      * @param responseSupplier the supplier for the HTTP servlet response
      */
-    default void setHttpServletResponseSupplier(@Nullable final Supplier<HttpServletResponse> responseSupplier) {
-        setHttpServletResponse(responseSupplier.get());
-    }
+    void setHttpServletResponseSupplier(@Nullable final Supplier<HttpServletResponse> responseSupplier);
 
 }
 
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractProfileAction.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractProfileAction.java
index 8e13ea400..2eb862c3d 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractProfileAction.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractProfileAction.java
@@ -26,7 +26,6 @@ import org.opensaml.profile.context.EventContext;
 import org.opensaml.profile.context.MetricContext;
 import org.opensaml.profile.context.PreviousEventContext;
 import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import jakarta.servlet.http.HttpServletRequest;
@@ -34,10 +33,6 @@ import jakarta.servlet.http.HttpServletResponse;
 import net.shibboleth.utilities.java.support.annotation.Prototype;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
-import net.shibboleth.utilities.java.support.net.ThreadLocalHttpServletRequestProxy;
-import net.shibboleth.utilities.java.support.net.ThreadLocalHttpServletResponseProxy;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
 
 /**
  * Base class for profile actions.
@@ -47,9 +42,6 @@ import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.Object
 @Prototype
 public abstract class AbstractProfileAction extends AbstractInitializableComponent implements ProfileAction {
 
-    /** Logger. */
-    private final Logger log = LoggerFactory.getLogger(AbstractProfileAction.class);
-
     /** Cached log prefix. */
     @Nullable private String logPrefix;
     
@@ -80,26 +72,6 @@ public abstract class AbstractProfileAction extends AbstractInitializableCompone
         return httpServletRequestSupplier;
     }
 
-    /**
-     * Set the current HTTP request.
-     *
-     * @param request current HTTP request
-     */
-    @Deprecated(since = "4.3", forRemoval = true)
-    public void setHttpServletRequest(@Nullable final HttpServletRequest request) {
-        checkSetterPreconditions();
-        DeprecationSupport.warnOnce(ObjectType.METHOD, "setHttpServletReqest",
-                getLogPrefix(), "setHttpServletRequestSupplier");
-        if (request != null && !(request instanceof ThreadLocalHttpServletRequestProxy)) {
-            log.warn("Unsafe HttpServletRequest injected");
-        }
-        httpServletRequestSupplier = new Supplier<>() {
-            public HttpServletRequest get() {
-                return request;
-            };
-        };
-    }
-
     /**
      * Set the current HTTP request Supplier.
      *
@@ -131,27 +103,6 @@ public abstract class AbstractProfileAction extends AbstractInitializableCompone
         return httpServletResponseSupplier;
     }
 
-    /**
-     * Set the current HTTP response.
-     *
-     * @param response current HTTP response
-     */
-    @Deprecated(since = "4.3", forRemoval = true)
-    public void setHttpServletResponse(@Nullable final HttpServletResponse response) {
-        checkSetterPreconditions();
-
-        DeprecationSupport.warnOnce(ObjectType.METHOD, "setHttpServletResponse",
-                getLogPrefix(), "setHttpServletResponseSupplier");
-        if (response != null && !(response instanceof ThreadLocalHttpServletResponseProxy)) {
-            log.warn("Unsafe HttpServletRequest injected");
-        }
-        httpServletResponseSupplier = new Supplier<>() {
-            public HttpServletResponse get() {
-                return response;
-            };
-        };
-    }
-
     /**
      * Set the supplier of the current HTTP response.
      *
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/ValidateAssertionsTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/ValidateAssertionsTest.java
index 9ff38706a..6a562fdca 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/ValidateAssertionsTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/ValidateAssertionsTest.java
@@ -66,7 +66,7 @@ public class ValidateAssertionsTest extends OpenSAMLInitBaseTestCase {
         resultsMap = new HashMap<>();
         
         action = new ValidateAssertions();
-        action.setHttpServletRequest(httpRequest);
+        action.setHttpServletRequestSupplier(new Supplier<>() { public MockHttpServletRequest get() {return httpRequest;}}); 
         action.setHttpServletResponseSupplier(new Supplier<> () {public HttpServletResponse get() { return httpResponse;}});
         action.setValidationContextBuilder(new MockAssertionValidationContextBuilder());
         action.setAssertionValidator(new MockAssertionValidator(resultsMap));
@@ -295,7 +295,7 @@ public class ValidateAssertionsTest extends OpenSAMLInitBaseTestCase {
 
     @Test(expectedExceptions = ComponentInitializationException.class)
     public void testNoHttpRequest() throws ComponentInitializationException {
-        action.setHttpServletRequest(null);
+        action.setHttpServletRequestSupplier(null);
         
         action.initialize();
     }
diff --git a/opensaml-soap-impl/src/test/java/org/opensaml/soap/soap11/encoder/http/impl/HTTPSOAP11EncoderTest.java b/opensaml-soap-impl/src/test/java/org/opensaml/soap/soap11/encoder/http/impl/HTTPSOAP11EncoderTest.java
index 59004e2a7..373548e4b 100644
--- a/opensaml-soap-impl/src/test/java/org/opensaml/soap/soap11/encoder/http/impl/HTTPSOAP11EncoderTest.java
+++ b/opensaml-soap-impl/src/test/java/org/opensaml/soap/soap11/encoder/http/impl/HTTPSOAP11EncoderTest.java
@@ -20,6 +20,7 @@ package org.opensaml.soap.soap11.encoder.http.impl;
 import java.io.ByteArrayInputStream;
 import java.io.UnsupportedEncodingException;
 import java.util.List;
+import java.util.function.Supplier;
 
 import org.opensaml.core.testing.XMLObjectBaseTestCase;
 import org.opensaml.core.xml.XMLObject;
@@ -82,7 +83,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         
         HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponse(response);
+        encoder.setHttpServletResponseSupplier(new Supplier<>() {public MockHttpServletResponse get() { return response;}} );
         
         encoder.initialize();
         encoder.prepareContext();
@@ -138,7 +139,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         
         HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponse(response);
+        encoder.setHttpServletResponseSupplier(new Supplier<>() {public MockHttpServletResponse get() { return response;}} );
         
         encoder.initialize();
         encoder.prepareContext();
@@ -201,7 +202,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         
         HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponse(response);
+        encoder.setHttpServletResponseSupplier(new Supplier<>() {public MockHttpServletResponse get() { return response;}} );
         
         encoder.initialize();
         encoder.prepareContext();
@@ -265,7 +266,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         
         HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponse(response);
+        encoder.setHttpServletResponseSupplier(new Supplier<>() {public MockHttpServletResponse get() { return response;}} );
         
         encoder.initialize();
         encoder.prepareContext();
@@ -298,7 +299,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         
         HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponse(response);
+        encoder.setHttpServletResponseSupplier(new Supplier<>() {public MockHttpServletResponse get() { return response;}} );
         
         encoder.initialize();
         encoder.prepareContext();
@@ -349,7 +350,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         
         HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponse(response);
+        encoder.setHttpServletResponseSupplier(new Supplier<>() {public MockHttpServletResponse get() { return response;}} );
         
         encoder.initialize();
         encoder.prepareContext();
@@ -385,7 +386,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         
         HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponse(response);
+        encoder.setHttpServletResponseSupplier(new Supplier<>() {public MockHttpServletResponse get() { return response;}} );
         
         encoder.initialize();
         encoder.prepareContext();

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


More information about the commits mailing list