[java-metadata-aggregator] branch main updated: Nullability

Ian Young ian at iay.org.uk
Fri Feb 3 10:38:59 UTC 2023


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

iay pushed a commit to branch main
in repository java-metadata-aggregator.

View the commit online:
http://git.shibboleth.net/view/?p=java-metadata-aggregator.git;a=commit;h=adb08b44d9ba736fd1b5de8f6f1c27ea535243f7

The following commit(s) were added to refs/heads/main by this push:
     new adb08b4  Nullability
adb08b4 is described below

commit adb08b44d9ba736fd1b5de8f6f1c27ea535243f7
Author: Ian Young <ian at iay.org.uk>
AuthorDate: Fri Feb 3 10:38:56 2023 +0000

    Nullability
---
 .../metadata/dom/AbstractXSLProcessingStage.java   |  6 ++--
 .../net/shibboleth/metadata/dom/ElementMaker.java  |  2 +-
 .../shibboleth/metadata/dom/ElementVisitor.java    |  3 +-
 .../metadata/dom/NamespaceStrippingStage.java      |  2 +-
 .../metadata/dom/saml/AttributeElementMaker.java   |  2 +-
 .../metadata/dom/saml/SAMLMetadataSupport.java     | 34 +++++++++++-----------
 .../shibboleth/metadata/dom/saml/SAMLSupport.java  | 14 ++++-----
 .../AbstractItemMetadataSelectionStage.java        |  4 +--
 .../FilesInDirectoryMultiOutputStrategy.java       |  2 +-
 ...actCompositeItemIdentificationStrategyTest.java |  6 ++--
 .../java/net/shibboleth/metadata/BaseTest.java     |  6 ++--
 .../net/shibboleth/metadata/dom/BaseDOMTest.java   | 10 +++++--
 12 files changed, 49 insertions(+), 42 deletions(-)

diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractXSLProcessingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractXSLProcessingStage.java
index cd64f42..57852ff 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractXSLProcessingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractXSLProcessingStage.java
@@ -346,17 +346,17 @@ public abstract class AbstractXSLProcessingStage extends AbstractStage<Element>
         }
 
         @Override
