[java-shib-attribute] 04/05: IDP-2069 Null handling task
Rod Widdowson
rdw at steadingsoftware.com
Wed May 3 13:53:31 UTC 2023
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch main
in repository java-shib-attribute.
View the commit online:
http://git.shibboleth.net/view/?p=java-shib-attribute.git;a=commit;h=1e61a4aa13ab26e7dcf3cd01ab0636003020a3ea
commit 1e61a4aa13ab26e7dcf3cd01ab0636003020a3ea
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Mon May 1 14:40:06 2023 +0100
IDP-2069 Null handling task
https://shibboleth.atlassian.net/browse/IDP-2069
Fix the easier-to-fix warnings in shib-attribute-api
Add appropriatre @nonNullBeforeTest annotations as well
---
.../java/net/shibboleth/idp/attribute/ByteAttributeValue.java | 4 +++-
.../net/shibboleth/idp/attribute/DateTimeAttributeValue.java | 8 ++++++--
.../net/shibboleth/idp/attribute/EmptyAttributeValue.java | 4 +++-
.../main/java/net/shibboleth/idp/attribute/IdPAttribute.java | 4 +++-
.../idp/attribute/config/BeanConfigurationLookupStrategy.java | 4 +++-
.../attribute/config/BooleanConfigurationLookupStrategy.java | 4 +++-
.../attribute/config/DoubleConfigurationLookupStrategy.java | 4 +++-
.../attribute/config/DurationConfigurationLookupStrategy.java | 4 +++-
.../attribute/config/IntegerConfigurationLookupStrategy.java | 5 ++++-
.../idp/attribute/config/LongConfigurationLookupStrategy.java | 4 +++-
.../attribute/config/StringConfigurationLookupStrategy.java | 4 +++-
.../shibboleth/idp/attribute/context/AttributeContext.java | 1 -
.../shibboleth/idp/attribute/transcoding/TranscodingRule.java | 10 ++++++----
.../shibboleth/idp/attribute/XMLObjectAttributeValueTest.java | 11 +++++++----
14 files changed, 50 insertions(+), 21 deletions(-)
diff --git a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/ByteAttributeValue.java b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/ByteAttributeValue.java
index 54f8e4534..b189af9ee 100644
--- a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/ByteAttributeValue.java
+++ b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/ByteAttributeValue.java
@@ -70,7 +70,9 @@ public final class ByteAttributeValue implements IdPAttributeValue {
* @return a hex-encoded string
*/
@Nonnull public String toHex() {
- return Hex.encodeHexString(value);
+ final String result = Hex.encodeHexString(value);
+ assert result != null;
+ return result;
}
/**
diff --git a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/DateTimeAttributeValue.java b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/DateTimeAttributeValue.java
index e40ae9194..56864ae90 100644
--- a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/DateTimeAttributeValue.java
+++ b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/DateTimeAttributeValue.java
@@ -56,7 +56,9 @@ public class DateTimeAttributeValue implements IdPAttributeValue {
*/
public DateTimeAttributeValue(
@Nonnull @ParameterName(name="attributeValue") final ZonedDateTime attributeValue) {
- value = Constraint.isNotNull(attributeValue, "Attribute value cannot be null or empty").toInstant();
+ final Instant val = Constraint.isNotNull(attributeValue, "Attribute value cannot be null or empty").toInstant();
+ assert val!=null;
+ value = val;
}
/** {@inheritDoc} */
@@ -73,7 +75,9 @@ public class DateTimeAttributeValue implements IdPAttributeValue {
/** {@inheritDoc} */
@Nonnull @NotEmpty public String getDisplayValue() {
- return value.toString();
+ final String result = value.toString();
+ assert result != null;
+ return result;
}
/** {@inheritDoc} */
diff --git a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/EmptyAttributeValue.java b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/EmptyAttributeValue.java
index 9533ee34b..9d22f51d5 100644
--- a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/EmptyAttributeValue.java
+++ b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/EmptyAttributeValue.java
@@ -75,7 +75,9 @@ public final class EmptyAttributeValue implements IdPAttributeValue {
/** {@inheritDoc} */
@Nonnull @NotEmpty public String getDisplayValue() {
- return value.toString();
+ final String result = value.toString();
+ assert result != null;
+ return result;
}
/** {@inheritDoc} */
diff --git a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/IdPAttribute.java b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/IdPAttribute.java
index 80a44a7e6..334d6e4dd 100644
--- a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/IdPAttribute.java
+++ b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/IdPAttribute.java
@@ -206,7 +206,9 @@ public class IdPAttribute implements Comparable<IdPAttribute>, Cloneable {
/** {@inheritDoc} */
@Override
@Nonnull public String toString() {
- return MoreObjects.toStringHelper(this).add("id", getId()).add("values", values).toString();
+ final String result = MoreObjects.toStringHelper(this).add("id", getId()).add("values", values).toString();
+ assert result != null;
+ return result;
}
}
diff --git a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/BeanConfigurationLookupStrategy.java b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/BeanConfigurationLookupStrategy.java
index 7f4df6613..8c3eab15c 100644
--- a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/BeanConfigurationLookupStrategy.java
+++ b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/BeanConfigurationLookupStrategy.java
@@ -131,7 +131,9 @@ public class BeanConfigurationLookupStrategy<T> extends AbstractMetadataDrivenCo
}
log.debug("Converting tag '{}' to Bean property of tyoe '{}'", tag.getName(), propertyType.getSimpleName());
- return xmlObjectToBean(values.get(0));
+ final XMLObject value = values.get(0);
+ assert value != null;
+ return xmlObjectToBean(value);
}
/**
diff --git a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/BooleanConfigurationLookupStrategy.java b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/BooleanConfigurationLookupStrategy.java
index 5a2fcb8cb..b7052e45f 100644
--- a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/BooleanConfigurationLookupStrategy.java
+++ b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/BooleanConfigurationLookupStrategy.java
@@ -78,7 +78,9 @@ public class BooleanConfigurationLookupStrategy extends AbstractMetadataDrivenCo
}
log.debug("Converting tag '{}' to Boolean property", tag.getName());
- return xmlObjectToBoolean(values.get(0));
+ final XMLObject value = values.get(0);
+ assert value != null;
+ return xmlObjectToBoolean(value);
}
// Checkstyle: CyclomaticComplexity OFF
diff --git a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/DoubleConfigurationLookupStrategy.java b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/DoubleConfigurationLookupStrategy.java
index 490a039cf..2f924d0b9 100644
--- a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/DoubleConfigurationLookupStrategy.java
+++ b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/DoubleConfigurationLookupStrategy.java
@@ -78,7 +78,9 @@ public class DoubleConfigurationLookupStrategy extends AbstractMetadataDrivenCon
}
log.debug("Converting tag '{}' to Double property", tag.getName());
- return xmlObjectToDouble(values.get(0));
+ final XMLObject value = values.get(0);
+ assert value != null;
+ return xmlObjectToDouble(value);
}
// Checkstyle: CyclomaticComplexity OFF
diff --git a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/DurationConfigurationLookupStrategy.java b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/DurationConfigurationLookupStrategy.java
index f07b2e1b2..eee2769b2 100644
--- a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/DurationConfigurationLookupStrategy.java
+++ b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/DurationConfigurationLookupStrategy.java
@@ -93,7 +93,9 @@ public class DurationConfigurationLookupStrategy extends AbstractMetadataDrivenC
}
log.debug("Converting tag '{}' to Duration property", tag.getName());
- return xmlObjectToDuration(values.get(0));
+ final XMLObject value = values.get(0);
+ assert value != null;
+ return xmlObjectToDuration(value);
}
// Checkstyle: CyclomaticComplexity OFF
diff --git a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/IntegerConfigurationLookupStrategy.java b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/IntegerConfigurationLookupStrategy.java
index 11700a8f8..7297f8c7c 100644
--- a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/IntegerConfigurationLookupStrategy.java
+++ b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/IntegerConfigurationLookupStrategy.java
@@ -78,7 +78,10 @@ public class IntegerConfigurationLookupStrategy extends AbstractMetadataDrivenCo
}
log.debug("Converting tag '{}' to Integer property", tag.getName());
- return xmlObjectToInteger(values.get(0));
+ final XMLObject value = values.get(0);
+ assert value != null;
+
+ return xmlObjectToInteger(value);
}
// Checkstyle: CyclomaticComplexity OFF
diff --git a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/LongConfigurationLookupStrategy.java b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/LongConfigurationLookupStrategy.java
index d93ea7bd5..b8613dc71 100644
--- a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/LongConfigurationLookupStrategy.java
+++ b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/LongConfigurationLookupStrategy.java
@@ -80,7 +80,9 @@ public class LongConfigurationLookupStrategy extends AbstractMetadataDrivenConfi
}
log.debug("Converting tag '{}' to Long property", tag.getName());
- return xmlObjectToLong(values.get(0));
+ final XMLObject value = values.get(0);
+ assert value != null;
+ return xmlObjectToLong(value);
}
// Checkstyle: CyclomaticComplexity OFF
diff --git a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/StringConfigurationLookupStrategy.java b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/StringConfigurationLookupStrategy.java
index 2a5b76e1f..688fafe65 100644
--- a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/StringConfigurationLookupStrategy.java
+++ b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/config/StringConfigurationLookupStrategy.java
@@ -82,7 +82,9 @@ public class StringConfigurationLookupStrategy extends AbstractMetadataDrivenCon
}
log.debug("Converting tag '{}' to String property", tag.getName());
- return xmlObjectToString(values.get(0));
+ final XMLObject value = values.get(0);
+ assert value != null;
+ return xmlObjectToString(value);
}
// Checkstyle: CyclomaticComplexity OFF
diff --git a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/context/AttributeContext.java b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/context/AttributeContext.java
index 74471e234..15e832d53 100644
--- a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/context/AttributeContext.java
+++ b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/context/AttributeContext.java
@@ -19,7 +19,6 @@ package net.shibboleth.idp.attribute.context;
import java.util.Collection;
import java.util.Map;
-import java.util.stream.Collector;
import java.util.stream.Collectors;
import javax.annotation.Nonnull;
diff --git a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/transcoding/TranscodingRule.java b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/transcoding/TranscodingRule.java
index 97911e845..c37bd1493 100644
--- a/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/transcoding/TranscodingRule.java
+++ b/shib-attribute-api/src/main/java/net/shibboleth/idp/attribute/transcoding/TranscodingRule.java
@@ -199,8 +199,9 @@ public final class TranscodingRule {
}
}
}
-
- return builder.build();
+ final Map<Locale,String> result = builder.build();
+ assert result != null;
+ return result;
}
/**
@@ -231,8 +232,9 @@ public final class TranscodingRule {
}
}
}
-
- return builder.build();
+ final Map<Locale,String> result = builder.build();
+ assert result != null;
+ return result;
}
/**
diff --git a/shib-attribute-api/src/test/java/net/shibboleth/idp/attribute/XMLObjectAttributeValueTest.java b/shib-attribute-api/src/test/java/net/shibboleth/idp/attribute/XMLObjectAttributeValueTest.java
index ba4b0eb51..84e00fc35 100644
--- a/shib-attribute-api/src/test/java/net/shibboleth/idp/attribute/XMLObjectAttributeValueTest.java
+++ b/shib-attribute-api/src/test/java/net/shibboleth/idp/attribute/XMLObjectAttributeValueTest.java
@@ -27,12 +27,14 @@ import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
+import net.shibboleth.shared.annotation.constraint.NonnullBeforeTest;
+
/** Unit test for {@link XMLObjectAttributeValue}. */
public class XMLObjectAttributeValueTest extends XMLObjectBaseTestCase {
- private XSString xsId1;
- private XSString xsId2;
- private XSString xsId3;
+ @NonnullBeforeTest private XSString xsId1;
+ @NonnullBeforeTest private XSString xsId2;
+ @NonnullBeforeTest private XSString xsId3;
/** setup. */
@BeforeClass
@@ -51,12 +53,13 @@ public class XMLObjectAttributeValueTest extends XMLObjectBaseTestCase {
/** Test proper instantiation of the object. */
@Test public void instantiation() {
+ @SuppressWarnings("null")
final XMLObjectAttributeValue value = new XMLObjectAttributeValue(xsId1);
Assert.assertEquals(value.getValue(), xsId1);
}
/** Test equality of two objects. */
- @SuppressWarnings("unlikely-arg-type")
+ @SuppressWarnings({"unlikely-arg-type", "null"})
@Test public void equality() {
final XMLObjectAttributeValue value1 = new XMLObjectAttributeValue(xsId1);
final XMLObjectAttributeValue value2 = new XMLObjectAttributeValue(xsId2);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list