[java-opensaml] branch main updated: IDP-2083 - Treat NonnullElements as the default for collections

Scott Cantor cantor.2 at osu.edu
Tue Jun 6 12:57:17 UTC 2023


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

scantor 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=7d57904e0530c2e92979b29e055911b6c3fed5ee

The following commit(s) were added to refs/heads/main by this push:
     new 7d57904e0 IDP-2083 - Treat NonnullElements as the default for collections
7d57904e0 is described below

commit 7d57904e0530c2e92979b29e055911b6c3fed5ee
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Jun 6 08:57:14 2023 -0400

    IDP-2083 - Treat NonnullElements as the default for collections
    
    https://shibboleth.atlassian.net/browse/IDP-2083
    
    Review opensaml-soap-api/impl.
---
 .../opensaml/soap/client/SOAPClientContext.java    | 16 +++++++--
 .../http/AbstractPipelineHttpSOAPClient.java       |  2 +-
 .../opensaml/soap/client/http/HttpSOAPClient.java  | 41 ++--------------------
 .../client/http/HttpSOAPRequestParameters.java     |  5 +--
 .../opensaml/soap/client/http/package-info.java    |  5 ++-
 .../soap/client/messaging/package-info.java        |  5 ++-
 .../org/opensaml/soap/client/package-info.java     |  5 ++-
 .../SOAPClientSecurityProfileIdLookupFunction.java |  4 +--
 .../soap/client/security/package-info.java         |  5 ++-
 .../soap/common/AbstractExtensibleSOAPObject.java  |  3 +-
 .../soap/common/SOAP11FaultDecodingException.java  | 10 +++---
 .../opensaml/soap/common/SOAPObjectBuilder.java    |  3 +-
 .../org/opensaml/soap/common/package-info.java     |  5 ++-
 .../AbstractHeaderGeneratingMessageHandler.java    |  4 +--
 .../soap/messaging/context/SOAP11Context.java      | 22 ++++++++----
 .../soap/messaging/context/package-info.java       |  5 ++-
 .../org/opensaml/soap/messaging/package-info.java  |  5 ++-
 .../org/opensaml/soap/soap11/package-info.java     |  5 ++-
 .../org/opensaml/soap/soap12/package-info.java     |  5 ++-
 .../java/org/opensaml/soap/util/SOAPSupport.java   |  3 +-
 .../java/org/opensaml/soap/util/package-info.java  |  5 ++-
 .../soap/wsaddressing/WSAddressingConstants.java   |  3 +-
 .../soap/wsaddressing/messaging/package-info.java  |  5 ++-
 .../opensaml/soap/wsaddressing/package-info.java   |  5 ++-
 .../wsaddressing/util/WSAddressingSupport.java     |  7 ++--
 .../soap/wsaddressing/util/package-info.java       |  5 ++-
 .../java/org/opensaml/soap/wsfed/package-info.java |  5 ++-
 .../org/opensaml/soap/wspolicy/package-info.java   |  5 ++-
 .../soap/wssecurity/messaging/package-info.java    |  5 ++-
 .../org/opensaml/soap/wssecurity/package-info.java |  5 ++-
 .../soap/wssecurity/util/package-info.java         |  5 ++-
 .../org/opensaml/soap/wstrust/package-info.java    |  5 ++-
 .../http/impl/HttpClientResponseSOAP11Decoder.java |  9 ++---
 .../soap11/decoder/http/impl/package-info.java     |  5 ++-
 .../soap11/encoder/http/impl/package-info.java     |  5 ++-
 .../opensaml/soap/config/impl/package-info.java    |  5 ++-
 .../soap11/decoder/http/impl/package-info.java     |  5 ++-
 .../soap11/encoder/http/impl/package-info.java     |  5 ++-
 .../opensaml/soap/soap11/impl/package-info.java    |  5 ++-
 .../SOAP11FaultContextDecoratingErrorHandler.java  |  1 -
 .../soap/soap11/messaging/impl/package-info.java   |  5 ++-
 .../soap/soap11/profile/impl/AddSOAPFault.java     |  7 ++--
 .../soap/soap11/profile/impl/package-info.java     |  4 ++-
 .../soap/wsaddressing/impl/package-info.java       |  5 ++-
 .../messaging/impl/AddRelatesToHandler.java        | 21 +++++------
 .../messaging/impl/ValidateActionHandler.java      |  4 +--
 .../wsaddressing/messaging/impl/package-info.java  |  5 ++-
 .../org/opensaml/soap/wsfed/impl/package-info.java |  5 ++-
 .../opensaml/soap/wspolicy/impl/package-info.java  |  5 ++-
 .../soap/wssecurity/impl/package-info.java         |  5 ++-
 .../wssecurity/messaging/impl/package-info.java    |  5 ++-
 .../opensaml/soap/wstrust/impl/package-info.java   |  5 ++-
 52 files changed, 213 insertions(+), 121 deletions(-)

diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/SOAPClientContext.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/SOAPClientContext.java
index a0694fb76..bc35b5b8e 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/SOAPClientContext.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/SOAPClientContext.java
@@ -17,6 +17,7 @@
 
 package org.opensaml.soap.client;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import org.opensaml.messaging.context.BaseContext;
