[java-metadata-aggregator] 02/02: Nullability
Ian Young
ian at iay.org.uk
Mon Apr 3 20:33:38 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=5a943be14a8da4f34a5f025ceb4071e7ac04095b
commit 5a943be14a8da4f34a5f025ceb4071e7ac04095b
Author: Ian Young <ian at iay.org.uk>
AuthorDate: Mon Apr 3 21:33:29 2023 +0100
Nullability
---
.../metadata/DeduplicatingItemIdMergeStrategy.java | 1 +
.../dom/AbstractAttributeValidationStage.java | 8 +++---
.../metadata/dom/AbstractDOMTraversalStage.java | 3 +-
.../metadata/dom/AbstractElementVisitingStage.java | 4 +--
.../AbstractElementVisitingValidationStage.java | 4 +--
.../net/shibboleth/metadata/dom/Container.java | 3 ++
.../shibboleth/metadata/dom/DOMElementItem.java | 11 ++++----
.../metadata/dom/DOMElementSerializer.java | 4 ++-
.../metadata/dom/ElementsStrippingStage.java | 4 +--
.../metadata/dom/EmptyContainerStrippingStage.java | 1 +
.../dom/saml/ContactPersonFilterStage.java | 10 +++++--
.../dom/saml/DiscoFeedCollectionSerializer.java | 2 ++
.../mdattr/AbstractEntityAttributeMatcher.java | 2 +-
.../dom/saml/mdattr/AbstractExactValueMatcher.java | 1 +
.../metadata/dom/saml/mdattr/MDAttrSupport.java | 11 ++++----
.../metadata/dom/saml/mdui/MDUISupport.java | 19 +++++++------
.../metadata/pipeline/AbstractFilteringStage.java | 1 +
.../metadata/pipeline/CompositeStage.java | 5 ++--
.../metadata/validate/BaseValidator.java | 3 +-
.../validate/x509/AbstractX509Validator.java | 2 +-
.../java/net/shibboleth/metadata/BaseTest.java | 27 +++++++++++-------
.../net/shibboleth/metadata/BeansFileTest.java | 2 ++
.../net/shibboleth/metadata/dom/BaseDOMTest.java | 7 ++---
.../net/shibboleth/metadata/dom/ContainerTest.java | 19 ++++++++++---
.../dom/saml/AttributeElementMakerTest.java | 1 +
.../metadata/dom/saml/CRDetectionStageTest.java | 8 ++++--
.../dom/saml/ContactPersonFilterStageTest.java | 33 +++++++++++-----------
.../saml/DiscoFeedCollectionSerializerTest.java | 18 +++++++-----
.../metadata/pipeline/CompositeStageTest.java | 23 ++++++++-------
29 files changed, 142 insertions(+), 95 deletions(-)
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/DeduplicatingItemIdMergeStrategy.java b/mda-framework/src/main/java/net/shibboleth/metadata/DeduplicatingItemIdMergeStrategy.java
index 94f81f1..a56dbc0 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/DeduplicatingItemIdMergeStrategy.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/DeduplicatingItemIdMergeStrategy.java
@@ -47,6 +47,7 @@ public class DeduplicatingItemIdMergeStrategy implements CollectionMergeStrategy
}
for (final List<Item<T>> source : sources) {
+ assert source != null;
merge(presentItemIds, target, source);
}
}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractAttributeValidationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractAttributeValidationStage.java
index ff46985..88ed8a3 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractAttributeValidationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractAttributeValidationStage.java
@@ -83,7 +83,7 @@ public abstract class AbstractAttributeValidationStage<T> extends AbstractElemen
for (final var name : names) {
qnames.add(new QName(name));
}
- attributeNames = Set.copyOf(qnames);
+ attributeNames = CollectionSupport.copyToSet(qnames);
}
/**
@@ -97,7 +97,7 @@ public abstract class AbstractAttributeValidationStage<T> extends AbstractElemen
public final synchronized void setAttributeName(@Nonnull final String name) {
checkSetterPreconditions();
Constraint.isNotNull(name, "unqualifiedAttributeName may not be null");
- attributeNames = Set.of(new QName(name));
+ attributeNames = CollectionSupport.setOf(new QName(name));
}
/**
@@ -108,7 +108,7 @@ public abstract class AbstractAttributeValidationStage<T> extends AbstractElemen
public final synchronized void setQualifiedAttributeNames(@Nonnull final Collection<QName> names) {
checkSetterPreconditions();
Constraint.isNotNull(names, "attributeNames may not be null");
- attributeNames = Set.copyOf(names);
+ attributeNames = CollectionSupport.copyToSet(names);
}
/**
@@ -119,7 +119,7 @@ public abstract class AbstractAttributeValidationStage<T> extends AbstractElemen
public final synchronized void setQualifiedAttributeName(@Nonnull final QName name) {
checkSetterPreconditions();
Constraint.isNotNull(name, "attributeName may not be null");
- attributeNames = Set.of(name);
+ attributeNames = CollectionSupport.setOf(name);
}
@Override
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractDOMTraversalStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractDOMTraversalStage.java
index 6ef878a..9196d42 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractDOMTraversalStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractDOMTraversalStage.java
@@ -106,7 +106,8 @@ public abstract class AbstractDOMTraversalStage<C extends DOMTraversalContext>
private void traverse(@Nonnull final Element element, @Nonnull final C context)
throws StageProcessingException {
final List<Element> children = ElementSupport.getChildElements(element);
- for (@Nonnull final Element child : children) {
+ for (final Element child : children) {
+ assert child != null;
traverse(child, context);
}
if (applicable(element, context)) {
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractElementVisitingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractElementVisitingStage.java
index 91aafea..a0ed78d 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractElementVisitingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractElementVisitingStage.java
@@ -64,7 +64,7 @@ public abstract class AbstractElementVisitingStage extends AbstractDOMTraversalS
public synchronized void setElementNames(@Nonnull @NonnullElements @Unmodifiable final Collection<QName> names) {
checkSetterPreconditions();
Constraint.isNotNull(names, "elementNames may not be null");
- elementNames = Set.copyOf(names);
+ elementNames = CollectionSupport.copyToSet(names);
}
/**
@@ -77,7 +77,7 @@ public abstract class AbstractElementVisitingStage extends AbstractDOMTraversalS
public synchronized void setElementName(@Nonnull final QName name) {
checkSetterPreconditions();
Constraint.isNotNull(name, "elementName may not be null");
- elementNames = Set.of(name);
+ elementNames = CollectionSupport.setOf(name);
}
@Override
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractElementVisitingValidationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractElementVisitingValidationStage.java
index bad7a5e..8254765 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractElementVisitingValidationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractElementVisitingValidationStage.java
@@ -74,7 +74,7 @@ public abstract class AbstractElementVisitingValidationStage<V, N>
public final synchronized void setElementNames(@Nonnull final Collection<QName> names) {
checkSetterPreconditions();
Constraint.isNotNull(names, "elementNames may not be null");
- elementNames = Set.copyOf(names);
+ elementNames = CollectionSupport.copyToSet(names);
}
/**
@@ -87,7 +87,7 @@ public abstract class AbstractElementVisitingValidationStage<V, N>
public final synchronized void setElementName(@Nonnull final QName name) {
checkSetterPreconditions();
Constraint.isNotNull(name, "elementName may not be null");
- elementNames = Set.of(name);
+ elementNames = CollectionSupport.setOf(name);
}
@Override
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/Container.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/Container.java
index de8312d..ce70672 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/Container.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/Container.java
@@ -214,6 +214,7 @@ public class Container {
@Nullable
public Container findChild(@Nonnull final Predicate<Element> matcher) {
for (final Element e : ElementSupport.getChildElements(element)) {
+ assert e != null;
if (matcher.test(e)) {
return new Container(e, this);
}
@@ -231,6 +232,7 @@ public class Container {
public List<Container> findChildren(@Nonnull final Predicate<Element> matcher) {
final List<Container> list = new ArrayList<>();
for (final Element e : ElementSupport.getChildElements(element)) {
+ assert e != null;
if (matcher.test(e)) {
list.add(new Container(e, this));
}
@@ -262,6 +264,7 @@ public class Container {
public Container addChild(@Nonnull final Function<Container, Element> maker,
@Nonnull final ChildAddingStrategy adder) {
final Element child = maker.apply(this);
+ assert child != null;
return addChild(child, adder);
}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMElementItem.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMElementItem.java
index 57bdb96..2ef73f4 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMElementItem.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMElementItem.java
@@ -77,11 +77,11 @@ public class DOMElementItem extends AbstractItem<Element> {
* @param document {@link Document} to wrap
* @return processed element
*/
- @Nonnull private static Element processDocument(@Nonnull final Document document) {
+ private static @Nonnull Element processDocument(@Nonnull final Document document) {
Constraint.isNotNull(document, "DOM Document can not be null");
- final Element docElement = document.getDocumentElement();
- Constraint.isNotNull(docElement, "DOM Document Element may not be null");
+ final @Nonnull Element docElement =
+ Constraint.isNotNull(document.getDocumentElement(), "DOM Document Element may not be null");
return docElement;
}
@@ -98,19 +98,20 @@ public class DOMElementItem extends AbstractItem<Element> {
* @param element {@link Element} to process
* @return processed element
*/
- @Nonnull private static Element processElement(@Nonnull final Element element) {
+ private static @Nonnull Element processElement(@Nonnull final Element element) {
Constraint.isNotNull(element, "DOM Document Element may not be null");
final DOMImplementation domImpl = element.getOwnerDocument().getImplementation();
final Document newDocument = domImpl.createDocument(null, null, null);
final Element newDocumentRoot = (Element) newDocument.importNode(element, true);
+ assert newDocumentRoot != null;
ElementSupport.setDocumentElement(newDocument, newDocumentRoot);
return newDocumentRoot;
}
@Override
- public Item<Element> copy() {
+ public @Nonnull Item<Element> copy() {
final DOMElementItem clone = new DOMElementItem(unwrap());
clone.getItemMetadata().putAll(getItemMetadata());
return clone;
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMElementSerializer.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMElementSerializer.java
index d904c83..35cf2a6 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMElementSerializer.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMElementSerializer.java
@@ -74,7 +74,9 @@ public class DOMElementSerializer implements ItemSerializer<Element>, ItemCollec
@Nonnull final OutputStream output) throws IOException {
final Iterator<Item<Element>> iter = items.iterator();
if (iter.hasNext()) {
- serialize(iter.next(), output);
+ final var item = iter.next();
+ assert item != null;
+ serialize(item, output);
if (iter.hasNext()) {
LOG.warn("collection contained more than one Item; rest ignored");
}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementsStrippingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementsStrippingStage.java
index ed76dbf..d8a7824 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementsStrippingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementsStrippingStage.java
@@ -187,7 +187,7 @@ public class ElementsStrippingStage extends AbstractDOMTraversalStage<ElementsSt
public synchronized void setElementNames(
@Nonnull @NonnullElements @Unmodifiable @NotEmpty final Collection<String> names) {
checkSetterPreconditions();
- elementNames = Set.copyOf(names);
+ elementNames = CollectionSupport.copyToSet(names);
}
/**
@@ -236,7 +236,7 @@ public class ElementsStrippingStage extends AbstractDOMTraversalStage<ElementsSt
}
@Override
- protected synchronized Context buildContext(@Nonnull final Item<Element> item) {
+ protected synchronized @Nonnull Context buildContext(@Nonnull final Item<Element> item) {
return new Context(item, getElementNamespace(), getElementNames(), isWhitelisting());
}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/EmptyContainerStrippingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/EmptyContainerStrippingStage.java
index 5981e69..e469259 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/EmptyContainerStrippingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/EmptyContainerStrippingStage.java
@@ -112,6 +112,7 @@ public class EmptyContainerStrippingStage extends AbstractIteratingStage<Element
// handled correctly.
for (int eIndex = extensionList.getLength()-1; eIndex >= 0; eIndex--) {
final Element extensions = (Element) extensionList.item(eIndex);
+ assert extensions != null;
if (!hasChildElements(extensions)) {
extensions.getParentNode().removeChild(extensions);
}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/ContactPersonFilterStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/ContactPersonFilterStage.java
index c2cc867..41935f6 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/ContactPersonFilterStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/ContactPersonFilterStage.java
@@ -34,6 +34,7 @@ import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
import net.shibboleth.metadata.pipeline.StageProcessingException;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.primitive.StringSupport;
@@ -74,14 +75,15 @@ public class ContactPersonFilterStage extends AbstractIteratingStage<Element> {
/** Allowed contact person types. */
@Nonnull @NonnullElements @Unmodifiable
- private static final Set<String> ALLOWED_TYPES = Set.of(TECHNICAL, SUPPORT, ADMINISTRATIVE, BILLING, OTHER);
+ private static final Set<String> ALLOWED_TYPES =
+ CollectionSupport.setOf(TECHNICAL, SUPPORT, ADMINISTRATIVE, BILLING, OTHER);
/** Class logger. */
private static final @Nonnull Logger LOG = LoggerFactory.getLogger(ContactPersonFilterStage.class);
/** Person types which are white/black listed depending on the value of {@link #whitelistingTypes}. */
@Nonnull @NonnullElements @Unmodifiable @GuardedBy("this")
- private Set<String> designatedTypes = Set.copyOf(ALLOWED_TYPES);
+ private Set<String> designatedTypes = CollectionSupport.copyToSet(ALLOWED_TYPES);
/** Whether {@link #designatedTypes} should be considered a whitelist. Default value: true */
@GuardedBy("this") private boolean whitelistingTypes = true;
@@ -115,7 +117,7 @@ public class ContactPersonFilterStage extends AbstractIteratingStage<Element> {
}
}
- designatedTypes = Set.copyOf(checkedTypes);
+ designatedTypes = CollectionSupport.copyToSet(checkedTypes);
}
/**
@@ -156,6 +158,7 @@ public class ContactPersonFilterStage extends AbstractIteratingStage<Element> {
protected void processEntitiesDescriptor(@Nonnull final Element entitiesDescriptor) {
final List<Element> children = ElementSupport.getChildElements(entitiesDescriptor);
for (final Element child : children) {
+ assert child != null;
if (SAMLMetadataSupport.isEntitiesDescriptor(child)) {
processEntitiesDescriptor(child);
} else if (SAMLMetadataSupport.isEntityDescriptor(child)) {
@@ -178,6 +181,7 @@ public class ContactPersonFilterStage extends AbstractIteratingStage<Element> {
if (!contactPersons.isEmpty()) {
LOG.debug("{} pipeline stage filtering ContactPerson from EntityDescriptor {}", getId(), entityId);
for (final Element contactPerson : contactPersons) {
+ assert contactPerson != null;
if (!isRetainedContactPersonType(contactPerson)) {
entityDescriptor.removeChild(contactPerson);
}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer.java
index 55a08a4..29e8613 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer.java
@@ -129,6 +129,7 @@ public class DiscoFeedCollectionSerializer extends AbstractInitializableComponen
@Nullable
private Element findFirstUIInfo(@Nonnull @NonnullElements final List<Element> idpDescriptors) {
for (final var idpDescriptor : idpDescriptors) {
+ assert idpDescriptor != null;
final var uiInfo = SAMLMetadataSupport.getDescriptorExtension(idpDescriptor, MDUISupport.UIINFO_NAME);
if (uiInfo != null) {
return uiInfo;
@@ -189,6 +190,7 @@ public class DiscoFeedCollectionSerializer extends AbstractInitializableComponen
if (!attributes.isEmpty()) {
gen.writeStartArray("EntityAttributes");
for (final var attribute : attributes) {
+ assert attribute != null;
final var values = ElementSupport.getChildElements(attribute, SAMLSupport.ATTRIBUTE_VALUE_NAME);
if (!values.isEmpty()) {
gen.writeStartObject();
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/AbstractEntityAttributeMatcher.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/AbstractEntityAttributeMatcher.java
index 838107f..8c7615e 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/AbstractEntityAttributeMatcher.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/AbstractEntityAttributeMatcher.java
@@ -73,7 +73,7 @@ public abstract class AbstractEntityAttributeMatcher implements Predicate<Entity
protected abstract boolean matchRegistrationAuthority(@Nullable final String inputRegistrationAuthority);
@Override
- public boolean test(@Nonnull final EntityAttributeContext input) {
+ public boolean test(final EntityAttributeContext input) {
return matchRegistrationAuthority(input.getRegistrationAuthority()) &&
matchAttributeNameFormat(input.getNameFormat()) &&
matchAttributeName(input.getName()) &&
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/AbstractExactValueMatcher.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/AbstractExactValueMatcher.java
index 65703fd..c179863 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/AbstractExactValueMatcher.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/AbstractExactValueMatcher.java
@@ -85,6 +85,7 @@ public abstract class AbstractExactValueMatcher extends AbstractEntityAttributeM
// ignore the context's registration authority value
return true;
}
+ assert registrationAuthority != null;
return registrationAuthority.equals(inputRegistrationAuthority);
}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/MDAttrSupport.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/MDAttrSupport.java
index dd4de35..c6c855e 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/MDAttrSupport.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/MDAttrSupport.java
@@ -20,6 +20,7 @@ package net.shibboleth.metadata.dom.saml.mdattr;
import java.util.function.Function;
import java.util.function.Predicate;
+import javax.annotation.Nonnull;
import javax.annotation.concurrent.ThreadSafe;
import javax.xml.namespace.QName;
@@ -38,20 +39,20 @@ import net.shibboleth.metadata.dom.ElementMatcher;
public final class MDAttrSupport {
/** MDAttr namespace. */
- public static final String MDATTR_NS = "urn:oasis:names:tc:SAML:metadata:attribute";
+ public static final @Nonnull String MDATTR_NS = "urn:oasis:names:tc:SAML:metadata:attribute";
/** MDAttr conventional prefix. */
- public static final String MDATTR_PREFIX = "mdattr";
+ public static final @Nonnull String MDATTR_PREFIX = "mdattr";
/** mdattr:EntityAttributes element. */
- public static final QName ENTITY_ATTRIBUTES_NAME = new QName(MDATTR_NS, "EntityAttributes", MDATTR_PREFIX);
+ public static final @Nonnull QName ENTITY_ATTRIBUTES_NAME = new QName(MDATTR_NS, "EntityAttributes", MDATTR_PREFIX);
/**
* Matcher for the <code>EntityAttributes</code> element, for use with the {@link Container} system.
*
* @since 0.10.0
*/
- public static final Predicate<Element> ENTITY_ATTRIBUTES_MATCHER =
+ public static final @Nonnull Predicate<Element> ENTITY_ATTRIBUTES_MATCHER =
new ElementMatcher(ENTITY_ATTRIBUTES_NAME);
/**
@@ -59,7 +60,7 @@ public final class MDAttrSupport {
*
* @since 0.10.0
*/
- public static final Function<Container, Element> ENTITY_ATTRIBUTES_MAKER =
+ public static final @Nonnull Function<Container, Element> ENTITY_ATTRIBUTES_MAKER =
new ElementMaker(ENTITY_ATTRIBUTES_NAME);
/** Constructor. */
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdui/MDUISupport.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdui/MDUISupport.java
index b446e09..7dd89fd 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdui/MDUISupport.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdui/MDUISupport.java
@@ -17,6 +17,7 @@
package net.shibboleth.metadata.dom.saml.mdui;
+import javax.annotation.Nonnull;
import javax.annotation.concurrent.ThreadSafe;
import javax.xml.namespace.QName;
@@ -25,35 +26,35 @@ import javax.xml.namespace.QName;
public final class MDUISupport {
/** MDUI namespace. */
- public static final String MDUI_NS = "urn:oasis:names:tc:SAML:metadata:ui";
+ public static final @Nonnull String MDUI_NS = "urn:oasis:names:tc:SAML:metadata:ui";
/** {@link QName} representing an <code>mdui:UIInfo</code>. */
- public static final QName UIINFO_NAME = new QName(MDUI_NS, "UIInfo");
+ public static final @Nonnull QName UIINFO_NAME = new QName(MDUI_NS, "UIInfo");
/** {@link QName} representing an <code>mdui:DisplayName</code>. */
- public static final QName DISPLAYNAME_NAME = new QName(MDUI_NS, "DisplayName");
+ public static final @Nonnull QName DISPLAYNAME_NAME = new QName(MDUI_NS, "DisplayName");
/** {@link QName} representing an <code>mdui:Description</code>. */
- public static final QName DESCRIPTION_NAME = new QName(MDUI_NS, "Description");
+ public static final @Nonnull QName DESCRIPTION_NAME = new QName(MDUI_NS, "Description");
/** {@link QName} representing an <code>mdui:Keywords</code>. */
- public static final QName KEYWORDS_NAME = new QName(MDUI_NS, "Keywords");
+ public static final @Nonnull QName KEYWORDS_NAME = new QName(MDUI_NS, "Keywords");
/** {@link QName} representing an <code>mdui:Logo</code>. */
- public static final QName LOGO_NAME = new QName(MDUI_NS, "Logo");
+ public static final @Nonnull QName LOGO_NAME = new QName(MDUI_NS, "Logo");
/** {@link QName} representing an <code>mdui:InformationURL</code>. */
- public static final QName INFORMATIONURL_NAME = new QName(MDUI_NS, "InformationURL");
+ public static final @Nonnull QName INFORMATIONURL_NAME = new QName(MDUI_NS, "InformationURL");
/** {@link QName} representing an <code>mdui:PrivacyStatementURL</code>. */
- public static final QName PRIVACYSTATEMENTURL_NAME = new QName(MDUI_NS, "PrivacyStatementURL");
+ public static final @Nonnull QName PRIVACYSTATEMENTURL_NAME = new QName(MDUI_NS, "PrivacyStatementURL");
/**
* {@link QName} representing an <code>mdui:IPHint</code>.
*
* @since 0.10.0
*/
- public static final QName IPHINT_NAME = new QName(MDUI_NS, "IPHint");
+ public static final @Nonnull QName IPHINT_NAME = new QName(MDUI_NS, "IPHint");
/** Constructor. */
private MDUISupport() {
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractFilteringStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractFilteringStage.java
index ec3e4e9..3c08b92 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractFilteringStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractFilteringStage.java
@@ -53,6 +53,7 @@ public abstract class AbstractFilteringStage<T> extends AbstractStage<T> {
while (itemIterator.hasNext()) {
final Item<T> item = itemIterator.next();
+ assert item != null;
if (!doExecute(item)) {
itemIterator.remove();
}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/CompositeStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/CompositeStage.java
index f070182..a87dada 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/CompositeStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/CompositeStage.java
@@ -30,6 +30,7 @@ import org.slf4j.Logger;
import net.shibboleth.metadata.Item;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.primitive.DeprecationSupport;
import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
@@ -70,7 +71,7 @@ public class CompositeStage<T> extends AbstractStage<T> implements Pipeline<T> {
/** Stages which compose this stage. */
@Nonnull @NonnullElements @Unmodifiable @GuardedBy("this")
- private List<Stage<T>> composedStages = List.of();
+ private List<Stage<T>> composedStages = CollectionSupport.emptyList();
/**
* Whether we are logging progress through the stages.
@@ -104,7 +105,7 @@ public class CompositeStage<T> extends AbstractStage<T> implements Pipeline<T> {
public final synchronized void setStages(
@Nonnull @NonnullElements @Unmodifiable final List<Stage<T>> stages) {
checkSetterPreconditions();
- composedStages = List.copyOf(stages);
+ composedStages = CollectionSupport.copyToList(stages);
}
/**
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/validate/BaseValidator.java b/mda-framework/src/main/java/net/shibboleth/metadata/validate/BaseValidator.java
index 81e1a7b..4f778d9 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/validate/BaseValidator.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/validate/BaseValidator.java
@@ -83,7 +83,7 @@ public abstract class BaseValidator extends AbstractIdentifiableInitializableCom
*
* @return composite component identifier
*/
- private String makeComponentId(@Nonnull final String stageId) {
+ private @Nonnull String makeComponentId(@Nonnull final String stageId) {
final String id = getId();
if (id == null) {
return stageId;
@@ -147,6 +147,7 @@ public abstract class BaseValidator extends AbstractIdentifiableInitializableCom
protected void addErrorMessage(@Nonnull final Object extra, @Nonnull final Item<?> item,
@Nonnull final String stageId) {
final String mess = String.format(getMessage(), extra);
+ assert mess != null;
addError(mess, item, stageId);
}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/validate/x509/AbstractX509Validator.java b/mda-framework/src/main/java/net/shibboleth/metadata/validate/x509/AbstractX509Validator.java
index 638a0ea..061c0ee 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/validate/x509/AbstractX509Validator.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/validate/x509/AbstractX509Validator.java
@@ -53,7 +53,7 @@ public abstract class AbstractX509Validator extends BaseValidator implements Val
@Nonnull final String stageId) throws StageProcessingException;
@Override
- public Action validate(@Nonnull final X509Certificate cert, @Nonnull final Item<?> item,
+ public @Nonnull Action validate(@Nonnull final X509Certificate cert, @Nonnull final Item<?> item,
@Nonnull final String stageId) throws StageProcessingException {
doValidate(cert, item, stageId);
return Action.CONTINUE;
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 8e797df..425451a 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/BaseTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/BaseTest.java
@@ -24,27 +24,29 @@ import javax.annotation.Nonnull;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
+import net.shibboleth.shared.logic.Constraint;
+
public abstract class BaseTest {
/** Class being tested. */
- protected final Class<?> testingClass;
+ protected final @Nonnull Class<?> testingClass;
/**
* Base path for class-relative test resource references.
*
* Will <em>not</em> end in a '/'.
*/
- private final String baseClassPath;
+ private final @Nonnull String baseClassPath;
/** Package for the class being tested. */
- private final Package testingPackage;
+ private final @Nonnull Package testingPackage;
/**
* Base path for package-relative test resource references.
*
* Will always end in a '/'.
*/
- private final String basePackagePath;
+ private final @Nonnull String basePackagePath;
/**
* Constructor
@@ -53,9 +55,14 @@ public abstract class BaseTest {
*/
protected BaseTest(final @Nonnull Class<?> clazz) {
testingClass = clazz;
- baseClassPath = nameToPath(testingClass.getName());
- testingPackage = testingClass.getPackage();
- basePackagePath = nameToPath(testingPackage.getName()) + "/";
+ final @Nonnull String testingClassName = Constraint.isNotNull(testingClass.getName(),
+ "testing class name can not be null");
+ baseClassPath = nameToPath(testingClassName);
+ testingPackage = Constraint.isNotNull(testingClass.getPackage(),
+ "testing class package can not be null");
+ final var testingPackageName = Constraint.isNotNull(testingPackage.getName(),
+ "testing package name can not be null");
+ basePackagePath = nameToPath(testingPackageName) + "/";
}
/**
@@ -65,7 +72,7 @@ public abstract class BaseTest {
* @param name name to be converted
* @return path to resources associated with the name
*/
- private String nameToPath(final @Nonnull String name) {
+ private @Nonnull String nameToPath(final @Nonnull String name) {
return "/" + name.replace('.', '/');
}
@@ -82,7 +89,7 @@ public abstract class BaseTest {
return baseClassPath + "-" + which;
}
- protected String simpleClassRelativeName(final String which) {
+ protected @Nonnull String simpleClassRelativeName(final String which) {
return testingClass.getSimpleName() + "-" + which;
}
@@ -95,7 +102,7 @@ public abstract class BaseTest {
* @param which package-relative resource name
* @return absolute resource name
*/
- protected String packageRelativeResource(final String which) {
+ protected @Nonnull String packageRelativeResource(final String which) {
return basePackagePath + which;
}
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 2e961e3..12ef6de 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/BeansFileTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/BeansFileTest.java
@@ -32,6 +32,7 @@ public class BeansFileTest {
final String[] defNames = ctx.getBeanDefinitionNames();
for (final String defName : defNames) {
+ assert defName != null;
final BeanDefinition def = ctx.getBeanDefinition(defName);
// All bean definitions should start with "mda."
@@ -94,6 +95,7 @@ public class BeansFileTest {
case "mda.MigrationBeanMap" -> {
final Map<String, String> map = ctx.getBean(defName, Map.class);
for (String toBean : map.values()) {
+ assert toBean != null;
// check that the mapped bean name is defined
ctx.getBeanDefinition(toBean);
}
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 87204fa..d4a0bea 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
@@ -69,7 +69,7 @@ public abstract class BaseDOMTest extends BaseTest {
*
* @param clazz class under test
*/
- protected BaseDOMTest(final Class<?> clazz) {
+ protected BaseDOMTest(final @Nonnull Class<?> clazz) {
super(clazz);
}
@@ -110,8 +110,7 @@ public abstract class BaseDOMTest extends BaseTest {
* @throws XMLParserException thrown if the file does not exist or there is a problem parsing it
*/
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");
+ @Nonnull String trimmedPath = Constraint.isNotNull(StringSupport.trimOrNull(path), "Path may not be null or empty");
if (!trimmedPath.startsWith("/")) {
trimmedPath = classRelativeResource(trimmedPath);
@@ -138,7 +137,7 @@ public abstract class BaseDOMTest extends BaseTest {
*
* @throws XMLParserException if the file does not exist or there is a problem parsing it
*/
- public @Nonnull Item<Element> readDOMItem(final String path) throws XMLParserException {
+ public @Nonnull Item<Element> readDOMItem(final @Nonnull String path) throws XMLParserException {
final Element e = readXMLData(path);
return new DOMElementItem(e);
}
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/ContainerTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/ContainerTest.java
index d524b06..77f7bed 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/ContainerTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/ContainerTest.java
@@ -5,6 +5,8 @@ import java.util.List;
import java.util.function.Function;
import java.util.function.Predicate;
+import javax.annotation.Nonnull;
+
import org.testng.Assert;
import org.testng.annotations.Test;
import org.w3c.dom.Document;
@@ -24,6 +26,7 @@ public class ContainerTest extends BaseDOMTest {
public void prime() {
// simple top-level element with no indentation
final Element e1 = doc.createElementNS("ns", "el");
+ assert e1 != null;
final Container c1 = new Container(e1);
c1.prime();
Assert.assertEquals(e1.getTextContent(), "\n");
@@ -48,6 +51,7 @@ public class ContainerTest extends BaseDOMTest {
@Test
public void addChildElementFirst() throws Exception {
final Element e1 = doc.createElementNS("ns", "root");
+ assert e1 != null;
final Element e2 = doc.createElementNS("ns", "child");
e2.setTextContent("child value");
final Container c1 = new Container(e1);
@@ -59,32 +63,35 @@ public class ContainerTest extends BaseDOMTest {
final Element e3 = doc.createElementNS("ns", "child2");
e3.setTextContent("child 2 value");
c1.addChild(e3, Container.FIRST_CHILD);
- final Element ok2 = readXMLData("addFirst.xml");
+ final var ok2 = readXMLData("addFirst.xml");
assertXMLIdentical(ok2, e1);
}
@Test
public void addChildElementLast() throws Exception {
final Element e1 = doc.createElementNS("ns", "root");
+ assert e1 != null;
final Element e2 = doc.createElementNS("ns", "child");
e2.setTextContent("child value");
final Container c1 = new Container(e1);
c1.addChild(e2, Container.LAST_CHILD);
- final Element ok = readXMLData("add1.xml");
+ final @Nonnull Element ok = readXMLData("add1.xml");
assertXMLIdentical(ok, e1);
final Element e3 = doc.createElementNS("ns", "child2");
e3.setTextContent("child 2 value");
c1.addChild(e3, Container.LAST_CHILD);
- final Element ok2 = readXMLData("addLast.xml");
+ final var ok2 = readXMLData("addLast.xml");
assertXMLIdentical(ok2, e1);
}
@Test
public void addChildElementNested() throws Exception {
final Element root = doc.createElementNS("ns", "root");
+ assert root != null;
final Element mid = doc.createElementNS("ns", "mid");
+ assert mid != null;
final Element leaf1 = doc.createElementNS("ns", "leaf");
leaf1.setTextContent("leaf 1");
final Element leaf2 = doc.createElementNS("ns", "leaf");
@@ -94,13 +101,14 @@ public class ContainerTest extends BaseDOMTest {
midContainer.addChild(leaf1, Container.LAST_CHILD);
midContainer.addChild(leaf2, Container.LAST_CHILD);
- final Element ok = readXMLData("nested.xml");
+ final var ok = readXMLData("nested.xml");
assertXMLIdentical(ok, root);
}
@Test
public void addChildFunctionFirst() throws Exception {
final Element e1 = doc.createElementNS("ns", "root");
+ assert e1 != null;
final Container c1 = new Container(e1);
c1.addChild(new Function<Container, Element>(){
@@ -135,6 +143,7 @@ public class ContainerTest extends BaseDOMTest {
@Test
public void addChildFunctionLast() throws Exception {
final Element e1 = doc.createElementNS("ns", "root");
+ assert e1 != null;
final Container c1 = new Container(e1);
c1.addChild(new Function<Container, Element>(){
@@ -177,6 +186,7 @@ public class ContainerTest extends BaseDOMTest {
@Test
public void setText() {
final Element e = doc.createElementNS("ns", "root");
+ assert e != null;
final Container c = new Container(e);
c.setText("some text");
Assert.assertEquals(e.getTextContent(), "some text");
@@ -218,6 +228,7 @@ public class ContainerTest extends BaseDOMTest {
@Test
public void locateChild() throws Exception {
final Element e1 = doc.createElementNS("ns", "root");
+ assert e1 != null;
final Container c1 = new Container(e1);
c1.locateChild(new Predicate<Element>(){
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/AttributeElementMakerTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/AttributeElementMakerTest.java
index 29c4ac5..294f6b1 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/AttributeElementMakerTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/AttributeElementMakerTest.java
@@ -25,6 +25,7 @@ public class AttributeElementMakerTest extends BaseDOMTest {
public void apply() {
final var maker = new AttributeElementMaker("name", "nameFormat");
final Element root = doc.createElementNS("ns", "root");
+ assert root != null;
final Container rootContainer = new Container(root);
final Element newElement = maker.apply(rootContainer);
Assert.assertNotNull(newElement);
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/CRDetectionStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/CRDetectionStageTest.java
index cd93214..9d42a01 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/CRDetectionStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/CRDetectionStageTest.java
@@ -22,6 +22,8 @@ import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
+import javax.annotation.Nonnull;
+
import org.testng.Assert;
import org.testng.annotations.Test;
import org.w3c.dom.Comment;
@@ -93,12 +95,12 @@ public class CRDetectionStageTest extends BaseDOMTest {
return item.getItemMetadata().get(ErrorStatus.class);
}
- private List<ErrorStatus> execute(final String filename) throws Exception {
+ private List<ErrorStatus> execute(final @Nonnull String filename) throws Exception {
final Item<Element> item = readDOMItem(filename);
return execute(item);
}
- private ErrorStatus expectError(final String filename, final String errorContains) throws Exception {
+ private ErrorStatus expectError(final @Nonnull String filename, final String errorContains) throws Exception {
final List<ErrorStatus> errors = execute(filename);
Assert.assertEquals(errors.size(), 1, "errors size on " + filename);
final ErrorStatus error = errors.get(0);
@@ -107,7 +109,7 @@ public class CRDetectionStageTest extends BaseDOMTest {
return error;
}
- private void expectErrorNoPrefix(final String filename, final String errorContains) throws Exception {
+ private void expectErrorNoPrefix(final @Nonnull String filename, final String errorContains) throws Exception {
var error = expectError(filename, errorContains);
Assert.assertFalse(error.getStatusMessage().contains(": "));
}
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/ContactPersonFilterStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/ContactPersonFilterStageTest.java
index 9cbf2be..b8c1c14 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/ContactPersonFilterStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/ContactPersonFilterStageTest.java
@@ -18,22 +18,21 @@
package net.shibboleth.metadata.dom.saml;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
-import java.util.Set;
+import javax.annotation.Nonnull;
import javax.xml.namespace.QName;
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.component.ComponentInitializationException;
import net.shibboleth.shared.component.DestroyedComponentException;
import net.shibboleth.shared.component.UnmodifiableComponentException;
import net.shibboleth.shared.xml.ElementSupport;
import org.testng.Assert;
-import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.w3c.dom.Element;
@@ -45,14 +44,8 @@ public class ContactPersonFilterStageTest extends BaseDOMTest {
super(ContactPersonFilterStage.class);
}
- private final QName contactPersonQname = new QName(SAMLMetadataSupport.MD_NS, "ContactPerson");
+ private final @Nonnull QName contactPersonQname = new QName(SAMLMetadataSupport.MD_NS, "ContactPerson");
- private Element entitiesDescriptor;
-
- @BeforeClass public void setup() throws Exception {
- entitiesDescriptor = readXMLData("entities.xml");
- }
-
@Test public void testDesignatedTypes() throws ComponentInitializationException {
ContactPersonFilterStage stage = new ContactPersonFilterStage();
stage.setId("foo");
@@ -63,19 +56,19 @@ public class ContactPersonFilterStageTest extends BaseDOMTest {
Assert.assertTrue(stage.getDesignatedTypes().contains(ContactPersonFilterStage.SUPPORT));
Assert.assertTrue(stage.getDesignatedTypes().contains(ContactPersonFilterStage.TECHNICAL));
- stage.setDesignatedTypes(Set.of(ContactPersonFilterStage.ADMINISTRATIVE,
+ stage.setDesignatedTypes(CollectionSupport.setOf(ContactPersonFilterStage.ADMINISTRATIVE,
ContactPersonFilterStage.TECHNICAL, "", "foo", ContactPersonFilterStage.OTHER));
Assert.assertEquals(stage.getDesignatedTypes().size(), 3);
Assert.assertTrue(stage.getDesignatedTypes().contains(ContactPersonFilterStage.ADMINISTRATIVE));
Assert.assertTrue(stage.getDesignatedTypes().contains(ContactPersonFilterStage.OTHER));
Assert.assertTrue(stage.getDesignatedTypes().contains(ContactPersonFilterStage.TECHNICAL));
- stage.setDesignatedTypes(Collections.<String>emptyList());
+ stage.setDesignatedTypes(CollectionSupport.<String>emptyList());
Assert.assertEquals(stage.getDesignatedTypes().size(), 0);
stage.initialize();
try {
- stage.setDesignatedTypes(Set.of(ContactPersonFilterStage.ADMINISTRATIVE));
+ stage.setDesignatedTypes(CollectionSupport.setOf(ContactPersonFilterStage.ADMINISTRATIVE));
Assert.fail();
} catch (UnmodifiableComponentException e) {
Assert.assertEquals(stage.getDesignatedTypes().size(), 0);
@@ -84,7 +77,7 @@ public class ContactPersonFilterStageTest extends BaseDOMTest {
stage = new ContactPersonFilterStage();
stage.destroy();
try {
- stage.setDesignatedTypes(Set.of(ContactPersonFilterStage.ADMINISTRATIVE));
+ stage.setDesignatedTypes(CollectionSupport.setOf(ContactPersonFilterStage.ADMINISTRATIVE));
Assert.fail();
} catch (DestroyedComponentException e) {
// expected this
@@ -126,6 +119,7 @@ public class ContactPersonFilterStageTest extends BaseDOMTest {
}
@Test public void testWhitelistContactPersons() throws Exception {
+ final @Nonnull var entitiesDescriptor = readXMLData("entities.xml");
ContactPersonFilterStage stage = new ContactPersonFilterStage();
stage.setId("foo");
stage.initialize();
@@ -139,22 +133,26 @@ public class ContactPersonFilterStageTest extends BaseDOMTest {
List<Element> entityDescriptors = ElementSupport.getChildElements(filteredEntitiesDescriptor);
Element idpDescriptor = entityDescriptors.get(0);
+ assert idpDescriptor != null;
List<Element> contactPersons = ElementSupport.getChildElements(idpDescriptor, contactPersonQname);
Assert.assertEquals(contactPersons.size(), 1);
Element issuesDescriptor = entityDescriptors.get(1);
+ assert issuesDescriptor != null;
contactPersons = ElementSupport.getChildElements(issuesDescriptor, contactPersonQname);
Assert.assertEquals(contactPersons.size(), 5);
Element wikiDescriptor = entityDescriptors.get(2);
+ assert wikiDescriptor != null;
contactPersons = ElementSupport.getChildElements(wikiDescriptor, contactPersonQname);
Assert.assertEquals(contactPersons.size(), 0);
}
@Test public void testBlacklistContactPersons() throws Exception {
+ final @Nonnull var entitiesDescriptor = readXMLData("entities.xml");
ContactPersonFilterStage stage = new ContactPersonFilterStage();
stage.setId("foo");
- stage.setDesignatedTypes(Set.of(ContactPersonFilterStage.ADMINISTRATIVE, ContactPersonFilterStage.OTHER));
+ stage.setDesignatedTypes(CollectionSupport.setOf(ContactPersonFilterStage.ADMINISTRATIVE, ContactPersonFilterStage.OTHER));
stage.setWhitelistingTypes(false);
stage.initialize();
@@ -167,14 +165,17 @@ public class ContactPersonFilterStageTest extends BaseDOMTest {
List<Element> entityDescriptors = ElementSupport.getChildElements(filteredEntitiesDescriptor);
Element idpDescriptor = entityDescriptors.get(0);
+ assert idpDescriptor != null;
List<Element> contactPersons = ElementSupport.getChildElements(idpDescriptor, contactPersonQname);
Assert.assertEquals(contactPersons.size(), 1);
Element issuesDescriptor = entityDescriptors.get(1);
+ assert issuesDescriptor != null;
contactPersons = ElementSupport.getChildElements(issuesDescriptor, contactPersonQname);
Assert.assertEquals(contactPersons.size(), 3);
Element wikiDescriptor = entityDescriptors.get(2);
+ assert wikiDescriptor != null;
contactPersons = ElementSupport.getChildElements(wikiDescriptor, contactPersonQname);
Assert.assertEquals(contactPersons.size(), 0);
}
@@ -183,7 +184,7 @@ public class ContactPersonFilterStageTest extends BaseDOMTest {
public void mda243() throws Exception {
final var stage = new ContactPersonFilterStage();
stage.setId("test");
- stage.setDesignatedTypes(Set.of(ContactPersonFilterStage.ADMINISTRATIVE, ContactPersonFilterStage.OTHER));
+ stage.setDesignatedTypes(CollectionSupport.setOf(ContactPersonFilterStage.ADMINISTRATIVE, ContactPersonFilterStage.OTHER));
stage.initialize();
final var types = stage.getDesignatedTypes();
Assert.assertEquals(types.size(), 2);
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializerTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializerTest.java
index e7e0380..2b4bdf3 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializerTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializerTest.java
@@ -5,9 +5,9 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
-import java.util.List;
import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import javax.json.Json;
import javax.json.JsonArray;
import javax.json.JsonObject;
@@ -42,15 +42,18 @@ public class DiscoFeedCollectionSerializerTest extends BaseDOMTest {
Assert.assertEquals(array.size(), 0);
}
- private JsonArray fetchJSONArray(@Nonnull final String path) throws IOException {
+ private @Nonnull JsonArray fetchJSONArray(@Nonnull final String path) throws IOException {
try (var in = BaseDOMTest.class.getResourceAsStream(classRelativeResource(path))) {
try (var reader = Json.createReader(in)) {
- return reader.readArray();
+ var array = reader.readArray();
+ assert array != null;
+ return array;
}
}
}
- private void checkEntity(@Nonnull final JsonObject entity) {
+ private void checkEntity(@Nullable final JsonObject entity) {
+ assert entity != null;
Assert.assertEquals(entity.getString("entityID"), "https://idp.example.com/idp/shibboleth");
}
@@ -111,7 +114,7 @@ public class DiscoFeedCollectionSerializerTest extends BaseDOMTest {
throws IOException, XMLParserException {
final String output;
try (final var out = new ByteArrayOutputStream()) {
- ser.serializeCollection(List.of(readDOMItem(name + ".xml")), out);
+ ser.serializeCollection(CollectionSupport.listOf(readDOMItem(name + ".xml")), out);
output = out.toString();
}
//System.out.println(output);
@@ -222,7 +225,7 @@ public class DiscoFeedCollectionSerializerTest extends BaseDOMTest {
ser.initialize();
final String output;
try (final var out = new ByteArrayOutputStream()) {
- ser.serializeCollection(List.of(readDOMItem("noidp.xml")), out);
+ ser.serializeCollection(CollectionSupport.listOf(readDOMItem("noidp.xml")), out);
output = out.toString();
}
Assert.assertEquals(output, "[]");
@@ -235,7 +238,7 @@ public class DiscoFeedCollectionSerializerTest extends BaseDOMTest {
ser.initialize();
final String output;
try (final var out = new ByteArrayOutputStream()) {
- ser.serializeCollection(List.of(readDOMItem("nonentity.xml")), out);
+ ser.serializeCollection(CollectionSupport.listOf(readDOMItem("nonentity.xml")), out);
output = out.toString();
}
Assert.assertEquals(output, "[]");
@@ -287,6 +290,7 @@ public class DiscoFeedCollectionSerializerTest extends BaseDOMTest {
}
final var read = Json.createReader(new StringReader(output));
final var array = read.readArray();
+ assert array != null;
final var expected = fetchJSONArray("all.json");
compareCollections(array, expected);
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 6f6c0c0..829edeb 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
@@ -1,8 +1,6 @@
package net.shibboleth.metadata.pipeline;
-import java.util.List;
-
import org.slf4j.LoggerFactory;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
@@ -16,6 +14,7 @@ import ch.qos.logback.core.read.ListAppender;
import net.shibboleth.metadata.Item;
import net.shibboleth.metadata.MockItem;
import net.shibboleth.metadata.TestMarker;
+import net.shibboleth.shared.collection.CollectionSupport;
public class CompositeStageTest {
@@ -48,7 +47,7 @@ public class CompositeStageTest {
stage.initialize();
Assert.assertEquals(stage.getStages().size(), 0);
- final var items = List.<Item<String>>of(new MockItem("hello"));
+ final var items = CollectionSupport.<Item<String>>listOf(new MockItem("hello"));
stage.execute(items);
Assert.assertEquals(items.size(), 1);
// No stages --> no errors added
@@ -63,11 +62,11 @@ public class CompositeStageTest {
final var stage = new CompositeStage<String>();
stage.setId("test");
- stage.setStages(List.of(marker));
+ stage.setStages(CollectionSupport.listOf(marker));
stage.initialize();
Assert.assertEquals(stage.getStages().size(), 1);
- final var items = List.<Item<String>>of(new MockItem("hello"));
+ final var items = CollectionSupport.<Item<String>>listOf(new MockItem("hello"));
stage.execute(items);
Assert.assertEquals(items.size(), 1);
// One stage --> one error added
@@ -82,11 +81,11 @@ public class CompositeStageTest {
final var stage = new CompositeStage<String>();
stage.setId("test");
- stage.setStages(List.of(marker, marker));
+ stage.setStages(CollectionSupport.listOf(marker, marker));
stage.initialize();
Assert.assertEquals(stage.getStages().size(), 2);
- final var items = List.<Item<String>>of(new MockItem("hello"));
+ final var items = CollectionSupport.<Item<String>>listOf(new MockItem("hello"));
stage.execute(items);
Assert.assertEquals(items.size(), 1);
// Two stages --> two errors added
@@ -109,12 +108,12 @@ public class CompositeStageTest {
final var stage = new CompositeStage<String>();
stage.setId("test");
- stage.setStages(List.of(marker, marker));
+ stage.setStages(CollectionSupport.listOf(marker, marker));
stage.initialize();
Assert.assertFalse(stage.isLoggingProgress());
Assert.assertEquals(stage.getStages().size(), 2);
- final var items = List.<Item<String>>of(new MockItem("hello"));
+ final var items = CollectionSupport.<Item<String>>listOf(new MockItem("hello"));
stage.execute(items);
stage.destroy();
@@ -133,13 +132,13 @@ public class CompositeStageTest {
final var stage = new CompositeStage<String>();
stage.setId("test");
- stage.setStages(List.of(marker, marker));
+ stage.setStages(CollectionSupport.listOf(marker, marker));
stage.setLoggingProgress(true);
stage.initialize();
Assert.assertTrue(stage.isLoggingProgress());
Assert.assertEquals(stage.getStages().size(), 2);
- final var items = List.<Item<String>>of(new MockItem("hello"));
+ final var items = CollectionSupport.<Item<String>>listOf(new MockItem("hello"));
stage.execute(items);
stage.destroy();
@@ -163,7 +162,7 @@ public class CompositeStageTest {
stage.setId("test");
Assert.assertEquals(stage.getComposedStages().size(), 0);
- stage.setComposedStages(List.of(marker));
+ stage.setComposedStages(CollectionSupport.listOf(marker));
Assert.assertEquals(stage.getStages().size(), 1);
stage.destroy();
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list