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

Ian Young ian at iay.org.uk
Mon Apr 3 21:11:41 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=e1ea64e8ebcb01a692f6e123c144219b603ead72

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

commit e1ea64e8ebcb01a692f6e123c144219b603ead72
Author: Ian Young <ian at iay.org.uk>
AuthorDate: Mon Apr 3 22:11:35 2023 +0100

    Nullability
---
 .../dom/AbstractNamespacesStrippingStage.java      |  1 +
 .../metadata/dom/AbstractXSLProcessingStage.java   | 10 ++++++---
 .../metadata/dom/DOMFilesystemSourceStage.java     |  1 +
 .../net/shibboleth/metadata/dom/ElementMaker.java  |  4 +++-
 .../shibboleth/metadata/dom/ElementMatcher.java    |  2 +-
 .../dom/MultiOutputXSLTransformationStage.java     |  6 ++++-
 .../dom/saml/EntitiesDescriptorAssemblerStage.java |  3 ++-
 .../metadata/dom/saml/EntityRoleFilterStage.java   |  8 +++++--
 .../saml/mdattr/EntityAttributeFilteringStage.java |  6 ++++-
 .../EntityRegistrationAuthorityFilterStage.java    |  4 +++-
 .../dom/saml/mdrpi/MDRPIMetadataSupport.java       |  5 +++--
 .../AbstractItemMetadataSelectionStage.java        |  3 ++-
 .../metadata/pipeline/AbstractIteratingStage.java  |  3 ++-
 .../net/shibboleth/metadata/BeansFileTest.java     |  2 ++
 .../DeduplicatingItemIdMergeStrategyTest.java      |  4 +++-
 .../metadata/dom/DOMElementItemTest.java           |  2 ++
 .../metadata/dom/DOMResourceSourceStageTest.java   |  8 +++++--
 .../dom/ElementWhitespaceTrimmingStageTest.java    |  3 ++-
 .../saml/EntitiesDescriptorAssemblerStageTest.java |  7 ++++--
 .../metadata/dom/saml/EntityFilterStageTest.java   | 26 ++++++++++++----------
 .../dom/saml/EntityRoleFilterStageTest.java        | 26 ++++++++++++----------
 .../mdattr/EntityAttributeAddingStageTest.java     | 13 ++++++-----
 .../mdattr/EntityAttributeFilteringStageTest.java  |  8 ++++---
 ...EntityRegistrationAuthorityFilterStageTest.java | 20 ++++++++---------
 .../metadata/pipeline/CompositeStageTest.java      |  1 +
 25 files changed, 113 insertions(+), 63 deletions(-)

diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractNamespacesStrippingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractNamespacesStrippingStage.java
index 7e6beea..e9c213a 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractNamespacesStrippingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractNamespacesStrippingStage.java
@@ -160,6 +160,7 @@ public abstract class AbstractNamespacesStrippingStage extends AbstractIterating
          */
         final List<Element> children = ElementSupport.getChildElements(element);
         for (final Element child : children) {
+            assert child != null;
             processElement(child, depth+1);
         }
     
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 8d5a3c5..9d037b5 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
@@ -154,7 +154,7 @@ public abstract class AbstractXSLProcessingStage extends AbstractStage<Element>
     public synchronized void setTransformAttributes(
             @Nonnull @NonnullElements @Unmodifiable final Map<String, Object> attributes) {
         checkSetterPreconditions();
-        transformAttributes = Map.copyOf(attributes);
+        transformAttributes = CollectionSupport.copyToMap(attributes);
     }
 
     /**
@@ -175,7 +175,7 @@ public abstract class AbstractXSLProcessingStage extends AbstractStage<Element>
     public synchronized void setTransformFeatures(
             @Nonnull @NonnullElements @Unmodifiable final Map<String, Boolean> features) {
         checkSetterPreconditions();
-        transformFeatures = Map.copyOf(features);
+        transformFeatures = CollectionSupport.copyToMap(features);
     }
 
     /**
@@ -196,7 +196,7 @@ public abstract class AbstractXSLProcessingStage extends AbstractStage<Element>
     public synchronized void setTransformParameters(
             @Nonnull @NonnullElements @Unmodifiable final Map<String, Object> parameters) {
         checkSetterPreconditions();
-        transformParameters = Map.copyOf(parameters);
+        transformParameters = CollectionSupport.copyToMap(parameters);
     }
 
     /**
@@ -233,6 +233,7 @@ public abstract class AbstractXSLProcessingStage extends AbstractStage<Element>
              * a Transformer for each execution.
              */
             final Transformer transformer = getXSLTemplate().newTransformer();
