[java-shib-shared] branch main updated: Replace Collections methods where possible.
Scott Cantor
cantor.2 at osu.edu
Thu Apr 20 17:05:34 UTC 2023
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-shib-shared.
View the commit online:
http://git.shibboleth.net/view/?p=java-shib-shared.git;a=commit;h=9289a9329ec235b1b9105ed74645e0b6acdc61f0
The following commit(s) were added to refs/heads/main by this push:
new 9289a932 Replace Collections methods where possible.
9289a932 is described below
commit 9289a9329ec235b1b9105ed74645e0b6acdc61f0
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Apr 20 13:05:31 2023 -0400
Replace Collections methods where possible.
---
.../impl/SameSiteCookieHeaderFilterTest.java | 54 +++++++++++-----------
.../shared/httpclient/HttpClientSupport.java | 5 +-
.../shared/httpclient/HttpClientSupportTest.java | 7 +--
.../net/shibboleth/shared/net/URISupportTest.java | 5 +-
.../servlet/impl/HttpServletSupportTest.java | 10 ++--
.../shared/service/ReloadableServiceGaugeSet.java | 4 +-
.../spring/factory/CombiningListFactoryBean.java | 11 +++--
.../spring/util/ApplicationContextBuilder.java | 22 ++++-----
.../factory/CombiningListFactoryBeanTest.java | 6 +--
.../net/shibboleth/shared/collection/LazyList.java | 8 ++--
.../net/shibboleth/shared/collection/LazyMap.java | 8 ++--
.../net/shibboleth/shared/collection/LazySet.java | 8 ++--
.../shared/collection/ValueTypeIndexedMap.java | 2 +-
.../shared/logic/AllMatchPredicateTest.java | 14 +++---
.../shared/logic/AnyMatchPredicateTest.java | 15 +++---
15 files changed, 92 insertions(+), 87 deletions(-)
diff --git a/shib-networking-spring/src/test/java/net/shibboleth/shared/spring/servlet/impl/SameSiteCookieHeaderFilterTest.java b/shib-networking-spring/src/test/java/net/shibboleth/shared/spring/servlet/impl/SameSiteCookieHeaderFilterTest.java
index e4cc32a5..8c89cf14 100644
--- a/shib-networking-spring/src/test/java/net/shibboleth/shared/spring/servlet/impl/SameSiteCookieHeaderFilterTest.java
+++ b/shib-networking-spring/src/test/java/net/shibboleth/shared/spring/servlet/impl/SameSiteCookieHeaderFilterTest.java
@@ -23,7 +23,6 @@ import java.io.PrintWriter;
import java.io.Writer;
import java.net.HttpCookie;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -51,6 +50,7 @@ import jakarta.servlet.ServletRequest;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServletResponse;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.servlet.impl.HttpServletRequestResponseContext;
import net.shibboleth.shared.spring.servlet.impl.SameSiteCookieHeaderFilter.SameSiteValue;
@@ -102,7 +102,7 @@ public class SameSiteCookieHeaderFilterTest {
@Test public void testEmptyCookieNameInitValue() {
SameSiteCookieHeaderFilter filter = new SameSiteCookieHeaderFilter();
Map<SameSiteValue,List<String>> cookies = new HashMap<>();
- List<String> noneCookies = List.of(new String[] {""});
+ List<String> noneCookies = CollectionSupport.singletonList("");
cookies.put(SameSiteValue.None, noneCookies);
filter.setSameSiteCookies(cookies);
@@ -113,9 +113,9 @@ public class SameSiteCookieHeaderFilterTest {
@Test public void testInitValues() {
SameSiteCookieHeaderFilter filter = new SameSiteCookieHeaderFilter();
Map<SameSiteValue,List<String>> cookies = new HashMap<>();
- List<String> noneCookies = List.of(new String[] {"JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site"});
- List<String> laxCookies = List.of(new String[] {"another-cookie-lax"});
- List<String> strictCookies = List.of(new String[] {"another-cookie-strict"});
+ List<String> noneCookies = CollectionSupport.listOf("JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site");
+ List<String> laxCookies = CollectionSupport.singletonList("another-cookie-lax");
+ List<String> strictCookies = CollectionSupport.singletonList("another-cookie-strict");
cookies.put(SameSiteValue.None, noneCookies);
cookies.put(SameSiteValue.Lax, laxCookies);
cookies.put(SameSiteValue.Strict, strictCookies);
@@ -128,8 +128,8 @@ public class SameSiteCookieHeaderFilterTest {
@Test(expectedExceptions=IllegalArgumentException.class) public void testDuplicateInitValues() {
SameSiteCookieHeaderFilter filter = new SameSiteCookieHeaderFilter();
Map<SameSiteValue,List<String>> cookies = new HashMap<>();
- List<String> noneCookies = List.of(new String[] {"JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site"});
- List<String> laxCookies = List.of(new String[] {"JSESSIONID"});
+ List<String> noneCookies = CollectionSupport.listOf("JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site");
+ List<String> laxCookies = CollectionSupport.singletonList("JSESSIONID");
cookies.put(SameSiteValue.None, noneCookies);
cookies.put(SameSiteValue.Lax, laxCookies);
filter.setSameSiteCookies(cookies);
@@ -209,8 +209,8 @@ public class SameSiteCookieHeaderFilterTest {
Assert.assertEquals(headers.size(), 5);
testExpectedHeadersInResponse(SameSiteValue.Strict.getValue(),
(MockHttpServletResponse)mockRedirectChain.getResponse(),
- List.of(new String[] {"JSESSIONID","shib_idp_session","shib_idp_session_ss", "ignore_copy_over"}),
- Collections.emptyList(), 5);
+ CollectionSupport.listOf("JSESSIONID","shib_idp_session","shib_idp_session_ss", "ignore_copy_over"),
+ CollectionSupport.emptyList(), 5);
}
/**
@@ -223,7 +223,7 @@ public class SameSiteCookieHeaderFilterTest {
SameSiteCookieHeaderFilter filter = new SameSiteCookieHeaderFilter();
Map<SameSiteValue,List<String>> cookies = new HashMap<>();
- List<String> noneCookies = List.of(new String[] {"JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site"});
+ List<String> noneCookies = CollectionSupport.listOf("JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site");
cookies.put(SameSiteValue.None, noneCookies);
filter.setSameSiteCookies(cookies);
@@ -235,8 +235,8 @@ public class SameSiteCookieHeaderFilterTest {
Assert.assertTrue(mockRedirectChain.getResponse() instanceof MockHttpServletResponse);
testExpectedHeadersInResponse("None",(MockHttpServletResponse)mockRedirectChain.getResponse(),
- List.of(new String[] {"JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site"}),
- List.of(new String[] {"ignore_copy_over"}),5);
+ CollectionSupport.listOf("JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site"),
+ CollectionSupport.singletonList("ignore_copy_over"),5);
}
/**
@@ -249,7 +249,7 @@ public class SameSiteCookieHeaderFilterTest {
SameSiteCookieHeaderFilter filter = new SameSiteCookieHeaderFilter();
Map<SameSiteValue,List<String>> cookies = new HashMap<>();
- List<String> noneCookies = List.of(new String[] {"shib_idp_session","shib_idp_session_ss","existing_same_site"});
+ List<String> noneCookies = CollectionSupport.listOf("shib_idp_session","shib_idp_session_ss","existing_same_site");
cookies.put(SameSiteValue.None, noneCookies);
filter.setSameSiteCookies(cookies);
filter.setDefaultValue(SameSiteValue.None);
@@ -262,8 +262,8 @@ public class SameSiteCookieHeaderFilterTest {
Assert.assertTrue(mockRedirectChain.getResponse() instanceof MockHttpServletResponse);
testExpectedHeadersInResponse("None",(MockHttpServletResponse)mockRedirectChain.getResponse(),
- List.of(new String[] {"JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site","ignore_copy_over"}),
- Collections.emptyList(), 5);
+ CollectionSupport.listOf("JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site","ignore_copy_over"),
+ CollectionSupport.emptyList(), 5);
}
/**
@@ -276,7 +276,7 @@ public class SameSiteCookieHeaderFilterTest {
SameSiteCookieHeaderFilter filter = new SameSiteCookieHeaderFilter();
Map<SameSiteValue,List<String>> cookies = new HashMap<>();
- List<String> noneCookies = List.of(new String[] {"JSESSIONID","shib_idp_session","shib_idp_session_ss"});
+ List<String> noneCookies = CollectionSupport.listOf("JSESSIONID","shib_idp_session","shib_idp_session_ss");
cookies.put(SameSiteValue.Lax, noneCookies);
filter.setSameSiteCookies(cookies);
@@ -289,8 +289,8 @@ public class SameSiteCookieHeaderFilterTest {
//as "existing_same_site" is None, ignore it here.
testExpectedHeadersInResponse("Lax",(MockHttpServletResponse)mockRedirectChain.getResponse(),
- List.of(new String[] {"JSESSIONID","shib_idp_session","shib_idp_session_ss"}),
- List.of(new String[] {"ignore_copy_over"}),5);
+ CollectionSupport.listOf("JSESSIONID","shib_idp_session","shib_idp_session_ss"),
+ CollectionSupport.singletonList("ignore_copy_over"),5);
}
/**
@@ -303,7 +303,7 @@ public class SameSiteCookieHeaderFilterTest {
SameSiteCookieHeaderFilter filter = new SameSiteCookieHeaderFilter();
Map<SameSiteValue,List<String>> cookies = new HashMap<>();
- List<String> noneCookies = List.of(new String[] {"JSESSIONID","shib_idp_session","shib_idp_session_ss"});
+ List<String> noneCookies = CollectionSupport.listOf("JSESSIONID","shib_idp_session","shib_idp_session_ss");
cookies.put(SameSiteValue.Strict, noneCookies);
filter.setSameSiteCookies(cookies);
@@ -316,8 +316,8 @@ public class SameSiteCookieHeaderFilterTest {
//as "existing_same_site" is None, ignore it here.
testExpectedHeadersInResponse("Strict",(MockHttpServletResponse)mockRedirectChain.getResponse(),
- List.of(new String[] {"JSESSIONID","shib_idp_session","shib_idp_session_ss"}),
- List.of(new String[] {"ignore_copy_over"}),5);
+ CollectionSupport.listOf("JSESSIONID","shib_idp_session","shib_idp_session_ss"),
+ CollectionSupport.singletonList("ignore_copy_over"),5);
}
/**
@@ -330,7 +330,7 @@ public class SameSiteCookieHeaderFilterTest {
SameSiteCookieHeaderFilter filter = new SameSiteCookieHeaderFilter();
Map<SameSiteValue,List<String>> cookies = new HashMap<>();
- List<String> noneCookies = List.of(new String[] {"JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site"});
+ List<String> noneCookies = CollectionSupport.listOf("JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site");
cookies.put(SameSiteValue.None, noneCookies);
filter.setSameSiteCookies(cookies);
@@ -342,8 +342,8 @@ public class SameSiteCookieHeaderFilterTest {
Assert.assertTrue(mockRedirectChain.getResponse() instanceof MockHttpServletResponse);
testExpectedHeadersInResponse("None",(MockHttpServletResponse)mockRedirectChain.getResponse(),
- List.of(new String[] {"JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site"}),
- List.of(new String[] {"ignore_copy_over"}),5);
+ CollectionSupport.listOf("JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site"),
+ CollectionSupport.singletonList("ignore_copy_over"),5);
}
/**
@@ -356,7 +356,7 @@ public class SameSiteCookieHeaderFilterTest {
SameSiteCookieHeaderFilter filter = new SameSiteCookieHeaderFilter();
Map<SameSiteValue,List<String>> cookies = new HashMap<>();
- List<String> noneCookies = List.of(new String[] {"JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site"});
+ List<String> noneCookies = CollectionSupport.listOf("JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site");
cookies.put(SameSiteValue.None, noneCookies);
filter.setSameSiteCookies(cookies);
@@ -368,8 +368,8 @@ public class SameSiteCookieHeaderFilterTest {
Assert.assertTrue(mockRedirectChain.getResponse() instanceof MockHttpServletResponse);
testExpectedHeadersInResponse("None",(MockHttpServletResponse)mockRedirectChain.getResponse(),
- List.of(new String[] {"JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site"}),
- List.of(new String[] {"ignore_copy_over"}),5);
+ CollectionSupport.listOf("JSESSIONID","shib_idp_session","shib_idp_session_ss","existing_same_site"),
+ CollectionSupport.singletonList("ignore_copy_over"),5);
}
/**
diff --git a/shib-networking/src/main/java/net/shibboleth/shared/httpclient/HttpClientSupport.java b/shib-networking/src/main/java/net/shibboleth/shared/httpclient/HttpClientSupport.java
index 75a9737a..947ae822 100644
--- a/shib-networking/src/main/java/net/shibboleth/shared/httpclient/HttpClientSupport.java
+++ b/shib-networking/src/main/java/net/shibboleth/shared/httpclient/HttpClientSupport.java
@@ -27,13 +27,11 @@ import java.nio.charset.UnsupportedCharsetException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.net.ssl.SSLContext;
-import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import org.apache.hc.client5.http.protocol.HttpClientContext;
@@ -47,6 +45,7 @@ import org.apache.hc.core5.util.CharArrayBuffer;
import org.slf4j.Logger;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -85,7 +84,7 @@ public final class HttpClientSupport {
*/
@Nonnull public static LayeredConnectionSocketFactory buildNoTrustTLSSocketFactory() {
return new TLSSocketFactoryBuilder()
- .setTrustManagers(Collections.<TrustManager>singletonList(buildNoTrustX509TrustManager()))
+ .setTrustManagers(CollectionSupport.singletonList(buildNoTrustX509TrustManager()))
.setHostnameVerifier(new NoopHostnameVerifier())
.build();
}
diff --git a/shib-networking/src/test/java/net/shibboleth/shared/httpclient/HttpClientSupportTest.java b/shib-networking/src/test/java/net/shibboleth/shared/httpclient/HttpClientSupportTest.java
index 9487fa31..031551c2 100644
--- a/shib-networking/src/test/java/net/shibboleth/shared/httpclient/HttpClientSupportTest.java
+++ b/shib-networking/src/test/java/net/shibboleth/shared/httpclient/HttpClientSupportTest.java
@@ -18,7 +18,6 @@
package net.shibboleth.shared.httpclient;
import java.io.IOException;
-import java.util.Collections;
import java.util.List;
import org.apache.hc.client5.http.protocol.HttpClientContext;
@@ -26,6 +25,8 @@ import org.apache.hc.core5.http.ClassicHttpRequest;
import org.testng.Assert;
import org.testng.annotations.Test;
+import net.shibboleth.shared.collection.CollectionSupport;
+
@SuppressWarnings("javadoc")
public class HttpClientSupportTest {
@@ -111,7 +112,7 @@ public class HttpClientSupportTest {
HttpClientSupport.addDynamicContextHandlerFirst(context, two, true);
HttpClientSupport.addDynamicContextHandlerFirst(context, three, true);
- Assert.assertEquals(HttpClientSupport.getDynamicContextHandlerList(context), Collections.singletonList(one));
+ Assert.assertEquals(HttpClientSupport.getDynamicContextHandlerList(context), CollectionSupport.singletonList(one));
}
@Test
@@ -125,7 +126,7 @@ public class HttpClientSupportTest {
HttpClientSupport.addDynamicContextHandlerLast(context, two, true);
HttpClientSupport.addDynamicContextHandlerLast(context, three, true);
- Assert.assertEquals(HttpClientSupport.getDynamicContextHandlerList(context), Collections.singletonList(one));
+ Assert.assertEquals(HttpClientSupport.getDynamicContextHandlerList(context), CollectionSupport.singletonList(one));
}
diff --git a/shib-networking/src/test/java/net/shibboleth/shared/net/URISupportTest.java b/shib-networking/src/test/java/net/shibboleth/shared/net/URISupportTest.java
index 2ba890d5..a60578d0 100644
--- a/shib-networking/src/test/java/net/shibboleth/shared/net/URISupportTest.java
+++ b/shib-networking/src/test/java/net/shibboleth/shared/net/URISupportTest.java
@@ -18,16 +18,17 @@
package net.shibboleth.shared.net;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.testng.Assert;
import org.testng.annotations.Test;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.collection.Pair;
/** Unit test for {@link URISupport}. */
+ at SuppressWarnings("javadoc")
public class URISupportTest {
@Test public void testBuildQuery(){
@@ -77,7 +78,7 @@ public class URISupportTest {
Assert.assertNotNull(map);
Assert.assertTrue(map.isEmpty());
- map = URISupport.buildQueryMap(Collections.<Pair<String,String>>emptyList());
+ map = URISupport.buildQueryMap(CollectionSupport.emptyList());
Assert.assertNotNull(map);
Assert.assertTrue(map.isEmpty());
diff --git a/shib-networking/src/test/java/net/shibboleth/shared/servlet/impl/HttpServletSupportTest.java b/shib-networking/src/test/java/net/shibboleth/shared/servlet/impl/HttpServletSupportTest.java
index c863deff..97b04631 100644
--- a/shib-networking/src/test/java/net/shibboleth/shared/servlet/impl/HttpServletSupportTest.java
+++ b/shib-networking/src/test/java/net/shibboleth/shared/servlet/impl/HttpServletSupportTest.java
@@ -17,10 +17,8 @@
package net.shibboleth.shared.servlet.impl;
-import java.util.Collections;
import java.util.List;
import java.util.Locale.LanguageRange;
-import java.util.Set;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
@@ -80,12 +78,12 @@ public class HttpServletSupportTest {
// No Content-type
Assert.assertTrue(HttpServletSupport.validateContentType(request,
- Collections.singleton(MediaType.XML_UTF_8),
+ CollectionSupport.singleton(MediaType.XML_UTF_8),
true,
false));
Assert.assertFalse(HttpServletSupport.validateContentType(request,
- Collections.singleton(MediaType.XML_UTF_8),
+ CollectionSupport.singleton(MediaType.XML_UTF_8),
false,
false));
@@ -93,7 +91,7 @@ public class HttpServletSupportTest {
request.setContentType("text/xml; charset=utf-8");
Assert.assertFalse(HttpServletSupport.validateContentType(request,
- Collections.singleton(MediaType.create("application", "foobar")),
+ CollectionSupport.singleton(MediaType.create("application", "foobar")),
true,
false));
@@ -126,7 +124,7 @@ public class HttpServletSupportTest {
request.setContentType("text/xml");
Assert.assertFalse(HttpServletSupport.validateContentType(request,
- Collections.singleton(MediaType.create("application", "foobar")),
+ CollectionSupport.singleton(MediaType.create("application", "foobar")),
true,
false));
diff --git a/shib-service/src/main/java/net/shibboleth/shared/service/ReloadableServiceGaugeSet.java b/shib-service/src/main/java/net/shibboleth/shared/service/ReloadableServiceGaugeSet.java
index 2bd43569..ac207174 100644
--- a/shib-service/src/main/java/net/shibboleth/shared/service/ReloadableServiceGaugeSet.java
+++ b/shib-service/src/main/java/net/shibboleth/shared/service/ReloadableServiceGaugeSet.java
@@ -17,7 +17,6 @@
package net.shibboleth.shared.service;
import java.time.Instant;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -34,6 +33,7 @@ import net.shibboleth.shared.annotation.constraint.Live;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
@@ -122,7 +122,7 @@ public class ReloadableServiceGaugeSet<T> extends AbstractInitializableComponent
/** {@inheritDoc} */
public Map<String,Metric> getMetrics() {
- return Collections.unmodifiableMap(gauges);
+ return CollectionSupport.copyToMap(gauges);
}
/** {@inheritDoc} */
diff --git a/shib-spring/src/main/java/net/shibboleth/shared/spring/factory/CombiningListFactoryBean.java b/shib-spring/src/main/java/net/shibboleth/shared/spring/factory/CombiningListFactoryBean.java
index aafb35be..3ed15950 100644
--- a/shib-spring/src/main/java/net/shibboleth/shared/spring/factory/CombiningListFactoryBean.java
+++ b/shib-spring/src/main/java/net/shibboleth/shared/spring/factory/CombiningListFactoryBean.java
@@ -18,7 +18,6 @@
package net.shibboleth.shared.spring.factory;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
@@ -27,16 +26,18 @@ import javax.annotation.Nullable;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.beans.factory.config.ListFactoryBean;
+import net.shibboleth.shared.collection.CollectionSupport;
+
/**
* A factory which extends {@link ListFactoryBean} by requiring two lists as input.
*/
public class CombiningListFactoryBean extends ListFactoryBean {
/** First list to combine. */
- @Nullable private List<?> firstList = Collections.emptyList();
+ @Nullable private List<?> firstList = CollectionSupport.emptyList();
/** Second list to combine. */
- @Nullable private List<?> secondList = Collections.emptyList();
+ @Nullable private List<?> secondList = CollectionSupport.emptyList();
/** {@inheritDoc} */
@Override public void setSourceList(@Nonnull final List<?> sourceList) {
@@ -46,7 +47,7 @@ public class CombiningListFactoryBean extends ListFactoryBean {
/** Set the first list to combine.
* @return Returns the firstList.
*/
- public List<?> getFirstList() {
+ @Nullable public List<?> getFirstList() {
return firstList;
}
@@ -60,7 +61,7 @@ public class CombiningListFactoryBean extends ListFactoryBean {
/** Set the second list to combine.
* @return Returns the secondList.
*/
- public List<?> getSecondList() {
+ @Nullable public List<?> getSecondList() {
return secondList;
}
diff --git a/shib-spring/src/main/java/net/shibboleth/shared/spring/util/ApplicationContextBuilder.java b/shib-spring/src/main/java/net/shibboleth/shared/spring/util/ApplicationContextBuilder.java
index 223ab9dd..87898a9e 100644
--- a/shib-spring/src/main/java/net/shibboleth/shared/spring/util/ApplicationContextBuilder.java
+++ b/shib-spring/src/main/java/net/shibboleth/shared/spring/util/ApplicationContextBuilder.java
@@ -20,7 +20,6 @@ package net.shibboleth.shared.spring.util;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.stream.Collectors;
@@ -135,7 +134,8 @@ public class ApplicationContextBuilder {
* @return this builder
*/
@Nonnull public ApplicationContextBuilder setServiceConfiguration(@Nonnull final Resource config) {
- configurationResources = Collections.singletonList(Constraint.isNotNull(config, "Resource cannot be null"));
+ configurationResources = CollectionSupport.singletonList(
+ Constraint.isNotNull(config, "Resource cannot be null"));
return this;
}
@@ -153,7 +153,8 @@ public class ApplicationContextBuilder {
*/
@Nonnull public ApplicationContextBuilder setUnresolvedServiceConfigurations(
@Nonnull @NonnullElements final Collection<String> configs) {
- configurationSources = CollectionSupport.copyToList(Constraint.isNotNull(configs, "Service configurations cannot be null"));
+ configurationSources = CollectionSupport.copyToList(
+ Constraint.isNotNull(configs, "Service configurations cannot be null"));
return this;
}
@@ -167,7 +168,8 @@ public class ApplicationContextBuilder {
*/
@Nonnull public ApplicationContextBuilder setServiceConfigurations(
@Nonnull @NonnullElements final Collection<Resource> configs) {
- configurationResources = CollectionSupport.copyToList(Constraint.isNotNull(configs, "Service configurations cannot be null"));
+ configurationResources = CollectionSupport.copyToList(
+ Constraint.isNotNull(configs, "Service configurations cannot be null"));
return this;
}
@@ -198,9 +200,7 @@ public class ApplicationContextBuilder {
@Nonnull final ApplicationContextInitializer<? super FilesystemGenericApplicationContext> initializer) {
Constraint.isNotNull(initializer, "ApplicationContextInitializer cannot be null");
- contextInitializers =
- Collections.<ApplicationContextInitializer<? super FilesystemGenericApplicationContext>>singletonList(
- initializer);
+ contextInitializers = CollectionSupport.singletonList(initializer);
return this;
}
@@ -231,7 +231,7 @@ public class ApplicationContextBuilder {
@Nonnull final BeanFactoryPostProcessor processor) {
Constraint.isNotNull(processor, "BeanFactoryPostProcessor cannot be null");
- factoryPostProcessors = Collections.singletonList(processor);
+ factoryPostProcessors = CollectionSupport.singletonList(processor);
return this;
}
@@ -248,7 +248,7 @@ public class ApplicationContextBuilder {
@Nonnull @NonnullElements final List<BeanFactoryPostProcessor> processors) {
Constraint.isNotNull(processors, "BeanFactoryPostProcessor collection cannot be null");
- factoryPostProcessors = List.copyOf(processors);
+ factoryPostProcessors = CollectionSupport.copyToList(processors);
return this;
}
@@ -263,7 +263,7 @@ public class ApplicationContextBuilder {
@Nonnull public ApplicationContextBuilder setBeanPostProcessor(@Nonnull final BeanPostProcessor processor) {
Constraint.isNotNull(processor, "BeanPostProcessor cannot be null");
- postProcessors = Collections.singletonList(processor);
+ postProcessors = CollectionSupport.singletonList(processor);
return this;
}
@@ -279,7 +279,7 @@ public class ApplicationContextBuilder {
@Nonnull @NonnullElements final List<BeanPostProcessor> processors) {
Constraint.isNotNull(processors, "BeanPostProcessor collection cannot be null");
- postProcessors = List.copyOf(processors);
+ postProcessors = CollectionSupport.copyToList(processors);
return this;
}
diff --git a/shib-spring/src/test/java/net/shibboleth/shared/spring/factory/CombiningListFactoryBeanTest.java b/shib-spring/src/test/java/net/shibboleth/shared/spring/factory/CombiningListFactoryBeanTest.java
index 161aaf1e..cccc163c 100644
--- a/shib-spring/src/test/java/net/shibboleth/shared/spring/factory/CombiningListFactoryBeanTest.java
+++ b/shib-spring/src/test/java/net/shibboleth/shared/spring/factory/CombiningListFactoryBeanTest.java
@@ -20,7 +20,6 @@ package net.shibboleth.shared.spring.factory;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertTrue;
-import java.util.Collections;
import java.util.List;
import org.springframework.context.support.GenericApplicationContext;
@@ -28,6 +27,7 @@ import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.testng.annotations.Test;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.spring.util.ApplicationContextBuilder;
@SuppressWarnings("javadoc")
@@ -40,7 +40,7 @@ public class CombiningListFactoryBeanTest {
final GenericApplicationContext ctx = new ApplicationContextBuilder()
.setName("appCtx")
- .setServiceConfigurations(Collections.singletonList(r))
+ .setServiceConfigurations(CollectionSupport.singletonList(r))
.build();
@@ -63,7 +63,7 @@ public class CombiningListFactoryBeanTest {
final GenericApplicationContext ctx = new ApplicationContextBuilder()
.setName("appCtx")
- .setServiceConfigurations(Collections.singletonList(r))
+ .setServiceConfigurations(CollectionSupport.singletonList(r))
.build();
diff --git a/shib-support/src/main/java/net/shibboleth/shared/collection/LazyList.java b/shib-support/src/main/java/net/shibboleth/shared/collection/LazyList.java
index bc8894b9..a5107804 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/collection/LazyList.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/collection/LazyList.java
@@ -25,6 +25,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
+import javax.annotation.Nonnull;
import javax.annotation.concurrent.NotThreadSafe;
/**
@@ -39,11 +40,12 @@ public class LazyList<ElementType> implements List<ElementType>, Serializable {
private static final long serialVersionUID = -7741904523916701817L;
/** Delegate list. */
- private List<ElementType> delegate = Collections.emptyList();
+ @Nonnull private List<ElementType> delegate = CollectionSupport.emptyList();
/** {@inheritDoc} */
public boolean add(final ElementType item) {
if (delegate.isEmpty()) {
+ // TODO: allow null?
delegate = Collections.singletonList(item);
return true;
}
@@ -72,7 +74,7 @@ public class LazyList<ElementType> implements List<ElementType>, Serializable {
/** {@inheritDoc} */
public void clear() {
- delegate = Collections.emptyList();
+ delegate = CollectionSupport.emptyList();
}
/** {@inheritDoc} */
@@ -178,7 +180,7 @@ public class LazyList<ElementType> implements List<ElementType>, Serializable {
*
* @return delegate for this list
*/
- protected List<ElementType> buildList() {
+ @Nonnull protected List<ElementType> buildList() {
if (delegate instanceof ArrayList<?>) {
return delegate;
}
diff --git a/shib-support/src/main/java/net/shibboleth/shared/collection/LazyMap.java b/shib-support/src/main/java/net/shibboleth/shared/collection/LazyMap.java
index bb22622b..843fd915 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/collection/LazyMap.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/collection/LazyMap.java
@@ -24,6 +24,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Set;
+import javax.annotation.Nonnull;
import javax.annotation.concurrent.NotThreadSafe;
/**
@@ -39,11 +40,11 @@ public class LazyMap<KeyType, ValueType> implements Map<KeyType, ValueType>, Ser
private static final long serialVersionUID = 121425595164176639L;
/** The delegate map. */
- private Map<KeyType, ValueType> delegate = Collections.emptyMap();
+ @Nonnull private Map<KeyType, ValueType> delegate = CollectionSupport.emptyMap();
/** {@inheritDoc} */
public void clear() {
- delegate = Collections.emptyMap();
+ delegate = CollectionSupport.emptyMap();
}
/** {@inheritDoc} */
@@ -81,6 +82,7 @@ public class LazyMap<KeyType, ValueType> implements Map<KeyType, ValueType>, Ser
/** {@inheritDoc} */
public ValueType put(final KeyType key, final ValueType value) {
if (delegate.isEmpty()) {
+ // TODO: allow nulls?
delegate = Collections.singletonMap(key, value);
return null;
}
@@ -117,7 +119,7 @@ public class LazyMap<KeyType, ValueType> implements Map<KeyType, ValueType>, Ser
*
* @return the delegate map
*/
- protected Map<KeyType, ValueType> buildMap() {
+ @Nonnull protected Map<KeyType, ValueType> buildMap() {
if (delegate instanceof HashMap<?, ?>) {
return delegate;
}
diff --git a/shib-support/src/main/java/net/shibboleth/shared/collection/LazySet.java b/shib-support/src/main/java/net/shibboleth/shared/collection/LazySet.java
index 63516b02..4d25e387 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/collection/LazySet.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/collection/LazySet.java
@@ -24,6 +24,7 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
+import javax.annotation.Nonnull;
import javax.annotation.concurrent.NotThreadSafe;
/**
@@ -38,11 +39,12 @@ public class LazySet<ElementType> implements Set<ElementType>, Serializable {
private static final long serialVersionUID = -1596445680460115174L;
/** The delegate set. */
- private Set<ElementType> delegate = Collections.emptySet();
+ @Nonnull private Set<ElementType> delegate = CollectionSupport.emptySet();
/** {@inheritDoc} */
public boolean add(final ElementType element) {
if (delegate.isEmpty()) {
+ // TODO: allow null?
delegate = Collections.singleton(element);
return true;
}
@@ -59,7 +61,7 @@ public class LazySet<ElementType> implements Set<ElementType>, Serializable {
/** {@inheritDoc} */
public void clear() {
- delegate = Collections.emptySet();
+ delegate = CollectionSupport.emptySet();
}
/** {@inheritDoc} */
@@ -121,7 +123,7 @@ public class LazySet<ElementType> implements Set<ElementType>, Serializable {
*
* @return the delegate set
*/
- private Set<ElementType> createImplementation() {
+ @Nonnull private Set<ElementType> createImplementation() {
if (delegate instanceof HashSet<?>) {
return delegate;
}
diff --git a/shib-support/src/main/java/net/shibboleth/shared/collection/ValueTypeIndexedMap.java b/shib-support/src/main/java/net/shibboleth/shared/collection/ValueTypeIndexedMap.java
index f15f6cc5..e275b89a 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/collection/ValueTypeIndexedMap.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/collection/ValueTypeIndexedMap.java
@@ -226,7 +226,7 @@ public class ValueTypeIndexedMap<KeyType, ValueType> implements Map<KeyType, Val
if (index.containsKey(key)) {
return Collections.unmodifiableMap((Map<KeyType, SubType>) index.get(key));
}
- return Collections.emptyMap();
+ return CollectionSupport.emptyMap();
}
/** {@inheritDoc} */
diff --git a/shib-support/src/test/java/net/shibboleth/shared/logic/AllMatchPredicateTest.java b/shib-support/src/test/java/net/shibboleth/shared/logic/AllMatchPredicateTest.java
index 598c6533..46209bca 100644
--- a/shib-support/src/test/java/net/shibboleth/shared/logic/AllMatchPredicateTest.java
+++ b/shib-support/src/test/java/net/shibboleth/shared/logic/AllMatchPredicateTest.java
@@ -17,14 +17,14 @@
package net.shibboleth.shared.logic;
-import java.util.Arrays;
-import java.util.Collections;
import org.testng.Assert;
import org.testng.annotations.Test;
import com.google.common.base.Predicates;
+import net.shibboleth.shared.collection.CollectionSupport;
+
/** {@link AllMatchPredicate} unit test. */
public class AllMatchPredicateTest {
@@ -36,23 +36,23 @@ public class AllMatchPredicateTest {
Assert.fail();
}
- if (predicate.test(Collections.emptyList())) {
+ if (predicate.test(CollectionSupport.emptyList())) {
Assert.fail();
}
- if (!predicate.test(Collections.singletonList("foo"))) {
+ if (!predicate.test(CollectionSupport.singletonList("foo"))) {
Assert.fail();
}
- if (!predicate.test(Arrays.asList("foo", "foo"))) {
+ if (!predicate.test(CollectionSupport.listOf("foo", "foo"))) {
Assert.fail();
}
- if (predicate.test(Arrays.asList("foo", "bar", "foo"))) {
+ if (predicate.test(CollectionSupport.listOf("foo", "bar", "foo"))) {
Assert.fail();
}
- if (predicate.test(Arrays.asList("bar", "baz"))) {
+ if (predicate.test(CollectionSupport.listOf("bar", "baz"))) {
Assert.fail();
}
}
diff --git a/shib-support/src/test/java/net/shibboleth/shared/logic/AnyMatchPredicateTest.java b/shib-support/src/test/java/net/shibboleth/shared/logic/AnyMatchPredicateTest.java
index 66de4967..1660cd71 100644
--- a/shib-support/src/test/java/net/shibboleth/shared/logic/AnyMatchPredicateTest.java
+++ b/shib-support/src/test/java/net/shibboleth/shared/logic/AnyMatchPredicateTest.java
@@ -17,14 +17,13 @@
package net.shibboleth.shared.logic;
-import java.util.Arrays;
-import java.util.Collections;
-
import org.testng.Assert;
import org.testng.annotations.Test;
import com.google.common.base.Predicates;
+import net.shibboleth.shared.collection.CollectionSupport;
+
/** {@link AnyMatchPredicate} unit test. */
public class AnyMatchPredicateTest {
@@ -37,23 +36,23 @@ public class AnyMatchPredicateTest {
Assert.fail();
}
- if (predicate.test(Collections.emptyList())) {
+ if (predicate.test(CollectionSupport.emptyList())) {
Assert.fail();
}
- if (!predicate.test(Collections.singletonList("foo"))) {
+ if (!predicate.test(CollectionSupport.singletonList("foo"))) {
Assert.fail();
}
- if (!predicate.test(Arrays.asList("foo", "foo"))) {
+ if (!predicate.test(CollectionSupport.listOf("foo", "foo"))) {
Assert.fail();
}
- if (!predicate.test(Arrays.asList("foo", "bar", "foo"))) {
+ if (!predicate.test(CollectionSupport.listOf("foo", "bar", "foo"))) {
Assert.fail();
}
- if (predicate.test(Arrays.asList("bar", "baz"))) {
+ if (predicate.test(CollectionSupport.listOf("bar", "baz"))) {
Assert.fail();
}
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list