[java-metadata-aggregator] 02/02: Nullability
Ian Young
ian at iay.org.uk
Tue Apr 4 07:01:49 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=aff16d3d22acbe86c7e3dfbc9c4f25681b6c8fe9
commit aff16d3d22acbe86c7e3dfbc9c4f25681b6c8fe9
Author: Ian Young <ian at iay.org.uk>
AuthorDate: Tue Apr 4 08:01:34 2023 +0100
Nullability
---
.../shibboleth/metadata/dom/ElementsStrippingStage.java | 6 ++++--
.../shibboleth/metadata/dom/SimpleNamespaceContext.java | 4 ++--
.../shibboleth/metadata/dom/saml/EntityFilterStage.java | 4 +++-
.../shibboleth/metadata/dom/saml/GenerateIdStage.java | 2 +-
.../metadata/pipeline/ItemIdTransformStage.java | 3 ++-
.../metadata/pipeline/PipelineDemultiplexerStage.java | 3 ++-
.../net/shibboleth/metadata/util/RegexFileFilter.java | 2 +-
.../net/shibboleth/metadata/dom/ElementMatcherTest.java | 16 ++++++++++++----
.../net/shibboleth/metadata/pipeline/MarkerStage.java | 5 +++--
.../pipeline/MultiOutputSerializationStageTest.java | 10 ++++++----
.../metadata/pipeline/PipelineMergeStageTest.java | 14 ++++++++++----
11 files changed, 46 insertions(+), 23 deletions(-)
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 d8a7824..434b529 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
@@ -109,7 +109,7 @@ public class ElementsStrippingStage extends AbstractDOMTraversalStage<ElementsSt
whitelisting = wl;
}
- protected final String getElementNamespace() {
+ protected final @Nonnull String getElementNamespace() {
return elementNamespace;
}
@@ -237,7 +237,9 @@ public class ElementsStrippingStage extends AbstractDOMTraversalStage<ElementsSt
@Override
protected synchronized @Nonnull Context buildContext(@Nonnull final Item<Element> item) {
- return new Context(item, getElementNamespace(), getElementNames(), isWhitelisting());
+ final var ns = getElementNamespace();
+ assert ns != null;
+ return new Context(item, ns, getElementNames(), isWhitelisting());
}
}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/SimpleNamespaceContext.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/SimpleNamespaceContext.java
index da5fa06..308e12e 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/SimpleNamespaceContext.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/SimpleNamespaceContext.java
@@ -103,8 +103,8 @@ public class SimpleNamespaceContext implements NamespaceContext {
return mappings.inverse().get(namespaceURI);
}
- /** {@inheritDoc} */
- @Nonnull public Iterator<String> getPrefixes(final String namespaceURI) {
+ @Override
+ public Iterator<String> getPrefixes(final String namespaceURI) {
if (namespaceURI == null) {
throw new IllegalArgumentException("Namespace URI can not be null");
}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityFilterStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityFilterStage.java
index bd54d70..c36bb9b 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityFilterStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityFilterStage.java
@@ -71,7 +71,7 @@ public class EntityFilterStage extends AbstractFilteringStage<Element> {
public synchronized void setDesignatedEntities(
@Nonnull @NonnullElements @Unmodifiable final Collection<String> ids) {
checkSetterPreconditions();
- designatedEntities = Set.copyOf(ids);
+ designatedEntities = CollectionSupport.copyToSet(ids);
}
/**
@@ -144,6 +144,7 @@ public class EntityFilterStage 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 {
@@ -154,6 +155,7 @@ public class EntityFilterStage 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 {
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/GenerateIdStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/GenerateIdStage.java
index 5399c4a..7b2334d 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/GenerateIdStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/GenerateIdStage.java
@@ -37,7 +37,7 @@ import net.shibboleth.shared.xml.AttributeSupport;
public class GenerateIdStage extends AbstractIteratingStage<Element> {
/** QName of the ID attribute added to the descriptor. */
- public static final QName ID_ATTRIB = new QName("ID");
+ public static final @Nonnull QName ID_ATTRIB = new QName("ID");
/** Strategy used to generate identifiers. */
@Nonnull
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemIdTransformStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemIdTransformStage.java
index 035593c..be4fdfd 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemIdTransformStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemIdTransformStage.java
@@ -66,7 +66,7 @@ public class ItemIdTransformStage<T> extends AbstractIteratingStage<T> {
public synchronized void setIdTransformers(
@Nonnull @NonnullElements @Unmodifiable final Collection<Function<String, String>> transformers) {
checkSetterPreconditions();
- idTransformers = List.copyOf(transformers);
+ idTransformers = CollectionSupport.copyToList(transformers);
}
@Override
@@ -77,6 +77,7 @@ public class ItemIdTransformStage<T> extends AbstractIteratingStage<T> {
for (final ItemId id : ids) {
for (final Function<String, String> idTransform : getIdTransformers()) {
final String transformedId = idTransform.apply(id.getId());
+ assert transformedId != null;
transformedIds.add(new ItemId(transformedId));
}
}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/PipelineDemultiplexerStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/PipelineDemultiplexerStage.java
index 4685eee..033a994 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/PipelineDemultiplexerStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/PipelineDemultiplexerStage.java
@@ -239,7 +239,8 @@ public class PipelineDemultiplexerStage<T> extends AbstractStage<T> {
}
if (isWaitingForPipelines()) {
- for (final @Nonnull Future<List<Item<T>>> pipelineFuture : pipelineFutures) {
+ for (final Future<List<Item<T>>> pipelineFuture : pipelineFutures) {
+ assert pipelineFuture != null;
FutureSupport.futureItems(pipelineFuture);
}
}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/util/RegexFileFilter.java b/mda-framework/src/main/java/net/shibboleth/metadata/util/RegexFileFilter.java
index a8547f2..84ae899 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/util/RegexFileFilter.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/util/RegexFileFilter.java
@@ -62,7 +62,7 @@ public class RegexFileFilter implements FileFilter {
* @return <code>true</code> iff <code>pathname</code> matches the regular expression.
*/
@Override
- public boolean accept(@Nonnull final File pathname) {
+ public boolean accept(final File pathname) {
return pattern.matcher(pathname.getName()).matches();
}
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementMatcherTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementMatcherTest.java
index 06c6587..3f85a02 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementMatcherTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementMatcherTest.java
@@ -1,11 +1,13 @@
package net.shibboleth.metadata.dom;
+import javax.annotation.Nonnull;
import javax.xml.namespace.QName;
import org.testng.Assert;
import org.testng.annotations.Test;
import org.w3c.dom.Document;
+import org.w3c.dom.Element;
public class ElementMatcherTest extends BaseDOMTest {
@@ -17,13 +19,19 @@ public class ElementMatcherTest extends BaseDOMTest {
doc = getParserPool().newDocument();
}
+ private @Nonnull Element createElementNS(final @Nonnull String ns, final @Nonnull String name) {
+ final Element e = doc.createElementNS(ns, name);
+ assert e != null;
+ return e;
+ }
+
@Test
public void matcher() throws Exception {
final ElementMatcher matcher = new SimpleElementMatcher(new QName("ns", "xxx"));
- Assert.assertTrue(matcher.match(doc.createElementNS("ns", "xxx")));
- Assert.assertFalse(matcher.match(doc.createElementNS("ns", "yyy")));
- Assert.assertFalse(matcher.match(doc.createElementNS("ns2", "xxx")));
- Assert.assertFalse(matcher.match(doc.createElementNS("ns2", "yyy")));
+ Assert.assertTrue(matcher.match(createElementNS("ns", "xxx")));
+ Assert.assertFalse(matcher.match(createElementNS("ns", "yyy")));
+ Assert.assertFalse(matcher.match(createElementNS("ns2", "xxx")));
+ Assert.assertFalse(matcher.match(createElementNS("ns2", "yyy")));
}
}
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/MarkerStage.java b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/MarkerStage.java
index 06cae12..8610f93 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/MarkerStage.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/MarkerStage.java
@@ -1,5 +1,6 @@
package net.shibboleth.metadata.pipeline;
+import javax.annotation.Nonnull;
import javax.annotation.concurrent.GuardedBy;
import javax.annotation.concurrent.ThreadSafe;
@@ -21,12 +22,12 @@ public class MarkerStage<T> extends AbstractIteratingStage<T> {
@GuardedBy("this") private int sequence = 1;
- private final synchronized String nextMessage() {
+ private final synchronized @Nonnull String nextMessage() {
return "marker #" + sequence++;
}
@Override
- protected void doExecute(Item<T> item) throws StageProcessingException {
+ protected void doExecute(@Nonnull Item<T> item) throws StageProcessingException {
item.getItemMetadata().put(new TestMarker(nextMessage()));
}
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/MultiOutputSerializationStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/MultiOutputSerializationStageTest.java
index 8eeec27..0c2cdba 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/MultiOutputSerializationStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/MultiOutputSerializationStageTest.java
@@ -26,6 +26,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import javax.annotation.Nonnull;
+
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -44,7 +46,7 @@ public class MultiOutputSerializationStageTest {
private class StringDestination implements MultiOutputSerializationStage.Destination {
private final String id;
- private final ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ private final @Nonnull ByteArrayOutputStream baos = new ByteArrayOutputStream();
public StringDestination(String i) {
id = i;
@@ -56,14 +58,14 @@ public class MultiOutputSerializationStageTest {
}
@Override
- public OutputStream getOutputStream() throws IOException {
+ public @Nonnull OutputStream getOutputStream() throws IOException {
return baos;
}
}
@Override
- public Destination getDestination(Item<String> item) throws StageProcessingException {
+ public @Nonnull Destination getDestination(@Nonnull Item<String> item) throws StageProcessingException {
// Locate the item's identifier.
final List<ItemId> ids = item.getItemMetadata().get(ItemId.class);
if (ids.isEmpty()) {
@@ -95,7 +97,7 @@ public class MultiOutputSerializationStageTest {
stage.setSerializer(new ItemSerializer<String> () {
@Override
- public void serialize(Item<String> item, OutputStream output) {
+ public void serialize(@Nonnull Item<String> item, @Nonnull OutputStream output) {
try {
output.write(item.unwrap().getBytes("UTF-8"));
} catch (IOException e) {
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/PipelineMergeStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/PipelineMergeStageTest.java
index 8b82a80..cc40121 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/PipelineMergeStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/PipelineMergeStageTest.java
@@ -23,10 +23,13 @@ import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+import javax.annotation.Nonnull;
+
import net.shibboleth.metadata.DeduplicatingItemIdMergeStrategy;
import net.shibboleth.metadata.Item;
import net.shibboleth.metadata.ItemId;
import net.shibboleth.metadata.MockItem;
+import net.shibboleth.shared.collection.CollectionSupport;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -34,23 +37,25 @@ import org.testng.annotations.Test;
/** {@link PipelineMergeStage} unit test. */
public class PipelineMergeStageTest {
- private <T> List<T> newSingletonList(T element) {
+ private @Nonnull <T> List<T> newSingletonList(T element) {
final List<T> list = new ArrayList<>();
list.add(element);
return list;
}
- private <T> List<T> newTwoElementList(T element1, T element2) {
+ private @Nonnull <T> List<T> newTwoElementList(T element1, T element2) {
final List<T> list = new ArrayList<>();
list.add(element1);
list.add(element2);
return list;
}
+ @SuppressWarnings("removal")
@Test public void testExecutorService() {
PipelineMergeStage<Object> stage = new PipelineMergeStage<>();
ExecutorService executor = Executors.newSingleThreadExecutor();
+ assert executor != null;
stage.setExecutorService(executor);
Assert.assertEquals(stage.getExecutorService(), executor);
}
@@ -59,6 +64,7 @@ public class PipelineMergeStageTest {
PipelineMergeStage<Object> stage = new PipelineMergeStage<>();
ExecutorService executor = Executors.newSingleThreadExecutor();
+ assert executor != null;
stage.setExecutor(executor);
Assert.assertEquals(stage.getExecutor(), executor);
}
@@ -144,7 +150,7 @@ public class PipelineMergeStageTest {
MockItem item6 = new MockItem("item6");
source1.add(item6);
- strategy.merge(target, List.of(source1));
+ strategy.merge(target, CollectionSupport.listOf(source1));
Assert.assertTrue(target.contains(item1));
Assert.assertTrue(target.contains(item2));
Assert.assertTrue(target.contains(item3));
@@ -188,7 +194,7 @@ public class PipelineMergeStageTest {
item9.getItemMetadata().put(new ItemId("itemA"));
source2.add(item9);
- strategy.merge(target, List.of(source1, source2));
+ strategy.merge(target, CollectionSupport.listOf(source1, source2));
Assert.assertTrue(target.contains(item1));
Assert.assertTrue(target.contains(item2));
Assert.assertTrue(target.contains(item3));
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list