@@ -50,9 +51,12 @@ public final class SOAPClientContext extends BaseContext {
      * Sets a set of binding/transport-specific request parameters.
      *
      * @param parameters a set of binding/transport-specific request parameters
+     * 
+     * @return this context
      */
-    public void setSOAPRequestParameters(@Nullable final SOAPRequestParameters parameters) {
+    @Nonnull public SOAPClientContext setSOAPRequestParameters(@Nullable final SOAPRequestParameters parameters) {
         requestParameters = parameters;
+        return this;
     }
 
     /**
@@ -70,9 +74,12 @@ public final class SOAPClientContext extends BaseContext {
      * for example with {@link PipelineFactoryHttpSOAPClient}. 
      * 
      * @param name the pipeline name, or null
+     * 
+     * @return this context
      */
-    public void setPipelineName(@Nullable final String name) {
+    @Nonnull public SOAPClientContext setPipelineName(@Nullable final String name) {
         pipelineName = StringSupport.trimOrNull(name);
+        return this;
     }
     
     /**
@@ -88,9 +95,12 @@ public final class SOAPClientContext extends BaseContext {
      * Set the destination URI for the SOAP message being sent.
      * 
      * @param uri the destination URI, or null
+     * 
+     * @return this context
      */
-    public void setDestinationURI(@Nullable final String uri) {
+    @Nonnull public SOAPClientContext setDestinationURI(@Nullable final String uri) {
         destinationURI = StringSupport.trimOrNull(uri);
+        return this;
     }
 
 }
\ No newline at end of file
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.java
index f1c24a22d..82b0fd6ae 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.java
@@ -356,7 +356,7 @@ public abstract class AbstractPipelineHttpSOAPClient
      * @param operationContext the current operation context
      * @return the client security parameters resolved from the current operation context, or null
      */
-    protected HttpClientSecurityParameters resolveContextSecurityParameters(
+    @Nullable protected HttpClientSecurityParameters resolveContextSecurityParameters(
             @Nonnull final InOutOperationContext operationContext) {
         final HttpClientSecurityContext securityContext = 
                 operationContext.ensureOutboundMessageContext().getSubcontext(HttpClientSecurityContext.class);
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/HttpSOAPClient.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/HttpSOAPClient.java
index bb93f5707..25e66d509 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/HttpSOAPClient.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/HttpSOAPClient.java
@@ -284,7 +284,7 @@ public class HttpSOAPClient extends AbstractInitializableComponent implements SO
      * 
      * @throws SOAPClientException thrown if the message could not be marshalled
      */
-    protected HttpEntity createRequestEntity(@Nonnull final Envelope message, @Nullable final Charset charset)
+    @Nonnull protected HttpEntity createRequestEntity(@Nonnull final Envelope message, @Nullable final Charset charset)
             throws SOAPClientException {
         try {
             final Marshaller marshaller =
@@ -389,7 +389,8 @@ public class HttpSOAPClient extends AbstractInitializableComponent implements SO
      * 
      * @throws SOAPClientException thrown if the incoming response can not be unmarshalled into an {@link Envelope}
      */
-    protected Envelope unmarshallResponse(@Nonnull final InputStream responseStream) throws SOAPClientException {
+    @Nonnull protected Envelope unmarshallResponse(@Nonnull final InputStream responseStream)
+            throws SOAPClientException {
         try {
             final Element responseElem = parserPool.parse(responseStream).getDocumentElement();
             assert responseElem != null;
@@ -406,41 +407,5 @@ public class HttpSOAPClient extends AbstractInitializableComponent implements SO
             throw new SOAPClientException("Unable to unmarshall the response DOM", e);
         }
     }
-
-    /**
-     * Evaluates the security policy associated with the given message context. If no policy resolver is registered or
-     * no policy is located during the resolution process then no policy is evaluated. Note that neither the inbound or
-     * outbound message transport is available.
-     * 
-     * @param messageContext current message context
-     * 
-     * @throws SOAPClientException thrown if there is a problem resolving or evaluating a security policy
-     */
-    protected void evaluateSecurityPolicy(final SOAPClientContext messageContext) throws SOAPClientException {
-        //TODO: I think this goes away, with the policy layer living outside the client?
-        /*
-        SecurityPolicyResolver policyResolver = messageContext.getSecurityPolicyResolver();
-        if (policyResolver == null) {
-            return;
-        }
-
-        SecurityPolicy policy = null;
-        try {
-            policy = policyResolver.resolveSingle(messageContext);
-            if (policy == null) {
-                return;
-            }
-        } catch (ResolverException e) {
-            throw new SOAPClientException("Unable to resolve security policy for inbound SOAP response", e);
-        }
-
-        try {
-            log.debug("Evaluating security policy for inbound SOAP response");
-            policy.evaluate(messageContext);
-        } catch (SecurityException e) {
-            throw new SOAPClientException("Inbound SOAP response does not meet security policy", e);
-        }
-        */
-    }
     
 }
\ No newline at end of file
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/HttpSOAPRequestParameters.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/HttpSOAPRequestParameters.java
index 5810d3c51..dc71cce60 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/HttpSOAPRequestParameters.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/HttpSOAPRequestParameters.java
@@ -34,7 +34,7 @@ public class HttpSOAPRequestParameters implements SOAPRequestParameters {
     @Nonnull @NotEmpty public static final String SOAP_ACTION_HEADER = "SOAPAction";
 
     /** HTTP SOAPAction header. */
-    private String soapAction;
+    @Nullable private String soapAction;
 
     /**
      * Constructor.
@@ -53,4 +53,5 @@ public class HttpSOAPRequestParameters implements SOAPRequestParameters {
     @Nullable public String getSOAPAction() {
         return soapAction;
     }
-}
+
+}
\ No newline at end of file
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/package-info.java
index c063e62dd..4d34f5ad2 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** SOAP HTTP client functionality. */
-package org.opensaml.soap.client.http;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.client.http;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/package-info.java
index d76d6c6ce..c36d1b43b 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** SOAP HTTP client messaging functionality. */
-package org.opensaml.soap.client.messaging;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.client.messaging;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/package-info.java
index 5e4e1c8b9..d60e70fbb 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** SOAP client functionality. */
-package org.opensaml.soap.client;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.client;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/security/SOAPClientSecurityProfileIdLookupFunction.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/security/SOAPClientSecurityProfileIdLookupFunction.java
index cf0315c72..fea20b32c 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/security/SOAPClientSecurityProfileIdLookupFunction.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/security/SOAPClientSecurityProfileIdLookupFunction.java
@@ -36,7 +36,7 @@ import net.shibboleth.shared.logic.Constraint;
 public class SOAPClientSecurityProfileIdLookupFunction implements ContextDataLookupFunction<MessageContext, String> {
     
     /** Lookup function for {@link SOAPClientSecurityContext}. */
-    private Function<MessageContext, SOAPClientSecurityContext> soapContextLookup;
+    @Nonnull private Function<MessageContext, SOAPClientSecurityContext> soapContextLookup;
     
     /**
      * Constructor.
@@ -58,7 +58,7 @@ public class SOAPClientSecurityProfileIdLookupFunction implements ContextDataLoo
     }
 
     /** {@inheritDoc} */
-    public String apply(@Nullable final MessageContext messageContext) {
+    @Nullable public String apply(@Nullable final MessageContext messageContext) {
         if (messageContext == null) {
             return null;
         }
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/security/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/security/package-info.java
index d5e0b5581..af114426f 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/security/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/security/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** Classes related to SOAP client security. */
-package org.opensaml.soap.client.security;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.client.security;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/common/AbstractExtensibleSOAPObject.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/common/AbstractExtensibleSOAPObject.java
index e8a08da0d..9fead3f7f 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/common/AbstractExtensibleSOAPObject.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/common/AbstractExtensibleSOAPObject.java
@@ -31,6 +31,7 @@ import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.util.AttributeMap;
 import org.opensaml.core.xml.util.IndexedXMLObjectChildrenList;
 
+import net.shibboleth.shared.annotation.constraint.Live;
 import net.shibboleth.shared.annotation.constraint.NotLive;
 import net.shibboleth.shared.annotation.constraint.Unmodifiable;
 import net.shibboleth.shared.collection.CollectionSupport;
@@ -71,7 +72,7 @@ public abstract class AbstractExtensibleSOAPObject extends AbstractXMLObject imp
     }
 
     /** {@inheritDoc} */
-    @Nonnull public List<XMLObject> getUnknownXMLObjects() {
+    @Nonnull @Live public List<XMLObject> getUnknownXMLObjects() {
         return unknownXMLObjects;
     }
     
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/common/SOAP11FaultDecodingException.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/common/SOAP11FaultDecodingException.java
index 90f229bd7..93496835a 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/common/SOAP11FaultDecodingException.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/common/SOAP11FaultDecodingException.java
@@ -17,6 +17,8 @@
 
 package org.opensaml.soap.common;
 
+import javax.annotation.Nullable;
+
 import org.opensaml.messaging.decoder.MessageDecodingException;
 import org.opensaml.soap.soap11.Fault;
 
@@ -29,14 +31,14 @@ public class SOAP11FaultDecodingException extends MessageDecodingException {
     private static final long serialVersionUID = 7013840493662326895L;
     
     /** The SOAP 1.1. Fault element being carried. */
-    private final Fault fault;
+    @Nullable private final Fault fault;
     
     /**
      * Constructor.
      *
      * @param soapFault the SOAP 1.1 fault being represented
      */
-    public SOAP11FaultDecodingException(final Fault soapFault) {
+    public SOAP11FaultDecodingException(@Nullable final Fault soapFault) {
         super();
         fault = soapFault; 
     }
@@ -47,7 +49,7 @@ public class SOAP11FaultDecodingException extends MessageDecodingException {
      * @param soapFault the SOAP 1.1 fault being represented
      * @param message a textual exception message
      */
-    public SOAP11FaultDecodingException(final Fault soapFault, final String message) {
+    public SOAP11FaultDecodingException(@Nullable final Fault soapFault, @Nullable final String message) {
         super(message);
         fault = soapFault; 
     }
@@ -57,7 +59,7 @@ public class SOAP11FaultDecodingException extends MessageDecodingException {
      * 
      * @return the SOAP 1.1 Fault element
      */
-    public Fault getFault() {
+    @Nullable public Fault getFault() {
         return fault;
     }
 
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/common/SOAPObjectBuilder.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/common/SOAPObjectBuilder.java
index 9018924e8..54a02d644 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/common/SOAPObjectBuilder.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/common/SOAPObjectBuilder.java
@@ -34,4 +34,5 @@ public interface SOAPObjectBuilder<SOAPObjectType extends SOAPObject> extends XM
      * @return built SAMLObject
      */
     @Nonnull public SOAPObjectType buildObject();
-}
+
+}
\ No newline at end of file
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/common/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/common/package-info.java
index 7491c5aa8..a821ce7ac 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/common/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/common/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** Common classes shared across SOAP versions, clients, and transports. */
-package org.opensaml.soap.common;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.common;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/AbstractHeaderGeneratingMessageHandler.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/AbstractHeaderGeneratingMessageHandler.java
index 74ddd7b55..d46a3f3d3 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/AbstractHeaderGeneratingMessageHandler.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/AbstractHeaderGeneratingMessageHandler.java
@@ -51,7 +51,7 @@ public abstract class AbstractHeaderGeneratingMessageHandler extends AbstractMes
     @Nullable private Function<MessageContext,String> targetNodeStrategy;
     
     /** The effective target node value to use. */
-    private String effectiveTargetNode;
+    @Nullable private String effectiveTargetNode;
     
     /**
      * Set the statically configured value for mustUnderstand.
@@ -148,4 +148,4 @@ public abstract class AbstractHeaderGeneratingMessageHandler extends AbstractMes
         }
     }
     
-}
+}
\ No newline at end of file
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/context/SOAP11Context.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/context/SOAP11Context.java
index 6d0a7d1fe..8f51e39fb 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/context/SOAP11Context.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/context/SOAP11Context.java
@@ -17,6 +17,7 @@
 
 package org.opensaml.soap.messaging.context;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import org.opensaml.messaging.context.BaseContext;
@@ -29,13 +30,13 @@ import org.opensaml.soap.soap11.Fault;
 public final class SOAP11Context extends BaseContext {
     
     /** The SAML protocol in use. */
-    private Envelope envelope;
+    @Nullable private Envelope envelope;
     
     /** SOAP 1.1 Fault related to the current message processing context. */
-    private Fault fault;
+    @Nullable private Fault fault;
     
     /** The HTTP response status code to return. */
-    private Integer httpResponseStatus;
+    @Nullable private Integer httpResponseStatus;
 
     /**
      * Gets the current SOAP 1.1 Envelope.
@@ -50,9 +51,12 @@ public final class SOAP11Context extends BaseContext {
      * Sets the current SOAP 1.1 Envelope.
      * 
      * @param newEnvelope the current SOAP 1.1 Envelope
+     * 
+     * @return this context
      */
-    public void setEnvelope(@Nullable final Envelope newEnvelope) {
+    @Nonnull public SOAP11Context setEnvelope(@Nullable final Envelope newEnvelope) {
         envelope = newEnvelope;
+        return this;
     }
     
     /**
@@ -68,9 +72,12 @@ public final class SOAP11Context extends BaseContext {
      * Set the current SOAP 1.1 Fault related to the current message processing context.
      * 
      * @param newFault the new Fault
+     * 
+     * @return this context
      */
-    public void setFault(@Nullable final Fault newFault) {
+    @Nonnull public SOAP11Context setFault(@Nullable final Fault newFault) {
         fault = newFault;
+        return this;
     }
 
     /**
@@ -86,9 +93,12 @@ public final class SOAP11Context extends BaseContext {
      * Set the optional HTTP response status code to return.
      * 
      * @param status the HTTP response status code, may be null
+     * 
+     * @return this context
      */
-    public void setHTTPResponseStatus(@Nullable final Integer status) {
+    @Nonnull public SOAP11Context setHTTPResponseStatus(@Nullable final Integer status) {
         httpResponseStatus = status;
+        return this;
     }
     
 }
\ No newline at end of file
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/context/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/context/package-info.java
index d1d32e55c..14619375c 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/context/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/context/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** Context classes in support of SOAP messaging. */
-package org.opensaml.soap.messaging.context;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.messaging.context;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/package-info.java
index 8a989b312..5acefb4a4 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** SOAP messaging support components. */
-package org.opensaml.soap.messaging;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.messaging;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/soap11/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/soap11/package-info.java
index 7690cb5bf..258431fa7 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/soap11/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/soap11/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** XMLObject interfaces for SOAP 1.1 elements. */
-package org.opensaml.soap.soap11;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.soap11;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/soap12/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/soap12/package-info.java
index bf8d9ea3b..4d4211b41 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/soap12/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/soap12/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** XMLObject interfaces for SOAP 1.2 elements. */
-package org.opensaml.soap.soap12;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.soap12;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPSupport.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPSupport.java
index 90ea7a6fc..c31967298 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPSupport.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPSupport.java
@@ -26,7 +26,6 @@ import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 import javax.xml.namespace.QName;
 
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.collection.LazyList;
 import net.shibboleth.shared.logic.Constraint;
 import net.shibboleth.shared.primitive.StringSupport;
@@ -413,7 +412,7 @@ public final class SOAPSupport {
      * @return the new Fault element object
      */
     public static Fault buildSOAP11Fault(@Nonnull final QName faultCode, @Nonnull final String faultString,
-            @Nullable final String faultActor, @Nullable @NonnullElements final List<XMLObject> detailChildren,
+            @Nullable final String faultActor, @Nullable final List<XMLObject> detailChildren,
             @Nullable final Map<QName, String> detailAttributes) {
         Constraint.isNotNull(faultCode, "faultcode cannot be null");
         Constraint.isNotNull(faultString, "faultstring cannot be null");
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/util/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/util/package-info.java
index 8f2e30907..35f7437e9 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/util/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/util/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** General SOAP utility classes. */
-package org.opensaml.soap.util;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.util;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/WSAddressingConstants.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/WSAddressingConstants.java
index 697dcccc3..a36ef4afe 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/WSAddressingConstants.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/WSAddressingConstants.java
@@ -22,7 +22,6 @@ import java.util.Set;
 import javax.annotation.Nonnull;
 import javax.xml.namespace.QName;
 
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.collection.CollectionSupport;
 
@@ -87,7 +86,7 @@ public final class WSAddressingConstants {
         new QName(WSA_NS, "EndpointUnavailable", WSA_PREFIX);
     
     /** Set of all WS-Addressing SOAP fault codes. */
-    @Nonnull @NonnullElements public static final Set<QName> WS_ADDRESSING_FAULTS = CollectionSupport.setOf(
+    @Nonnull public static final Set<QName> WS_ADDRESSING_FAULTS = CollectionSupport.setOf(
             SOAP_FAULT_INVALID_ADDRESSING_HEADER, 
             SOAP_FAULT_INVALID_ADDRESS,
             SOAP_FAULT_INVALID_EPR,
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/messaging/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/messaging/package-info.java
index 705c012d7..ed9e91e4d 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/messaging/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/messaging/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** WS-Addressing messaging support components. */
-package org.opensaml.soap.wsaddressing.messaging;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.wsaddressing.messaging;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/package-info.java
index bce48ced4..f3b836eff 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** XMLObject interfaces for WS-Addressing 1.0 elements. */
-package org.opensaml.soap.wsaddressing;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.wsaddressing;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/util/WSAddressingSupport.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/util/WSAddressingSupport.java
index 09cf06d97..1e55ff757 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/util/WSAddressingSupport.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/util/WSAddressingSupport.java
@@ -19,6 +19,8 @@ package org.opensaml.soap.wsaddressing.util;
 
 import java.util.Objects;
 
+import javax.annotation.Nonnull;
+
 import org.opensaml.core.xml.AttributeExtensibleXMLObject;
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.schema.XSBooleanValue;
@@ -43,7 +45,8 @@ public final class WSAddressingSupport {
      * @param soapObject the SOAP object to add the attribute to
      * @param isReferenceParameter whether IsReferenceParameter is true or false
      */
-    public static void addWSAIsReferenceParameter(final XMLObject soapObject, final boolean isReferenceParameter) {
+    public static void addWSAIsReferenceParameter(@Nonnull final XMLObject soapObject,
+            final boolean isReferenceParameter) {
         if (soapObject instanceof IsReferenceParameterBearing) {
             ((IsReferenceParameterBearing)soapObject).setWSAIsReferenceParameter(
                     new XSBooleanValue(isReferenceParameter, false));
@@ -64,7 +67,7 @@ public final class WSAddressingSupport {
      * 
      * @return value of the IsReferenceParameter attribute, or false if not present
      */
-    public static boolean getWSAIsReferenceParameter(final XMLObject soapObject) {
+    public static boolean getWSAIsReferenceParameter(@Nonnull final XMLObject soapObject) {
         if (soapObject instanceof IsReferenceParameterBearing) {
             final XSBooleanValue value = ((IsReferenceParameterBearing)soapObject).isWSAIsReferenceParameterXSBoolean();
             if (value != null) {
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/util/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/util/package-info.java
index 684d18cd8..49a930d80 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/util/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/wsaddressing/util/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** Support classes for WS-Addressing. */
-package org.opensaml.soap.wsaddressing.util;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.wsaddressing.util;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/wsfed/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/wsfed/package-info.java
index a6180c9df..5851ea508 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/wsfed/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/wsfed/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** XMLObject interfaces for WS-Federation elements. */
-package org.opensaml.soap.wsfed;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.wsfed;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/wspolicy/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/wspolicy/package-info.java
index 660856ea0..252d2d75e 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/wspolicy/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/wspolicy/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** XMLObject interfaces for WS-Policy 1.2 elements. */
-package org.opensaml.soap.wspolicy;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.wspolicy;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/messaging/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/messaging/package-info.java
index 3ef12760d..7c501436e 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/messaging/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/messaging/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** WS-Security messaging support components. */
-package org.opensaml.soap.wssecurity.messaging;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.wssecurity.messaging;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/package-info.java
index a09e13200..9f63c1659 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** XMLObject interfaces for WS-Security 1.1 elements. */
-package org.opensaml.soap.wssecurity;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.wssecurity;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/util/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/util/package-info.java
index 9459ff79b..ebcab3af7 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/util/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/util/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** Support classes for WS-Security. */
-package org.opensaml.soap.wssecurity.util;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.wssecurity.util;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/wstrust/package-info.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/wstrust/package-info.java
index 7cfec2b51..fe8c14eac 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/wstrust/package-info.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/wstrust/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** XMLObject interfaces for WS-Trust 1.3 elements. */
-package org.opensaml.soap.wstrust;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.wstrust;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/decoder/http/impl/HttpClientResponseSOAP11Decoder.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/decoder/http/impl/HttpClientResponseSOAP11Decoder.java
index 4a8f86765..38dae7af2 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/decoder/http/impl/HttpClientResponseSOAP11Decoder.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/decoder/http/impl/HttpClientResponseSOAP11Decoder.java
@@ -159,7 +159,8 @@ public class HttpClientResponseSOAP11Decoder extends BaseHttpClientResponseXMLMe
      * @throws MessageDecodingException  if message can not be unmarshalled
      * @throws IOException if there is a problem with the response entity input stream
      */
-    protected void processSuccessResponse(final ClassicHttpResponse httpResponse, final SOAP11Context soapContext) 
+    protected void processSuccessResponse(@Nonnull final ClassicHttpResponse httpResponse,
+            @Nonnull final SOAP11Context soapContext) 
             throws MessageDecodingException, IOException {
         
         if (httpResponse.getEntity() == null) {
@@ -186,7 +187,7 @@ public class HttpClientResponseSOAP11Decoder extends BaseHttpClientResponseXMLMe
      * @throws MessageDecodingException if message can not be unmarshalled
      * @throws IOException if there is a problem with the response entity input stream
      */
-    @Nonnull protected MessageDecodingException buildFaultException(final ClassicHttpResponse response) 
+    @Nonnull protected MessageDecodingException buildFaultException(@Nonnull final ClassicHttpResponse response) 
             throws MessageDecodingException, IOException {
         
         if (response.getEntity() == null) {
@@ -215,7 +216,7 @@ public class HttpClientResponseSOAP11Decoder extends BaseHttpClientResponseXMLMe
      * @param soapMessage the SOAP 1.1. Envelope being processed
      * @return the first Fault element found, or null
      */
-    @Nullable protected Fault getFault(final Envelope soapMessage) {
+    @Nullable protected Fault getFault(@Nonnull final Envelope soapMessage) {
         final Body body = soapMessage.getBody();
         if (body != null) {
             final List<XMLObject> faults = body.getUnknownXMLObjects(Fault.DEFAULT_ELEMENT_NAME);
@@ -233,4 +234,4 @@ public class HttpClientResponseSOAP11Decoder extends BaseHttpClientResponseXMLMe
         return mc != null ? mc.ensureSubcontext(SOAP11Context.class).getEnvelope() : null;
     }
     
-}
+}
\ No newline at end of file
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/decoder/http/impl/package-info.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/decoder/http/impl/package-info.java
index 60ec3716e..56a770cf9 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/decoder/http/impl/package-info.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/decoder/http/impl/package-info.java
@@ -18,4 +18,7 @@
 /**
  * SOAP 1.1 client message decoding support implementations.
  */
-package org.opensaml.soap.client.soap11.decoder.http.impl;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.client.soap11.decoder.http.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/encoder/http/impl/package-info.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/encoder/http/impl/package-info.java
index da167932f..63b496c19 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/encoder/http/impl/package-info.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/encoder/http/impl/package-info.java
@@ -18,4 +18,7 @@
 /**
  * SOAP 1.1 client message encoding support implementations.
  */
-package org.opensaml.soap.client.soap11.encoder.http.impl;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.client.soap11.encoder.http.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/config/impl/package-info.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/config/impl/package-info.java
index 068e2ccb1..967ac4fd3 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/config/impl/package-info.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/config/impl/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** Configuration and initialization of SOAP XMLObject providers. */
-package org.opensaml.soap.config.impl;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.config.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/decoder/http/impl/package-info.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/decoder/http/impl/package-info.java
index 641a46367..327f043e9 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/decoder/http/impl/package-info.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/decoder/http/impl/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** SOAP over HTTP 1.1 message decoder and handlers. */
-package org.opensaml.soap.soap11.decoder.http.impl;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.soap11.decoder.http.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/encoder/http/impl/package-info.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/encoder/http/impl/package-info.java
index 3b469c00b..49c535994 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/encoder/http/impl/package-info.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/encoder/http/impl/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** SOAP over HTTP 1.1 message encoder and handlers. */
-package org.opensaml.soap.soap11.encoder.http.impl;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.soap11.encoder.http.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/impl/package-info.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/impl/package-info.java
index 097c45ea1..5be94b433 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/impl/package-info.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/impl/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** Provided implementations of the SOAP 1.1 XMLObject interfaces. */
-package org.opensaml.soap.soap11.impl;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.soap11.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/messaging/impl/SOAP11FaultContextDecoratingErrorHandler.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/messaging/impl/SOAP11FaultContextDecoratingErrorHandler.java
index e7b548d7a..3b6c93b3a 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/messaging/impl/SOAP11FaultContextDecoratingErrorHandler.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/messaging/impl/SOAP11FaultContextDecoratingErrorHandler.java
@@ -81,7 +81,6 @@ public class SOAP11FaultContextDecoratingErrorHandler implements TypedMessageErr
     public SOAP11FaultContextDecoratingErrorHandler(@Nonnull final Class<? extends Throwable> throwable, 
             @Nonnull final QName code, @Nonnull final String message, @Nullable final String actor, 
             @Nullable final String addressingActionURI) {
-        super();
         handledThrowable = Constraint.isNotNull(throwable, "Handled Throwable type cannot be null");
         faultCode = Constraint.isNotNull(code, "Fault code cannot be null");
         faultString = Constraint.isNotNull(StringSupport.trim(message), "Fault string cannot be null or empty");
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/messaging/impl/package-info.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/messaging/impl/package-info.java
index 891cc715e..b690e6470 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/messaging/impl/package-info.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/messaging/impl/package-info.java
@@ -18,4 +18,7 @@
 /**
  * SOAP messaging support implementations.
  */
-package org.opensaml.soap.soap11.messaging.impl;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.soap11.messaging.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/profile/impl/AddSOAPFault.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/profile/impl/AddSOAPFault.java
index 191f4fc38..1142818ae 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/profile/impl/AddSOAPFault.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/profile/impl/AddSOAPFault.java
@@ -39,7 +39,6 @@ import org.opensaml.soap.soap11.FaultCode;
 import org.opensaml.soap.soap11.FaultString;
 import org.slf4j.Logger;
 
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.logic.Constraint;
 import net.shibboleth.shared.logic.PredicateSupport;
@@ -81,7 +80,7 @@ public class AddSOAPFault extends AbstractProfileAction {
     @Nullable private Function<ProfileRequestContext,String> faultStringLookupStrategy;
     
     /** Default fault codes to insert. */
-    @Nonnull @NonnullElements private QName defaultFaultCode;
+    @Nonnull private QName defaultFaultCode;
     
     /** A default fault string to include. */
     @Nullable private String faultString;
@@ -330,7 +329,7 @@ public class AddSOAPFault extends AbstractProfileAction {
     public static class FaultCodeMappingFunction implements Function<ProfileRequestContext,QName> {
 
         /** Code mappings. */
-        @Nonnull @NonnullElements private Map<String,QName> codeMappings;
+        @Nonnull private Map<String,QName> codeMappings;
         
         /** Strategy function for access to {@link EventContext} to check. */
         @Nonnull private Function<ProfileRequestContext,EventContext> eventContextLookupStrategy;
@@ -340,7 +339,7 @@ public class AddSOAPFault extends AbstractProfileAction {
          *
          * @param mappings the status code mappings to use
          */
-        public FaultCodeMappingFunction(@Nonnull @NonnullElements final Map<String,QName> mappings) {
+        public FaultCodeMappingFunction(@Nonnull final Map<String,QName> mappings) {
             Constraint.isNotNull(mappings, "Faultcode mappings cannot be null");
             
             codeMappings = new HashMap<>(mappings.size());
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/profile/impl/package-info.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/profile/impl/package-info.java
index d0565b241..34618bd3e 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/profile/impl/package-info.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/profile/impl/package-info.java
@@ -18,5 +18,7 @@
 /**
  * Profile actions related to SOAP 1.1.
  */
+ at NonnullElements
+package org.opensaml.soap.soap11.profile.impl;
 
-package org.opensaml.soap.soap11.profile.impl;
\ No newline at end of file
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsaddressing/impl/package-info.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsaddressing/impl/package-info.java
index e606f27e6..0ff00b505 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsaddressing/impl/package-info.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsaddressing/impl/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** XML Object provider implementations for WS-Addressing. */
-package org.opensaml.soap.wsaddressing.impl;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.wsaddressing.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsaddressing/messaging/impl/AddRelatesToHandler.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsaddressing/messaging/impl/AddRelatesToHandler.java
index 653cf2345..901b0b7e0 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsaddressing/messaging/impl/AddRelatesToHandler.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsaddressing/messaging/impl/AddRelatesToHandler.java
@@ -18,6 +18,7 @@
 package org.opensaml.soap.wsaddressing.messaging.impl;
 
 import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 
 import org.opensaml.core.xml.util.XMLObjectSupport;
 import org.opensaml.messaging.context.MessageContext;
@@ -41,20 +42,20 @@ public class AddRelatesToHandler extends AbstractHeaderGeneratingMessageHandler
     @Nonnull private Logger log = LoggerFactory.getLogger(AddRelatesToHandler.class);
     
     /** Optional lookup function for obtaining the RelatesTo URI value. */
-    private ContextDataLookupFunction<MessageContext, String> relatesToURILookup;
+    @Nullable private ContextDataLookupFunction<MessageContext, String> relatesToURILookup;
     
     /** The effective RelatesTo URI value to use. */
-    private String relatesToURI;
+    @Nullable private String relatesToURI;
     
     /** The effective RelatesTo RelationshipType attribute value to use. */
-    private String relationshipType;
+    @Nullable private String relationshipType;
     
     /**
      * Get the function for looking up the RelatesTo URI value.
      * 
      * @return the lookup function
      */
-    public ContextDataLookupFunction<MessageContext, String> getRelatesToURILookup() {
+    @Nullable public ContextDataLookupFunction<MessageContext, String> getRelatesToURILookup() {
         return relatesToURILookup;
     }
 
@@ -63,7 +64,7 @@ public class AddRelatesToHandler extends AbstractHeaderGeneratingMessageHandler
      * 
      * @param lookup the lookup function
      */
-    public void setRelatesToURILookup(final ContextDataLookupFunction<MessageContext, String> lookup) {
+    public void setRelatesToURILookup(@Nullable final ContextDataLookupFunction<MessageContext, String> lookup) {
         checkSetterPreconditions();
         relatesToURILookup = lookup;
     }
@@ -73,7 +74,7 @@ public class AddRelatesToHandler extends AbstractHeaderGeneratingMessageHandler
      * 
      * @return the relationship type
      */
-    public String getRelationshipType() {
+    @Nullable public String getRelationshipType() {
         return relationshipType;
     }
 
@@ -82,7 +83,7 @@ public class AddRelatesToHandler extends AbstractHeaderGeneratingMessageHandler
      * 
      * @param value the relationship type
      */
-    public void setRelationshipType(final String value) {
+    public void setRelationshipType(@Nullable final String value) {
         checkSetterPreconditions();
         relationshipType = StringSupport.trimOrNull(value);
     }
@@ -101,8 +102,8 @@ public class AddRelatesToHandler extends AbstractHeaderGeneratingMessageHandler
             }
         }
         
-        if (relatesToURI == null && getRelatesToURILookup() != null) {
-            relatesToURI = getRelatesToURILookup().apply(messageContext);
+        if (relatesToURI == null && relatesToURILookup != null) {
+            relatesToURI = relatesToURILookup.apply(messageContext);
         }
         
         if (relatesToURI == null) {
@@ -123,4 +124,4 @@ public class AddRelatesToHandler extends AbstractHeaderGeneratingMessageHandler
         SOAPMessagingSupport.addHeaderBlock(messageContext, relatesTo);
     }
 
-}
+}
\ No newline at end of file
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsaddressing/messaging/impl/ValidateActionHandler.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsaddressing/messaging/impl/ValidateActionHandler.java
index c5a57a85b..4a01f1f4f 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsaddressing/messaging/impl/ValidateActionHandler.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsaddressing/messaging/impl/ValidateActionHandler.java
@@ -51,7 +51,7 @@ public class ValidateActionHandler extends AbstractMessageHandler {
     @Nonnull private Logger log = LoggerFactory.getLogger(ValidateActionHandler.class);
     
     /** The expected Action URI value. */
-    private String expectedActionURI;
+    @Nullable private String expectedActionURI;
 
     /**
      * Get the expected Action URI.
@@ -122,4 +122,4 @@ public class ValidateActionHandler extends AbstractMessageHandler {
         return null; 
     }
 
-}
+}
\ No newline at end of file
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsaddressing/messaging/impl/package-info.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsaddressing/messaging/impl/package-info.java
index 64e5524c6..3db39f7f9 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsaddressing/messaging/impl/package-info.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsaddressing/messaging/impl/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** WS-Addressing message handling components. */
-package org.opensaml.soap.wsaddressing.messaging.impl;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.wsaddressing.messaging.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsfed/impl/package-info.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsfed/impl/package-info.java
index f9eba37c0..d367af327 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsfed/impl/package-info.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wsfed/impl/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** XML Object provider implementations for WS-Federation. */
-package org.opensaml.soap.wsfed.impl;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.wsfed.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wspolicy/impl/package-info.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wspolicy/impl/package-info.java
index 72eba14b0..0367cbfc5 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wspolicy/impl/package-info.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wspolicy/impl/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** XML Object provider implementations for WS-Policy. */
-package org.opensaml.soap.wspolicy.impl;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.wspolicy.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wssecurity/impl/package-info.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wssecurity/impl/package-info.java
index fa5ce8430..54e74ed0a 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wssecurity/impl/package-info.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wssecurity/impl/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** XML Object provider implementations for WS-Security. */
-package org.opensaml.soap.wssecurity.impl;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.wssecurity.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wssecurity/messaging/impl/package-info.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wssecurity/messaging/impl/package-info.java
index 4987996ed..68b55a6f2 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wssecurity/messaging/impl/package-info.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wssecurity/messaging/impl/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** WS-Security message handling components. */
-package org.opensaml.soap.wssecurity.messaging.impl;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.wssecurity.messaging.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wstrust/impl/package-info.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wstrust/impl/package-info.java
index 9058ad6ec..7579c3025 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/wstrust/impl/package-info.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/wstrust/impl/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** XML Object provider implementations for WS-Trust. */
-package org.opensaml.soap.wstrust.impl;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.soap.wstrust.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;

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


More information about the commits mailing list