[java-metadata-aggregator] 02/03: Nullability
Ian Young
ian at iay.org.uk
Wed Apr 5 12:38:17 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=77e65b3fe72c63eeb7581ea7f7cd830883b72b29
commit 77e65b3fe72c63eeb7581ea7f7cd830883b72b29
Author: Ian Young <ian at iay.org.uk>
AuthorDate: Wed Apr 5 10:44:37 2023 +0100
Nullability
---
.../metadata/AbstractCompositeItemIdentificationStrategy.java | 6 ++++--
.../main/java/net/shibboleth/metadata/dom/ds/XMLDSIGSupport.java | 3 ++-
.../net/shibboleth/metadata/dom/impl/XMLSignatureSigner.java | 9 +++++++--
.../shibboleth/metadata/dom/saml/RemoveOrganizationStage.java | 1 +
.../net/shibboleth/metadata/validate/x509/X509DSADetector.java | 8 ++++----
.../shibboleth/metadata/dom/XMLSchemaValidationStageTest.java | 4 +++-
.../net/shibboleth/metadata/pipeline/ItemOrderingStageTest.java | 7 +++++--
7 files changed, 26 insertions(+), 12 deletions(-)
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/AbstractCompositeItemIdentificationStrategy.java b/mda-framework/src/main/java/net/shibboleth/metadata/AbstractCompositeItemIdentificationStrategy.java
index 6bc1c54..7bd5795 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/AbstractCompositeItemIdentificationStrategy.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/AbstractCompositeItemIdentificationStrategy.java
@@ -101,8 +101,10 @@ public abstract class AbstractCompositeItemIdentificationStrategy<T> implements
res.append(extra);
res.append(")");
}
-
- return res.toString();
+
+ final var result = res.toString();
+ assert result != null;
+ return result;
}
}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ds/XMLDSIGSupport.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ds/XMLDSIGSupport.java
index 250bfee..b73ed1d 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ds/XMLDSIGSupport.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ds/XMLDSIGSupport.java
@@ -17,6 +17,7 @@
package net.shibboleth.metadata.dom.ds;
+import javax.annotation.Nonnull;
import javax.annotation.concurrent.ThreadSafe;
import javax.xml.crypto.dsig.XMLSignature;
import javax.xml.namespace.QName;
@@ -30,7 +31,7 @@ import javax.xml.namespace.QName;
public final class XMLDSIGSupport {
/** Signature element name. */
- public static final QName SIGNATURE_NAME = new QName(XMLSignature.XMLNS, "Signature");
+ public static final @Nonnull QName SIGNATURE_NAME = new QName(XMLSignature.XMLNS, "Signature");
/** Constructor. */
private XMLDSIGSupport() {
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/impl/XMLSignatureSigner.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/impl/XMLSignatureSigner.java
index f6d564b..4d20722 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/impl/XMLSignatureSigner.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/impl/XMLSignatureSigner.java
@@ -161,10 +161,12 @@ public class XMLSignatureSigner {
/* Fields created during construction. */
/** Factory used to create XML signature objects. */
- @Nonnull private final XMLSignatureFactory xmlSigFactory = XMLSignatureFactory.getInstance();
+ @SuppressWarnings("null")
+ private final @Nonnull XMLSignatureFactory xmlSigFactory = XMLSignatureFactory.getInstance();
/** Factory used to create KeyInfo objects. */
- @Nonnull private KeyInfoFactory keyInfoFactory = xmlSigFactory.getKeyInfoFactory();
+ @SuppressWarnings("null")
+ private final @Nonnull KeyInfoFactory keyInfoFactory = xmlSigFactory.getKeyInfoFactory();
/**
* Constructor.
@@ -281,6 +283,8 @@ public class XMLSignatureSigner {
if (removingCRsFromSignature) {
final Element signatureElement = ElementSupport.getFirstChildElement(element,
XMLDSIGSupport.SIGNATURE_NAME);
+ // Must be present, by construction
+ assert signatureElement != null;
removeCRsFromNamedChildren(signatureElement, "SignatureValue");
removeCRsFromNamedChildren(signatureElement, "X509Certificate");
}
@@ -396,6 +400,7 @@ public class XMLSignatureSigner {
if (idAttributeNames != null && !idAttributeNames.isEmpty()) {
for (int i = 0; i < attributes.getLength(); i++) {
final Attr attribute = (Attr) attributes.item(i);
+ assert attribute != null;
if (idAttributeNames.contains(QNameSupport.getNodeQName(attribute))) {
// mark the attribute as an ID attribute so that it can be referenced by the signature
target.setIdAttributeNode(attribute, true);
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/RemoveOrganizationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/RemoveOrganizationStage.java
index 0dcb9e0..c4addf0 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/RemoveOrganizationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/RemoveOrganizationStage.java
@@ -57,6 +57,7 @@ public class RemoveOrganizationStage 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)) {
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/validate/x509/X509DSADetector.java b/mda-framework/src/main/java/net/shibboleth/metadata/validate/x509/X509DSADetector.java
index 6f66a98..da2a58b 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/validate/x509/X509DSADetector.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/validate/x509/X509DSADetector.java
@@ -55,8 +55,8 @@ public class X509DSADetector extends BaseValidator implements Validator<X509Cert
* {@link net.shibboleth.metadata.validate.Validator.Action} to return when a DSA key is detected. Default:
* {@link net.shibboleth.metadata.validate.Validator.Action#DONE}.
*/
- @Nonnull @GuardedBy("this")
- private Action action = Action.DONE;
+ @GuardedBy("this")
+ private @Nonnull Action action = Action.DONE;
/**
* Whether an {@link net.shibboleth.metadata.ErrorStatus} should be added on failure.
@@ -70,7 +70,7 @@ public class X509DSADetector extends BaseValidator implements Validator<X509Cert
*
* @return the {@link net.shibboleth.metadata.validate.Validator.Action} to be returned
*/
- public final synchronized Action getAction() {
+ public final synchronized @Nonnull Action getAction() {
return action;
}
@@ -104,7 +104,7 @@ public class X509DSADetector extends BaseValidator implements Validator<X509Cert
}
@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) {
final PublicKey key = cert.getPublicKey();
if ("DSA".equals(key.getAlgorithm())) {
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/XMLSchemaValidationStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/XMLSchemaValidationStageTest.java
index b84d649..e08958d 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/XMLSchemaValidationStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/XMLSchemaValidationStageTest.java
@@ -20,6 +20,8 @@ package net.shibboleth.metadata.dom;
import java.util.ArrayList;
import java.util.List;
+import javax.annotation.Nonnull;
+
import org.springframework.core.io.Resource;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -68,7 +70,7 @@ public class XMLSchemaValidationStageTest extends BaseDOMTest {
return stage;
}
- protected List<Item<Element>> buildMetdataCollection(String xmlPath) throws Exception {
+ protected @Nonnull List<Item<Element>> buildMetdataCollection(@Nonnull String xmlPath) throws Exception {
final Element element = readXMLData(xmlPath);
final List<Item<Element>> mdCol = new ArrayList<>();
mdCol.add(new DOMElementItem(element));
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/ItemOrderingStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/ItemOrderingStageTest.java
index d8a8457..110ba94 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/ItemOrderingStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/ItemOrderingStageTest.java
@@ -5,22 +5,25 @@ 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 net.shibboleth.metadata.Item;
import net.shibboleth.metadata.MockItem;
+import net.shibboleth.shared.collection.CollectionSupport;
public class ItemOrderingStageTest {
private class ReversalOrderingStrategy<T> implements ItemOrderingStrategy<T> {
@Override
- public List<Item<T>> order(List<Item<T>> items) throws StageProcessingException {
+ public @Nonnull List<Item<T>> order(@Nonnull List<Item<T>> items) throws StageProcessingException {
final var collection = new ArrayList<Item<T>>();
collection.addAll(items);
Collections.reverse(collection);
- return List.copyOf(collection);
+ return CollectionSupport.copyToList(collection);
}
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list