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