[java-shib-metadata] branch main updated: Null checking
Rod Widdowson
rdw at steadingsoftware.com
Mon Jan 30 09:57:53 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-metadata.
View the commit online:
http://git.shibboleth.net/view/?p=java-shib-metadata.git;a=commit;h=ed619a5b47c2963910765779079983b8782b8b76
The following commit(s) were added to refs/heads/main by this push:
new ed619a5b Null checking
ed619a5b is described below
commit ed619a5b47c2963910765779079983b8782b8b76
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sun Jan 29 14:51:14 2023 +0000
Null checking
Use non-null methods where they are available.
Pick off some more low hanging fruit.
---
.../java/net/shibboleth/idp/saml/metadata/IdPUIInfo.java | 16 +++++++++-------
.../shibboleth/idp/saml/metadata/OrganizationUIInfo.java | 2 +-
.../shibboleth/idp/saml/metadata/ScopesContainer.java | 11 ++++++-----
.../idp/saml/security/KeyAuthoritySupport.java | 1 +
.../metadata/impl/ByReferenceMetadataFilterBridge.java | 3 ++-
.../saml/metadata/impl/MetadataProviderContainer.java | 2 +-
.../metadata/impl/MetadataResolverServiceGaugeSet.java | 8 ++++----
.../metadata/impl/MetadataResolverServiceStrategy.java | 3 ++-
.../saml/metadata/impl/ReloadableMetadataResolver.java | 7 +++----
.../saml/security/impl/KeyAuthorityNodeProcessor.java | 12 ++++++------
.../impl/MetadataPKIXValidationInformationResolver.java | 2 +-
.../saml/xmlobject/impl/KeyAuthorityUnmarshaller.java | 8 ++++----
.../idp/saml/xmlobject/impl/ScopeUnmarshaller.java | 11 ++++++-----
.../shibboleth/spring/http/HTTPResourceFactoryBean.java | 16 ++++++++--------
.../NodeProcessingAttachingBeanPostProcessor.java | 14 +++++++-------
.../spring/metadata/InlineMetadataParserTest.java | 5 ++++-
.../shibboleth/spring/testing/AbstractFailFastTest.java | 4 ++--
17 files changed, 67 insertions(+), 58 deletions(-)
diff --git a/shib-metadata-api/src/main/java/net/shibboleth/idp/saml/metadata/IdPUIInfo.java b/shib-metadata-api/src/main/java/net/shibboleth/idp/saml/metadata/IdPUIInfo.java
index a9cad823..2d3da1a5 100644
--- a/shib-metadata-api/src/main/java/net/shibboleth/idp/saml/metadata/IdPUIInfo.java
+++ b/shib-metadata-api/src/main/java/net/shibboleth/idp/saml/metadata/IdPUIInfo.java
@@ -24,21 +24,23 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.function.Predicate;
+import java.util.stream.Collector;
import java.util.stream.Collectors;
import javax.annotation.Nonnull;
+import org.opensaml.saml.ext.saml2mdui.DisplayName;
import org.opensaml.saml.ext.saml2mdui.Keywords;
import org.opensaml.saml.ext.saml2mdui.Logo;
import org.opensaml.saml.ext.saml2mdui.UIInfo;
import org.opensaml.saml.saml2.metadata.LocalizedName;
import org.opensaml.saml.saml2.metadata.LocalizedURI;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
import net.shibboleth.shared.collection.CollectionSupport;
+import net.shibboleth.shared.primitive.LoggerFactory;
/**
* Class to contain a processed form of the {@link UIInfo} suitable for display purposes. */
@@ -86,15 +88,15 @@ public class IdPUIInfo {
* @param uiInfo The OpenSaml UIInfo to convert.
*/
public IdPUIInfo(@Nonnull final UIInfo uiInfo) {
-
+ final Collector<DisplayName, ?, Map<Locale, String>> x = Collectors.toUnmodifiableMap(
+ displayName -> Locale.forLanguageTag(displayName.getXMLLang()),
+ displayName -> displayName.getValue(),
+ CollectionSupport.warningMergeFunction("IdpUIInfo DisplayName", false));
displayNames = uiInfo.
getDisplayNames().
stream().
- filter(nullLanguageString("DisplayName")).
- collect(Collectors.toUnmodifiableMap(
- displayName -> Locale.forLanguageTag(displayName.getXMLLang()),
- displayName -> displayName.getValue(),
- CollectionSupport.warningMergeFunction("IdpUIInfo DisplayName", false)));
+ filter(nullLanguageString("DisplayName")).
+ collect(CollectionSupport.nonnullCollector(x)).get();
keywordList = uiInfo.
getKeywords().
stream().
diff --git a/shib-metadata-api/src/main/java/net/shibboleth/idp/saml/metadata/OrganizationUIInfo.java b/shib-metadata-api/src/main/java/net/shibboleth/idp/saml/metadata/OrganizationUIInfo.java
index 6042ac19..ea159cde 100644
--- a/shib-metadata-api/src/main/java/net/shibboleth/idp/saml/metadata/OrganizationUIInfo.java
+++ b/shib-metadata-api/src/main/java/net/shibboleth/idp/saml/metadata/OrganizationUIInfo.java
@@ -28,10 +28,10 @@ import org.opensaml.saml.saml2.metadata.LocalizedName;
import org.opensaml.saml.saml2.metadata.LocalizedURI;
import org.opensaml.saml.saml2.metadata.Organization;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
import net.shibboleth.shared.collection.CollectionSupport;
+import net.shibboleth.shared.primitive.LoggerFactory;
/**
* Class to contain a processed form of the {@link Organization} suitable for display purposes. */
diff --git a/shib-metadata-api/src/main/java/net/shibboleth/idp/saml/metadata/ScopesContainer.java b/shib-metadata-api/src/main/java/net/shibboleth/idp/saml/metadata/ScopesContainer.java
index e72eadcb..2c230e27 100644
--- a/shib-metadata-api/src/main/java/net/shibboleth/idp/saml/metadata/ScopesContainer.java
+++ b/shib-metadata-api/src/main/java/net/shibboleth/idp/saml/metadata/ScopesContainer.java
@@ -17,7 +17,6 @@
package net.shibboleth.idp.saml.metadata;
-import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.function.Predicate;
@@ -56,12 +55,13 @@ public class ScopesContainer {
*/
public void setSimpleScopes(@Nullable final Set<String> scopes) {
if (scopes == null || scopes.isEmpty()) {
- simpleScopes = Collections.emptySet();
+ simpleScopes = CollectionSupport.emptySet();
} else {
simpleScopes = scopes.stream().
map(StringSupport::trimOrNull).
filter(e -> null != e).
- collect(Collectors.toSet());
+ collect(CollectionSupport.nonnullCollector(Collectors.toSet())).
+ get();
}
}
@@ -71,13 +71,14 @@ public class ScopesContainer {
*/
public void setRegexpScopes(@Nullable final Set<String> scopes) {
if (scopes == null || scopes.isEmpty()) {
- regexpScopes = Collections.emptyList();
+ regexpScopes = CollectionSupport.emptyList();
} else {
regexpScopes = scopes.stream().
filter(e -> null != e).
map(Pattern::compile).
map(Pattern::asMatchPredicate).
- collect(Collectors.toList());
+ collect(CollectionSupport.nonnullCollector(Collectors.toList())).
+ get();
}
}
diff --git a/shib-metadata-api/src/main/java/net/shibboleth/idp/saml/security/KeyAuthoritySupport.java b/shib-metadata-api/src/main/java/net/shibboleth/idp/saml/security/KeyAuthoritySupport.java
index 2e4b880b..c77841d3 100644
--- a/shib-metadata-api/src/main/java/net/shibboleth/idp/saml/security/KeyAuthoritySupport.java
+++ b/shib-metadata-api/src/main/java/net/shibboleth/idp/saml/security/KeyAuthoritySupport.java
@@ -36,6 +36,7 @@ import org.opensaml.xmlsec.signature.KeyInfo;
import net.shibboleth.idp.saml.xmlobject.KeyAuthority;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
diff --git a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/ByReferenceMetadataFilterBridge.java b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/ByReferenceMetadataFilterBridge.java
index 8f0034de..3e27953a 100644
--- a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/ByReferenceMetadataFilterBridge.java
+++ b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/ByReferenceMetadataFilterBridge.java
@@ -30,10 +30,11 @@ import org.opensaml.saml.metadata.resolver.filter.MetadataFilterChain;
import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
import org.opensaml.saml.metadata.resolver.filter.impl.ByReferenceMetadataFilter;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
+import net.shibboleth.shared.primitive.LoggerFactory;
+
/**
* This is a bridge filter that uses Spring to locate extant {@link ByReferenceMetadataFilter}
* objects to run.
diff --git a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/MetadataProviderContainer.java b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/MetadataProviderContainer.java
index eff91b06..64267ee3 100644
--- a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/MetadataProviderContainer.java
+++ b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/MetadataProviderContainer.java
@@ -23,11 +23,11 @@ import javax.annotation.Nonnull;
import org.opensaml.saml.metadata.resolver.MetadataResolver;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.spring.service.AbstractServiceableComponent;
diff --git a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/MetadataResolverServiceGaugeSet.java b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/MetadataResolverServiceGaugeSet.java
index 9c02c420..a477dafd 100644
--- a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/MetadataResolverServiceGaugeSet.java
+++ b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/MetadataResolverServiceGaugeSet.java
@@ -18,7 +18,6 @@ package net.shibboleth.idp.saml.metadata.impl;
import java.time.Instant;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.function.BiConsumer;
@@ -30,7 +29,6 @@ import org.opensaml.saml.metadata.resolver.ChainingMetadataResolver;
import org.opensaml.saml.metadata.resolver.MetadataResolver;
import org.opensaml.saml.metadata.resolver.RefreshableMetadataResolver;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.MetricFilter;
@@ -42,7 +40,9 @@ import com.google.common.collect.ImmutableMap.Builder;
import net.shibboleth.shared.annotation.ParameterName;
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.ComponentInitializationException;
+import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.resolver.ResolverException;
import net.shibboleth.shared.service.ReloadableServiceGaugeSet;
import net.shibboleth.shared.service.ServiceException;
@@ -242,7 +242,7 @@ public class MetadataResolverServiceGaugeSet extends ReloadableServiceGaugeSet<M
* @param parent - root of the chaining resolver tree.
* @return - the list.
*/
- private List<MetadataResolver> getAllChildren(final ChainingMetadataResolver parent) {
+ @Nonnull private List<MetadataResolver> getAllChildren(final ChainingMetadataResolver parent) {
final ArrayList<MetadataResolver> result = new ArrayList<>(1+ parent.getResolvers().size());
// Add ourselves
result.add(parent);
@@ -269,7 +269,7 @@ public class MetadataResolverServiceGaugeSet extends ReloadableServiceGaugeSet<M
if (rootResolver instanceof ChainingMetadataResolver) {
return getAllChildren((ChainingMetadataResolver) rootResolver);
}
- return Collections.singletonList(rootResolver);
+ return CollectionSupport.singletonList(rootResolver);
}
}
\ No newline at end of file
diff --git a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/MetadataResolverServiceStrategy.java b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/MetadataResolverServiceStrategy.java
index 8f928e90..7935ea5a 100644
--- a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/MetadataResolverServiceStrategy.java
+++ b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/MetadataResolverServiceStrategy.java
@@ -31,6 +31,7 @@ import org.opensaml.saml.metadata.resolver.MetadataResolver;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.context.ApplicationContext;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.NonnullFunction;
@@ -85,7 +86,7 @@ public class MetadataResolverServiceStrategy extends AbstractIdentifiableInitial
try {
chain.setResolvers(containerList.stream().
map(MetadataProviderContainer::getEmbeddedResolver).
- collect(Collectors.toList()));
+ collect(CollectionSupport.nonnullCollector(Collectors.toList())).get());
chain.setId("MultiFileResolverFor:"+containers.size()+":Resources");
chain.initialize();
final MetadataProviderContainer result = new MetadataProviderContainer();
diff --git a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/ReloadableMetadataResolver.java b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/ReloadableMetadataResolver.java
index b87aee7b..e8309f0e 100644
--- a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/ReloadableMetadataResolver.java
+++ b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/metadata/impl/ReloadableMetadataResolver.java
@@ -17,8 +17,6 @@
package net.shibboleth.idp.saml.metadata.impl;
-import java.util.Collections;
-
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -26,11 +24,12 @@ import org.opensaml.saml.metadata.resolver.MetadataResolver;
import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
import org.opensaml.saml.saml2.metadata.EntityDescriptor;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.ParameterName;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
import net.shibboleth.shared.service.ReloadableService;
@@ -72,7 +71,7 @@ public class ReloadableMetadataResolver extends AbstractIdentifiableInitializabl
+ "Invalid configuration.", getId(), e);
}
- return Collections.emptySet();
+ return CollectionSupport.emptySet();
}
/** {@inheritDoc} */
diff --git a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/security/impl/KeyAuthorityNodeProcessor.java b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/security/impl/KeyAuthorityNodeProcessor.java
index 0f7aa62c..73eb160a 100644
--- a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/security/impl/KeyAuthorityNodeProcessor.java
+++ b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/security/impl/KeyAuthorityNodeProcessor.java
@@ -17,14 +17,10 @@
package net.shibboleth.idp.saml.security.impl;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
-import net.shibboleth.idp.saml.security.KeyAuthoritySupport;
-import net.shibboleth.idp.saml.xmlobject.KeyAuthority;
-
import org.opensaml.core.xml.XMLObject;
import org.opensaml.saml.metadata.resolver.filter.FilterException;
import org.opensaml.saml.metadata.resolver.filter.MetadataNodeProcessor;
@@ -34,7 +30,11 @@ import org.opensaml.saml.saml2.metadata.Extensions;
import org.opensaml.security.SecurityException;
import org.opensaml.security.x509.PKIXValidationInformation;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+
+import net.shibboleth.idp.saml.security.KeyAuthoritySupport;
+import net.shibboleth.idp.saml.xmlobject.KeyAuthority;
+import net.shibboleth.shared.collection.CollectionSupport;
+import net.shibboleth.shared.primitive.LoggerFactory;
/**
* An implementation of {@link MetadataNodeProcessor} which supports processing the
@@ -118,7 +118,7 @@ public class KeyAuthorityNodeProcessor implements MetadataNodeProcessor {
@Nonnull protected List<XMLObject> getKeyAuthorities(@Nonnull final EntitiesDescriptor entitiesDescriptor) {
final Extensions extensions = entitiesDescriptor.getExtensions();
if (extensions == null) {
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
return extensions.getUnknownXMLObjects(KeyAuthority.DEFAULT_ELEMENT_NAME);
diff --git a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/security/impl/MetadataPKIXValidationInformationResolver.java b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/security/impl/MetadataPKIXValidationInformationResolver.java
index 6165a585..5e49b257 100644
--- a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/security/impl/MetadataPKIXValidationInformationResolver.java
+++ b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/security/impl/MetadataPKIXValidationInformationResolver.java
@@ -46,7 +46,6 @@ import org.opensaml.security.x509.TrustedNamesCriterion;
import org.opensaml.xmlsec.keyinfo.KeyInfoSupport;
import org.opensaml.xmlsec.signature.KeyInfo;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import net.shibboleth.idp.saml.security.KeyAuthoritySupport;
import net.shibboleth.idp.saml.xmlobject.KeyAuthority;
@@ -54,6 +53,7 @@ import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.collection.LockableClassToInstanceMultiMap;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
diff --git a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/xmlobject/impl/KeyAuthorityUnmarshaller.java b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/xmlobject/impl/KeyAuthorityUnmarshaller.java
index d3d9c832..28989e0a 100644
--- a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/xmlobject/impl/KeyAuthorityUnmarshaller.java
+++ b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/xmlobject/impl/KeyAuthorityUnmarshaller.java
@@ -21,17 +21,17 @@ import javax.annotation.Nonnull;
import javax.annotation.concurrent.ThreadSafe;
import javax.xml.namespace.QName;
-import net.shibboleth.idp.saml.xmlobject.KeyAuthority;
-import net.shibboleth.shared.xml.QNameSupport;
-
import org.opensaml.core.xml.XMLObject;
import org.opensaml.core.xml.io.AbstractXMLObjectUnmarshaller;
import org.opensaml.core.xml.io.UnmarshallingException;
import org.opensaml.xmlsec.signature.KeyInfo;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.w3c.dom.Attr;
+import net.shibboleth.idp.saml.xmlobject.KeyAuthority;
+import net.shibboleth.shared.primitive.LoggerFactory;
+import net.shibboleth.shared.xml.QNameSupport;
+
/** Unmarshaller for {@link KeyAuthority}. */
@ThreadSafe
public class KeyAuthorityUnmarshaller extends AbstractXMLObjectUnmarshaller {
diff --git a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/xmlobject/impl/ScopeUnmarshaller.java b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/xmlobject/impl/ScopeUnmarshaller.java
index ea0e0457..c481b04f 100644
--- a/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/xmlobject/impl/ScopeUnmarshaller.java
+++ b/shib-metadata-impl/src/main/java/net/shibboleth/idp/saml/xmlobject/impl/ScopeUnmarshaller.java
@@ -17,17 +17,18 @@
package net.shibboleth.idp.saml.xmlobject.impl;
+import javax.annotation.Nonnull;
import javax.annotation.concurrent.ThreadSafe;
-import net.shibboleth.idp.saml.xmlobject.Scope;
-
import org.opensaml.core.xml.XMLObject;
import org.opensaml.core.xml.io.AbstractXMLObjectUnmarshaller;
import org.opensaml.core.xml.io.UnmarshallingException;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.w3c.dom.Attr;
+import net.shibboleth.idp.saml.xmlobject.Scope;
+import net.shibboleth.shared.primitive.LoggerFactory;
+
/** Unmarshaller for {@link Scope}. */
@ThreadSafe
public class ScopeUnmarshaller extends AbstractXMLObjectUnmarshaller {
@@ -36,7 +37,7 @@ public class ScopeUnmarshaller extends AbstractXMLObjectUnmarshaller {
private final Logger log = LoggerFactory.getLogger(ScopeUnmarshaller.class);
/** {@inheritDoc} */
- protected void processAttribute(final XMLObject xmlObject, final Attr attribute) throws UnmarshallingException {
+ protected void processAttribute(final @Nonnull XMLObject xmlObject, final @Nonnull Attr attribute) throws UnmarshallingException {
final Scope scope = (Scope) xmlObject;
if (attribute.getLocalName().equals(Scope.REGEXP_ATTRIB_NAME)) {
@@ -48,7 +49,7 @@ public class ScopeUnmarshaller extends AbstractXMLObjectUnmarshaller {
}
/** {@inheritDoc} */
- protected void processElementContent(final XMLObject xmlObject, final String elementContent) {
+ protected void processElementContent(final @Nonnull XMLObject xmlObject, final @Nonnull String elementContent) {
final Scope scope = (Scope) xmlObject;
scope.setValue(elementContent);
}
diff --git a/shib-metadata-spring/src/main/java/net/shibboleth/spring/http/HTTPResourceFactoryBean.java b/shib-metadata-spring/src/main/java/net/shibboleth/spring/http/HTTPResourceFactoryBean.java
index e5de6f2f..1cccabb1 100644
--- a/shib-metadata-spring/src/main/java/net/shibboleth/spring/http/HTTPResourceFactoryBean.java
+++ b/shib-metadata-spring/src/main/java/net/shibboleth/spring/http/HTTPResourceFactoryBean.java
@@ -24,7 +24,6 @@ import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
@@ -48,7 +47,6 @@ import org.opensaml.security.x509.impl.BasicPKIXValidationInformation;
import org.opensaml.security.x509.impl.PKIXX509CredentialTrustEngine;
import org.opensaml.security.x509.impl.StaticPKIXValidationInformationResolver;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.springframework.beans.FatalBeanException;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.beans.factory.config.AbstractFactoryBean;
@@ -56,7 +54,9 @@ import org.springframework.core.io.Resource;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.httpclient.HttpClientContextHandler;
+import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.spring.httpclient.resource.FileBackedHTTPResource;
import net.shibboleth.shared.spring.httpclient.resource.HTTPResource;
@@ -97,8 +97,8 @@ public class HTTPResourceFactoryBean extends AbstractFactoryBean<HTTPResource> {
/** Constructor. */
public HTTPResourceFactoryBean() {
- keyResources = Collections.emptyList();
- certificateResources = Collections.emptyList();
+ keyResources = CollectionSupport.emptyList();
+ certificateResources = CollectionSupport.emptyList();
}
/**
@@ -143,7 +143,7 @@ public class HTTPResourceFactoryBean extends AbstractFactoryBean<HTTPResource> {
* @param keys the resources
*/
public void setPublicKeys(@Nullable final List<Resource> keys) {
- keyResources = keys != null ? keys : Collections.emptyList();
+ keyResources = keys != null ? keys : CollectionSupport.emptyList();
}
/**
@@ -152,7 +152,7 @@ public class HTTPResourceFactoryBean extends AbstractFactoryBean<HTTPResource> {
* @param certs the resources
*/
public void setCertificates(@Nullable final List<Resource> certs) {
- certificateResources = certs != null ? certs : Collections.emptyList();
+ certificateResources = certs != null ? certs : CollectionSupport.emptyList();
}
/**
@@ -266,9 +266,9 @@ public class HTTPResourceFactoryBean extends AbstractFactoryBean<HTTPResource> {
log.debug("Auto-wiring PKIXX509CredentialTrustEngine into HTTPResource");
final BasicPKIXValidationInformation info =
new BasicPKIXValidationInformation(getCertificates(), null, verifyDepth);
- final StaticPKIXValidationInformationResolver resolver =
+ @Nonnull final StaticPKIXValidationInformationResolver resolver =
new StaticPKIXValidationInformationResolver(
- Collections.<PKIXValidationInformation>singletonList(info), null, false);
+ CollectionSupport.<PKIXValidationInformation>singletonList(info), null, false);
// Second parameter of null disables name checking, since this is already handled for HTTPS.
final PKIXX509CredentialTrustEngine trustEngine = new PKIXX509CredentialTrustEngine(resolver, null);
final HttpClientSecurityParameters params = new HttpClientSecurityParameters();
diff --git a/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/NodeProcessingAttachingBeanPostProcessor.java b/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/NodeProcessingAttachingBeanPostProcessor.java
index 035d5634..335ece48 100644
--- a/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/NodeProcessingAttachingBeanPostProcessor.java
+++ b/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/NodeProcessingAttachingBeanPostProcessor.java
@@ -18,7 +18,6 @@
package net.shibboleth.spring.metadata;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
@@ -36,6 +35,7 @@ import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.core.Ordered;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
/**
@@ -63,9 +63,9 @@ public class NodeProcessingAttachingBeanPostProcessor implements BeanPostProcess
public NodeProcessingAttachingBeanPostProcessor(
@Nullable @NonnullElements final Collection<MetadataNodeProcessor> processors) {
if (processors != null) {
- nodeProcessors = List.copyOf(processors);
+ nodeProcessors = CollectionSupport.copyToList(processors);
} else {
- nodeProcessors = Collections.emptyList();
+ nodeProcessors = CollectionSupport.emptyList();
}
}
@@ -79,7 +79,7 @@ public class NodeProcessingAttachingBeanPostProcessor implements BeanPostProcess
public void setNodeProcessors(@Nullable @NonnullElements final Collection<MetadataNodeProcessor> processors) {
if (processors != null) {
// Replace auto-wired set.
- nodeProcessors = List.copyOf(processors);
+ nodeProcessors = CollectionSupport.copyToList(processors);
}
}
@@ -89,7 +89,7 @@ public class NodeProcessingAttachingBeanPostProcessor implements BeanPostProcess
}
/** {@inheritDoc} */
- @Override public Object postProcessBeforeInitialization(final Object bean, final String beanName) {
+ @Override public Object postProcessBeforeInitialization(@Nonnull final Object bean, @Nonnull final String beanName) {
if (nodeProcessors.isEmpty()) {
return bean;
@@ -117,7 +117,7 @@ public class NodeProcessingAttachingBeanPostProcessor implements BeanPostProcess
((MetadataFilterChain) filter).getFilters().add(filterToAttach);
} else {
final MetadataFilterChain chain = new MetadataFilterChain();
- chain.setFilters(List.of(filter, filterToAttach));
+ chain.setFilters(CollectionSupport.listOf(filter, filterToAttach));
resolver.setMetadataFilter(chain);
}
@@ -125,7 +125,7 @@ public class NodeProcessingAttachingBeanPostProcessor implements BeanPostProcess
}
/** {@inheritDoc} */
- @Override public Object postProcessAfterInitialization(final Object bean, final String beanName) {
+ @Override public Object postProcessAfterInitialization(final @Nonnull Object bean, final @Nonnull String beanName) {
return bean;
}
diff --git a/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/InlineMetadataParserTest.java b/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/InlineMetadataParserTest.java
index 0c00116d..61cc985b 100644
--- a/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/InlineMetadataParserTest.java
+++ b/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/InlineMetadataParserTest.java
@@ -23,6 +23,7 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.stream.Collectors;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.ResolverException;
import net.shibboleth.shared.service.ServiceableComponent;
@@ -109,7 +110,9 @@ public class InlineMetadataParserTest extends AbstractMetadataParserTest {
defs.add("net/shibboleth/spring/metadata/beans.xml");
defs.add("net/shibboleth/spring/metadata/multipleResolvers.xml");
- builder.setServiceConfigurations(defs.stream().map(s -> loader.getResource(s)).collect(Collectors.toList()));
+ builder.setServiceConfigurations(defs.stream().
+ map(s -> loader.getResource(s)).
+ collect(CollectionSupport.nonnullCollector(Collectors.toList())).get());
final GenericApplicationContext context = builder.build();
diff --git a/shib-metadata-testing/src/main/java/net/shibboleth/spring/testing/AbstractFailFastTest.java b/shib-metadata-testing/src/main/java/net/shibboleth/spring/testing/AbstractFailFastTest.java
index 9a25e764..9030f2fd 100644
--- a/shib-metadata-testing/src/main/java/net/shibboleth/spring/testing/AbstractFailFastTest.java
+++ b/shib-metadata-testing/src/main/java/net/shibboleth/spring/testing/AbstractFailFastTest.java
@@ -21,7 +21,6 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -40,6 +39,7 @@ import org.testng.annotations.BeforeSuite;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.service.ReloadableService;
import net.shibboleth.shared.spring.util.ApplicationContextBuilder;
@@ -126,7 +126,7 @@ public class AbstractFailFastTest extends OpenSAMLInitBaseTestCase {
builder.setName(contextName);
- builder.setPropertySources(Collections.singletonList(propSource));
+ builder.setPropertySources(CollectionSupport.singletonList(propSource));
builder.setServiceConfigurations(Arrays.asList(resources));
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list