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

Rod Widdowson rdw at steadingsoftware.com
Sun Nov 20 14:49:02 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=fcd919fc01b5d0ab4e99a4050a9e840546358033

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

commit fcd919fc01b5d0ab4e99a4050a9e840546358033
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sun Nov 20 14:22:09 2022 +0000

    IDP-1793 Use Suppliers for HttpRequest/Response
    
    https://shibboleth.atlassian.net/browse/IDP-1793
    
    Use the new NonNullSupplier interface for our
    HttpServletXyz objects.
---
 .../AbstractHttpServletRequestMessageDecoder.java        |  9 ++++-----
 .../servlet/HttpServletRequestMessageDecoder.java        |  5 ++---
 .../AbstractHttpServletResponseMessageEncoder.java       |  9 ++++-----
 .../servlet/HttpServletResponseMessageEncoder.java       |  5 ++---
 .../opensaml/profile/action/AbstractProfileAction.java   | 15 +++++++--------
 .../impl/BaseSAMLSimpleSignatureSecurityHandler.java     |  8 ++++----
 .../security/impl/ReceivedEndpointSecurityHandler.java   |  9 ++++-----
 .../WSSecuritySAML20AssertionTokenSecurityHandler.java   |  8 ++++----
 .../impl/ReceivedEndpointSecurityHandlerTest.java        | 10 +++++-----
 .../impl/SAMLMDClientCertAuthSecurityHandlerTest.java    |  6 +++---
 .../saml1/binding/decoding/impl/HTTPPostDecoderTest.java | 14 +++++++-------
 .../binding/decoding/impl/HTTPSOAP11DecoderTest.java     | 11 +++++------
 .../saml1/binding/encoding/impl/HTTPPostEncoderTest.java |  4 ++--
 .../binding/encoding/impl/HTTPSOAP11EncoderTest.java     |  4 ++--
 .../saml2/binding/decoding/impl/HTTPPostDecoderTest.java | 11 +++++------
 .../decoding/impl/HTTPRedirectDeflateDecoderTest.java    |  4 ++--
 .../binding/decoding/impl/HTTPSOAP11DecoderTest.java     |  5 ++---
 .../saml2/binding/encoding/impl/HTTPPostEncoderTest.java |  6 +++---
 .../encoding/impl/HTTPPostSimpleSignEncoderTest.java     |  8 ++++----
 .../encoding/impl/HTTPRedirectDeflateEncoderTest.java    | 14 +++++++-------
 .../binding/encoding/impl/HTTPSOAP11EncoderTest.java     |  4 ++--
 .../impl/SAML2HTTPPostSimpleSignSecurityHandlerTest.java |  6 +++---
 ...2HTTPRedirectDeflateSignatureSecurityHandlerTest.java |  6 +++---
 .../impl/AddSubjectConfirmationToSubjectsTest.java       | 14 ++++++--------
 .../saml/saml2/profile/impl/ValidateAssertionsTest.java  | 12 ++++++------
 ...SSecuritySAML20AssertionTokenSecurityHandlerTest.java |  6 +++---
 .../impl/BaseClientCertAuthSecurityHandler.java          |  8 ++++----
 .../soap11/decoder/http/impl/HTTPSOAP11DecoderTest.java  |  4 ++--
 .../soap11/encoder/http/impl/HTTPSOAP11EncoderTest.java  | 16 ++++++++--------
 .../storage/impl/client/ClientStorageService.java        |  6 +++---
 30 files changed, 118 insertions(+), 129 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 043aa97e9..9c0394766 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
@@ -17,8 +17,6 @@
 
 package org.opensaml.messaging.decoder.servlet;
 
-import java.util.function.Supplier;
-
 import javax.annotation.Nullable;
 
 import org.opensaml.messaging.decoder.AbstractMessageDecoder;
@@ -26,6 +24,7 @@ import org.opensaml.messaging.decoder.MessageDecodingException;
 
 import jakarta.servlet.http.HttpServletRequest;
 import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 
 /**
  * Abstract implementation of {@link HttpServletRequestMessageDecoder}.
@@ -34,7 +33,7 @@ public abstract class AbstractHttpServletRequestMessageDecoder extends AbstractM
         implements HttpServletRequestMessageDecoder {
 
     /** Current HTTP request, if available. */
-    @Nullable private Supplier<HttpServletRequest> httpServletRequestSupplier;
+    @Nullable private NonNullSupplier<HttpServletRequest> httpServletRequestSupplier;
 
     /** {@inheritDoc} */
     @Override
@@ -50,13 +49,13 @@ public abstract class AbstractHttpServletRequestMessageDecoder extends AbstractM
      *
      * @return current HTTP request
      */
