[java-shib-attribute] branch main updated: Null handling: use the new null-safe version of Arrays.toList()

Rod Widdowson rdw at steadingsoftware.com
Wed Mar 8 15:07:40 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=4a7d58864cc34a4e71a0d2fb8aea0c17990e89fb

The following commit(s) were added to refs/heads/main by this push:
     new 4a7d58864 Null handling: use the new null-safe version of Arrays.toList()
4a7d58864 is described below

commit 4a7d58864cc34a4e71a0d2fb8aea0c17990e89fb
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Wed Mar 8 15:05:44 2023 +0000

    Null handling: use the new null-safe version of Arrays.toList()
    
    Also do some drive by clean up.
---
 .../impl/AbstractMatcherPolicyRuleTest.java        | 12 ++--
 .../logic/impl/AbstractComposedMatcherTest.java    |  9 +--
 .../filter/matcher/logic/impl/AndMatcherTest.java  | 20 ++++---
 .../filter/matcher/logic/impl/NotMatcherTest.java  |  4 +-
 .../saml/impl/ScopeMatchesShibMDScopeTests.java    |  3 +-
 .../resolver/AttributeResolverContextTest.java     | 12 ++--
 .../resolver/ad/impl/ScopedAttributeTest.java      |  2 +-
 .../resolver/dc/impl/StaticDataConnectorTest.java  |  4 +-
 .../resolver/impl/AttributeResolverImplTest.java   | 66 ++++++++++++----------
 .../resolver/testing/ResolverTestSupport.java      |  2 +-
 .../impl/SAML1ByteAttributeTranscoderTest.java     | 37 ++++++------
 .../SAML1ScopedStringAttributeTranscoderTest.java  |  7 ++-
 .../impl/SAML1StringAttributeTranscoderTest.java   | 35 ++++++------
 .../impl/SAML2ByteAttributeTranscoderTest.java     |  7 ++-
 .../impl/SAML2DateTimeAttributeTranscoderTest.java | 37 ++++++------
 .../SAML2ScopedStringAttributeTranscoderTest.java  | 35 ++++++------
 .../impl/SAML2StringAttributeTranscoderTest.java   | 35 ++++++------
 .../SAML2XMLObjectAttributeTranscoderTest.java     | 37 ++++++------
 18 files changed, 199 insertions(+), 165 deletions(-)

diff --git a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/impl/AbstractMatcherPolicyRuleTest.java b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/impl/AbstractMatcherPolicyRuleTest.java
index dcaf0b8af..62c17a21b 100644
--- a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/impl/AbstractMatcherPolicyRuleTest.java
+++ b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/impl/AbstractMatcherPolicyRuleTest.java
@@ -19,6 +19,8 @@ package net.shibboleth.idp.attribute.filter.matcher.impl;
 
 import java.util.Arrays;
 
+import javax.annotation.Nonnull;
+
 import net.shibboleth.idp.attribute.IdPAttribute;
 import net.shibboleth.idp.attribute.StringAttributeValue;
 import net.shibboleth.idp.attribute.filter.Matcher;