-        public void error(@Nonnull final TransformerException e) throws TransformerException {
+        public void error(final TransformerException e) throws TransformerException {
             parseAndAppendStatusInfo(e);
         }
 
         @Override
-        public void fatalError(@Nonnull final TransformerException e) throws TransformerException {
+        public void fatalError(final TransformerException e) throws TransformerException {
             parseAndAppendStatusInfo(e);
         }
 
         @Override
-        public void warning(@Nonnull final TransformerException e) throws TransformerException {
+        public void warning(final TransformerException e) throws TransformerException {
             parseAndAppendStatusInfo(e);
         }
 
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementMaker.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementMaker.java
index 486e796..6d7a0d8 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementMaker.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementMaker.java
@@ -48,7 +48,7 @@ public class ElementMaker implements Function<Container, Element> {
     }
 
     @Override
-    public Element apply(@Nonnull final Container input) {
+    public Element apply(final Container input) {
         return ElementSupport.constructElement(input.unwrap().getOwnerDocument(), name);
     }
 
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementVisitor.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementVisitor.java
index 40a61e9..3cf6ca7 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementVisitor.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementVisitor.java
@@ -19,6 +19,7 @@ package net.shibboleth.metadata.dom;
 
 import net.shibboleth.metadata.Item;
 
+import javax.annotation.Nonnull;
 import javax.annotation.concurrent.ThreadSafe;
 
 import org.w3c.dom.Element;
@@ -43,6 +44,6 @@ public interface ElementVisitor {
      * @param visited the {@link Element} being visited.
      * @param item the {@link Item} which is the context for the visit.
      */
-    void visitElement(Element visited, Item<Element> item);
+    void visitElement(@Nonnull Element visited, @Nonnull Item<Element> item);
     
 }
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/NamespaceStrippingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/NamespaceStrippingStage.java
index 83e696c..24e68df 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/NamespaceStrippingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/NamespaceStrippingStage.java
@@ -63,7 +63,7 @@ public class NamespaceStrippingStage extends AbstractNamespacesStrippingStage {
     }
 
     @Override
-    protected boolean removingNamespace(final String ns) {
+    protected boolean removingNamespace(final @Nonnull String ns) {
         return getNamespace().equals(ns);
     }
 
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeElementMaker.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeElementMaker.java
index 05bf1bf..f0943bb 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeElementMaker.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeElementMaker.java
@@ -56,7 +56,7 @@ public class AttributeElementMaker extends ElementMaker {
     }
 
     @Override
-    public Element apply(@Nonnull final Container container) {
+    public Element apply(final Container container) {
         final Element newElement = super.apply(container);
         newElement.setAttributeNS(null, "Name", attributeName);
         newElement.setAttributeNS(null, "NameFormat", attributeNameFormat);
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SAMLMetadataSupport.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SAMLMetadataSupport.java
index e172339..9584803 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SAMLMetadataSupport.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SAMLMetadataSupport.java
@@ -36,53 +36,53 @@ import net.shibboleth.shared.xml.ElementSupport;
 public final class SAMLMetadataSupport {
 
     /** SAML Metadata namespace URI. */
-    public static final String MD_NS = "urn:oasis:names:tc:SAML:2.0:metadata";
+    public static final @Nonnull String MD_NS = "urn:oasis:names:tc:SAML:2.0:metadata";
 
     /** Default SAML Metadata namespace prefix. */
-    public static final String MD_PREFIX = "md";
+    public static final @Nonnull String MD_PREFIX = "md";
 
     /** EntitiesDescriptor element name. */
-    public static final QName ENTITIES_DESCRIPTOR_NAME = new QName(MD_NS, "EntitiesDescriptor", MD_PREFIX);
+    public static final @Nonnull QName ENTITIES_DESCRIPTOR_NAME = new QName(MD_NS, "EntitiesDescriptor", MD_PREFIX);
 
     /** EntityDescriptor element name. */
-    public static final QName ENTITY_DESCRIPTOR_NAME = new QName(MD_NS, "EntityDescriptor", MD_PREFIX);
+    public static final @Nonnull QName ENTITY_DESCRIPTOR_NAME = new QName(MD_NS, "EntityDescriptor", MD_PREFIX);
 
     /** Extensions element name. */
-    public static final QName EXTENSIONS_NAME = new QName(MD_NS, "Extensions", MD_PREFIX);
+    public static final @Nonnull QName EXTENSIONS_NAME = new QName(MD_NS, "Extensions", MD_PREFIX);
 
     /** validUntil attribute name. */
-    public static final QName VALID_UNTIL_ATTRIB_NAME = new QName("validUntil");
+    public static final @Nonnull QName VALID_UNTIL_ATTRIB_NAME = new QName("validUntil");
 
     /** cacheDuration attribute name. */
-    public static final QName CACHE_DURATION_ATTRIB_NAME = new QName("cacheDuration");
+    public static final @Nonnull QName CACHE_DURATION_ATTRIB_NAME = new QName("cacheDuration");
 
     /**
      * QName of the RoleDescriptor element.
      *
      * @since 0.10.0
      */
-    public static final QName ROLE_DESCRIPTOR_NAME = new QName(MD_NS, "RoleDescriptor");
+    public static final @Nonnull QName ROLE_DESCRIPTOR_NAME = new QName(MD_NS, "RoleDescriptor");
 
     /**
      * QName of the IDPSSODescriptor element.
      *
      * @since 0.10.0
      */
-    public static final QName IDP_SSO_DESCRIPTOR_NAME = new QName(MD_NS, "IDPSSODescriptor");
+    public static final @Nonnull QName IDP_SSO_DESCRIPTOR_NAME = new QName(MD_NS, "IDPSSODescriptor");
 
     /**
      * QName of the SPSSODescriptor element.
      *
      * @since 0.10.0
      */
-    public static final QName SP_SSO_DESCRIPTOR_NAME = new QName(MD_NS, "SPSSODescriptor");
+    public static final @Nonnull QName SP_SSO_DESCRIPTOR_NAME = new QName(MD_NS, "SPSSODescriptor");
 
     /**
      * QName of the AuthnAuthorityDescriptor element.
      *
      * @since 0.10.0
      */
-    public static final QName AUTHN_AUTHORITY_DESCRIPTOR_NAME = new QName(MD_NS,
+    public static final @Nonnull QName AUTHN_AUTHORITY_DESCRIPTOR_NAME = new QName(MD_NS,
             "AuthnAuthorityDescriptor");
 
     /**
@@ -90,7 +90,7 @@ public final class SAMLMetadataSupport {
      *
      * @since 0.10.0
      */
-    public static final QName ATTRIBUTE_AUTHORITY_DESCRIPTOR_NAME = new QName(MD_NS,
+    public static final @Nonnull QName ATTRIBUTE_AUTHORITY_DESCRIPTOR_NAME = new QName(MD_NS,
             "AttributeAuthorityDescriptor");
 
     /**
@@ -98,35 +98,35 @@ public final class SAMLMetadataSupport {
      *
      * @since 0.10.0
      */
-    public static final QName PDP_DESCRIPTOR_NAME = new QName(MD_NS, "PDPDescriptor");
+    public static final @Nonnull QName PDP_DESCRIPTOR_NAME = new QName(MD_NS, "PDPDescriptor");
 
     /**
      * QName of the Organization element.
      *
      * @since 0.10.0
      */
-    public static final QName ORGANIZATION_NAME = new QName(MD_NS, "Organization", MD_PREFIX);
+    public static final @Nonnull QName ORGANIZATION_NAME = new QName(MD_NS, "Organization", MD_PREFIX);
 
     /**
      * QName of the OrganizationName element.
      *
      * @since 0.10.0
      */
-    public static final QName ORGANIZATIONNAME_NAME = new QName(MD_NS, "OrganizationName", MD_PREFIX);
+    public static final @Nonnull QName ORGANIZATIONNAME_NAME = new QName(MD_NS, "OrganizationName", MD_PREFIX);
 
     /**
      * QName of the OrganizationDisplayName element.
      *
      * @since 0.10.0
      */
-    public static final QName ORGANIZATIONDISPLAYNAME_NAME = new QName(MD_NS, "OrganizationDisplayName", MD_PREFIX);
+    public static final @Nonnull QName ORGANIZATIONDISPLAYNAME_NAME = new QName(MD_NS, "OrganizationDisplayName", MD_PREFIX);
 
     /**
      * QName of the OrganizationURL element.
      *
      * @since 0.10.0
      */
-    public static final QName ORGANIZATIONURL_NAME = new QName(MD_NS, "OrganizationURL", MD_PREFIX);
+    public static final @Nonnull QName ORGANIZATIONURL_NAME = new QName(MD_NS, "OrganizationURL", MD_PREFIX);
 
     /** Constructor. */
     private SAMLMetadataSupport() {
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SAMLSupport.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SAMLSupport.java
index e0e6d75..b028519 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SAMLSupport.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SAMLSupport.java
@@ -40,26 +40,26 @@ import net.shibboleth.metadata.dom.ElementMatcher;
 public final class SAMLSupport {
 
     /** Namespace URI for SAML elements. */
-    public static final String SAML_NS = "urn:oasis:names:tc:SAML:2.0:assertion";
+    public static final @Nonnull String SAML_NS = "urn:oasis:names:tc:SAML:2.0:assertion";
     
     /** Conventional prefix for SAML elements. */
-    public static final String SAML_PREFIX = "saml";
+    public static final @Nonnull String SAML_PREFIX = "saml";
     
     /** saml:Attribute element. */
-    public static final QName ATTRIBUTE_NAME = new QName(SAML_NS, "Attribute", SAML_PREFIX);
+    public static final @Nonnull QName ATTRIBUTE_NAME = new QName(SAML_NS, "Attribute", SAML_PREFIX);
     
     /** Unspecified default <code>NameFormat</code> value for <code>Attribute</code> elements. */
-    public static final String ATTRNAME_FORMAT_UNSPECIFIED = "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified";
+    public static final @Nonnull String ATTRNAME_FORMAT_UNSPECIFIED = "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified";
     
     /** saml:AttributeValue element. */
-    public static final QName ATTRIBUTE_VALUE_NAME = new QName(SAML_NS, "AttributeValue", SAML_PREFIX);
+    public static final @Nonnull QName ATTRIBUTE_VALUE_NAME = new QName(SAML_NS, "AttributeValue", SAML_PREFIX);
 
     /**
      * Matcher for the <code>Extensions</code> element, for use with the {@link Container} system.
      *
      * @since 0.10.0
      */
-    public static final Predicate<Element> EXTENSIONS_MATCHER =
+    public static final @Nonnull Predicate<Element> EXTENSIONS_MATCHER =
             new ElementMatcher(SAMLMetadataSupport.EXTENSIONS_NAME);
 
     /**
@@ -67,7 +67,7 @@ public final class SAMLSupport {
      *
      * @since 0.10.0
      */
-    public static final Function<Container, Element> EXTENSIONS_MAKER =
+    public static final @Nonnull Function<Container, Element> EXTENSIONS_MAKER =
             new ElementMaker(SAMLMetadataSupport.EXTENSIONS_NAME);
 
     /** Constructor. */
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractItemMetadataSelectionStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractItemMetadataSelectionStage.java
index 4fffa62..ca981b7 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractItemMetadataSelectionStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractItemMetadataSelectionStage.java
@@ -101,10 +101,10 @@ public abstract class AbstractItemMetadataSelectionStage<T, B> extends AbstractS
     }
 
     @Override
-    protected void doExecute(final List<Item<T>> items) throws StageProcessingException {
+    protected void doExecute(final @Nonnull List<Item<T>> items) throws StageProcessingException {
         // we make a defensive copy here in case logic in the delegate #doExecute makes changes
         // to the item collection and thus would cause issues if we were iterating over it directly
-        final var collectionCopy = new ArrayList<>(items);
+        final @Nonnull var collectionCopy = new ArrayList<>(items);
 
         for (final Item<T> item : collectionCopy) {
             final var matchingMetadata = new ClassToInstanceMultiMap<B>();
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/FilesInDirectoryMultiOutputStrategy.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/FilesInDirectoryMultiOutputStrategy.java
index 68dd910..4df0b20 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/FilesInDirectoryMultiOutputStrategy.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/FilesInDirectoryMultiOutputStrategy.java
@@ -181,7 +181,7 @@ public class FilesInDirectoryMultiOutputStrategy<T> extends AbstractInitializabl
     }
 
     @Override
-    public Destination getDestination(final Item<T> item) throws StageProcessingException {
+    public @Nonnull Destination getDestination(final @Nonnull Item<T> item) throws StageProcessingException {
         // Locate the item's identifier.
         final List<ItemId> ids = item.getItemMetadata().get(ItemId.class);
         if (ids.isEmpty()) {
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/AbstractCompositeItemIdentificationStrategyTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/AbstractCompositeItemIdentificationStrategyTest.java
index 1c7d65d..55a6db5 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/AbstractCompositeItemIdentificationStrategyTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/AbstractCompositeItemIdentificationStrategyTest.java
@@ -1,6 +1,8 @@
 
 package net.shibboleth.metadata;
 
+import javax.annotation.Nonnull;
+
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
@@ -12,12 +14,12 @@ public class AbstractCompositeItemIdentificationStrategyTest {
     static class StringItemIdentificationStrategy extends AbstractCompositeItemIdentificationStrategy<String> {
 
         @Override
-        String getBasicIdentifier(Item<String> item) {
+        String getBasicIdentifier(final @Nonnull Item<String> item) {
             return "[basic:" + item.unwrap() + "]";
         }
 
         @Override
-        String getExtraIdentifier(Item<String> item) {
+        String getExtraIdentifier(final @Nonnull Item<String> item) {
             return "[extra:" + item.unwrap() + "]";
         }
         
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/BaseTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/BaseTest.java
index 341bb61..01fdd95 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/BaseTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/BaseTest.java
@@ -51,7 +51,7 @@ public abstract class BaseTest {
      * 
      * @param clazz class under test
      */
-    protected BaseTest(final Class<?> clazz) {
+    protected BaseTest(final @Nonnull Class<?> clazz) {
         testingClass = clazz;
         baseClassPath = nameToPath(testingClass.getName());
         testingPackage = testingClass.getPackage();
@@ -65,7 +65,7 @@ public abstract class BaseTest {
      * @param name name to be converted
      * @return path to resources associated with the name
      */
-    private String nameToPath(final String name) {
+    private String nameToPath(final @Nonnull String name) {
         return "/" + name.replace('.', '/');
     }
         
@@ -78,7 +78,7 @@ public abstract class BaseTest {
      * @param which class-relative resource name
      * @return absolute resource name
      */
-    protected String classRelativeResource(final String which) {
+    protected @Nonnull String classRelativeResource(final @Nonnull String which) {
         return baseClassPath + "-" + which;
     }
     
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/BaseDOMTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/BaseDOMTest.java
index 40257d2..87204fa 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/BaseDOMTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/BaseDOMTest.java
@@ -109,8 +109,8 @@ public abstract class BaseDOMTest extends BaseTest {
      * 
      * @throws XMLParserException thrown if the file does not exist or there is a problem parsing it
      */
-    public Element readXMLData(final String path) throws XMLParserException {
-        String trimmedPath = StringSupport.trimOrNull(path);
+    public @Nonnull Element readXMLData(final @Nonnull String path) throws XMLParserException {
+        @Nonnull String trimmedPath = StringSupport.trimOrNull(path);
         Constraint.isNotNull(trimmedPath, "Path may not be null or empty");
 
         if (!trimmedPath.startsWith("/")) {
@@ -122,7 +122,11 @@ public abstract class BaseDOMTest extends BaseTest {
             throw new XMLParserException(trimmedPath + " does not exist or is not readable");
         }
 
-        return parserPool.parse(input).getDocumentElement();
+        final var docElement = parserPool.parse(input).getDocumentElement();
+        if (docElement == null) {
+            throw new XMLParserException("could not parse " + trimmedPath);
+        }
+        return docElement;
     }
 
     /**

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


More information about the commits mailing list