-    @Nullable public Supplier<HttpServletRequest> getHttpServletRequestSupplier() {
+    @Nullable public NonNullSupplier<HttpServletRequest> getHttpServletRequestSupplier() {
         return httpServletRequestSupplier;
     }
 
     /** {@inheritDoc} */
     @Override
-    public void setHttpServletRequestSupplier(@Nullable final Supplier<HttpServletRequest> requestSupplier) {
+    public void setHttpServletRequestSupplier(@Nullable final NonNullSupplier<HttpServletRequest> requestSupplier) {
         checkSetterPreconditions();
 
         httpServletRequestSupplier = 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 d82baa18e..bee4f456b 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
@@ -17,13 +17,12 @@
 
 package org.opensaml.messaging.decoder.servlet;
 
-import java.util.function.Supplier;
-
 import javax.annotation.Nullable;
 
 import org.opensaml.messaging.decoder.MessageDecoder;
 
 import jakarta.servlet.http.HttpServletRequest;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 
 
 /**
@@ -43,6 +42,6 @@ public interface HttpServletRequestMessageDecoder extends MessageDecoder {
      *
      * @param requestSupplier the HTTP servlet request
      */
-    void setHttpServletRequestSupplier(@Nullable final Supplier<HttpServletRequest> requestSupplier);
+    void setHttpServletRequestSupplier(@Nullable final NonNullSupplier<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 434278dfb..80c43ac19 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
@@ -17,14 +17,13 @@
 
 package org.opensaml.messaging.encoder.servlet;
 
-import java.util.function.Supplier;
-
 import javax.annotation.Nullable;
 
 import org.opensaml.messaging.encoder.AbstractMessageEncoder;
 
 import jakarta.servlet.http.HttpServletResponse;
 import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 
 /**
  * Abstract implementation of {@link HttpServletResponseMessageEncoder}.
@@ -33,7 +32,7 @@ public abstract class AbstractHttpServletResponseMessageEncoder extends Abstract
         implements HttpServletResponseMessageEncoder {
 
     /** Supplier for the Current HTTP servlet response, if available. */
-    @Nullable private Supplier<HttpServletResponse> httpServletResponseSupplier;
+    @Nullable private NonNullSupplier<HttpServletResponse> httpServletResponseSupplier;
 
     /**
      * {@inheritDoc}
@@ -48,7 +47,7 @@ public abstract class AbstractHttpServletResponseMessageEncoder extends Abstract
     /**
      * {@inheritDoc}
      */
-    public synchronized void setHttpServletResponseSupplier(@Nullable final Supplier<HttpServletResponse> supplier) {
+    public synchronized void setHttpServletResponseSupplier(@Nullable final NonNullSupplier<HttpServletResponse> supplier) {
         checkSetterPreconditions();
         httpServletResponseSupplier = supplier;
     }
@@ -58,7 +57,7 @@ public abstract class AbstractHttpServletResponseMessageEncoder extends Abstract
      *
      * @return the supplier for the current HTTP response or null
      */
-    @Nullable public Supplier<HttpServletResponse> getHttpServletResponseSupplier() {
+    @Nullable public NonNullSupplier<HttpServletResponse> getHttpServletResponseSupplier() {
         return httpServletResponseSupplier;
     }
 
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 8a4475d15..d208ce8a9 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
@@ -17,13 +17,12 @@
 
 package org.opensaml.messaging.encoder.servlet;
 
-import java.util.function.Supplier;
-
 import javax.annotation.Nullable;
 
 import org.opensaml.messaging.encoder.MessageEncoder;
 
 import jakarta.servlet.http.HttpServletResponse;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 
 /**
  * A specialization of {@link MessageEncoder} that operates on a sink message data type of {@link HttpServletResponse}.
@@ -42,7 +41,7 @@ public interface HttpServletResponseMessageEncoder extends MessageEncoder {
      *
      * @param responseSupplier the supplier for the HTTP servlet response
      */
-    void setHttpServletResponseSupplier(@Nullable final Supplier<HttpServletResponse> responseSupplier);
+    void setHttpServletResponseSupplier(@Nullable final NonNullSupplier<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 1db78df2c..7c9b49f59 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
@@ -17,8 +17,6 @@
 
 package org.opensaml.profile.action;
 
-import java.util.function.Supplier;
-
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
@@ -33,6 +31,7 @@ import jakarta.servlet.http.HttpServletResponse;
 import net.shibboleth.shared.annotation.Prototype;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.component.AbstractInitializableComponent;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 
 /**
  * Base class for profile actions.
@@ -46,10 +45,10 @@ public abstract class AbstractProfileAction extends AbstractInitializableCompone
     @Nullable private String logPrefix;
     
     /** Supplier for the Current HTTP request, if available. */
-    @Nullable private Supplier<HttpServletRequest> httpServletRequestSupplier;
+    @Nullable private NonNullSupplier<HttpServletRequest> httpServletRequestSupplier;
 
     /** Current HTTP response, if available. */
-    @Nullable private  Supplier<HttpServletResponse> httpServletResponseSupplier;
+    @Nullable private  NonNullSupplier<HttpServletResponse> httpServletResponseSupplier;
 
     /**
      * Get the current HTTP request if available.
@@ -68,7 +67,7 @@ public abstract class AbstractProfileAction extends AbstractInitializableCompone
      *
      * @return current HTTP request
      */
-    @Nullable public Supplier<HttpServletRequest> getHttpServletRequestSupplier() {
+    @Nullable public NonNullSupplier<HttpServletRequest> getHttpServletRequestSupplier() {
         return httpServletRequestSupplier;
     }
 
@@ -77,7 +76,7 @@ public abstract class AbstractProfileAction extends AbstractInitializableCompone
      *
      * @param requestSupplier Supplier for the current HTTP request
      */
-    public void setHttpServletRequestSupplier(@Nullable final Supplier<HttpServletRequest> requestSupplier) {
+    public void setHttpServletRequestSupplier(@Nullable final NonNullSupplier<HttpServletRequest> requestSupplier) {
         checkSetterPreconditions();
         httpServletRequestSupplier = requestSupplier;
     }
@@ -99,7 +98,7 @@ public abstract class AbstractProfileAction extends AbstractInitializableCompone
      *
      * @return current HTTP response supplier or null
      */
-    @Nullable public Supplier<HttpServletResponse> getHttpServletResponseSupplier() {
+    @Nullable public NonNullSupplier<HttpServletResponse> getHttpServletResponseSupplier() {
         return httpServletResponseSupplier;
     }
 
@@ -108,7 +107,7 @@ public abstract class AbstractProfileAction extends AbstractInitializableCompone
      *
      * @param supplier what to set
      */
-    public void setHttpServletResponseSupplier(@Nullable final Supplier<HttpServletResponse> supplier) {
+    public void setHttpServletResponseSupplier(@Nullable final NonNullSupplier<HttpServletResponse> supplier) {
         checkSetterPreconditions();
 
         httpServletResponseSupplier = supplier;
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/BaseSAMLSimpleSignatureSecurityHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/BaseSAMLSimpleSignatureSecurityHandler.java
index 05dd1ffa8..621d71e78 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/BaseSAMLSimpleSignatureSecurityHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/BaseSAMLSimpleSignatureSecurityHandler.java
@@ -19,7 +19,6 @@ package org.opensaml.saml.common.binding.security.impl;
 
 import java.util.Collections;
 import java.util.List;
-import java.util.function.Supplier;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
@@ -51,6 +50,7 @@ import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.codec.Base64Support;
 import net.shibboleth.shared.codec.DecodingException;
 import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 import net.shibboleth.shared.resolver.CriteriaSet;
 
 /**
@@ -63,7 +63,7 @@ public abstract class BaseSAMLSimpleSignatureSecurityHandler extends AbstractMes
     @Nonnull private final Logger log = LoggerFactory.getLogger(BaseSAMLSimpleSignatureSecurityHandler.class);
 
     /** The HttpServletRequest being processed. */
-    @NonnullAfterInit private Supplier<HttpServletRequest> httpServletRequestSupplier;
+    @NonnullAfterInit private NonNullSupplier<HttpServletRequest> httpServletRequestSupplier;
     
     /** The context representing the SAML peer entity. */
     @Nullable private SAMLPeerEntityContext peerContext;
@@ -100,7 +100,7 @@ public abstract class BaseSAMLSimpleSignatureSecurityHandler extends AbstractMes
      *
      * @return current HTTP request
      */
-    @Nullable public Supplier<HttpServletRequest> getHttpServletRequestSupplier() {
+    @Nullable public NonNullSupplier<HttpServletRequest> getHttpServletRequestSupplier() {
         return httpServletRequestSupplier;
     }
 
@@ -109,7 +109,7 @@ public abstract class BaseSAMLSimpleSignatureSecurityHandler extends AbstractMes
      *
      * @param requestSupplier Supplier for the current HTTP request
      */
-    public void setHttpServletRequestSupplier(@Nullable final Supplier<HttpServletRequest> requestSupplier) {
+    public void setHttpServletRequestSupplier(@Nullable final NonNullSupplier<HttpServletRequest> requestSupplier) {
         checkSetterPreconditions();
 
         httpServletRequestSupplier = requestSupplier;
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/ReceivedEndpointSecurityHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/ReceivedEndpointSecurityHandler.java
index cb72c8c00..c74a50859 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/ReceivedEndpointSecurityHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/ReceivedEndpointSecurityHandler.java
@@ -17,8 +17,6 @@
 
 package org.opensaml.saml.common.binding.security.impl;
 
-import java.util.function.Supplier;
-
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
@@ -38,6 +36,7 @@ import net.shibboleth.shared.logic.Constraint;
 import net.shibboleth.shared.net.URIComparator;
 import net.shibboleth.shared.net.URIException;
 import net.shibboleth.shared.net.impl.BasicURLComparator;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 import net.shibboleth.shared.primitive.StringSupport;
 
 /**
@@ -53,7 +52,7 @@ public class ReceivedEndpointSecurityHandler extends AbstractMessageHandler {
     @Nonnull private URIComparator uriComparator;
     
     /** The HttpServletRequest being processed. */
-    @NonnullAfterInit private Supplier<HttpServletRequest> httpServletRequestSupplier;
+    @NonnullAfterInit private NonNullSupplier<HttpServletRequest> httpServletRequestSupplier;
 
     /** Constructor. */
     public ReceivedEndpointSecurityHandler() {
@@ -97,7 +96,7 @@ public class ReceivedEndpointSecurityHandler extends AbstractMessageHandler {
      *
      * @return current HTTP request
      */
-    @NonnullAfterInit public Supplier<HttpServletRequest> getHttpServletRequestSupplier() {
+    @NonnullAfterInit public NonNullSupplier<HttpServletRequest> getHttpServletRequestSupplier() {
         return httpServletRequestSupplier;
     }
 
@@ -106,7 +105,7 @@ public class ReceivedEndpointSecurityHandler extends AbstractMessageHandler {
      *
      * @param requestSupplier Supplier for the current HTTP request
      */
-    public void setHttpServletRequestSupplier(@Nullable final Supplier<HttpServletRequest> requestSupplier) {
+    public void setHttpServletRequestSupplier(@Nullable final NonNullSupplier<HttpServletRequest> requestSupplier) {
         checkSetterPreconditions();
 
         httpServletRequestSupplier = requestSupplier;
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandler.java
index 3f6b0b64e..23c5ffa9c 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandler.java
@@ -20,7 +20,6 @@ package org.opensaml.saml.saml2.wssecurity.messaging.impl;
 import java.util.Collections;
 import java.util.List;
 import java.util.function.Function;
-import java.util.function.Supplier;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
@@ -54,6 +53,7 @@ import net.shibboleth.shared.collection.LazyList;
 import net.shibboleth.shared.collection.Pair;
 import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 
 /**
  * A security handler which resolves SAML 2.0 Assertion tokens from a SOAP envelope's
@@ -66,7 +66,7 @@ public class WSSecuritySAML20AssertionTokenSecurityHandler extends AbstractMessa
     @Nonnull private final Logger log = LoggerFactory.getLogger(WSSecuritySAML20AssertionTokenSecurityHandler.class);
     
     /** Supplier for the Current HTTP request, if available. */
-    @Nullable private Supplier<HttpServletRequest> httpServletRequestSupplier;
+    @Nullable private NonNullSupplier<HttpServletRequest> httpServletRequestSupplier;
     
     /** Flag which indicates whether a failure of Assertion validation should be considered fatal. */
     private boolean invalidFatal;
@@ -136,7 +136,7 @@ public class WSSecuritySAML20AssertionTokenSecurityHandler extends AbstractMessa
      *
      * @return current HTTP request
      */
-    @Nullable public Supplier<HttpServletRequest> getHttpServletRequestSupplier() {
+    @Nullable public NonNullSupplier<HttpServletRequest> getHttpServletRequestSupplier() {
         return httpServletRequestSupplier;
     }
 
@@ -145,7 +145,7 @@ public class WSSecuritySAML20AssertionTokenSecurityHandler extends AbstractMessa
      *
      * @param requestSupplier Supplier for the current HTTP request
      */
-    public void setHttpServletRequestSupplier(@Nullable final Supplier<HttpServletRequest> requestSupplier) {
+    public void setHttpServletRequestSupplier(@Nullable final NonNullSupplier<HttpServletRequest> requestSupplier) {
         checkSetterPreconditions();
 
         httpServletRequestSupplier = requestSupplier;
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/security/impl/ReceivedEndpointSecurityHandlerTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/security/impl/ReceivedEndpointSecurityHandlerTest.java
index 78ac1f350..e7a2037c3 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/security/impl/ReceivedEndpointSecurityHandlerTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/security/impl/ReceivedEndpointSecurityHandlerTest.java
@@ -19,10 +19,6 @@ package org.opensaml.saml.common.binding.security.impl;
 
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.function.Supplier;
-
-import jakarta.servlet.http.HttpServletRequest;
-import net.shibboleth.shared.component.ComponentInitializationException;
 
 import org.opensaml.core.testing.XMLObjectBaseTestCase;
 import org.opensaml.messaging.MessageException;
@@ -37,6 +33,10 @@ import org.testng.Assert;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
+import jakarta.servlet.http.HttpServletRequest;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.NonNullSupplier;
+
 /**
  * Test the received endpoint check message handler.
  */
@@ -67,7 +67,7 @@ public class ReceivedEndpointSecurityHandlerTest extends XMLObjectBaseTestCase {
         intendedDestinationUri = SAMLBindingSupport.getIntendedDestinationEndpointURI(messageContext);
         
         handler = new ReceivedEndpointSecurityHandler();
-        handler.setHttpServletRequestSupplier(new Supplier<>() { public HttpServletRequest get() {return httpRequest;}});
+        handler.setHttpServletRequestSupplier(new NonNullSupplier<>() { public HttpServletRequest get() {return httpRequest;}});
         handler.initialize();
     }
     
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/security/impl/SAMLMDClientCertAuthSecurityHandlerTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/security/impl/SAMLMDClientCertAuthSecurityHandlerTest.java
index 93222ebc0..99d7563c5 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/security/impl/SAMLMDClientCertAuthSecurityHandlerTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/security/impl/SAMLMDClientCertAuthSecurityHandlerTest.java
@@ -21,7 +21,6 @@ import java.security.cert.X509Certificate;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
-import java.util.function.Supplier;
 
 import org.opensaml.core.testing.XMLObjectBaseTestCase;
 import org.opensaml.messaging.context.MessageContext;
@@ -52,6 +51,7 @@ import org.testng.annotations.Test;
 
 import jakarta.servlet.http.HttpServletRequest;
 import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 
 
 /**
@@ -160,7 +160,7 @@ public class SAMLMDClientCertAuthSecurityHandlerTest extends XMLObjectBaseTestCa
         params.setCertificateNameOptions(nameOptions);
         
         handler = new SAMLMDClientCertAuthSecurityHandler();
-        handler.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() {return request;}});
+        handler.setHttpServletRequestSupplier(new NonNullSupplier<>() {public HttpServletRequest get() {return request;}});
         handler.initialize();
         
         messageContext = new MessageContext();
@@ -201,7 +201,7 @@ public class SAMLMDClientCertAuthSecurityHandlerTest extends XMLObjectBaseTestCa
         
         handler = new SAMLMDClientCertAuthSecurityHandler();
         handler.setEntityContextClass(SAMLPresenterEntityContext.class);
-        handler.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() {return request;}});
+        handler.setHttpServletRequestSupplier(new NonNullSupplier<>() {public HttpServletRequest get() {return request;}});
         handler.initialize();
         
         messageContext.removeSubcontext(SAMLPeerEntityContext.class);
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPPostDecoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPPostDecoderTest.java
index 891e8fc80..bfa7d89b6 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPPostDecoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPPostDecoderTest.java
@@ -19,12 +19,6 @@ package org.opensaml.saml.saml1.binding.decoding.impl;
 
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.function.Supplier;
-
-import jakarta.servlet.http.HttpServletRequest;
-import net.shibboleth.shared.codec.Base64Support;
-import net.shibboleth.shared.codec.DecodingException;
-import net.shibboleth.shared.xml.SerializeSupport;
 
 import org.opensaml.core.testing.XMLObjectBaseTestCase;
 import org.opensaml.messaging.context.MessageContext;
@@ -37,6 +31,12 @@ import org.testng.Assert;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
+import jakarta.servlet.http.HttpServletRequest;
+import net.shibboleth.shared.codec.Base64Support;
+import net.shibboleth.shared.codec.DecodingException;
+import net.shibboleth.shared.primitive.NonNullSupplier;
+import net.shibboleth.shared.xml.SerializeSupport;
+
 /**
  * Test case for SAML 1 HTTP POST decoding.
  */
@@ -59,7 +59,7 @@ public class HTTPPostDecoderTest extends XMLObjectBaseTestCase {
 
         decoder = new HTTPPostDecoder();
         decoder.setParserPool(parserPool);
-        decoder.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() { return httpRequest;}});
+        decoder.setHttpServletRequestSupplier(new NonNullSupplier<>() {public HttpServletRequest get() { return httpRequest;}});
         decoder.initialize();
     }
 
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPSOAP11DecoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPSOAP11DecoderTest.java
index bea0a5494..03eddbc2b 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPSOAP11DecoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPSOAP11DecoderTest.java
@@ -17,11 +17,6 @@
 
 package org.opensaml.saml.saml1.binding.decoding.impl;
 
-import java.util.function.Supplier;
-
-import jakarta.servlet.http.HttpServletRequest;
-import net.shibboleth.shared.xml.SerializeSupport;
-
 import org.opensaml.core.testing.XMLObjectBaseTestCase;
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.io.MarshallingException;
@@ -33,6 +28,10 @@ import org.testng.Assert;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
+import jakarta.servlet.http.HttpServletRequest;
+import net.shibboleth.shared.primitive.NonNullSupplier;
+import net.shibboleth.shared.xml.SerializeSupport;
+
 /**
  * Test case for SAML 1.X HTTP SOAP 1.1 message decoder.
  */
@@ -50,7 +49,7 @@ public class HTTPSOAP11DecoderTest extends XMLObjectBaseTestCase {
         
         decoder = new HTTPSOAP11Decoder();
         decoder.setParserPool(parserPool);
-        decoder.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() { return httpRequest;}});
+        decoder.setHttpServletRequestSupplier(new NonNullSupplier<>() {public HttpServletRequest get() { return httpRequest;}});
         decoder.initialize();
     }
 
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPPostEncoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPPostEncoderTest.java
index 28f6044ba..d19d8aa67 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPPostEncoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPPostEncoderTest.java
@@ -20,7 +20,6 @@ package org.opensaml.saml.saml1.binding.encoding.impl;
 import java.io.ByteArrayInputStream;
 import java.time.Instant;
 import java.util.List;
-import java.util.function.Supplier;
 
 import org.apache.velocity.app.VelocityEngine;
 import org.apache.velocity.runtime.RuntimeConstants;
@@ -49,6 +48,7 @@ import org.testng.annotations.Test;
 
 import jakarta.servlet.http.HttpServletResponse;
 import net.shibboleth.shared.codec.Base64Support;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 
 /**
  * Test class for SAML 1 HTTP Post encoding.
@@ -96,7 +96,7 @@ public class HTTPPostEncoderTest extends XMLObjectBaseTestCase {
         
         HTTPPostEncoder encoder = new HTTPPostEncoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public HttpServletResponse get() {return response;}});
         
         encoder.setVelocityEngine(velocityEngine);
 
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPSOAP11EncoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPSOAP11EncoderTest.java
index 3720778ad..7c13c074e 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPSOAP11EncoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPSOAP11EncoderTest.java
@@ -19,7 +19,6 @@ package org.opensaml.saml.saml1.binding.encoding.impl;
 
 import java.io.ByteArrayInputStream;
 import java.time.Instant;
-import java.util.function.Supplier;
 
 import org.opensaml.core.testing.XMLObjectBaseTestCase;
 import org.opensaml.core.xml.XMLObject;
@@ -39,6 +38,7 @@ import org.testng.Assert;
 import org.testng.annotations.Test;
 
 import jakarta.servlet.http.HttpServletResponse;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 
 /**
  * Test case for SAML 1.X HTTP SOAP 1.1 binding encoding.
@@ -76,7 +76,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         
         HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public HttpServletResponse get() {return response;}});
         
         encoder.initialize();
         encoder.prepareContext();
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPPostDecoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPPostDecoderTest.java
index 316ce59b8..ccb8f2431 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPPostDecoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPPostDecoderTest.java
@@ -17,11 +17,6 @@
 
 package org.opensaml.saml.saml2.binding.decoding.impl;
 
-import java.util.function.Supplier;
-
-import jakarta.servlet.http.HttpServletRequest;
-import net.shibboleth.shared.codec.DecodingException;
-
 import org.opensaml.core.testing.XMLObjectBaseTestCase;
 import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.messaging.decoder.MessageDecodingException;
@@ -33,6 +28,10 @@ import org.testng.Assert;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
+import jakarta.servlet.http.HttpServletRequest;
+import net.shibboleth.shared.codec.DecodingException;
+import net.shibboleth.shared.primitive.NonNullSupplier;
+
 /**
  * Test case for HTTP POST decoders.
  */
@@ -55,7 +54,7 @@ public class HTTPPostDecoderTest extends XMLObjectBaseTestCase {
         
         decoder = new HTTPPostDecoder();
         decoder.setParserPool(parserPool);
-        decoder.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() { return httpRequest;}});
+        decoder.setHttpServletRequestSupplier(new NonNullSupplier<>() {public HttpServletRequest get() { return httpRequest;}});
         decoder.initialize();
     }
 
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPRedirectDeflateDecoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPRedirectDeflateDecoderTest.java
index c62df6c6a..9a3cb116e 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPRedirectDeflateDecoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPRedirectDeflateDecoderTest.java
@@ -21,7 +21,6 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.function.Supplier;
 import java.util.zip.Deflater;
 import java.util.zip.DeflaterOutputStream;
 
@@ -43,6 +42,7 @@ import org.testng.annotations.Test;
 import jakarta.servlet.http.HttpServletRequest;
 import net.shibboleth.shared.codec.Base64Support;
 import net.shibboleth.shared.codec.EncodingException;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 import net.shibboleth.shared.xml.SerializeSupport;
 
 /**
@@ -67,7 +67,7 @@ public class HTTPRedirectDeflateDecoderTest extends XMLObjectBaseTestCase {
 
         decoder = new HTTPRedirectDeflateDecoder();
         decoder.setParserPool(parserPool);
-        decoder.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() { return httpRequest;}});
+        decoder.setHttpServletRequestSupplier(new NonNullSupplier<>() {public HttpServletRequest get() { return httpRequest;}});
         decoder.initialize();
     }      
 
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPSOAP11DecoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPSOAP11DecoderTest.java
index 05e34ea50..6a76b2acc 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPSOAP11DecoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPSOAP11DecoderTest.java
@@ -17,8 +17,6 @@
 
 package org.opensaml.saml.saml2.binding.decoding.impl;
 
-import java.util.function.Supplier;
-
 import org.opensaml.core.testing.XMLObjectBaseTestCase;
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.io.MarshallingException;
@@ -31,6 +29,7 @@ import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 import jakarta.servlet.http.HttpServletRequest;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 import net.shibboleth.shared.xml.SerializeSupport;
 
 /**
@@ -50,7 +49,7 @@ public class HTTPSOAP11DecoderTest extends XMLObjectBaseTestCase {
         
         decoder = new HTTPSOAP11Decoder();
         decoder.setParserPool(parserPool);
-        decoder.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() { return httpRequest;}});
+        decoder.setHttpServletRequestSupplier(new NonNullSupplier<>() {public HttpServletRequest get() { return httpRequest;}});
         decoder.initialize();
     }
 
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPPostEncoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPPostEncoderTest.java
index c724eb16d..7a102d3ae 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPPostEncoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPPostEncoderTest.java
@@ -20,7 +20,6 @@ package org.opensaml.saml.saml2.binding.encoding.impl;
 import java.io.ByteArrayInputStream;
 import java.time.Instant;
 import java.util.List;
-import java.util.function.Supplier;
 
 import org.apache.velocity.app.VelocityEngine;
 import org.apache.velocity.runtime.RuntimeConstants;
@@ -52,6 +51,7 @@ import org.testng.annotations.Test;
 
 import jakarta.servlet.http.HttpServletResponse;
 import net.shibboleth.shared.codec.Base64Support;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 
 /**
  * Test case for {@link HTTPPostEncoder}.
@@ -116,7 +116,7 @@ public class HTTPPostEncoderTest extends XMLObjectBaseTestCase {
         
         HTTPPostEncoder encoder = new HTTPPostEncoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public HttpServletResponse get() {return response;}});
         
         encoder.setVelocityEngine(velocityEngine);
         
@@ -210,7 +210,7 @@ public class HTTPPostEncoderTest extends XMLObjectBaseTestCase {
         
         HTTPPostEncoder encoder = new HTTPPostEncoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public HttpServletResponse get() {return response;}});
         
         encoder.setVelocityEngine(velocityEngine);
         
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPPostSimpleSignEncoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPPostSimpleSignEncoderTest.java
index 5b0b8663b..246b429c6 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPPostSimpleSignEncoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPPostSimpleSignEncoderTest.java
@@ -21,7 +21,6 @@ import java.io.ByteArrayInputStream;
 import java.security.KeyPair;
 import java.time.Instant;
 import java.util.List;
-import java.util.function.Supplier;
 
 import org.apache.velocity.app.VelocityEngine;
 import org.apache.velocity.runtime.RuntimeConstants;
@@ -62,6 +61,7 @@ import org.testng.annotations.Test;
 
 import jakarta.servlet.http.HttpServletResponse;
 import net.shibboleth.shared.codec.Base64Support;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 
 /**
  * Test case for {@link HTTPPostEncoder}.
@@ -126,7 +126,7 @@ public class HTTPPostSimpleSignEncoderTest extends XMLObjectBaseTestCase {
         
         HTTPPostSimpleSignEncoder encoder = new HTTPPostSimpleSignEncoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public HttpServletResponse get() {return response;}});
         
         encoder.setVelocityEngine(velocityEngine);
         
@@ -220,7 +220,7 @@ public class HTTPPostSimpleSignEncoderTest extends XMLObjectBaseTestCase {
         
         HTTPPostSimpleSignEncoder encoder = new HTTPPostSimpleSignEncoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public HttpServletResponse get() {return response;}});
         
         encoder.setVelocityEngine(velocityEngine);
         
@@ -322,7 +322,7 @@ public class HTTPPostSimpleSignEncoderTest extends XMLObjectBaseTestCase {
         
         HTTPPostSimpleSignEncoder encoder = new HTTPPostSimpleSignEncoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public HttpServletResponse get() {return response;}});
         
         encoder.setVelocityEngine(velocityEngine);
         
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPRedirectDeflateEncoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPRedirectDeflateEncoderTest.java
index 1324a0c29..0810e394f 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPRedirectDeflateEncoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPRedirectDeflateEncoderTest.java
@@ -21,7 +21,6 @@ import java.io.ByteArrayInputStream;
 import java.security.KeyPair;
 import java.time.Instant;
 import java.util.Map;
-import java.util.function.Supplier;
 import java.util.zip.Inflater;
 import java.util.zip.InflaterInputStream;
 
@@ -52,6 +51,7 @@ import jakarta.servlet.http.HttpServletResponse;
 import net.shibboleth.shared.codec.Base64Support;
 import net.shibboleth.shared.net.URISupport;
 import net.shibboleth.shared.net.URLBuilder;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 
 /**
  * Unit test for redirect encoding.
@@ -103,7 +103,7 @@ public class HTTPRedirectDeflateEncoderTest extends XMLObjectBaseTestCase {
         
         HTTPRedirectDeflateEncoder encoder = new HTTPRedirectDeflateEncoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public HttpServletResponse get() {return response;}});
         
         encoder.initialize();
         encoder.prepareContext();
@@ -180,7 +180,7 @@ public class HTTPRedirectDeflateEncoderTest extends XMLObjectBaseTestCase {
         
         HTTPRedirectDeflateEncoder encoder = new HTTPRedirectDeflateEncoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public HttpServletResponse get() {return response;}});
         
         encoder.initialize();
         encoder.prepareContext();
@@ -261,7 +261,7 @@ public class HTTPRedirectDeflateEncoderTest extends XMLObjectBaseTestCase {
         
         HTTPRedirectDeflateEncoder encoder = new HTTPRedirectDeflateEncoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public HttpServletResponse get() {return response;}});
         
         encoder.initialize();
         encoder.prepareContext();
@@ -352,7 +352,7 @@ public class HTTPRedirectDeflateEncoderTest extends XMLObjectBaseTestCase {
         
         HTTPRedirectDeflateEncoder encoder = new HTTPRedirectDeflateEncoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public HttpServletResponse get() {return response;}});
         
         encoder.initialize();
         encoder.prepareContext();
@@ -440,7 +440,7 @@ public class HTTPRedirectDeflateEncoderTest extends XMLObjectBaseTestCase {
         
         HTTPRedirectDeflateEncoder encoder = new HTTPRedirectDeflateEncoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public HttpServletResponse get() {return response;}});
         
         encoder.initialize();
         encoder.prepareContext();
@@ -490,7 +490,7 @@ public class HTTPRedirectDeflateEncoderTest extends XMLObjectBaseTestCase {
         
         encoder = new HTTPRedirectDeflateEncoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response2;}});
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public HttpServletResponse get() {return response2;}});
         
         encoder.initialize();
         encoder.prepareContext();
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPSOAP11EncoderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPSOAP11EncoderTest.java
index c1ca6311f..9d1a8662b 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPSOAP11EncoderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPSOAP11EncoderTest.java
@@ -19,7 +19,6 @@ package org.opensaml.saml.saml2.binding.encoding.impl;
 
 import java.io.ByteArrayInputStream;
 import java.time.Instant;
-import java.util.function.Supplier;
 
 import org.opensaml.core.testing.XMLObjectBaseTestCase;
 import org.opensaml.core.xml.XMLObject;
@@ -41,6 +40,7 @@ import org.testng.Assert;
 import org.testng.annotations.Test;
 
 import jakarta.servlet.http.HttpServletResponse;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 
 /**
  * Test for SAML 2 SOAP 1.1 message encoder.
@@ -89,7 +89,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         
         HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public HttpServletResponse get() {return response;}});
         
         encoder.initialize();
         encoder.prepareContext();
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPPostSimpleSignSecurityHandlerTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPPostSimpleSignSecurityHandlerTest.java
index 17e8b6aea..ba001a645 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPPostSimpleSignSecurityHandlerTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPPostSimpleSignSecurityHandlerTest.java
@@ -25,7 +25,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
-import java.util.function.Supplier;
 
 import javax.xml.XMLConstants;
 
@@ -70,6 +69,7 @@ import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import net.shibboleth.shared.codec.DecodingException;
 import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 import net.shibboleth.shared.xml.ElementSupport;
 import net.shibboleth.shared.xml.XMLParserException;
 import net.shibboleth.shared.xml.impl.BasicParserPool;
@@ -224,7 +224,7 @@ public class SAML2HTTPPostSimpleSignSecurityHandlerTest extends XMLObjectBaseTes
 
         handler = new SAML2HTTPPostSimpleSignSecurityHandler();
         final HttpServletRequest request = buildServletRequest();
-        handler.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() { return request;}});
+        handler.setHttpServletRequestSupplier(new NonNullSupplier<>() {public HttpServletRequest get() { return request;}});
         handler.setParser(parserPool);
         handler.setKeyInfoResolver(kiResolver);
         handler.initialize();
@@ -419,7 +419,7 @@ public class SAML2HTTPPostSimpleSignSecurityHandlerTest extends XMLObjectBaseTes
         
         final HTTPPostSimpleSignEncoder encoder = new HTTPPostSimpleSignEncoder();
         encoder.setMessageContext(mc);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public HttpServletResponse get() {return response;}});
         
         encoder.setVelocityEngine(velocityEngine);
         encoder.setVelocityTemplateId("/templates/saml2-post-simplesign-binding.vm");
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPRedirectDeflateSignatureSecurityHandlerTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPRedirectDeflateSignatureSecurityHandlerTest.java
index d6ebebe43..4b35ef809 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPRedirectDeflateSignatureSecurityHandlerTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPRedirectDeflateSignatureSecurityHandlerTest.java
@@ -25,7 +25,6 @@ import java.security.cert.X509Certificate;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import java.util.function.Supplier;
 
 import org.opensaml.core.testing.XMLObjectBaseTestCase;
 import org.opensaml.messaging.context.MessageContext;
@@ -65,6 +64,7 @@ import jakarta.servlet.http.HttpServletResponse;
 import net.shibboleth.shared.collection.Pair;
 import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.net.URLBuilder;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 
 
 /**
@@ -205,7 +205,7 @@ public class SAML2HTTPRedirectDeflateSignatureSecurityHandlerTest extends XMLObj
         
         handler = new SAML2HTTPRedirectDeflateSignatureSecurityHandler();
         final HttpServletRequest request = buildServletRequest();
-        handler.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() { return request;}});
+        handler.setHttpServletRequestSupplier(new NonNullSupplier<>() {public HttpServletRequest get() { return request;}});
         handler.initialize();
         
         messageContext = new MessageContext();
@@ -330,7 +330,7 @@ public class SAML2HTTPRedirectDeflateSignatureSecurityHandlerTest extends XMLObj
         
         final HTTPRedirectDeflateEncoder encoder = new HTTPRedirectDeflateEncoder();
         encoder.setMessageContext(mc);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() {return response;}});
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public HttpServletResponse get() {return response;}});
         
         try {
             encoder.initialize();
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AddSubjectConfirmationToSubjectsTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AddSubjectConfirmationToSubjectsTest.java
index 0799d5b81..8c3f615a1 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AddSubjectConfirmationToSubjectsTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AddSubjectConfirmationToSubjectsTest.java
@@ -17,13 +17,6 @@
 
 package org.opensaml.saml.saml2.profile.impl;
 
-import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.shared.logic.FunctionSupport;
-
-import java.util.function.Supplier;
-
-import jakarta.servlet.http.HttpServletRequest;
-
 import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
 import org.opensaml.profile.action.EventIds;
 import org.opensaml.profile.context.ProfileRequestContext;
@@ -42,6 +35,11 @@ import org.testng.Assert;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
+import jakarta.servlet.http.HttpServletRequest;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.FunctionSupport;
+import net.shibboleth.shared.primitive.NonNullSupplier;
+
 
 /** Test for {@link AddSubjectConfirmationToSubjects}. */
 @SuppressWarnings("javadoc")
@@ -57,7 +55,7 @@ public class AddSubjectConfirmationToSubjectsTest extends OpenSAMLInitBaseTestCa
         
         action = new AddSubjectConfirmationToSubjects();
         final MockHttpServletRequest request = new MockHttpServletRequest();
-        action.setHttpServletRequestSupplier(new Supplier<> () {public HttpServletRequest get() { return request;}});
+        action.setHttpServletRequestSupplier(new NonNullSupplier<> () {public HttpServletRequest get() { return request;}});
     }
 
     @Test(expectedExceptions = ComponentInitializationException.class)
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 0850f909f..bf2bf3626 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
@@ -21,10 +21,6 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.function.Supplier;
-
-import jakarta.servlet.http.HttpServletResponse;
-import net.shibboleth.shared.component.ComponentInitializationException;
 
 import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
 import org.opensaml.profile.context.ProfileRequestContext;
@@ -44,6 +40,10 @@ import org.testng.Assert;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
+import jakarta.servlet.http.HttpServletResponse;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.NonNullSupplier;
+
 public class ValidateAssertionsTest extends OpenSAMLInitBaseTestCase {
     
     private ValidateAssertions action;
@@ -65,8 +65,8 @@ public class ValidateAssertionsTest extends OpenSAMLInitBaseTestCase {
         resultsMap = new HashMap<>();
         
         action = new ValidateAssertions();
-        action.setHttpServletRequestSupplier(new Supplier<>() { public MockHttpServletRequest get() {return httpRequest;}}); 
-        action.setHttpServletResponseSupplier(new Supplier<> () {public HttpServletResponse get() { return httpResponse;}});
+        action.setHttpServletRequestSupplier(new NonNullSupplier<>() { public MockHttpServletRequest get() {return httpRequest;}}); 
+        action.setHttpServletResponseSupplier(new NonNullSupplier<> () {public HttpServletResponse get() { return httpResponse;}});
         action.setValidationContextBuilder(new MockAssertionValidationContextBuilder());
         action.setAssertionValidator(new MockAssertionValidator(resultsMap));
         
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandlerTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandlerTest.java
index 90cc917da..a6980a594 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandlerTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandlerTest.java
@@ -21,11 +21,9 @@ import java.net.URISyntaxException;
 import java.security.KeyException;
 import java.security.cert.CertificateException;
 import java.util.function.Function;
-import java.util.function.Supplier;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
-import jakarta.servlet.http.HttpServletRequest;
 
 import org.opensaml.core.testing.XMLObjectBaseTestCase;
 import org.opensaml.core.xml.XMLObject;
@@ -60,8 +58,10 @@ import org.testng.Assert;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
+import jakarta.servlet.http.HttpServletRequest;
 import net.shibboleth.shared.collection.Pair;
 import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 
 /**
  *
@@ -85,7 +85,7 @@ public class WSSecuritySAML20AssertionTokenSecurityHandlerTest extends XMLObject
         httpServletRequest = buildHttpServletRequest();
         
         handler = new WSSecuritySAML20AssertionTokenSecurityHandler();
-        handler.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() {return httpServletRequest;}});
+        handler.setHttpServletRequestSupplier(new NonNullSupplier<>() {public HttpServletRequest get() {return httpServletRequest;}});
         // do init in the test methods
     }
     
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/messaging/impl/BaseClientCertAuthSecurityHandler.java b/opensaml-security-impl/src/main/java/org/opensaml/security/messaging/impl/BaseClientCertAuthSecurityHandler.java
index edf02ad8d..3bd966e80 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/messaging/impl/BaseClientCertAuthSecurityHandler.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/messaging/impl/BaseClientCertAuthSecurityHandler.java
@@ -21,7 +21,6 @@ import java.security.cert.CertificateEncodingException;
 import java.security.cert.X509Certificate;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.function.Supplier;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
@@ -49,6 +48,7 @@ import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.codec.Base64Support;
 import net.shibboleth.shared.codec.EncodingException;
 import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 import net.shibboleth.shared.resolver.CriteriaSet;
 
 /**
@@ -98,7 +98,7 @@ public abstract class BaseClientCertAuthSecurityHandler extends BaseTrustEngineS
     @Nullable private CertificateNameOptions certNameOptions;
     
     /** The HttpServletRequest being processed. */
-    @NonnullAfterInit private Supplier<HttpServletRequest> httpServletRequestSupplier;
+    @NonnullAfterInit private NonNullSupplier<HttpServletRequest> httpServletRequestSupplier;
     
     /**
      * Get the current HTTP request if available.
@@ -117,7 +117,7 @@ public abstract class BaseClientCertAuthSecurityHandler extends BaseTrustEngineS
      *
      * @return current HTTP request
      */
-    @Nullable public Supplier<HttpServletRequest> getHttpServletRequestSupplier() {
+    @Nullable public NonNullSupplier<HttpServletRequest> getHttpServletRequestSupplier() {
         return httpServletRequestSupplier;
     }
 
@@ -126,7 +126,7 @@ public abstract class BaseClientCertAuthSecurityHandler extends BaseTrustEngineS
      *
      * @param requestSupplier Supplier for the current HTTP request
      */
-    public void setHttpServletRequestSupplier(@Nullable final Supplier<HttpServletRequest> requestSupplier) {
+    public void setHttpServletRequestSupplier(@Nullable final NonNullSupplier<HttpServletRequest> requestSupplier) {
         checkSetterPreconditions();
 
         httpServletRequestSupplier = requestSupplier;
diff --git a/opensaml-soap-impl/src/test/java/org/opensaml/soap/soap11/decoder/http/impl/HTTPSOAP11DecoderTest.java b/opensaml-soap-impl/src/test/java/org/opensaml/soap/soap11/decoder/http/impl/HTTPSOAP11DecoderTest.java
index c4ef15c80..f6fcf2ee6 100644
--- a/opensaml-soap-impl/src/test/java/org/opensaml/soap/soap11/decoder/http/impl/HTTPSOAP11DecoderTest.java
+++ b/opensaml-soap-impl/src/test/java/org/opensaml/soap/soap11/decoder/http/impl/HTTPSOAP11DecoderTest.java
@@ -18,7 +18,6 @@
 package org.opensaml.soap.soap11.decoder.http.impl;
 
 import java.io.IOException;
-import java.util.function.Supplier;
 
 import org.opensaml.core.testing.XMLObjectBaseTestCase;
 import org.opensaml.core.xml.schema.XSAny;
@@ -37,6 +36,7 @@ import com.google.common.io.Resources;
 
 import jakarta.servlet.http.HttpServletRequest;
 import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 
 /**
  * Test basic SOAP 1.1 message decoding.
@@ -55,7 +55,7 @@ public class HTTPSOAP11DecoderTest extends XMLObjectBaseTestCase {
         
         decoder = new HTTPSOAP11Decoder();
         decoder.setParserPool(parserPool);
-        decoder.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() { return httpRequest;}});
+        decoder.setHttpServletRequestSupplier(new NonNullSupplier<>() {public HttpServletRequest get() { return httpRequest;}});
         // Let actual test method do the initialize(), so can set own body handler.
     }
     
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 d9fb00588..987993454 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,7 +20,6 @@ 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;
@@ -50,6 +49,7 @@ import org.xmlunit.diff.Diff;
 
 import jakarta.servlet.http.HttpServletResponse;
 import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 import net.shibboleth.shared.xml.XMLParserException;
 
 /**
@@ -83,7 +83,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         
         HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public MockHttpServletResponse get() { return response;}} );
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public MockHttpServletResponse get() { return response;}} );
         
         encoder.initialize();
         encoder.prepareContext();
@@ -139,7 +139,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         
         HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public MockHttpServletResponse get() { return response;}} );
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public MockHttpServletResponse get() { return response;}} );
         
         encoder.initialize();
         encoder.prepareContext();
@@ -202,7 +202,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         
         HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public MockHttpServletResponse get() { return response;}} );
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public MockHttpServletResponse get() { return response;}} );
         
         encoder.initialize();
         encoder.prepareContext();
@@ -266,7 +266,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         
         HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public MockHttpServletResponse get() { return response;}} );
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public MockHttpServletResponse get() { return response;}} );
         
         encoder.initialize();
         encoder.prepareContext();
@@ -299,7 +299,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         
         HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public MockHttpServletResponse get() { return response;}} );
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public MockHttpServletResponse get() { return response;}} );
         
         encoder.initialize();
         encoder.prepareContext();
@@ -350,7 +350,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         
         HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public MockHttpServletResponse get() { return response;}} );
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public MockHttpServletResponse get() { return response;}} );
         
         encoder.initialize();
         encoder.prepareContext();
@@ -386,7 +386,7 @@ public class HTTPSOAP11EncoderTest extends XMLObjectBaseTestCase {
         
         HTTPSOAP11Encoder encoder = new HTTPSOAP11Encoder();
         encoder.setMessageContext(messageContext);
-        encoder.setHttpServletResponseSupplier(new Supplier<>() {public MockHttpServletResponse get() { return response;}} );
+        encoder.setHttpServletResponseSupplier(new NonNullSupplier<>() {public MockHttpServletResponse get() { return response;}} );
         
         encoder.initialize();
         encoder.prepareContext();
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/ClientStorageService.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/ClientStorageService.java
index 0bbd38396..b0ac21122 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/ClientStorageService.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/ClientStorageService.java
@@ -26,7 +26,6 @@ import java.util.TimerTask;
 import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
-import java.util.function.Supplier;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
@@ -55,6 +54,7 @@ import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.logic.Constraint;
 import net.shibboleth.shared.logic.ConstraintViolationException;
 import net.shibboleth.shared.net.CookieManager;
+import net.shibboleth.shared.primitive.NonNullSupplier;
 import net.shibboleth.shared.primitive.StringSupport;
 import net.shibboleth.shared.security.DataExpiredException;
 import net.shibboleth.shared.security.DataSealer;
@@ -99,7 +99,7 @@ public class ClientStorageService extends AbstractMapBackedStorageService implem
     @Nonnull @NotEmpty private Map<ClientStorageSource,Integer> capabilityMap; 
 
     /** Servlet request Supplier. */
-    @NonnullAfterInit private Supplier<HttpServletRequest> httpServletRequestSupplier;
+    @NonnullAfterInit private NonNullSupplier<HttpServletRequest> httpServletRequestSupplier;
     
     /** Manages creation of cookies. */
     @NonnullAfterInit private CookieManager cookieManager;
@@ -168,7 +168,7 @@ public class ClientStorageService extends AbstractMapBackedStorageService implem
      * 
      * @param requestSupplier supplier for the servlet request in which to manage data
      */
-    public void setHttpServletRequestSupplier(@Nonnull final Supplier<HttpServletRequest> requestSupplier) {
+    public void setHttpServletRequestSupplier(@Nonnull final NonNullSupplier<HttpServletRequest> requestSupplier) {
         checkSetterPreconditions();
         httpServletRequestSupplier = Constraint.isNotNull(requestSupplier, "HttpServletRequest 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