@@ -29,19 +31,19 @@ import net.shibboleth.idp.attribute.filter.context.AttributeFilterContext;
 public abstract class AbstractMatcherPolicyRuleTest {
 
     /** An attribute value. */
-    protected StringAttributeValue value1;
+    @Nonnull protected StringAttributeValue value1 = new StringAttributeValue("value1");
 
     /** An attribute value. */
-    protected StringAttributeValue value2;
+    @Nonnull protected StringAttributeValue value2 = new StringAttributeValue("value2");
 
     /** An attribute value. */
-    protected StringAttributeValue value3;
+    @Nonnull protected StringAttributeValue value3 = new StringAttributeValue("value3");
 
     /** Attribute whose values are being matched. */
-    protected IdPAttribute attribute;
+    @Nonnull protected IdPAttribute attribute  = new IdPAttribute("foo");
 
     /** Current filter context. */
-    protected AttributeFilterContext filterContext;
+    @Nonnull protected AttributeFilterContext filterContext = new AttributeFilterContext();
 
     /**
      * Initializes classes protected fields.
diff --git a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AbstractComposedMatcherTest.java b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AbstractComposedMatcherTest.java
index 488b88d71..98339f031 100644
--- a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AbstractComposedMatcherTest.java
+++ b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AbstractComposedMatcherTest.java
@@ -25,6 +25,7 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Set;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import org.testng.annotations.Test;
@@ -126,8 +127,8 @@ public class AbstractComposedMatcherTest {
             setSubsidiaries(composedMatchers);
         }
 
-        @Override public Set<IdPAttributeValue> getMatchingValues(final IdPAttribute attribute,
-                final AttributeFilterContext filterContext) {
+        @Override public Set<IdPAttributeValue> getMatchingValues(final @Nonnull IdPAttribute attribute,
+                final @Nonnull AttributeFilterContext filterContext) {
             return null;
         }
 
@@ -136,8 +137,8 @@ public class AbstractComposedMatcherTest {
     public static class TestMatcher extends AbstractInitializableComponent implements Matcher, DestructableComponent,
             InitializableComponent {
 
-        @Override public Set<IdPAttributeValue> getMatchingValues(final IdPAttribute attribute,
-                final AttributeFilterContext filterContext) {
+        @Override public Set<IdPAttributeValue> getMatchingValues(final @Nonnull IdPAttribute attribute,
+                final @Nonnull AttributeFilterContext filterContext) {
             return null;
         }
 
diff --git a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AndMatcherTest.java b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AndMatcherTest.java
index ec2bfb1dd..b840dc9c9 100644
--- a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AndMatcherTest.java
+++ b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/AndMatcherTest.java
@@ -19,10 +19,11 @@ package net.shibboleth.idp.attribute.filter.matcher.logic.impl;
 
 import static com.google.common.base.Predicates.equalTo;
 import static com.google.common.base.Predicates.or;
-import static org.testng.Assert.*;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
+import static org.testng.Assert.fail;
 
-import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 import java.util.Set;
 
@@ -36,6 +37,7 @@ import net.shibboleth.idp.attribute.filter.Matcher;
 import net.shibboleth.idp.attribute.filter.matcher.impl.AbstractMatcherPolicyRuleTest;
 import net.shibboleth.idp.attribute.filter.matcher.impl.MockValuePredicateMatcher;
 import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.component.DestroyedComponentException;
 import net.shibboleth.shared.component.UninitializedComponentException;
@@ -50,7 +52,7 @@ public class AndMatcherTest extends AbstractMatcherPolicyRuleTest {
 
     @Test public void testSingleton() throws Exception {
         final AndMatcher matcher =
-                newAndMatcher(Collections.singletonList((Matcher) new MockValuePredicateMatcher(or(equalTo(value1),
+                newAndMatcher(CollectionSupport.singletonList((Matcher) new MockValuePredicateMatcher(or(equalTo(value1),
                         equalTo(value2)))));
 
         matcher.setId("test");
@@ -66,7 +68,7 @@ public class AndMatcherTest extends AbstractMatcherPolicyRuleTest {
 
     @Test public void testGetMatchingValues() throws Exception {
         final AndMatcher matcher =
-                newAndMatcher(Arrays.<Matcher> asList(
+                newAndMatcher(CollectionSupport.arrayAsList(
                         new MockValuePredicateMatcher(or(equalTo(value1), equalTo(value2))),
                         new MockValuePredicateMatcher(or(equalTo(value2), equalTo(value3)))));
 
@@ -95,14 +97,14 @@ public class AndMatcherTest extends AbstractMatcherPolicyRuleTest {
     }
 
     @Test public void testFails() throws Exception {
-        AndMatcher matcher = newAndMatcher(Arrays.<Matcher> asList(Matcher.MATCHES_ALL, Matcher.MATCHER_FAILS));
+        AndMatcher matcher = newAndMatcher(CollectionSupport.arrayAsList(Matcher.MATCHES_ALL, Matcher.MATCHER_FAILS));
         matcher.setId("test");
         matcher.initialize();
 
         Set<IdPAttributeValue> result = matcher.getMatchingValues(attribute, filterContext);
         assertNull(result);
 
-        matcher = newAndMatcher(Arrays.<Matcher> asList(Matcher.MATCHER_FAILS, Matcher.MATCHES_ALL));
+        matcher = newAndMatcher(CollectionSupport.arrayAsList(Matcher.MATCHER_FAILS, Matcher.MATCHES_ALL));
         matcher.setId("test");
         matcher.initialize();
 
@@ -112,14 +114,14 @@ public class AndMatcherTest extends AbstractMatcherPolicyRuleTest {
 
     @Test(expectedExceptions = {ComponentInitializationException.class}) public void emptyInput()
             throws ComponentInitializationException {
-        final AndMatcher matcher = newAndMatcher(Collections.emptyList());
+        final AndMatcher matcher = newAndMatcher(CollectionSupport.emptyList());
         matcher.setId("test");
         matcher.initialize();
     }
 
     @Test public void emptyResults() throws ComponentInitializationException {
         final AndMatcher matcher =
-                newAndMatcher(Arrays.<Matcher> asList(
+                newAndMatcher(CollectionSupport.arrayAsList(
                         new MockValuePredicateMatcher(or(equalTo(value1), equalTo(value2))),
                         new MockValuePredicateMatcher(equalTo(value3))));
 
diff --git a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/NotMatcherTest.java b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/NotMatcherTest.java
index 763d3612e..3ffa20f45 100644
--- a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/NotMatcherTest.java
+++ b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/logic/impl/NotMatcherTest.java
@@ -24,6 +24,8 @@ import static org.testng.Assert.*;
 import java.util.Arrays;
 import java.util.Set;
 
+import javax.annotation.Nonnull;
+
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
@@ -111,7 +113,7 @@ public class NotMatcherTest extends AbstractMatcherPolicyRuleTest {
         assertNull(result);
     }
     
-    public static NotMatcher newNotMatcher(final Matcher m) {
+    public static NotMatcher newNotMatcher(@Nonnull final Matcher m) {
         final NotMatcher  rule = new NotMatcher();
         rule.setNegation(m);
         return rule;
diff --git a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/ScopeMatchesShibMDScopeTests.java b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/ScopeMatchesShibMDScopeTests.java
index 73dbbfeb9..42b25ac02 100644
--- a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/ScopeMatchesShibMDScopeTests.java
+++ b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/ScopeMatchesShibMDScopeTests.java
@@ -42,6 +42,7 @@ import net.shibboleth.idp.attribute.ScopedStringAttributeValue;
 import net.shibboleth.idp.attribute.StringAttributeValue;
 import net.shibboleth.idp.attribute.filter.context.AttributeFilterContext;
 import net.shibboleth.idp.saml.metadata.impl.ScopesNodeProcessor;
+import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.resolver.CriteriaSet;
 import net.shibboleth.shared.resolver.ResolverException;
@@ -71,7 +72,7 @@ public class ScopeMatchesShibMDScopeTests extends XMLObjectBaseTestCase {
         valueMatcher.initialize();
 
         final NodeProcessingMetadataFilter filter = new NodeProcessingMetadataFilter();
-        filter.setNodeProcessors(List.of(new ScopesNodeProcessor()));
+        filter.setNodeProcessors(CollectionSupport.listOf(new ScopesNodeProcessor()));
         filter.initialize();
         
         resolver = 
diff --git a/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AttributeResolverContextTest.java b/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AttributeResolverContextTest.java
index eccf1368d..8aa6a2c6f 100644
--- a/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AttributeResolverContextTest.java
+++ b/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AttributeResolverContextTest.java
@@ -17,14 +17,12 @@
 
 package net.shibboleth.idp.attribute.resolver;
 
-import java.util.Arrays;
-import java.util.Collections;
+import org.testng.Assert;
+import org.testng.annotations.Test;
 
 import net.shibboleth.idp.attribute.IdPAttribute;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
+import net.shibboleth.shared.collection.CollectionSupport;
 
 /** Unit test for {@link AttributeResolutionContext}. */
 
@@ -46,11 +44,11 @@ public class AttributeResolverContextTest {
         Assert.assertEquals(context.getAttributeRecipientID(), "ARID");
                
         final IdPAttribute attr = new IdPAttribute("AttrId");
-        context.setResolvedIdPAttributes(Collections.singleton(attr));
+        context.setResolvedIdPAttributes(CollectionSupport.singleton(attr));
         Assert.assertEquals(context.getResolvedIdPAttributes().size(), 1);
         Assert.assertSame(context.getResolvedIdPAttributes().values().iterator().next(), attr);
                 
-        context.setRequestedIdPAttributeNames(Arrays.asList("Foo", "bar"));
+        context.setRequestedIdPAttributeNames(CollectionSupport.arrayAsList("Foo", "bar"));
         Assert.assertEquals(context.getRequestedIdPAttributeNames().size(), 2);
         Assert.assertTrue(context.getRequestedIdPAttributeNames().contains("Foo"));
         Assert.assertTrue(context.getRequestedIdPAttributeNames().contains("bar"));
diff --git a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScopedAttributeTest.java b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScopedAttributeTest.java
index c9ed3cd7d..f4c1cd64c 100644
--- a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScopedAttributeTest.java
+++ b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScopedAttributeTest.java
@@ -154,7 +154,7 @@ public class ScopedAttributeTest {
 
         final AttributeResolutionContext resolutionContext =
                 ResolverTestSupport.buildResolutionContext(ResolverTestSupport.buildDataConnector("connector1", attr));
-
+        
         final ScopedAttributeDefinition attrDef = new ScopedAttributeDefinition();
         attrDef.setId(TEST_ATTRIBUTE_NAME);
         attrDef.setScope(TEST_SCOPE);
diff --git a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/StaticDataConnectorTest.java b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/StaticDataConnectorTest.java
index a9ddccb8c..7159ab3e9 100644
--- a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/StaticDataConnectorTest.java
+++ b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/StaticDataConnectorTest.java
@@ -25,7 +25,6 @@ import static org.testng.Assert.fail;
 
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -36,6 +35,7 @@ import net.shibboleth.idp.attribute.StringAttributeValue;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
+import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.component.DestroyedComponentException;
 import net.shibboleth.shared.component.UninitializedComponentException;
@@ -107,7 +107,7 @@ public class StaticDataConnectorTest {
         connector.initialize();
 
         try {
-            connector.setValues(Collections.singletonList(new IdPAttribute("whatever")));
+            connector.setValues(CollectionSupport.singletonList(new IdPAttribute("whatever")));
             fail();
         } catch (UnmodifiableComponentException ex) {
             // OK
diff --git a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java
index f16258997..f6cc0c0d3 100644
--- a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java
+++ b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java
@@ -205,13 +205,13 @@ public class AttributeResolverImplTest {
         // Connector2 exports 2 & 3 (and would export 1 if it created it)
         final StaticDataConnector connector2 = new StaticDataConnector();
         connector2.setId("dc2");
-        connector2.setValues(List.of(attribute2, attribute3, attribute4));
-        connector2.setExportAttributes(List.of(attribute2.getId(), attribute3.getId(), attribute1.getId()));
+        connector2.setValues(CollectionSupport.listOf(attribute2, attribute3, attribute4));
+        connector2.setExportAttributes(CollectionSupport.listOf(attribute2.getId(), attribute3.getId(), attribute1.getId()));
 
         // Connector 3 contributes nothing
         final StaticDataConnector connector3 = new StaticDataConnector();
         connector3.setId("dc3");
-        connector3.setValues(List.of(attribute4));
+        connector3.setValues(CollectionSupport.singletonList(attribute4));
 
         final AttributeResolverImpl resolver = newAttributeResolverImpl("foo", null, List.of(connector2, connector3));
 
@@ -246,14 +246,14 @@ public class AttributeResolverImplTest {
         resolver.initialize();
 
         AttributeResolutionContext context = new AttributeResolutionContext();
-        context.setRequestedIdPAttributeNames(Collections.singleton("ad1"));
+        context.setRequestedIdPAttributeNames(CollectionSupport.singleton("ad1"));
         resolver.resolveAttributes(context);
 
         assertEquals(context.getResolvedIdPAttributes().size(), 1);
         assertEquals(context.getResolvedIdPAttributes().get("ad1"), attribute);
 
         context = new AttributeResolutionContext();
-        context.setRequestedIdPAttributeNames(Collections.singleton("1da"));
+        context.setRequestedIdPAttributeNames(CollectionSupport.singleton("1da"));
         resolver.resolveAttributes(context);
 
         assertTrue(context.getResolvedIdPAttributes().isEmpty());
@@ -366,7 +366,7 @@ public class AttributeResolverImplTest {
         final ResolverDataConnectorDependency dep1 = new ResolverDataConnectorDependency("dc1");
         dep1.setAllAttributes(true);
         final MockAttributeDefinition ad1 = new MockAttributeDefinition("ad1", attr);
-        ad1.setDataConnectorDependencies(Collections.singleton(dep1));
+        ad1.setDataConnectorDependencies(CollectionSupport.singleton(dep1));
         ad1.initialize();
 
         final MockAttributeDefinition ad2 = new MockAttributeDefinition("ad2", attr);
@@ -411,7 +411,7 @@ public class AttributeResolverImplTest {
 
         final ResolverDataConnectorDependency dep1 = TestSources.makeDataConnectorDependency("dc1", null);
         final MockAttributeDefinition ad1 = new MockAttributeDefinition("ad1", new IdPAttribute("test"));
-        ad1.setDataConnectorDependencies(Collections.singleton(dep1));
+        ad1.setDataConnectorDependencies(CollectionSupport.singleton(dep1));
         ad1.initialize();
 
         final LazySet<DataConnector> connectors = new LazySet<>();
@@ -442,7 +442,7 @@ public class AttributeResolverImplTest {
         final SimpleAttributeDefinition ad = new SimpleAttributeDefinition();
         ad.setId("output");
         final ResolverDataConnectorDependency dep1 = TestSources.makeDataConnectorDependency("dc1","Atr");
-        ad.setDataConnectorDependencies(Collections.singleton(dep1));
+        ad.setDataConnectorDependencies(CollectionSupport.singleton(dep1));
         ad.initialize();
         
         final IdPAttribute i2Val = new IdPAttribute("Atr");
@@ -453,7 +453,9 @@ public class AttributeResolverImplTest {
         final MockDataConnector dc2 = new MockDataConnector("dc2", Collections.singletonMap("Atr", i2Val));
         dc2.initialize();
         dc1.setFailoverDataConnectorId("dc2");
-        dc1.setNoRetryDelay(Duration.ofSeconds(3));
+        final Duration threeSeconds = Duration.ofSeconds(3);
+        assert threeSeconds!=null;
+        dc1.setNoRetryDelay(threeSeconds);
         dc1.initialize();
         
         final HashSet<DataConnector> connectors = new HashSet<>(2);
@@ -502,13 +504,15 @@ public class AttributeResolverImplTest {
         dc1.setFailure(true);
         dc1.setPropagateResolutionExceptions(propagate);
         if (addNoRetryDelay) {
-            dc1.setNoRetryDelay(Duration.ofHours(1));
+            final Duration oneHour = Duration.ofHours(1);
+            assert oneHour!=null;
+            dc1.setNoRetryDelay(oneHour);
         }
         dc1.initialize();
 
         final ResolverDataConnectorDependency dep1 = TestSources.makeDataConnectorDependency("dc1", null);
         final MockAttributeDefinition ad1 = new MockAttributeDefinition("ad1", new IdPAttribute("test"));
-        ad1.setDataConnectorDependencies(Collections.singleton(dep1));
+        ad1.setDataConnectorDependencies(CollectionSupport.singleton(dep1));
 
         final LazySet<DataConnector> connectors = new LazySet<>();
         connectors.add(dc1);
@@ -564,13 +568,13 @@ public class AttributeResolverImplTest {
         IdPAttribute attr = new IdPAttribute("test1");
         attr.setValues(Collections.singletonList(new StringAttributeValue("value1")));
         final MockAttributeDefinition ad1 = new MockAttributeDefinition("ad1", attr);
-        ad1.setDataConnectorDependencies(Collections.singleton(dep1));
+        ad1.setDataConnectorDependencies(CollectionSupport.singleton(dep1));
         ad1.initialize();
 
         attr = new IdPAttribute("test2");
         attr.setValues(Collections.singletonList(new StringAttributeValue("value2")));
         final MockAttributeDefinition ad2 = new MockAttributeDefinition("ad2", attr);
-        ad2.setDataConnectorDependencies(Collections.singleton(TestSources.makeDataConnectorDependency("dc1", null)));
+        ad2.setDataConnectorDependencies(CollectionSupport.singleton(TestSources.makeDataConnectorDependency("dc1", null)));
         ad2.initialize();
 
         LazySet<DataConnector> connectors = new LazySet<>();
@@ -606,13 +610,13 @@ public class AttributeResolverImplTest {
         connectors.add(dcfail2);
 
         final MockAttributeDefinition ad10 = new MockAttributeDefinition("ad10", new IdPAttribute("ten"));
-        ad10.setDataConnectorDependencies(Collections.singleton(depFail1));
+        ad10.setDataConnectorDependencies(CollectionSupport.singleton(depFail1));
         ad10.setPropagateResolutionExceptions(false);
         ad10.initialize();
 
 
         final MockAttributeDefinition ad11 = new MockAttributeDefinition("ad11", new IdPAttribute("eleven"));
-        ad11.setDataConnectorDependencies(Collections.singleton(depFail2));
+        ad11.setDataConnectorDependencies(CollectionSupport.singleton(depFail2));
         ad11.setPropagateResolutionExceptions(false);
         ad11.initialize();
 
@@ -638,7 +642,7 @@ public class AttributeResolverImplTest {
         attr = new IdPAttribute("test1");
         attr.setValues(Collections.singletonList(new StringAttributeValue("value1")));
         final MockAttributeDefinition ad1 = new MockAttributeDefinition("ad1", attr);
-        ad1.setDataConnectorDependencies(Collections.singleton(dep1));
+        ad1.setDataConnectorDependencies(CollectionSupport.singleton(dep1));
         ad1.initialize();
 
         final LazySet<DataConnector> connectors = new LazySet<>();
@@ -665,11 +669,11 @@ public class AttributeResolverImplTest {
         dc1.initialize();
 
         final ResolverDataConnectorDependency dep1 = new ResolverDataConnectorDependency("dc1");
-        dep1.setAttributeNames(Collections.singleton("SubAttribute"));
+        dep1.setAttributeNames(CollectionSupport.singleton("SubAttribute"));
         attr = new IdPAttribute("test1");
         attr.setValues(Collections.singletonList(new StringAttributeValue("value1")));
         final MockAttributeDefinition ad1 = new MockAttributeDefinition("ad1", attr);
-        ad1.setDataConnectorDependencies(Collections.singleton(dep1));
+        ad1.setDataConnectorDependencies(CollectionSupport.singleton(dep1));
         ad1.initialize();
 
         final LazySet<DataConnector> connectors = new LazySet<>();
@@ -825,12 +829,12 @@ public class AttributeResolverImplTest {
     @Test public void badPluginIdInitialize() throws Exception {
         final ResolverDataConnectorDependency dep1 = new ResolverDataConnectorDependency("dc1");
         final MockAttributeDefinition ad1 = new MockAttributeDefinition("ad1", new IdPAttribute("test"));
-        ad1.setDataConnectorDependencies(Collections.singleton(dep1));
+        ad1.setDataConnectorDependencies(CollectionSupport.singleton(dep1));
         ad1.initialize();
 
         final ResolverAttributeDefinitionDependency dep2 = new ResolverAttributeDefinitionDependency("ad1");
         MockAttributeDefinition ad0 = new MockAttributeDefinition("ad0", new IdPAttribute("test"));
-        ad0.setAttributeDependencies(Collections.singleton(dep2));
+        ad0.setAttributeDependencies(CollectionSupport.singleton(dep2));
         ad0.initialize();
 
         LazySet<AttributeDefinition> definitions = new LazySet<>();
@@ -847,7 +851,7 @@ public class AttributeResolverImplTest {
 
         final ResolverAttributeDefinitionDependency dep3 = new ResolverAttributeDefinitionDependency("ad0");
         ad0 = new MockAttributeDefinition("ad0", new IdPAttribute("test"));
-        ad0.setAttributeDependencies(Collections.singleton(dep3));
+        ad0.setAttributeDependencies(CollectionSupport.singleton(dep3));
         definitions = new LazySet<>();
         definitions.add(ad0);
         ad0.initialize();
@@ -870,12 +874,12 @@ public class AttributeResolverImplTest {
     @Test public void badPluginIdInitializeOld() throws Exception {
         final ResolverDataConnectorDependency dep1 = TestSources.makeDataConnectorDependency("dc1", "test");
         final MockAttributeDefinition ad1 = new MockAttributeDefinition("ad1", new IdPAttribute("test"));
-        ad1.setDataConnectorDependencies(Collections.singleton(dep1));
+        ad1.setDataConnectorDependencies(CollectionSupport.singleton(dep1));
         ad1.initialize();
 
         final ResolverAttributeDefinitionDependency dep2 = TestSources.makeAttributeDefinitionDependency("ad1");
         MockAttributeDefinition ad0 = new MockAttributeDefinition("ad0", new IdPAttribute("test"));
-        ad0.setAttributeDependencies(Collections.singleton(dep2));
+        ad0.setAttributeDependencies(CollectionSupport.singleton(dep2));
         ad0.initialize();
 
         LazySet<AttributeDefinition> definitions = new LazySet<>();
@@ -892,7 +896,7 @@ public class AttributeResolverImplTest {
 
         final ResolverAttributeDefinitionDependency dep3 = TestSources.makeAttributeDefinitionDependency("ad0");
         ad0 = new MockAttributeDefinition("ad0", new IdPAttribute("test"));
-        ad0.setAttributeDependencies(Collections.singleton(dep3));
+        ad0.setAttributeDependencies(CollectionSupport.singleton(dep3));
         definitions = new LazySet<>();
         definitions.add(ad0);
         ad0.initialize();
@@ -914,7 +918,7 @@ public class AttributeResolverImplTest {
      */
     @Test public void circularDependencyInitializeOld() throws Exception {
         MockAttributeDefinition ad1 = new MockAttributeDefinition("ad1", new IdPAttribute("test"));
-        ad1.setAttributeDependencies(Collections.singleton(TestSources.makeAttributeDefinitionDependency("ad1")));
+        ad1.setAttributeDependencies(CollectionSupport.singleton(TestSources.makeAttributeDefinitionDependency("ad1")));
 
         LazySet<AttributeDefinition> definitions = new LazySet<>();
         definitions.add(ad1);
@@ -931,11 +935,11 @@ public class AttributeResolverImplTest {
         final MockDataConnector dc1 = new MockDataConnector("dc1", null, Collections.singleton(TestSources.makeAttributeDefinitionDependency("ad0")), null);
 
         ad1 = new MockAttributeDefinition("ad1", new IdPAttribute("test"));
-        ad1.setAttributeDependencies(Collections.singleton(TestSources.makeAttributeDefinitionDependency("dc1")));
+        ad1.setAttributeDependencies(CollectionSupport.singleton(TestSources.makeAttributeDefinitionDependency("dc1")));
         ad1.initialize();
 
         final MockAttributeDefinition ad2 = new MockAttributeDefinition("ad2", new IdPAttribute("test"));
-        ad2.setAttributeDependencies(Collections.singleton(TestSources.makeAttributeDefinitionDependency("dc1")));
+        ad2.setAttributeDependencies(CollectionSupport.singleton(TestSources.makeAttributeDefinitionDependency("dc1")));
         ad2.initialize();
 
         final MockAttributeDefinition ad0 = new MockAttributeDefinition("ad0", new IdPAttribute("test"));
@@ -967,7 +971,7 @@ public class AttributeResolverImplTest {
      */
     @Test public void circularDependencyInitialize() throws Exception {
         MockAttributeDefinition ad1 = new MockAttributeDefinition("ad1", new IdPAttribute("test"));
-        ad1.setAttributeDependencies(Collections.singleton(new ResolverAttributeDefinitionDependency("ad1")));
+        ad1.setAttributeDependencies(CollectionSupport.singleton(new ResolverAttributeDefinitionDependency("ad1")));
 
         LazySet<AttributeDefinition> definitions = new LazySet<>();
         definitions.add(ad1);
@@ -985,11 +989,11 @@ public class AttributeResolverImplTest {
                 Collections.singleton(new ResolverAttributeDefinitionDependency("ad0")), null);
 
         ad1 = new MockAttributeDefinition("ad1", new IdPAttribute("test"));
-        ad1.setDataConnectorDependencies(Collections.singleton(new ResolverDataConnectorDependency("dc1")));
+        ad1.setDataConnectorDependencies(CollectionSupport.singleton(new ResolverDataConnectorDependency("dc1")));
         ad1.initialize();
 
         final MockAttributeDefinition ad2 = new MockAttributeDefinition("ad2", new IdPAttribute("test"));
-        ad2.setDataConnectorDependencies(Collections.singleton(new ResolverDataConnectorDependency("dc1")));
+        ad2.setDataConnectorDependencies(CollectionSupport.singleton(new ResolverDataConnectorDependency("dc1")));
         ad2.initialize();
 
         final MockAttributeDefinition ad0 = new MockAttributeDefinition("ad0", new IdPAttribute("test"));
@@ -1027,7 +1031,7 @@ public class AttributeResolverImplTest {
     private static class PreDefinedCheckingMockAttributeDefinition extends MockAttributeDefinition {
         private final String preResolvedName;
 
-        public PreDefinedCheckingMockAttributeDefinition(String id, IdPAttribute value, String preName)
+        public PreDefinedCheckingMockAttributeDefinition(@Nonnull String id, IdPAttribute value, String preName)
                 throws ComponentInitializationException {
             super(id, value);
             preResolvedName = preName;
diff --git a/shib-attribute-testing/src/main/java/net/shibboleth/idp/attribute/resolver/testing/ResolverTestSupport.java b/shib-attribute-testing/src/main/java/net/shibboleth/idp/attribute/resolver/testing/ResolverTestSupport.java
index 50d6e815d..0432cd13e 100644
--- a/shib-attribute-testing/src/main/java/net/shibboleth/idp/attribute/resolver/testing/ResolverTestSupport.java
+++ b/shib-attribute-testing/src/main/java/net/shibboleth/idp/attribute/resolver/testing/ResolverTestSupport.java
@@ -68,7 +68,7 @@ public class ResolverTestSupport {
      * @param plugins what to pupulate 
      * @return the context
      */
-    public static AttributeResolutionContext buildResolutionContext(final ResolverPlugin<?>... plugins) {
+    @Nonnull public static AttributeResolutionContext buildResolutionContext(final ResolverPlugin<?>... plugins) {
         final AttributeResolutionContext resolutionContext = new AttributeResolutionContext();
         final AttributeResolverWorkContext workContext =
                 resolutionContext.getSubcontext(AttributeResolverWorkContext.class, true);
diff --git a/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1ByteAttributeTranscoderTest.java b/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1ByteAttributeTranscoderTest.java
index 88319528f..ae8de6b35 100644
--- a/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1ByteAttributeTranscoderTest.java
+++ b/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1ByteAttributeTranscoderTest.java
@@ -26,6 +26,21 @@ import java.util.Map;
 
 import javax.annotation.Nonnull;
 
+import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
+import org.opensaml.core.xml.XMLObject;
+import org.opensaml.core.xml.XMLObjectBuilder;
+import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
+import org.opensaml.core.xml.schema.XSBase64Binary;
+import org.opensaml.core.xml.schema.XSString;
+import org.opensaml.saml.common.SAMLObjectBuilder;
+import org.opensaml.saml.saml1.core.Attribute;
+import org.opensaml.saml.saml1.core.AttributeDesignator;
+import org.opensaml.saml.saml1.core.AttributeValue;
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
 import net.shibboleth.idp.attribute.AttributeDecodingException;
 import net.shibboleth.idp.attribute.AttributeEncodingException;
 import net.shibboleth.idp.attribute.ByteAttributeValue;
@@ -43,24 +58,10 @@ import net.shibboleth.idp.saml.attribute.transcoding.AbstractSAML1AttributeTrans
 import net.shibboleth.idp.saml.attribute.transcoding.SAML1AttributeTranscoder;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.codec.Base64Support;
+import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.testing.MockApplicationContext;
 
-import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
-import org.opensaml.core.xml.XMLObject;
-import org.opensaml.core.xml.XMLObjectBuilder;
-import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
-import org.opensaml.core.xml.schema.XSBase64Binary;
-import org.opensaml.core.xml.schema.XSString;
-import org.opensaml.saml.common.SAMLObjectBuilder;
-import org.opensaml.saml.saml1.core.Attribute;
-import org.opensaml.saml.saml1.core.AttributeValue;
-import org.opensaml.saml.saml1.core.AttributeDesignator;
-import org.testng.Assert;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
 /** {@link SAML1ByteAttributeTranscoder} unit test. */
 @SuppressWarnings("javadoc")
 public class SAML1ByteAttributeTranscoderTest extends OpenSAMLInitBaseTestCase {
@@ -108,7 +109,7 @@ public class SAML1ByteAttributeTranscoderTest extends OpenSAMLInitBaseTestCase {
         ruleset1.put(SAML1AttributeTranscoder.PROP_NAME, ATTR_NAME);
         ruleset1.put(SAML1AttributeTranscoder.PROP_NAMESPACE, ATTR_NAMESPACE);
         
-        registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
+        registry.setTranscoderRegistry(CollectionSupport.singletonList(new TranscodingRule(ruleset1)));
         registry.setApplicationContext(new MockApplicationContext());
         registry.initialize();
     }
@@ -194,7 +195,9 @@ public class SAML1ByteAttributeTranscoderTest extends OpenSAMLInitBaseTestCase {
                                 return intArray;
                             }
                             @Nonnull public String getDisplayValue() {
-                                return intArray.toString();
+                                final String result= intArray.toString();
+                                assert result!=null;
+                                return result;
                             }
                         });
 
diff --git a/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1ScopedStringAttributeTranscoderTest.java b/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1ScopedStringAttributeTranscoderTest.java
index 08167496f..f90db91ca 100644
--- a/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1ScopedStringAttributeTranscoderTest.java
+++ b/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1ScopedStringAttributeTranscoderTest.java
@@ -42,6 +42,7 @@ import net.shibboleth.idp.saml.attribute.transcoding.AbstractSAML1AttributeTrans
 import net.shibboleth.idp.saml.attribute.transcoding.SAML1AttributeTranscoder;
 import net.shibboleth.idp.saml.xmlobject.ScopedValue;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.testing.MockApplicationContext;
 
@@ -113,7 +114,7 @@ public class SAML1ScopedStringAttributeTranscoderTest extends OpenSAMLInitBaseTe
         ruleset1.put(SAML1ScopedStringAttributeTranscoder.PROP_SCOPE_DELIMITER, DELIMITER);
         ruleset1.put(SAML1ScopedStringAttributeTranscoder.PROP_SCOPE_TYPE, "attribute");
         
-        registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
+        registry.setTranscoderRegistry(CollectionSupport.singletonList(new TranscodingRule(ruleset1)));
         registry.setApplicationContext(new MockApplicationContext());        
         registry.initialize();
     }
@@ -183,7 +184,9 @@ public class SAML1ScopedStringAttributeTranscoderTest extends OpenSAMLInitBaseTe
                     }
                     @Override
                     @Nonnull public String getDisplayValue() {
-                        return intArray.toString();
+                        final String result= intArray.toString();
+                        assert result!=null;
+                        return result;
                     }
                 });
 
diff --git a/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1StringAttributeTranscoderTest.java b/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1StringAttributeTranscoderTest.java
index d03f7a20d..9f89b330f 100644
--- a/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1StringAttributeTranscoderTest.java
+++ b/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1StringAttributeTranscoderTest.java
@@ -26,6 +26,20 @@ import java.util.Map;
 
 import javax.annotation.Nonnull;
 
+import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
+import org.opensaml.core.xml.XMLObject;
+import org.opensaml.core.xml.XMLObjectBuilder;
+import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
+import org.opensaml.core.xml.schema.XSString;
+import org.opensaml.saml.common.SAMLObjectBuilder;
+import org.opensaml.saml.saml1.core.Attribute;
+import org.opensaml.saml.saml1.core.AttributeDesignator;
+import org.opensaml.saml.saml1.core.AttributeValue;
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
 import net.shibboleth.idp.attribute.AttributeEncodingException;
 import net.shibboleth.idp.attribute.ByteAttributeValue;
 import net.shibboleth.idp.attribute.IdPAttribute;
@@ -41,23 +55,10 @@ import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistry
 import net.shibboleth.idp.saml.attribute.transcoding.AbstractSAML1AttributeTranscoder;
 import net.shibboleth.idp.saml.attribute.transcoding.SAML1AttributeTranscoder;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.testing.MockApplicationContext;
 
-import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
-import org.opensaml.core.xml.XMLObject;
-import org.opensaml.core.xml.XMLObjectBuilder;
-import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
-import org.opensaml.core.xml.schema.XSString;
-import org.opensaml.saml.common.SAMLObjectBuilder;
-import org.opensaml.saml.saml1.core.Attribute;
-import org.opensaml.saml.saml1.core.AttributeValue;
-import org.opensaml.saml.saml1.core.AttributeDesignator;
-import org.testng.Assert;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
 /** {@link SAML1StringAttributeTranscoder} unit test. */
 @SuppressWarnings("javadoc")
 public class SAML1StringAttributeTranscoderTest extends OpenSAMLInitBaseTestCase {
@@ -102,7 +103,7 @@ public class SAML1StringAttributeTranscoderTest extends OpenSAMLInitBaseTestCase
         ruleset1.put(SAML1AttributeTranscoder.PROP_NAME, ATTR_NAME);
         ruleset1.put(SAML1AttributeTranscoder.PROP_NAMESPACE, ATTR_NAMESPACE);
         
-        registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
+        registry.setTranscoderRegistry(CollectionSupport.singletonList(new TranscodingRule(ruleset1)));
         registry.setApplicationContext(new MockApplicationContext());        
         registry.initialize();
     }
@@ -189,7 +190,9 @@ public class SAML1StringAttributeTranscoderTest extends OpenSAMLInitBaseTestCase
                     }
                     @Override
                     @Nonnull public String getDisplayValue() {
-                        return intArray.toString();
+                        final String result= intArray.toString();
+                        assert result!=null;
+                        return result;
                     }
                 });
 
diff --git a/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2ByteAttributeTranscoderTest.java b/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2ByteAttributeTranscoderTest.java
index 4c668443d..768c0e190 100644
--- a/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2ByteAttributeTranscoderTest.java
+++ b/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2ByteAttributeTranscoderTest.java
@@ -58,6 +58,7 @@ import net.shibboleth.idp.saml.attribute.transcoding.AbstractSAML2AttributeTrans
 import net.shibboleth.idp.saml.attribute.transcoding.SAML2AttributeTranscoder;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.codec.Base64Support;
+import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.testing.MockApplicationContext;
 
@@ -110,7 +111,7 @@ public class SAML2ByteAttributeTranscoderTest extends OpenSAMLInitBaseTestCase {
         ruleset1.put(SAML2AttributeTranscoder.PROP_NAME_FORMAT, ATTR_NAMEFORMAT);
         ruleset1.put(SAML2AttributeTranscoder.PROP_FRIENDLY_NAME, ATTR_FRIENDLYNAME);
         
-        registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
+        registry.setTranscoderRegistry(CollectionSupport.singletonList(new TranscodingRule(ruleset1)));
         registry.setApplicationContext(new MockApplicationContext());
         registry.initialize();
     }
@@ -186,7 +187,9 @@ public class SAML2ByteAttributeTranscoderTest extends OpenSAMLInitBaseTestCase {
                                 return intArray;
                             }
                             @Nonnull public String getDisplayValue() {
-                                return intArray.toString();
+                                final String result= intArray.toString();
+                                assert result!=null;
+                                return result;
                             }
                         });
 
diff --git a/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2DateTimeAttributeTranscoderTest.java b/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2DateTimeAttributeTranscoderTest.java
index 427b17bcf..6b91c8e0e 100644
--- a/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2DateTimeAttributeTranscoderTest.java
+++ b/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2DateTimeAttributeTranscoderTest.java
@@ -26,6 +26,21 @@ import java.util.Map;
 
 import javax.annotation.Nonnull;
 
+import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
+import org.opensaml.core.xml.XMLObject;
+import org.opensaml.core.xml.XMLObjectBuilder;
+import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
+import org.opensaml.core.xml.schema.XSDateTime;
+import org.opensaml.core.xml.schema.XSString;
+import org.opensaml.saml.common.SAMLObjectBuilder;
+import org.opensaml.saml.saml2.core.Attribute;
+import org.opensaml.saml.saml2.core.AttributeValue;
+import org.opensaml.saml.saml2.metadata.RequestedAttribute;
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
 import net.shibboleth.idp.attribute.AttributeEncodingException;
 import net.shibboleth.idp.attribute.ByteAttributeValue;
 import net.shibboleth.idp.attribute.DateTimeAttributeValue;
@@ -40,24 +55,10 @@ import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistry
 import net.shibboleth.idp.saml.attribute.transcoding.AbstractSAML2AttributeTranscoder;
 import net.shibboleth.idp.saml.attribute.transcoding.SAML2AttributeTranscoder;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.testing.MockApplicationContext;
 
-import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
-import org.opensaml.core.xml.XMLObject;
-import org.opensaml.core.xml.XMLObjectBuilder;
-import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
-import org.opensaml.core.xml.schema.XSDateTime;
-import org.opensaml.core.xml.schema.XSString;
-import org.opensaml.saml.common.SAMLObjectBuilder;
-import org.opensaml.saml.saml2.core.Attribute;
-import org.opensaml.saml.saml2.core.AttributeValue;
-import org.opensaml.saml.saml2.metadata.RequestedAttribute;
-import org.testng.Assert;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
 /** {@link SAML2DateTimeAttributeTranscoder} unit test. */
 @SuppressWarnings("javadoc")
 public class SAML2DateTimeAttributeTranscoderTest extends OpenSAMLInitBaseTestCase {
@@ -109,7 +110,7 @@ public class SAML2DateTimeAttributeTranscoderTest extends OpenSAMLInitBaseTestCa
         ruleset1.put(SAML2AttributeTranscoder.PROP_NAME_FORMAT, ATTR_NAMEFORMAT);
         ruleset1.put(SAML2AttributeTranscoder.PROP_FRIENDLY_NAME, ATTR_FRIENDLYNAME);
         
-        registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
+        registry.setTranscoderRegistry(CollectionSupport.singletonList(new TranscodingRule(ruleset1)));
         registry.setApplicationContext(new MockApplicationContext());
         registry.initialize();
     }
@@ -213,7 +214,9 @@ public class SAML2DateTimeAttributeTranscoderTest extends OpenSAMLInitBaseTestCa
                     }
                     @Nonnull @Override
                     public String getDisplayValue() {
-                        return intArray.toString();
+                        final String result= intArray.toString();
+                        assert result!=null;
+                        return result;
                     }
                 });
 
diff --git a/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2ScopedStringAttributeTranscoderTest.java b/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2ScopedStringAttributeTranscoderTest.java
index 3d613edeb..e02711f24 100644
--- a/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2ScopedStringAttributeTranscoderTest.java
+++ b/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2ScopedStringAttributeTranscoderTest.java
@@ -26,6 +26,20 @@ import java.util.Map;
 
 import javax.annotation.Nonnull;
 
+import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
+import org.opensaml.core.xml.XMLObject;
+import org.opensaml.core.xml.XMLObjectBuilder;
+import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
+import org.opensaml.core.xml.schema.XSString;
+import org.opensaml.saml.common.SAMLObjectBuilder;
+import org.opensaml.saml.saml2.core.Attribute;
+import org.opensaml.saml.saml2.core.AttributeValue;
+import org.opensaml.saml.saml2.metadata.RequestedAttribute;
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
 import net.shibboleth.idp.attribute.AttributeEncodingException;
 import net.shibboleth.idp.attribute.ByteAttributeValue;
 import net.shibboleth.idp.attribute.IdPAttribute;
@@ -41,23 +55,10 @@ import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistry
 import net.shibboleth.idp.saml.attribute.transcoding.AbstractSAML2AttributeTranscoder;
 import net.shibboleth.idp.saml.attribute.transcoding.SAML2AttributeTranscoder;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.testing.MockApplicationContext;
 
-import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
-import org.opensaml.core.xml.XMLObject;
-import org.opensaml.core.xml.XMLObjectBuilder;
-import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
-import org.opensaml.core.xml.schema.XSString;
-import org.opensaml.saml.common.SAMLObjectBuilder;
-import org.opensaml.saml.saml2.core.Attribute;
-import org.opensaml.saml.saml2.core.AttributeValue;
-import org.opensaml.saml.saml2.metadata.RequestedAttribute;
-import org.testng.Assert;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
 /** {@link SAML2ScopedStringAttributeTranscoder} unit test. */
 @SuppressWarnings("javadoc")
 public class SAML2ScopedStringAttributeTranscoderTest extends OpenSAMLInitBaseTestCase {
@@ -108,7 +109,7 @@ public class SAML2ScopedStringAttributeTranscoderTest extends OpenSAMLInitBaseTe
         ruleset1.put(SAML2ScopedStringAttributeTranscoder.PROP_SCOPE_DELIMITER, DELIMITER);
         ruleset1.put(SAML2ScopedStringAttributeTranscoder.PROP_SCOPE_TYPE, "inline");
         
-        registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
+        registry.setTranscoderRegistry(CollectionSupport.singletonList(new TranscodingRule(ruleset1)));
         registry.setApplicationContext(new MockApplicationContext());
         registry.initialize();
     }
@@ -185,7 +186,9 @@ public class SAML2ScopedStringAttributeTranscoderTest extends OpenSAMLInitBaseTe
                     }
                     @Override
                     @Nonnull public String getDisplayValue() {
-                        return intArray.toString();
+                        final String result= intArray.toString();
+                        assert result!=null;
+                        return result;
                     }
                 });
 
diff --git a/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2StringAttributeTranscoderTest.java b/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2StringAttributeTranscoderTest.java
index a2bb6982b..c5f1f9306 100644
--- a/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2StringAttributeTranscoderTest.java
+++ b/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2StringAttributeTranscoderTest.java
@@ -25,6 +25,20 @@ import java.util.Map;
 
 import javax.annotation.Nonnull;
 
+import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
+import org.opensaml.core.xml.XMLObject;
+import org.opensaml.core.xml.XMLObjectBuilder;
+import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
+import org.opensaml.core.xml.schema.XSString;
+import org.opensaml.saml.common.SAMLObjectBuilder;
+import org.opensaml.saml.saml2.core.Attribute;
+import org.opensaml.saml.saml2.core.AttributeValue;
+import org.opensaml.saml.saml2.metadata.RequestedAttribute;
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
 import net.shibboleth.idp.attribute.AttributeEncodingException;
 import net.shibboleth.idp.attribute.ByteAttributeValue;
 import net.shibboleth.idp.attribute.IdPAttribute;
@@ -40,23 +54,10 @@ import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistry
 import net.shibboleth.idp.saml.attribute.transcoding.AbstractSAML2AttributeTranscoder;
 import net.shibboleth.idp.saml.attribute.transcoding.SAML2AttributeTranscoder;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.testing.MockApplicationContext;
 
-import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
-import org.opensaml.core.xml.XMLObject;
-import org.opensaml.core.xml.XMLObjectBuilder;
-import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
-import org.opensaml.core.xml.schema.XSString;
-import org.opensaml.saml.common.SAMLObjectBuilder;
-import org.opensaml.saml.saml2.core.Attribute;
-import org.opensaml.saml.saml2.core.AttributeValue;
-import org.opensaml.saml.saml2.metadata.RequestedAttribute;
-import org.testng.Assert;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
 /** {@link SAML2StringAttributeTranscoder} unit test. */
 @SuppressWarnings("javadoc")
 public class SAML2StringAttributeTranscoderTest extends OpenSAMLInitBaseTestCase {
@@ -103,7 +104,7 @@ public class SAML2StringAttributeTranscoderTest extends OpenSAMLInitBaseTestCase
         ruleset1.put(SAML2AttributeTranscoder.PROP_NAME_FORMAT, ATTR_NAMEFORMAT);
         ruleset1.put(SAML2AttributeTranscoder.PROP_FRIENDLY_NAME, ATTR_FRIENDLYNAME);
         
-        registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
+        registry.setTranscoderRegistry(CollectionSupport.singletonList(new TranscodingRule(ruleset1)));
         registry.setApplicationContext(new MockApplicationContext());
         registry.initialize();
     }
@@ -180,7 +181,9 @@ public class SAML2StringAttributeTranscoderTest extends OpenSAMLInitBaseTestCase
                     }
                     @Override
                     @Nonnull public String getDisplayValue() {
-                        return intArray.toString();
+                        final String result= intArray.toString();
+                        assert result!=null;
+                        return result;
                     }
                 });
 
diff --git a/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2XMLObjectAttributeTranscoderTest.java b/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2XMLObjectAttributeTranscoderTest.java
index ca2fd9790..44e60c608 100644
--- a/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2XMLObjectAttributeTranscoderTest.java
+++ b/shib-saml-attribute-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2XMLObjectAttributeTranscoderTest.java
@@ -28,6 +28,21 @@ import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 import javax.xml.namespace.QName;
 
+import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
+import org.opensaml.core.xml.XMLObject;
+import org.opensaml.core.xml.XMLObjectBuilder;
+import org.opensaml.core.xml.XMLObjectBuilderFactory;
+import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
+import org.opensaml.core.xml.schema.XSString;
+import org.opensaml.saml.common.SAMLObjectBuilder;
+import org.opensaml.saml.saml2.core.Attribute;
+import org.opensaml.saml.saml2.core.AttributeValue;
+import org.opensaml.saml.saml2.metadata.RequestedAttribute;
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
 import net.shibboleth.idp.attribute.AttributeEncodingException;
 import net.shibboleth.idp.attribute.ByteAttributeValue;
 import net.shibboleth.idp.attribute.IdPAttribute;
@@ -44,24 +59,10 @@ import net.shibboleth.idp.saml.attribute.transcoding.AbstractSAML2AttributeTrans
 import net.shibboleth.idp.saml.attribute.transcoding.SAML2AttributeTranscoder;
 import net.shibboleth.idp.saml.attribute.transcoding.SAMLEncoderSupport;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.testing.MockApplicationContext;
 
-import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
-import org.opensaml.core.xml.XMLObject;
-import org.opensaml.core.xml.XMLObjectBuilder;
-import org.opensaml.core.xml.XMLObjectBuilderFactory;
-import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
-import org.opensaml.core.xml.schema.XSString;
-import org.opensaml.saml.common.SAMLObjectBuilder;
-import org.opensaml.saml.saml2.core.Attribute;
-import org.opensaml.saml.saml2.core.AttributeValue;
-import org.opensaml.saml.saml2.metadata.RequestedAttribute;
-import org.testng.Assert;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
 /** {@link SAML2XMLObjectAttributeTranscoder} unit test. */
 @SuppressWarnings("javadoc")
 public class SAML2XMLObjectAttributeTranscoderTest extends OpenSAMLInitBaseTestCase {
@@ -109,7 +110,7 @@ public class SAML2XMLObjectAttributeTranscoderTest extends OpenSAMLInitBaseTestC
         ruleset1.put(SAML2AttributeTranscoder.PROP_NAME_FORMAT, ATTR_NAMEFORMAT);
         ruleset1.put(SAML2AttributeTranscoder.PROP_FRIENDLY_NAME, ATTR_FRIENDLYNAME);
         
-        registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
+        registry.setTranscoderRegistry(CollectionSupport.singletonList(new TranscodingRule(ruleset1)));
         registry.setApplicationContext(new MockApplicationContext());      
         registry.initialize();
     }
@@ -186,7 +187,9 @@ public class SAML2XMLObjectAttributeTranscoderTest extends OpenSAMLInitBaseTestC
                     }
                     @Override
                     @Nonnull public String getDisplayValue() {
-                        return intArray.toString();
+                        final String result= intArray.toString();
+                        assert result!=null;
+                        return result;
                     }
                 });
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list