+            assert transformer != null;
 
             // Set each of the transform's parameters
             for (final Map.Entry<String, Object> entry : getTransformParameters().entrySet()) {
@@ -347,16 +348,19 @@ public abstract class AbstractXSLProcessingStage extends AbstractStage<Element>
 
         @Override
         public void error(final TransformerException e) throws TransformerException {
+            assert e != null;
             parseAndAppendStatusInfo(e);
         }
 
         @Override
         public void fatalError(final TransformerException e) throws TransformerException {
+            assert e != null;
             parseAndAppendStatusInfo(e);
         }
 
         @Override
         public void warning(final TransformerException e) throws TransformerException {
+            assert e != null;
             parseAndAppendStatusInfo(e);
         }
 
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMFilesystemSourceStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMFilesystemSourceStage.java
index 05266cf..18c3609 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMFilesystemSourceStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMFilesystemSourceStage.java
@@ -226,6 +226,7 @@ public class DOMFilesystemSourceStage extends AbstractStage<Element> {
         }
 
         for (final File source : sourceFiles) {
+            assert source != null;
             final var dme = processSourceFile(source);
             if (dme != null) {
                 items.add(dme);
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 6d7a0d8..0a20c71 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
@@ -49,7 +49,9 @@ public class ElementMaker implements Function<Container, Element> {
 
     @Override
     public Element apply(final Container input) {
-        return ElementSupport.constructElement(input.unwrap().getOwnerDocument(), name);
+        final var element = input.unwrap().getOwnerDocument();
+        assert element != null;
+        return ElementSupport.constructElement(element, name);
     }
 
 }
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementMatcher.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementMatcher.java
index 56886cd..f37c60b 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementMatcher.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementMatcher.java
@@ -49,7 +49,7 @@ public class ElementMatcher implements Predicate<Element> {
     }
 
     @Override
-    public boolean test(@Nonnull final Element input) {
+    public boolean test(final Element input) {
         return ElementSupport.isElementNamed(input, qname);
     }
 
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/MultiOutputXSLTransformationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/MultiOutputXSLTransformationStage.java
index ad386e0..3bc31ec 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/MultiOutputXSLTransformationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/MultiOutputXSLTransformationStage.java
@@ -54,6 +54,7 @@ public class MultiOutputXSLTransformationStage extends AbstractXSLProcessingStag
         try {
             final ArrayList<Item<Element>> newItems = new ArrayList<>();
             for (final Item<Element> domItem : items) {
+                assert domItem != null;
                 transformer.setErrorListener(new StatusInfoAppendingErrorListener(domItem));
                 final Element element = domItem.unwrap();
 
@@ -64,8 +65,11 @@ public class MultiOutputXSLTransformationStage extends AbstractXSLProcessingStag
                 // The document fragment contains a number of Elements, each of which
                 // becomes a new DomElementItem in the output collection carrying the same
                 // ItemMetadata objects as the input.
-                final List<Element> transformedElements = ElementSupport.getChildElements(result.getNode());
+                final var node = result.getNode();
+                assert node != null;
+                final List<Element> transformedElements = ElementSupport.getChildElements(node);
                 for (final Element transformedElement : transformedElements) {
+                    assert transformedElement != null;
                     final DOMElementItem newItem = new DOMElementItem(transformedElement);
                     newItem.getItemMetadata().putAll(domItem.getItemMetadata());
                     newItems.add(newItem);
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntitiesDescriptorAssemblerStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntitiesDescriptorAssemblerStage.java
index a998c76..dad6d3b 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntitiesDescriptorAssemblerStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntitiesDescriptorAssemblerStage.java
@@ -52,7 +52,7 @@ import net.shibboleth.shared.xml.NamespaceSupport;
 public class EntitiesDescriptorAssemblerStage extends AbstractStage<Element> {
 
     /** Name of the EntitiesDescriptor's Name attribute. */
-    private static final QName NAME_ATTRIB_NAME = new QName("Name");
+    private static final @Nonnull QName NAME_ATTRIB_NAME = new QName("Name");
 
     /** Class logger. */
     private static final @Nonnull Logger LOG = LoggerFactory.getLogger(EntitiesDescriptorAssemblerStage.class);
@@ -144,6 +144,7 @@ public class EntitiesDescriptorAssemblerStage extends AbstractStage<Element> {
         final DOMImplementation domImpl =
                 items.iterator().next().unwrap().getOwnerDocument().getImplementation();
         final Document entitiesDescriptorDocument = domImpl.createDocument(null, null, null);
+        assert entitiesDescriptorDocument != null;
 
         final Element entitiesDescriptor =
                 ElementSupport.constructElement(entitiesDescriptorDocument,
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityRoleFilterStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityRoleFilterStage.java
index 6cb0a34..d24b50d 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityRoleFilterStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityRoleFilterStage.java
@@ -55,7 +55,7 @@ public class EntityRoleFilterStage extends AbstractFilteringStage<Element> {
      * {@link SAMLMetadataSupport#ATTRIBUTE_AUTHORITY_DESCRIPTOR_NAME}, {@link SAMLMetadataSupport#PDP_DESCRIPTOR_NAME}.
      */
     @Nonnull  @NonnullElements @Unmodifiable
-    private static final Set<QName> NAMED_ROLES = Set.of(SAMLMetadataSupport.IDP_SSO_DESCRIPTOR_NAME,
+    private static final Set<QName> NAMED_ROLES = CollectionSupport.setOf(SAMLMetadataSupport.IDP_SSO_DESCRIPTOR_NAME,
             SAMLMetadataSupport.SP_SSO_DESCRIPTOR_NAME,
             SAMLMetadataSupport.AUTHN_AUTHORITY_DESCRIPTOR_NAME,
             SAMLMetadataSupport.ATTRIBUTE_AUTHORITY_DESCRIPTOR_NAME,
@@ -97,7 +97,7 @@ public class EntityRoleFilterStage extends AbstractFilteringStage<Element> {
      */
     public synchronized void setDesignatedRoles(@Nonnull @NonnullElements @Unmodifiable final Collection<QName> roles) {
         checkSetterPreconditions();
-        designatedRoles = Set.copyOf(roles);
+        designatedRoles = CollectionSupport.copyToSet(roles);
     }
 
     /**
@@ -189,6 +189,7 @@ public class EntityRoleFilterStage extends AbstractFilteringStage<Element> {
         final List<Element> childEntitiesDescriptors =
                 ElementSupport.getChildElements(entitiesDescriptor, SAMLMetadataSupport.ENTITIES_DESCRIPTOR_NAME);
         for (final var descriptor : childEntitiesDescriptors) {
+            assert descriptor != null;
             if (processEntitiesDescriptor(descriptor)) {
                 entitiesDescriptor.removeChild(descriptor);
             } else {
@@ -199,6 +200,7 @@ public class EntityRoleFilterStage extends AbstractFilteringStage<Element> {
         final List<Element> childEntityDescriptors =
                 ElementSupport.getChildElements(entitiesDescriptor, SAMLMetadataSupport.ENTITY_DESCRIPTOR_NAME);
         for (final var descriptor : childEntityDescriptors) {
+            assert descriptor != null;
             if (processEntityDescriptor(descriptor)) {
                 entitiesDescriptor.removeChild(descriptor);
             } else {
@@ -227,6 +229,7 @@ public class EntityRoleFilterStage extends AbstractFilteringStage<Element> {
         }
 
         final String entityId = entityDescriptor.getAttributeNS(null, "entityID");
+        assert entityId != null;
 
         LOG.debug("{} pipeline stage filtering roles from EntityDescriptor {}", getId(), entityId);
 
@@ -250,6 +253,7 @@ public class EntityRoleFilterStage extends AbstractFilteringStage<Element> {
         boolean remains = false;
         final List<Element> childElements = ElementSupport.getChildElements(entityDescriptor);
         for (final var child : childElements) {
+            assert child != null;
             final QName childQName = QNameSupport.getNodeQName(child);
 
             final QName roleIdentifier;
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeFilteringStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeFilteringStage.java
index c2db56a..f67abde 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeFilteringStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeFilteringStage.java
@@ -221,7 +221,7 @@ public class EntityAttributeFilteringStage extends AbstractIteratingStage<Elemen
     public synchronized void setRules(
             @Nonnull @NonnullElements @Unmodifiable final List<Predicate<EntityAttributeContext>> newRules) {
         checkSetterPreconditions();
-        rules = List.copyOf(Constraint.isNotNull(newRules, "rules property may not be null"));
+        rules = CollectionSupport.copyToList(Constraint.isNotNull(newRules, "rules property may not be null"));
     }
     
     /**
@@ -316,6 +316,7 @@ public class EntityAttributeFilteringStage extends AbstractIteratingStage<Elemen
             @Nonnull final Item<Element> item) {
         // Determine the attribute's name; this will default to the empty string if not present
         final String attributeName = attribute.getAttribute("Name");
+        assert attributeName != null;
         
         // Determine the attribute's NameFormat
         final String attributeNameFormat = SAMLSupport.extractAttributeNameFormat(attribute);
@@ -327,6 +328,7 @@ public class EntityAttributeFilteringStage extends AbstractIteratingStage<Elemen
         // Filter each AttributeValue in turn
         for (final Element value : attributeValues) {
             final String attributeValue = value.getTextContent();
+            assert attributeValue != null;
 
             // Construct an entity attribute context to be matched against
             final EntityAttributeContext ctx =
@@ -360,6 +362,7 @@ public class EntityAttributeFilteringStage extends AbstractIteratingStage<Elemen
         
         // Filter each Attribute in turn
         for (final Element attribute : attributes) {
+            assert attribute != null;
             filterAttribute(attribute, registrationAuthority, item);
             
             // remove the Attribute container if it is now empty
@@ -384,6 +387,7 @@ public class EntityAttributeFilteringStage extends AbstractIteratingStage<Elemen
          */
         for (final Element entityAttributes : SAMLMetadataSupport.getDescriptorExtensionList(entity,
                 MDAttrSupport.ENTITY_ATTRIBUTES_NAME)) {
+            assert entityAttributes != null;
             filterEntityAttributes(entityAttributes, registrationAuthority, item);
 
             // remove the EntityAttributes container if it is now empty
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/EntityRegistrationAuthorityFilterStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/EntityRegistrationAuthorityFilterStage.java
index e79b8b0..606a4a7 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/EntityRegistrationAuthorityFilterStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/EntityRegistrationAuthorityFilterStage.java
@@ -95,7 +95,7 @@ public class EntityRegistrationAuthorityFilterStage extends AbstractFilteringSta
     public synchronized void setDesignatedRegistrationAuthorities(
             @Nonnull @NonnullElements @Unmodifiable final Collection<String> authorities) {
         checkSetterPreconditions();
-        designatedAuthorities = Set.copyOf(authorities);
+        designatedAuthorities = CollectionSupport.copyToSet(authorities);
     }
 
     /**
@@ -173,6 +173,7 @@ public class EntityRegistrationAuthorityFilterStage extends AbstractFilteringSta
         final List<Element> childEntitiesDescriptors =
                 ElementSupport.getChildElements(entitiesDescriptor, SAMLMetadataSupport.ENTITIES_DESCRIPTOR_NAME);
         for (final var descriptor : childEntitiesDescriptors) {
+            assert descriptor != null;
             if (processEntitiesDescriptor(descriptor)) {
                 entitiesDescriptor.removeChild(descriptor);
             } else {
@@ -183,6 +184,7 @@ public class EntityRegistrationAuthorityFilterStage extends AbstractFilteringSta
         final List<Element> childEntityDescriptors =
                 ElementSupport.getChildElements(entitiesDescriptor, SAMLMetadataSupport.ENTITY_DESCRIPTOR_NAME);
         for (final var descriptor : childEntityDescriptors) {
+            assert descriptor != null;
             if (filterOutDescriptor(descriptor)) {
                 entitiesDescriptor.removeChild(descriptor);
             } else {
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/MDRPIMetadataSupport.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/MDRPIMetadataSupport.java
index ef14abe..6fd9abf 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/MDRPIMetadataSupport.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/MDRPIMetadataSupport.java
@@ -17,6 +17,7 @@
 
 package net.shibboleth.metadata.dom.saml.mdrpi;
 
+import javax.annotation.Nonnull;
 import javax.annotation.concurrent.ThreadSafe;
 import javax.xml.namespace.QName;
 
@@ -25,10 +26,10 @@ import javax.xml.namespace.QName;
 public final class MDRPIMetadataSupport {
 
     /** MDRPI namespace. */
-    public static final String MDRPI_NS = "urn:oasis:names:tc:SAML:metadata:rpi";
+    public static final @Nonnull String MDRPI_NS = "urn:oasis:names:tc:SAML:metadata:rpi";
 
     /** mdrpi:RegistrationInfo element. */
-    public static final QName MDRPI_REGISTRATION_INFO = new QName(MDRPI_NS, "RegistrationInfo");
+    public static final @Nonnull QName MDRPI_REGISTRATION_INFO = new QName(MDRPI_NS, "RegistrationInfo");
     
     /** Constructor. */
     private MDRPIMetadataSupport() {
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 ca981b7..81368d3 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
@@ -78,7 +78,7 @@ public abstract class AbstractItemMetadataSelectionStage<T, B> extends AbstractS
     public synchronized void setSelectionRequirements(
             @Nonnull @NonnullElements @Unmodifiable final Collection<Class<? extends B>> requirements) {
         checkSetterPreconditions();
-        selectionRequirements = Set.copyOf(requirements);
+        selectionRequirements = CollectionSupport.copyToSet(requirements);
     }
 
     /**
@@ -107,6 +107,7 @@ public abstract class AbstractItemMetadataSelectionStage<T, B> extends AbstractS
         final @Nonnull var collectionCopy = new ArrayList<>(items);
 
         for (final Item<T> item : collectionCopy) {
+            assert item != null;
             final var matchingMetadata = new ClassToInstanceMultiMap<B>();
 
             for (final Class<? extends B> infoClass : getSelectionRequirements()) {
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractIteratingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractIteratingStage.java
index 8ae916a..b83b8fc 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractIteratingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractIteratingStage.java
@@ -44,7 +44,8 @@ public abstract class AbstractIteratingStage<T> extends AbstractStage<T> {
     @Override
     protected void doExecute(@Nonnull @NonnullElements final List<Item<T>> items)
             throws StageProcessingException {
-        for (@Nonnull final Item<T> item : items) {
+        for (final Item<T> item : items) {
+            assert item != null;
             doExecute(item);
         }
     }
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/BeansFileTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/BeansFileTest.java
index 12ef6de..93cbfe8 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/BeansFileTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/BeansFileTest.java
@@ -81,6 +81,7 @@ public class BeansFileTest {
                  * resolve to a class that actually exists.
                  */
                 case "mda.MigrationClassMap" -> {
+                    @SuppressWarnings("unchecked")
                     final Map<String, String> map = ctx.getBean(defName, Map.class);
                     for (String toClass : map.values()) {
                         // check that the mapped class name can be loaded
@@ -93,6 +94,7 @@ public class BeansFileTest {
                  * have definitions.
                  */
                 case "mda.MigrationBeanMap" -> {
+                    @SuppressWarnings("unchecked")
                     final Map<String, String> map = ctx.getBean(defName, Map.class);
                     for (String toBean : map.values()) {
                         assert toBean != null;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/DeduplicatingItemIdMergeStrategyTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/DeduplicatingItemIdMergeStrategyTest.java
index 1d0994e..543e349 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/DeduplicatingItemIdMergeStrategyTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/DeduplicatingItemIdMergeStrategyTest.java
@@ -7,6 +7,8 @@ import java.util.List;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
+import net.shibboleth.shared.collection.CollectionSupport;
+
 public class DeduplicatingItemIdMergeStrategyTest {
 
     @Test
@@ -21,7 +23,7 @@ public class DeduplicatingItemIdMergeStrategyTest {
 
         final var merge = new DeduplicatingItemIdMergeStrategy();
         final var result = new ArrayList<Item<String>>();
-        merge.merge(result, List.of(coll1, coll2));
+        merge.merge(result, CollectionSupport.listOf(coll1, coll2));
         
         Assert.assertEquals(result.size(), 3);
         final var i1 = result.get(0);
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMElementItemTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMElementItemTest.java
index deb7869..0d957d4 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMElementItemTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMElementItemTest.java
@@ -16,11 +16,13 @@ public class DOMElementItemTest extends BaseDOMTest {
         super(DOMElementItem.class);
     }
 
+    @SuppressWarnings("null")
     @Test(expectedExceptions=ConstraintViolationException.class)
     public void testNullDocument() {
         new DOMElementItem((Document)null);
     }
 
+    @SuppressWarnings("null")
     @Test(expectedExceptions=ConstraintViolationException.class)
     public void testNullElement() {
         new DOMElementItem((Element)null);
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMResourceSourceStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMResourceSourceStageTest.java
index 3621cad..fdd1717 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMResourceSourceStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMResourceSourceStageTest.java
@@ -52,7 +52,9 @@ public class DOMResourceSourceStageTest extends BaseTest {
     }
 
     @Test public void testSuccessfulFetchAndParse() throws Exception {
-        Resource mdResource = new ByteArrayResource("<test/>".getBytes("UTF-8"));
+        final var bytes = "<test/>".getBytes("UTF-8");
+        assert bytes != null;
+        Resource mdResource = new ByteArrayResource(bytes);
 
         DOMResourceSourceStage source = new DOMResourceSourceStage();
         source.setId("test");
@@ -68,7 +70,9 @@ public class DOMResourceSourceStageTest extends BaseTest {
     }
 
     @Test public void testFailedParse() throws Exception {
-        Resource mdResource = new ByteArrayResource("this is not valid XML".getBytes("UTF-8"));
+        final var bytes = "this is not valid XML".getBytes("UTF-8");
+        assert bytes != null;
+        Resource mdResource = new ByteArrayResource(bytes);
 
         DOMResourceSourceStage source = new DOMResourceSourceStage();
         final String stageIdentifier = "testStage";
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStageTest.java
index 760f40f..716f8e1 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStageTest.java
@@ -23,6 +23,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
+import javax.annotation.Nonnull;
 import javax.xml.namespace.QName;
 
 import org.testng.annotations.Test;
@@ -46,7 +47,7 @@ public class ElementWhitespaceTrimmingStageTest extends BaseDOMTest {
         return stage; 
     }
     
-    private DOMElementItem makeItem(final String which) throws XMLParserException {
+    private DOMElementItem makeItem(final @Nonnull String which) throws XMLParserException {
         final Element doc = readXMLData(classRelativeResource(which));
         return new DOMElementItem(doc);
     }
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntitiesDescriptorAssemblerStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntitiesDescriptorAssemblerStageTest.java
index 9aa75af..5444a00 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntitiesDescriptorAssemblerStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntitiesDescriptorAssemblerStageTest.java
@@ -21,6 +21,8 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
+import javax.annotation.Nonnull;
+
 import org.testng.Assert;
 import org.testng.annotations.Test;
 import org.w3c.dom.Element;
@@ -89,7 +91,7 @@ public class EntitiesDescriptorAssemblerStageTest extends BaseDOMTest {
         class ReverseOrder implements ItemOrderingStrategy<Element> {
 
         	@Override
-        	public List<Item<Element>> order(List<Item<Element>> items) {
+        	public @Nonnull List<Item<Element>> order(@Nonnull List<Item<Element>> items) {
                 final List<Item<Element>> result = new ArrayList<>(items);
                 Collections.reverse(result);
                 return result;
@@ -135,7 +137,7 @@ public class EntitiesDescriptorAssemblerStageTest extends BaseDOMTest {
         Assert.assertEquals("urn:oasis:names:tc:SAML:2.0:metadata", nsattr);
     }
 
-    protected List<Item<Element>> buildMetadataCollection() throws Exception {
+    protected @Nonnull List<Item<Element>> buildMetadataCollection() throws Exception {
         final ArrayList<Item<Element>> metadataCollection = new ArrayList<>();
 
         Element descriptor = readXMLData("entity1.xml");
@@ -145,6 +147,7 @@ public class EntitiesDescriptorAssemblerStageTest extends BaseDOMTest {
         metadataCollection.add(new DOMElementItem(descriptor));
 
         Element fooElement = getParserPool().newDocument().createElement("foo");
+        assert fooElement != null;
         metadataCollection.add(new DOMElementItem(fooElement));
 
         return metadataCollection;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityFilterStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityFilterStageTest.java
index fdea0d3..21662e1 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityFilterStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityFilterStageTest.java
@@ -18,10 +18,10 @@
 package net.shibboleth.metadata.dom.saml;
 
 import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 
+import javax.annotation.Nonnull;
+
 import org.testng.Assert;
 import org.testng.annotations.Test;
 import org.w3c.dom.Element;
@@ -29,6 +29,7 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
+import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.xml.ElementSupport;
 
 /** Unit test for {@link EntityFilterStage}. */
@@ -47,7 +48,7 @@ public class EntityFilterStageTest extends BaseDOMTest {
     @Test public void testEntityWhitelist() throws Exception {
         final EntityFilterStage stage = new EntityFilterStage();
         stage.setId("test");
-        stage.setDesignatedEntities(Collections.singletonList("https://idp.shibboleth.net/idp/shibboleth"));
+        stage.setDesignatedEntities(CollectionSupport.listOf("https://idp.shibboleth.net/idp/shibboleth"));
         stage.setWhitelistingEntities(true);
         stage.initialize();
 
@@ -66,7 +67,7 @@ public class EntityFilterStageTest extends BaseDOMTest {
     @Test public void testEntityBlacklist() throws Exception {
         final EntityFilterStage stage = new EntityFilterStage();
         stage.setId("test");
-        stage.setDesignatedEntities(Collections.singletonList("https://idp.shibboleth.net/idp/shibboleth"));
+        stage.setDesignatedEntities(CollectionSupport.listOf("https://idp.shibboleth.net/idp/shibboleth"));
         stage.setWhitelistingEntities(false);
         stage.initialize();
 
@@ -88,7 +89,7 @@ public class EntityFilterStageTest extends BaseDOMTest {
 
         final EntityFilterStage stage = new EntityFilterStage();
         stage.setId("test");
-        stage.setDesignatedEntities(Collections.singletonList("https://idp.shibboleth.net/idp/shibboleth"));
+        stage.setDesignatedEntities(CollectionSupport.listOf("https://idp.shibboleth.net/idp/shibboleth"));
         stage.setWhitelistingEntities(false);
         stage.initialize();
         stage.execute(metadataCollection);
@@ -109,8 +110,8 @@ public class EntityFilterStageTest extends BaseDOMTest {
 
         final EntityFilterStage stage = new EntityFilterStage();
         stage.setId("test");
-        stage.setDesignatedEntities(Arrays.asList(new String[]{"https://idp.shibboleth.net/idp/shibboleth",
-                "https://issues.shibboleth.net/shibboleth", "https://wiki.shibboleth.net/shibboleth"}));
+        stage.setDesignatedEntities(CollectionSupport.listOf("https://idp.shibboleth.net/idp/shibboleth",
+                "https://issues.shibboleth.net/shibboleth", "https://wiki.shibboleth.net/shibboleth"));
         stage.setWhitelistingEntities(false);
         stage.initialize();
         stage.execute(metadataCollection);
@@ -132,8 +133,8 @@ public class EntityFilterStageTest extends BaseDOMTest {
         final EntityFilterStage stage = new EntityFilterStage();
         stage.setId("test");
         stage.setRemovingEntitylessEntitiesDescriptor(false);
-        stage.setDesignatedEntities(Arrays.asList(new String[]{"https://idp.shibboleth.net/idp/shibboleth",
-                "https://issues.shibboleth.net/shibboleth", "https://wiki.shibboleth.net/shibboleth"}));
+        stage.setDesignatedEntities(CollectionSupport.listOf("https://idp.shibboleth.net/idp/shibboleth",
+                "https://issues.shibboleth.net/shibboleth", "https://wiki.shibboleth.net/shibboleth"));
         stage.setWhitelistingEntities(false);
         stage.initialize();
         stage.execute(metadataCollection);
@@ -153,7 +154,7 @@ public class EntityFilterStageTest extends BaseDOMTest {
         final var stage = new EntityFilterStage();
         stage.setId("test");
         stage.setWhitelistingEntities(true);
-        stage.setDesignatedEntities(Collections.emptySet());
+        stage.setDesignatedEntities(CollectionSupport.emptySet());
         stage.initialize();
         stage.execute(metadataCollection);
         stage.destroy();
@@ -172,7 +173,7 @@ public class EntityFilterStageTest extends BaseDOMTest {
         final var stage = new EntityFilterStage();
         stage.setId("test");
         stage.setWhitelistingEntities(false);
-        stage.setDesignatedEntities(Collections.emptySet());
+        stage.setDesignatedEntities(CollectionSupport.emptySet());
         stage.initialize();
         stage.execute(metadataCollection);
         stage.destroy();
@@ -187,12 +188,13 @@ public class EntityFilterStageTest extends BaseDOMTest {
      * 
      * @throws Exception if something bad happens
      */
-    private List<Item<Element>> buildMetadataCollection() throws Exception {
+    private @Nonnull List<Item<Element>> buildMetadataCollection() throws Exception {
         final ArrayList<Item<Element>> metadataCollection = new ArrayList<>();
 
         List<Element> descriptors =
                 ElementSupport.getChildElements(readXMLData("in.xml"));
         for (Element descriptor : descriptors) {
+            assert descriptor != null;
             metadataCollection.add(new DOMElementItem(descriptor));
         }
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityRoleFilterStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityRoleFilterStageTest.java
index a7ed5e5..ec9c257 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityRoleFilterStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityRoleFilterStageTest.java
@@ -18,15 +18,14 @@
 package net.shibboleth.metadata.dom.saml;
 
 import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 
-import javax.xml.namespace.QName;
+import javax.annotation.Nonnull;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
+import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.xml.ElementSupport;
 
 import org.testng.Assert;
@@ -51,7 +50,7 @@ public class EntityRoleFilterStageTest extends BaseDOMTest {
     public void testRoleWhitelist() throws Exception {
         EntityRoleFilterStage stage = new EntityRoleFilterStage();
         stage.setId("test");
-        stage.setDesignatedRoles(Collections.singletonList(SAMLMetadataSupport.IDP_SSO_DESCRIPTOR_NAME));
+        stage.setDesignatedRoles(CollectionSupport.listOf(SAMLMetadataSupport.IDP_SSO_DESCRIPTOR_NAME));
         stage.setWhitelistingRoles(true);
         stage.initialize();
 
@@ -76,7 +75,7 @@ public class EntityRoleFilterStageTest extends BaseDOMTest {
     public void testRoleBlacklist() throws Exception {
         EntityRoleFilterStage stage = new EntityRoleFilterStage();
         stage.setId("test");
-        stage.setDesignatedRoles(Collections.singletonList(SAMLMetadataSupport.IDP_SSO_DESCRIPTOR_NAME));
+        stage.setDesignatedRoles(CollectionSupport.listOf(SAMLMetadataSupport.IDP_SSO_DESCRIPTOR_NAME));
         stage.setWhitelistingRoles(false);
         stage.initialize();
 
@@ -105,7 +104,7 @@ public class EntityRoleFilterStageTest extends BaseDOMTest {
     public void testDontRemoveRolelessEntityDescriptor() throws Exception {
         EntityRoleFilterStage stage = new EntityRoleFilterStage();
         stage.setId("test");
-        stage.setDesignatedRoles(Collections.singletonList(SAMLMetadataSupport.IDP_SSO_DESCRIPTOR_NAME));
+        stage.setDesignatedRoles(CollectionSupport.listOf(SAMLMetadataSupport.IDP_SSO_DESCRIPTOR_NAME));
         stage.setWhitelistingRoles(true);
         stage.setRemoveRolelessEntities(false);
         stage.initialize();
@@ -141,7 +140,7 @@ public class EntityRoleFilterStageTest extends BaseDOMTest {
 
         EntityRoleFilterStage stage = new EntityRoleFilterStage();
         stage.setId("test");
-        stage.setDesignatedRoles(Collections.singletonList(SAMLMetadataSupport.IDP_SSO_DESCRIPTOR_NAME));
+        stage.setDesignatedRoles(CollectionSupport.listOf(SAMLMetadataSupport.IDP_SSO_DESCRIPTOR_NAME));
         stage.setWhitelistingRoles(false);
         stage.initialize();
 
@@ -152,10 +151,12 @@ public class EntityRoleFilterStageTest extends BaseDOMTest {
         Assert.assertEquals(descriptors.size(), 2);
 
         Element descriptor = descriptors.get(0);
+        assert descriptor != null;
         Assert.assertEquals(ElementSupport.getChildElements(descriptor, SAMLMetadataSupport.SP_SSO_DESCRIPTOR_NAME)
                 .size(), 1);
 
         descriptor = descriptors.get(1);
+        assert descriptor != null;
         Assert.assertEquals(ElementSupport.getChildElements(descriptor, SAMLMetadataSupport.SP_SSO_DESCRIPTOR_NAME)
                 .size(), 1);
     }
@@ -172,8 +173,8 @@ public class EntityRoleFilterStageTest extends BaseDOMTest {
 
         EntityRoleFilterStage stage = new EntityRoleFilterStage();
         stage.setId("test");
-        stage.setDesignatedRoles(Arrays.asList(new QName[]{SAMLMetadataSupport.IDP_SSO_DESCRIPTOR_NAME,
-                SAMLMetadataSupport.SP_SSO_DESCRIPTOR_NAME}));
+        stage.setDesignatedRoles(CollectionSupport.listOf(SAMLMetadataSupport.IDP_SSO_DESCRIPTOR_NAME,
+                SAMLMetadataSupport.SP_SSO_DESCRIPTOR_NAME));
         stage.setWhitelistingRoles(false);
         stage.initialize();
 
@@ -196,8 +197,8 @@ public class EntityRoleFilterStageTest extends BaseDOMTest {
 
         EntityRoleFilterStage stage = new EntityRoleFilterStage();
         stage.setId("test");
-        stage.setDesignatedRoles(Arrays.asList(new QName[]{SAMLMetadataSupport.IDP_SSO_DESCRIPTOR_NAME,
-                SAMLMetadataSupport.SP_SSO_DESCRIPTOR_NAME}));
+        stage.setDesignatedRoles(CollectionSupport.listOf(SAMLMetadataSupport.IDP_SSO_DESCRIPTOR_NAME,
+                SAMLMetadataSupport.SP_SSO_DESCRIPTOR_NAME));
         stage.setWhitelistingRoles(false);
         stage.setRemovingEntitylessEntitiesDescriptor(false);
         stage.initialize();
@@ -215,12 +216,13 @@ public class EntityRoleFilterStageTest extends BaseDOMTest {
      * 
      * @throws Exception if something bad happens
      */
-    private List<Item<Element>> buildMetadataCollection() throws Exception {
+    private @Nonnull List<Item<Element>> buildMetadataCollection() throws Exception {
         final ArrayList<Item<Element>> metadataCollection = new ArrayList<>();
 
         List<Element> descriptors =
                 ElementSupport.getChildElements(readXMLData("in.xml"));
         for (Element descriptor : descriptors) {
+            assert descriptor != null;
             metadataCollection.add(new DOMElementItem(descriptor));
         }
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeAddingStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeAddingStageTest.java
index 179e936..e329382 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeAddingStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeAddingStageTest.java
@@ -4,6 +4,8 @@ package net.shibboleth.metadata.dom.saml.mdattr;
 import java.util.ArrayList;
 import java.util.List;
 
+import javax.annotation.Nonnull;
+
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
@@ -21,14 +23,14 @@ public class EntityAttributeAddingStageTest extends BaseDOMTest {
         setUp();
     }
 
-    private List<Item<Element>> makeItems(final String inputFile) throws Exception {
+    private @Nonnull List<Item<Element>> makeItems(final @Nonnull String inputFile) throws Exception {
         final Element startElement = readXMLData(inputFile);
         final List<Item<Element>> items = new ArrayList<>();
         items.add(new DOMElementItem(startElement));
         return items;
     }
 
-    private Stage<Element> makeStage(final String value) throws Exception {
+    private Stage<Element> makeStage(final @Nonnull String value) throws Exception {
         final EntityAttributeAddingStage stage = new EntityAttributeAddingStage();
         stage.setId("test");
         stage.setAttributeValue(value);
@@ -36,7 +38,7 @@ public class EntityAttributeAddingStageTest extends BaseDOMTest {
         return stage;
     }
 
-    private Stage<Element> makeStage(final String value, final String name) throws Exception {
+    private Stage<Element> makeStage(final @Nonnull String value, final @Nonnull String name) throws Exception {
         final EntityAttributeAddingStage stage = new EntityAttributeAddingStage();
         stage.setId("test");
         stage.setAttributeValue(value);
@@ -45,7 +47,8 @@ public class EntityAttributeAddingStageTest extends BaseDOMTest {
         return stage;
     }
 
-    private Stage<Element> makeStage(final String value, final String name, final String nameFormat) throws Exception {
+    private Stage<Element> makeStage(final @Nonnull String value, final @Nonnull String name,
+            final @Nonnull String nameFormat) throws Exception {
         final EntityAttributeAddingStage stage = new EntityAttributeAddingStage();
         stage.setId("test");
         stage.setAttributeValue(value);
@@ -55,7 +58,7 @@ public class EntityAttributeAddingStageTest extends BaseDOMTest {
         return stage;
     }
 
-    private Pipeline<Element> makePipeline(final List<Stage<Element>> stages) throws Exception {
+    private @Nonnull Pipeline<Element> makePipeline(final @Nonnull List<Stage<Element>> stages) throws Exception {
         final SimplePipeline<Element> pipeline = new SimplePipeline<>();
         pipeline.setId("test");
         pipeline.setStages(stages);
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeFilteringStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeFilteringStageTest.java
index d86398e..750b17e 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeFilteringStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeFilteringStageTest.java
@@ -22,6 +22,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.function.Predicate;
 
+import javax.annotation.Nonnull;
+
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.WarningStatus;
 import net.shibboleth.metadata.dom.BaseDOMTest;
@@ -40,11 +42,11 @@ public class EntityAttributeFilteringStageTest extends BaseDOMTest {
         super(EntityAttributeFilteringStage.class);
     }
     
-    private Element makeInputDocument() throws Exception {
+    private @Nonnull Element makeInputDocument() throws Exception {
         return readXMLData("input.xml");
     }
     
-    private List<Item<Element>> makeItems(final Element inputElement) throws Exception {
+    private @Nonnull List<Item<Element>> makeItems(final @Nonnull Element inputElement) throws Exception {
         final Item<Element> item = new DOMElementItem(inputElement);
         final List<Item<Element>> items = new ArrayList<>();
         items.add(item);
@@ -59,7 +61,7 @@ public class EntityAttributeFilteringStageTest extends BaseDOMTest {
         return items;
     }
 
-    private List<Item<Element>> makeInputItems() throws Exception {
+    private @Nonnull List<Item<Element>> makeInputItems() throws Exception {
         return makeItems(makeInputDocument());
     }
     
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdrpi/EntityRegistrationAuthorityFilterStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdrpi/EntityRegistrationAuthorityFilterStageTest.java
index 598b9dc..ae03912 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdrpi/EntityRegistrationAuthorityFilterStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdrpi/EntityRegistrationAuthorityFilterStageTest.java
@@ -18,8 +18,6 @@
 package net.shibboleth.metadata.dom.saml.mdrpi;
 
 import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 
 import org.testng.Assert;
@@ -29,6 +27,7 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
+import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.xml.ElementSupport;
 
 /** Unit test for {@link EntityRegistrationAuthorityFilterStage}. */
@@ -50,7 +49,7 @@ public class EntityRegistrationAuthorityFilterStageTest extends BaseDOMTest {
         stage.setId("test");
         stage.setRequiringRegistrationInformation(false);
         stage.setWhitelistingRegistrationAuthorities(true);
-        stage.setDesignatedRegistrationAuthorities(Collections.singletonList("urn:example.org:authority2"));
+        stage.setDesignatedRegistrationAuthorities(CollectionSupport.listOf("urn:example.org:authority2"));
         stage.initialize();
 
         final var mdCollection = buildMetadataCollection();
@@ -72,7 +71,7 @@ public class EntityRegistrationAuthorityFilterStageTest extends BaseDOMTest {
         stage.setId("test");
         stage.setWhitelistingRegistrationAuthorities(false);
         stage.setRequiringRegistrationInformation(false);
-        stage.setDesignatedRegistrationAuthorities(Collections.singletonList("urn:example.org:authority2"));
+        stage.setDesignatedRegistrationAuthorities(CollectionSupport.listOf("urn:example.org:authority2"));
         stage.initialize();
 
         final var mdCollection = buildMetadataCollection();
@@ -94,8 +93,8 @@ public class EntityRegistrationAuthorityFilterStageTest extends BaseDOMTest {
         stage.setId("test");
         stage.setRequiringRegistrationInformation(true);
         stage.setWhitelistingRegistrationAuthorities(false);
-        stage.setDesignatedRegistrationAuthorities(Arrays.asList(new String[]{"urn:example.org:authority1",
-                "urn:example.org:authority2"}));
+        stage.setDesignatedRegistrationAuthorities(CollectionSupport.listOf("urn:example.org:authority1",
+                "urn:example.org:authority2"));
         stage.initialize();
 
         final ArrayList<Item<Element>> mdCollection = new ArrayList<>();
@@ -119,8 +118,8 @@ public class EntityRegistrationAuthorityFilterStageTest extends BaseDOMTest {
         stage.setRequiringRegistrationInformation(true);
         stage.setRemovingEntitylessEntitiesDescriptor(true);
         stage.setWhitelistingRegistrationAuthorities(false);
-        stage.setDesignatedRegistrationAuthorities(Arrays.asList(new String[]{"urn:example.org:authority1",
-                "urn:example.org:authority2"}));
+        stage.setDesignatedRegistrationAuthorities(CollectionSupport.listOf("urn:example.org:authority1",
+                "urn:example.org:authority2"));
         stage.initialize();
 
         final ArrayList<Item<Element>> mdCollection = new ArrayList<>();
@@ -144,8 +143,8 @@ public class EntityRegistrationAuthorityFilterStageTest extends BaseDOMTest {
         stage.setRemovingEntitylessEntitiesDescriptor(false);
         stage.setRequiringRegistrationInformation(false);
         stage.setWhitelistingRegistrationAuthorities(false);
-        stage.setDesignatedRegistrationAuthorities(Arrays.asList(new String[]{"urn:example.org:authority1",
-                "urn:example.org:authority2"}));
+        stage.setDesignatedRegistrationAuthorities(CollectionSupport.listOf("urn:example.org:authority1",
+                "urn:example.org:authority2"));
         stage.initialize();
 
         final ArrayList<Item<Element>> mdCollection = new ArrayList<>();
@@ -171,6 +170,7 @@ public class EntityRegistrationAuthorityFilterStageTest extends BaseDOMTest {
         List<Element> descriptors =
                 ElementSupport.getChildElements(readXMLData("in.xml"));
         for (Element descriptor : descriptors) {
+            assert descriptor != null;
             metadataCollection.add(new DOMElementItem(descriptor));
         }
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/CompositeStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/CompositeStageTest.java
index 829edeb..d4351b0 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/CompositeStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/CompositeStageTest.java
@@ -152,6 +152,7 @@ public class CompositeStageTest {
         }
     }
 
+    @SuppressWarnings("removal")
     @Test
     public void testDeprecatedMethods() throws Exception {
         final var marker = new MarkerStage<String>();

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


More information about the commits mailing list