[java-identity-provider] branch main updated: IDP-2083 - Treat NonnullElements as the default for collections
Scott Cantor
cantor.2 at osu.edu
Tue Jun 20 16:49:09 UTC 2023
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=15e36d0b713a5eeff842b2b4ca46314dc2734429
The following commit(s) were added to refs/heads/main by this push:
new 15e36d0b7 IDP-2083 - Treat NonnullElements as the default for collections
15e36d0b7 is described below
commit 15e36d0b713a5eeff842b2b4ca46314dc2734429
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Jun 20 12:49:06 2023 -0400
IDP-2083 - Treat NonnullElements as the default for collections
https://shibboleth.atlassian.net/browse/IDP-2083
Review idp-conf-impl, idp-core, idp-spring, idp-testing, idp-ui.
---
.../idp/conf/impl/SLF4JMDCServletFilter.java | 4 +--
.../ServletConfigServletContextInitializer.java | 4 +--
.../SpringConfigServletContextInitializer.java | 6 ++--
.../net/shibboleth/idp/conf/impl/package-info.java | 5 +++-
.../shibboleth/idp/metrics/impl/IdPGaugeSet.java | 2 +-
.../shibboleth/idp/metrics/impl/package-info.java | 4 ++-
.../main/java/net/shibboleth/idp/package-info.java | 4 ++-
.../idp/spring/DeprecatedPropertyBean.java | 6 ++--
...IdPPropertiesApplicationContextInitializer.java | 15 ++++++----
.../net/shibboleth/idp/spring/package-info.java | 4 ++-
.../factory/FlowDefinitionRegistryFactoryBean.java | 7 ++---
.../spring/factory/FlowRelativeResourceLoader.java | 7 +++--
.../idp/profile/spring/factory/package-info.java | 4 ++-
.../MockAuthenticationProfileConfiguration.java | 33 +++++++++++-----------
.../shibboleth/idp/authn/testing/package-info.java | 4 ++-
.../idp/profile/testing/ActionTestingSupport.java | 21 ++++++++------
.../idp/profile/testing/RequestContextBuilder.java | 31 ++++++++++----------
.../idp/profile/testing/package-info.java | 4 ++-
.../idp/saml/impl/testing/TestSources.java | 17 ++++++-----
.../idp/saml/impl/testing}/package-info.java | 6 ++--
.../idp/saml/profile/testing}/package-info.java | 6 ++--
.../idp/ui/context/RelyingPartyUIContext.java | 14 ++++-----
.../shibboleth/idp/ui/context/package-info.java | 4 ++-
.../idp/ui/csrf/BaseCSRFTokenPredicate.java | 4 +--
.../java/net/shibboleth/idp/ui/csrf/CSRFToken.java | 3 +-
.../idp/ui/csrf/InvalidCSRFTokenException.java | 3 +-
.../csrf/impl/CSRFTokenFlowExecutionListener.java | 3 +-
...tEventRequiresCSRFTokenValidationPredicate.java | 2 +-
.../DefaultViewRequiresCSRFTokenPredicate.java | 11 ++++++--
.../idp/ui/csrf/impl/SimpleCSRFToken.java | 3 +-
.../shibboleth/idp/ui/csrf/impl/package-info.java | 6 ++--
.../net/shibboleth/idp/ui/csrf/package-info.java | 5 +++-
.../shibboleth/idp/ui/impl/SetRPUIInformation.java | 10 ++-----
.../net/shibboleth/idp/ui/impl/package-info.java | 4 ++-
.../idp/ui/taglib/OrganizationDisplayNameTag.java | 3 +-
.../idp/ui/taglib/OrganizationNameTag.java | 3 +-
.../idp/ui/taglib/OrganizationURLTag.java | 5 ++--
.../idp/ui/taglib/ServiceContactTag.java | 7 +++--
.../idp/ui/taglib/ServiceDescriptionTag.java | 8 ++++--
.../idp/ui/taglib/ServiceInformationURLTag.java | 5 ++--
.../shibboleth/idp/ui/taglib/ServiceLogoTag.java | 10 ++++---
.../shibboleth/idp/ui/taglib/ServiceNameTag.java | 15 ++++++----
.../idp/ui/taglib/ServicePrivacyURLTag.java | 7 +++--
.../net/shibboleth/idp/ui/taglib/package-info.java | 4 ++-
44 files changed, 189 insertions(+), 144 deletions(-)
diff --git a/idp-conf-impl/src/main/java/net/shibboleth/idp/conf/impl/SLF4JMDCServletFilter.java b/idp-conf-impl/src/main/java/net/shibboleth/idp/conf/impl/SLF4JMDCServletFilter.java
index 99376d8d0..c69636e5e 100644
--- a/idp-conf-impl/src/main/java/net/shibboleth/idp/conf/impl/SLF4JMDCServletFilter.java
+++ b/idp-conf-impl/src/main/java/net/shibboleth/idp/conf/impl/SLF4JMDCServletFilter.java
@@ -73,8 +73,8 @@ public class SLF4JMDCServletFilter extends AbstractConditionalFilter implements
/** {@inheritDoc} */
@Override
- protected void runFilter(final @Nonnull ServletRequest request, final @Nonnull ServletResponse response, final @Nonnull FilterChain chain)
- throws IOException, ServletException {
+ protected void runFilter(final @Nonnull ServletRequest request, final @Nonnull ServletResponse response,
+ final @Nonnull FilterChain chain) throws IOException, ServletException {
try {
MDC.put(Version.MDC_ATTRIBUTE, Version.getVersion());
MDC.put(CLIENT_ADDRESS_MDC_ATTRIBUTE, HttpServletSupport.getRemoteAddr(request));
diff --git a/idp-conf-impl/src/main/java/net/shibboleth/idp/conf/impl/ServletConfigServletContextInitializer.java b/idp-conf-impl/src/main/java/net/shibboleth/idp/conf/impl/ServletConfigServletContextInitializer.java
index d612f1e48..c6b96437a 100644
--- a/idp-conf-impl/src/main/java/net/shibboleth/idp/conf/impl/ServletConfigServletContextInitializer.java
+++ b/idp-conf-impl/src/main/java/net/shibboleth/idp/conf/impl/ServletConfigServletContextInitializer.java
@@ -83,14 +83,14 @@ public class ServletConfigServletContextInitializer implements ServletContainerI
if ("true".equalsIgnoreCase(remoteUserFlag)) {
log.info("Registering RemoteUser authentication servlet");
- ServletRegistration.Dynamic registration = ctx.addServlet("RemoteUserAuthHandler",
+ final ServletRegistration.Dynamic registration = ctx.addServlet("RemoteUserAuthHandler",
new DelegatingServletProxy("shibboleth.RemoteUserAuthServlet"));
registration.addMapping("/Authn/RemoteUser");
}
if ("true".equalsIgnoreCase(x509Flag)) {
log.info("Registering X.509 authentication servlet");
- ServletRegistration.Dynamic registration = ctx.addServlet("X509AuthHandler",
+ final ServletRegistration.Dynamic registration = ctx.addServlet("X509AuthHandler",
new DelegatingServletProxy("shibboleth.X509AuthServlet"));
registration.addMapping("/Authn/X509");
}
diff --git a/idp-conf-impl/src/main/java/net/shibboleth/idp/conf/impl/SpringConfigServletContextInitializer.java b/idp-conf-impl/src/main/java/net/shibboleth/idp/conf/impl/SpringConfigServletContextInitializer.java
index fd64ed3a3..b114bb0f6 100644
--- a/idp-conf-impl/src/main/java/net/shibboleth/idp/conf/impl/SpringConfigServletContextInitializer.java
+++ b/idp-conf-impl/src/main/java/net/shibboleth/idp/conf/impl/SpringConfigServletContextInitializer.java
@@ -38,12 +38,12 @@ import net.shibboleth.shared.spring.context.DelimiterAwareApplicationContext;
*/
public class SpringConfigServletContextInitializer implements ServletContainerInitializer {
- /** Class logger. */
- @Nonnull private final Logger log = LoggerFactory.getLogger(SpringConfigServletContextInitializer.class);
-
/** System property name for the activation of this class. */
@Nonnull @NotEmpty public static final String INIT_PARAMETER_ACTIVATION = "net.shibboleth.idp.registerSpringConfig";
+ /** Class logger. */
+ @Nonnull private final Logger log = LoggerFactory.getLogger(SpringConfigServletContextInitializer.class);
+
/** {@inheritDoc} */
@Override
public void onStartup(final Set<Class<?>> c, final ServletContext ctx) throws ServletException {
diff --git a/idp-conf-impl/src/main/java/net/shibboleth/idp/conf/impl/package-info.java b/idp-conf-impl/src/main/java/net/shibboleth/idp/conf/impl/package-info.java
index 4fdabb2a2..28d2de461 100644
--- a/idp-conf-impl/src/main/java/net/shibboleth/idp/conf/impl/package-info.java
+++ b/idp-conf-impl/src/main/java/net/shibboleth/idp/conf/impl/package-info.java
@@ -18,4 +18,7 @@
/**
* Configuration implementation classes used internally.
*/
-package net.shibboleth.idp.conf.impl;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.idp.conf.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/IdPGaugeSet.java b/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/IdPGaugeSet.java
index e65bc0414..f189584ad 100644
--- a/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/IdPGaugeSet.java
+++ b/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/IdPGaugeSet.java
@@ -47,7 +47,7 @@ public class IdPGaugeSet extends ApplicationObjectSupport implements MetricSet,
@Nonnull @NotEmpty private static final String DEFAULT_METRIC_NAME = "net.shibboleth.idp";
/** The map of gauges. */
- @Nonnull @NonnullElements private final Map<String,Metric> gauges;
+ @Nonnull private final Map<String,Metric> gauges;
/** Constructor. */
public IdPGaugeSet() {
diff --git a/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/package-info.java b/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/package-info.java
index dffcdabc6..8dbf6adc4 100644
--- a/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/package-info.java
+++ b/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/package-info.java
@@ -18,5 +18,7 @@
/**
* Implementation classes supporting code instrumentation.
*/
+ at NonnullElements
+package net.shibboleth.idp.metrics.impl;
-package net.shibboleth.idp.metrics.impl;
\ No newline at end of file
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/idp-core/src/main/java/net/shibboleth/idp/package-info.java b/idp-core/src/main/java/net/shibboleth/idp/package-info.java
index d226d585f..7eeaca6a3 100644
--- a/idp-core/src/main/java/net/shibboleth/idp/package-info.java
+++ b/idp-core/src/main/java/net/shibboleth/idp/package-info.java
@@ -16,5 +16,7 @@
*/
/** Root package for IdP, contains a couple base/utility classes. */
+ at NonnullElements
+package net.shibboleth.idp;
-package net.shibboleth.idp;
\ No newline at end of file
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/idp-core/src/main/java/net/shibboleth/idp/spring/DeprecatedPropertyBean.java b/idp-core/src/main/java/net/shibboleth/idp/spring/DeprecatedPropertyBean.java
index 1989d6cfb..270cddae0 100644
--- a/idp-core/src/main/java/net/shibboleth/idp/spring/DeprecatedPropertyBean.java
+++ b/idp-core/src/main/java/net/shibboleth/idp/spring/DeprecatedPropertyBean.java
@@ -28,7 +28,6 @@ import org.slf4j.Logger;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
@@ -38,7 +37,6 @@ import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.primitive.StringSupport;
-
/**
* A bean that emits deprecation warnings if a configurable set of properties are set.
*/
@@ -54,7 +52,7 @@ public class DeprecatedPropertyBean extends AbstractInitializableComponent imple
@Nonnull private Map<String,String> deprecatedProperties;
/** Dead properties. */
- @Nonnull @NonnullElements private Collection<String> deadProperties;
+ @Nonnull private Collection<String> deadProperties;
/** Constructor. */
public DeprecatedPropertyBean() {
@@ -83,7 +81,7 @@ public class DeprecatedPropertyBean extends AbstractInitializableComponent imple
*
* @param properties defunct property names
*/
- public void setDeadProperties(@Nonnull @NonnullElements final Collection<String> properties) {
+ public void setDeadProperties(@Nonnull final Collection<String> properties) {
checkSetterPreconditions();
Constraint.isNotNull(properties, "Property collection cannot be null");
diff --git a/idp-core/src/main/java/net/shibboleth/idp/spring/IdPPropertiesApplicationContextInitializer.java b/idp-core/src/main/java/net/shibboleth/idp/spring/IdPPropertiesApplicationContextInitializer.java
index aa696b65f..95877edaf 100644
--- a/idp-core/src/main/java/net/shibboleth/idp/spring/IdPPropertiesApplicationContextInitializer.java
+++ b/idp-core/src/main/java/net/shibboleth/idp/spring/IdPPropertiesApplicationContextInitializer.java
@@ -45,6 +45,8 @@ import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.annotation.constraint.NotLive;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.logic.ConstraintViolationException;
@@ -238,12 +240,12 @@ public class IdPPropertiesApplicationContextInitializer
* @param properties the content of idp.properties so far
* @return a collection of paths
*/
- public static Collection<String> getAdditionalSources(@Nonnull final String searchLocation,
- @Nonnull final Properties properties) {
+ @Nonnull @Unmodifiable @NotLive public static Collection<String> getAdditionalSources(
+ @Nonnull final String searchLocation, @Nonnull final Properties properties) {
return getAdditionalSources(searchLocation, properties, false);
}
- // Checkstyle: AnonInnerLength OFF
+// Checkstyle: AnonInnerLength OFF
/**
* Find out all the additional property files we need to load.
*
@@ -252,8 +254,9 @@ public class IdPPropertiesApplicationContextInitializer
* @param idpHomeIsClasspath does idp.home point to a classpath
* @return a collection of paths
*/
- public static Collection<String> getAdditionalSources(@Nonnull final String searchLocation,
- @Nonnull final Properties properties, final boolean idpHomeIsClasspath) {
+ @Nonnull @Unmodifiable @NotLive public static Collection<String> getAdditionalSources(
+ @Nonnull final String searchLocation, @Nonnull final Properties properties,
+ final boolean idpHomeIsClasspath) {
final Collection<String> sources = new ArrayList<>();
@@ -436,4 +439,4 @@ public class IdPPropertiesApplicationContextInitializer
return (failFast == null) ? true : Boolean.parseBoolean(failFast);
}
-}
+}
\ No newline at end of file
diff --git a/idp-core/src/main/java/net/shibboleth/idp/spring/package-info.java b/idp-core/src/main/java/net/shibboleth/idp/spring/package-info.java
index 22c529c89..c8c110dd2 100644
--- a/idp-core/src/main/java/net/shibboleth/idp/spring/package-info.java
+++ b/idp-core/src/main/java/net/shibboleth/idp/spring/package-info.java
@@ -16,5 +16,7 @@
*/
/** Classes for extending, or supporting, Spring based configuration and object management. */
+ at NonnullElements
+package net.shibboleth.idp.spring;
-package net.shibboleth.idp.spring;
\ No newline at end of file
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/idp-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/FlowDefinitionRegistryFactoryBean.java b/idp-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/FlowDefinitionRegistryFactoryBean.java
index 260e83ec0..d5847b93a 100644
--- a/idp-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/FlowDefinitionRegistryFactoryBean.java
+++ b/idp-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/FlowDefinitionRegistryFactoryBean.java
@@ -49,7 +49,6 @@ import org.springframework.webflow.engine.model.registry.FlowModelHolder;
import org.springframework.webflow.engine.model.registry.FlowModelRegistry;
import org.springframework.webflow.engine.model.registry.FlowModelRegistryImpl;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -68,10 +67,10 @@ public class FlowDefinitionRegistryFactoryBean extends AbstractFactoryBean<FlowD
@Nonnull private final Logger log = LoggerFactory.getLogger(FlowDefinitionRegistryFactoryBean.class);
/** Explicit flow mappings from flow ID to resource path. */
- @Nonnull @NonnullElements private Map<String,String> flowLocations;
+ @Nonnull private Map<String,String> flowLocations;
/** Pattern-based flow mappings from pattern to base location to apply. */
- @Nonnull @NonnullElements private Map<String,String> flowLocationPatterns;
+ @Nonnull private Map<String,String> flowLocationPatterns;
/** Required collaborator. */
@Nullable private FlowBuilderServices flowBuilderServices;
@@ -108,7 +107,7 @@ public class FlowDefinitionRegistryFactoryBean extends AbstractFactoryBean<FlowD
*
* @param locationMap mappings from flow ID to resource
*/
- public void setFlowLocations(@Nonnull @NonnullElements final Map<String,String> locationMap) {
+ public void setFlowLocations(@Nonnull final Map<String,String> locationMap) {
Constraint.isNotNull(locationMap, "Flow mappings cannot be null");
flowLocations = new LinkedHashMap<>(locationMap.size());
diff --git a/idp-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/FlowRelativeResourceLoader.java b/idp-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/FlowRelativeResourceLoader.java
index 4bae501c1..4254ae1ca 100644
--- a/idp-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/FlowRelativeResourceLoader.java
+++ b/idp-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/FlowRelativeResourceLoader.java
@@ -27,6 +27,7 @@ import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.spring.resource.ConditionalResourceResolver;
/**
@@ -40,15 +41,15 @@ import net.shibboleth.shared.spring.resource.ConditionalResourceResolver;
class FlowRelativeResourceLoader extends DefaultResourceLoader {
/** Flow resource for relative lookup. */
- private Resource flowResource;
+ @Nonnull private Resource flowResource;
/**
* Constructor.
*
* @param resource flow resource for relative lookup
*/
- public FlowRelativeResourceLoader(final Resource resource) {
- flowResource = resource;
+ public FlowRelativeResourceLoader(@Nonnull final Resource resource) {
+ flowResource = Constraint.isNotNull(resource, "Flow resource cannot be null");
getProtocolResolvers().add(new ConditionalResourceResolver());
}
diff --git a/idp-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/package-info.java b/idp-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/package-info.java
index 93a9239c8..f49afd0e8 100644
--- a/idp-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/package-info.java
+++ b/idp-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/package-info.java
@@ -18,5 +18,7 @@
/**
* IdP factory bean implementations.
*/
+ at NonnullElements
+package net.shibboleth.idp.profile.spring.factory;
-package net.shibboleth.idp.profile.spring.factory;
\ No newline at end of file
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/idp-testing/src/main/java/net/shibboleth/idp/authn/testing/MockAuthenticationProfileConfiguration.java b/idp-testing/src/main/java/net/shibboleth/idp/authn/testing/MockAuthenticationProfileConfiguration.java
index 8d67e5594..9557f9ef2 100644
--- a/idp-testing/src/main/java/net/shibboleth/idp/authn/testing/MockAuthenticationProfileConfiguration.java
+++ b/idp-testing/src/main/java/net/shibboleth/idp/authn/testing/MockAuthenticationProfileConfiguration.java
@@ -32,7 +32,6 @@ import org.opensaml.xmlsec.config.BasicXMLSecurityConfiguration;
import net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration;
import net.shibboleth.idp.profile.config.AbstractInterceptorAwareProfileConfiguration;
import net.shibboleth.shared.annotation.constraint.NonNegative;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
@@ -46,16 +45,16 @@ public class MockAuthenticationProfileConfiguration extends AbstractInterceptorA
implements AuthenticationProfileConfiguration {
/** Selects, and limits, the authentication methods to use for requests. */
- @Nonnull @NonnullElements private List<Principal> defaultAuthenticationMethods = CollectionSupport.emptyList();
+ @Nonnull private List<Principal> defaultAuthenticationMethods = CollectionSupport.emptyList();
/** Filters the usable authentication flows. */
- @Nonnull @NonnullElements private Set<String> authenticationFlows = CollectionSupport.emptySet();
+ @Nonnull private Set<String> authenticationFlows = CollectionSupport.emptySet();
/** Enables post-authentication interceptor flows. */
- @Nonnull @NonnullElements private List<String> postAuthenticationFlows = CollectionSupport.emptyList();
+ @Nonnull private List<String> postAuthenticationFlows = CollectionSupport.emptyList();
/** Precedence of name identifier formats to use for requests. */
- @Nonnull @NonnullElements private List<String> nameIDFormatPrecedence = CollectionSupport.emptyList();
+ @Nonnull private List<String> nameIDFormatPrecedence = CollectionSupport.emptyList();
/** ForceAuthn predicate. */
@Nonnull private Predicate<ProfileRequestContext> forceAuthnPredicate;
@@ -70,7 +69,7 @@ public class MockAuthenticationProfileConfiguration extends AbstractInterceptorA
* @param methods default authentication methods to use
*/
public MockAuthenticationProfileConfiguration(@Nonnull @NotEmpty final String id,
- @Nonnull @NonnullElements final List<Principal> methods) {
+ @Nonnull final List<Principal> methods) {
this(id, methods, CollectionSupport.emptySet(), CollectionSupport.emptyList());
}
@@ -83,9 +82,9 @@ public class MockAuthenticationProfileConfiguration extends AbstractInterceptorA
* @param formats name identifier formats to use
*/
public MockAuthenticationProfileConfiguration(@Nonnull @NotEmpty final String id,
- @Nonnull @NonnullElements final List<Principal> methods,
- @Nonnull @NonnullElements final Collection<String> flows,
- @Nonnull @NonnullElements final List<String> formats) {
+ @Nonnull final List<Principal> methods,
+ @Nonnull final Collection<String> flows,
+ @Nonnull final List<String> formats) {
super(id);
setSecurityConfiguration(new BasicXMLSecurityConfiguration());
setDefaultAuthenticationMethods(methods);
@@ -95,7 +94,7 @@ public class MockAuthenticationProfileConfiguration extends AbstractInterceptorA
}
/** {@inheritDoc} */
- @Nonnull @NonnullElements @NotLive @Unmodifiable public List<Principal> getDefaultAuthenticationMethods(
+ @Nonnull @NotLive @Unmodifiable public List<Principal> getDefaultAuthenticationMethods(
@Nullable final ProfileRequestContext profileRequestContext) {
return defaultAuthenticationMethods;
}
@@ -105,7 +104,7 @@ public class MockAuthenticationProfileConfiguration extends AbstractInterceptorA
*
* @param methods default authentication methods to use
*/
- public void setDefaultAuthenticationMethods(@Nonnull @NonnullElements final List<Principal> methods) {
+ public void setDefaultAuthenticationMethods(@Nonnull final List<Principal> methods) {
defaultAuthenticationMethods = CollectionSupport.copyToList(Constraint.isNotNull(methods, "List of methods cannot be null"));
}
@@ -115,7 +114,7 @@ public class MockAuthenticationProfileConfiguration extends AbstractInterceptorA
* @param profileRequestContext profile request context
* @return formats to use
*/
- @Nonnull @NonnullElements @NotLive @Unmodifiable public List<String> getNameIDFormatPrecedence(
+ @Nonnull @NotLive @Unmodifiable public List<String> getNameIDFormatPrecedence(
@Nullable final ProfileRequestContext profileRequestContext) {
return nameIDFormatPrecedence;
}
@@ -125,14 +124,14 @@ public class MockAuthenticationProfileConfiguration extends AbstractInterceptorA
*
* @param formats name identifier formats to use
*/
- public void setNameIDFormatPrecedence(@Nonnull @NonnullElements final List<String> formats) {
+ public void setNameIDFormatPrecedence(@Nonnull final List<String> formats) {
Constraint.isNotNull(formats, "List of formats cannot be null");
nameIDFormatPrecedence = CollectionSupport.copyToList(StringSupport.normalizeStringCollection(formats));
}
/** {@inheritDoc} */
- @Nonnull @NonnullElements @NotLive @Unmodifiable public Set<String> getAuthenticationFlows(
+ @Nonnull @NotLive @Unmodifiable public Set<String> getAuthenticationFlows(
@Nullable final ProfileRequestContext profileRequestContext) {
return authenticationFlows;
}
@@ -142,14 +141,14 @@ public class MockAuthenticationProfileConfiguration extends AbstractInterceptorA
*
* @param flows flow identifiers to use
*/
- public void setAuthenticationFlows(@Nonnull @NonnullElements final Collection<String> flows) {
+ public void setAuthenticationFlows(@Nonnull final Collection<String> flows) {
Constraint.isNotNull(flows, "Collection of flows cannot be null");
authenticationFlows = CollectionSupport.copyToSet(StringSupport.normalizeStringCollection(flows));
}
/** {@inheritDoc} */
- @Nonnull @NonnullElements @NotLive @Unmodifiable public List<String> getPostAuthenticationFlows(
+ @Nonnull @NotLive @Unmodifiable public List<String> getPostAuthenticationFlows(
@Nullable final ProfileRequestContext profileRequestContext) {
return postAuthenticationFlows;
}
@@ -159,7 +158,7 @@ public class MockAuthenticationProfileConfiguration extends AbstractInterceptorA
*
* @param flows flow identifiers to enable
*/
- public void setPostAuthenticationFlows(@Nonnull @NonnullElements final Collection<String> flows) {
+ public void setPostAuthenticationFlows(@Nonnull final Collection<String> flows) {
Constraint.isNotNull(flows, "Collection of flows cannot be null");
postAuthenticationFlows = CollectionSupport.copyToList(StringSupport.normalizeStringCollection(flows));
diff --git a/idp-testing/src/main/java/net/shibboleth/idp/authn/testing/package-info.java b/idp-testing/src/main/java/net/shibboleth/idp/authn/testing/package-info.java
index 9a87953a4..b30cb9d9b 100644
--- a/idp-testing/src/main/java/net/shibboleth/idp/authn/testing/package-info.java
+++ b/idp-testing/src/main/java/net/shibboleth/idp/authn/testing/package-info.java
@@ -18,5 +18,7 @@
/**
* Testing utility classes.
*/
+ at NonnullElements
+package net.shibboleth.idp.authn.testing;
-package net.shibboleth.idp.authn.testing;
\ No newline at end of file
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/idp-testing/src/main/java/net/shibboleth/idp/profile/testing/ActionTestingSupport.java b/idp-testing/src/main/java/net/shibboleth/idp/profile/testing/ActionTestingSupport.java
index 343059900..6a782cf00 100644
--- a/idp-testing/src/main/java/net/shibboleth/idp/profile/testing/ActionTestingSupport.java
+++ b/idp-testing/src/main/java/net/shibboleth/idp/profile/testing/ActionTestingSupport.java
@@ -17,9 +17,14 @@
package net.shibboleth.idp.profile.testing;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
import org.springframework.webflow.execution.Event;
import org.testng.Assert;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
+
/**
* Helper methods for creating/testing objects within profile action tests. When methods herein refer to mock objects
* they are always objects that have been created via Mockito unless otherwise noted.
@@ -27,16 +32,16 @@ import org.testng.Assert;
public class ActionTestingSupport {
/** ID of the inbound message. */
- public final static String INBOUND_MSG_ID = "inbound";
+ @Nonnull @NotEmpty public final static String INBOUND_MSG_ID = "inbound";
/** Issuer of the inbound message. */
- public final static String INBOUND_MSG_ISSUER = "http://sp.example.org";
+ @Nonnull @NotEmpty public final static String INBOUND_MSG_ISSUER = "http://sp.example.org";
/** ID of the outbound message. */
- public final static String OUTBOUND_MSG_ID = "outbound";
+ @Nonnull @NotEmpty public final static String OUTBOUND_MSG_ID = "outbound";
/** Issuer of the outbound message. */
- public final static String OUTBOUND_MSG_ISSUER = "http://idp.example.org";
+ @Nonnull @NotEmpty public final static String OUTBOUND_MSG_ISSUER = "http://idp.example.org";
/**
* Checks that the event is not null, that the event source is not null, and that the event ID is the given id.
@@ -44,8 +49,8 @@ public class ActionTestingSupport {
* @param event the event to check
* @param id ...
*/
- public static void assertEvent(final Event event, final String id) {
- Assert.assertNotNull(event);
+ public static void assertEvent(@Nullable final Event event, @Nullable final String id) {
+ assert event != null;
Assert.assertNotNull(event.getSource());
Assert.assertEquals(event.getId(), id);
}
@@ -55,8 +60,8 @@ public class ActionTestingSupport {
*
* @param event the event to check
*/
- public static void assertProceedEvent(final Event event) {
+ public static void assertProceedEvent(@Nullable final Event event) {
Assert.assertNull(event);
}
-}
+}
\ No newline at end of file
diff --git a/idp-testing/src/main/java/net/shibboleth/idp/profile/testing/RequestContextBuilder.java b/idp-testing/src/main/java/net/shibboleth/idp/profile/testing/RequestContextBuilder.java
index 1829e4595..a01df5d1b 100644
--- a/idp-testing/src/main/java/net/shibboleth/idp/profile/testing/RequestContextBuilder.java
+++ b/idp-testing/src/main/java/net/shibboleth/idp/profile/testing/RequestContextBuilder.java
@@ -35,6 +35,7 @@ import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.relyingparty.BasicRelyingPartyConfiguration;
import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.ComponentInitializationException;
import org.opensaml.messaging.context.MessageContext;
@@ -54,43 +55,43 @@ import org.springframework.webflow.test.MockRequestContext;
public class RequestContextBuilder {
/** Value used to represent a string value that has not be set. */
- private final String NO_VAL = "novalue";
+ @Nonnull @NotEmpty private static final String NO_VAL = "novalue";
/** The {@link ServletContext} used when building the request context. */
- private ServletContext servletContext;
+ @Nullable private ServletContext servletContext;
/** The {@link HttpServletRequest} used when building the request context. */
- private HttpServletRequest httpRequest;
+ @Nullable private HttpServletRequest httpRequest;
/** The {@link HttpServletResponse} used when building the request context. */
- private HttpServletResponse httpResponse;
+ @Nullable private HttpServletResponse httpResponse;
/** The ID of the inbound message. */
- private String inboundMessageId = NO_VAL;
+ @Nullable private String inboundMessageId = NO_VAL;
/** The issue instant of the inbound message. */
- private Instant inboundMessageIssueInstant;
+ @Nullable private Instant inboundMessageIssueInstant;
/** The issuer of the inbound message. */
- private String inboundMessageIssuer = NO_VAL;
+ @Nullable private String inboundMessageIssuer = NO_VAL;
/** The inbound message. */
- private Object inboundMessage;
+ @Nullable private Object inboundMessage;
/** The ID of the outbound message. */
- private String outboundMessageId = NO_VAL;
+ @Nullable private String outboundMessageId = NO_VAL;
/** The issue instant of the outbound message. */
- private Instant outboundMessageIssueInstant;
+ @Nullable private Instant outboundMessageIssueInstant;
/** The issuer of the outbound message. */
- private String outboundMessageIssuer = NO_VAL;
+ @Nullable private String outboundMessageIssuer = NO_VAL;
/** The outbound message. */
- private Object outboundMessage;
+ @Nullable private Object outboundMessage;
/** The profile configurations associated with the relying party. */
- private Collection<ProfileConfiguration> relyingPartyProfileConfigurations;
+ @Nullable private Collection<ProfileConfiguration> relyingPartyProfileConfigurations;
/** Constructor. */
public RequestContextBuilder() {
@@ -102,7 +103,7 @@ public class RequestContextBuilder {
*
* @param prototype prototype whose properties are copied onto this builder
*/
- public RequestContextBuilder(RequestContextBuilder prototype) {
+ public RequestContextBuilder(@Nonnull final RequestContextBuilder prototype) {
servletContext = prototype.servletContext;
httpRequest = prototype.httpRequest;
httpResponse = prototype.httpResponse;
@@ -441,7 +442,7 @@ public class RequestContextBuilder {
if (relyingPartyProfileConfigurations == null) {
relyingPartyProfileConfigurations = new ArrayList<>();
}
-
+ assert relyingPartyProfileConfigurations != null;
final List<ProfileConfiguration> profileConfigs =
relyingPartyProfileConfigurations.
stream().
diff --git a/idp-testing/src/main/java/net/shibboleth/idp/profile/testing/package-info.java b/idp-testing/src/main/java/net/shibboleth/idp/profile/testing/package-info.java
index f16cf7342..9c0a2c916 100644
--- a/idp-testing/src/main/java/net/shibboleth/idp/profile/testing/package-info.java
+++ b/idp-testing/src/main/java/net/shibboleth/idp/profile/testing/package-info.java
@@ -18,5 +18,7 @@
/**
* Testing utility classes.
*/
+ at NonnullElements
+package net.shibboleth.idp.profile.testing;
-package net.shibboleth.idp.profile.testing;
\ No newline at end of file
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/idp-testing/src/main/java/net/shibboleth/idp/saml/impl/testing/TestSources.java b/idp-testing/src/main/java/net/shibboleth/idp/saml/impl/testing/TestSources.java
index 20967767d..0d24a1b57 100644
--- a/idp-testing/src/main/java/net/shibboleth/idp/saml/impl/testing/TestSources.java
+++ b/idp-testing/src/main/java/net/shibboleth/idp/saml/impl/testing/TestSources.java
@@ -54,7 +54,6 @@ public final class TestSources {
/** The name we use in this test for the static connector. */
@Nonnull public static final String STATIC_CONNECTOR_NAME = "staticCon";
-
/** The name of the attribute we use as source. */
@Nonnull public static final String DEPENDS_ON_ATTRIBUTE_NAME_ATTR = "at1";
@@ -135,7 +134,7 @@ public final class TestSources {
* @return The connector
* @throws ComponentInitializationException if we cannot initialized (unlikely)
*/
- public static DataConnector populatedStaticConnector(@Nonnull @NonnullElements final List<IdPAttribute> attributes)
+ @Nonnull public static DataConnector populatedStaticConnector(@Nonnull @NonnullElements final List<IdPAttribute> attributes)
throws ComponentInitializationException {
final StaticDataConnector connector = new StaticDataConnector();
@@ -153,7 +152,7 @@ public final class TestSources {
* @throws ComponentInitializationException if we cannot initialized (unlikely)
*/
@SuppressWarnings("null")
- public static DataConnector populatedStaticConnector() throws ComponentInitializationException {
+ @Nonnull public static DataConnector populatedStaticConnector() throws ComponentInitializationException {
List<IdPAttribute> attributeSet = new ArrayList<>(2);
IdPAttribute attr = new IdPAttribute(DEPENDS_ON_ATTRIBUTE_NAME_CONNECTOR);
@@ -175,11 +174,11 @@ public final class TestSources {
* @return the attribute definition
* @throws ComponentInitializationException if we cannot initialized (unlikely)
*/
- public static AttributeDefinition populatedStaticAttribute() throws ComponentInitializationException {
+ @Nonnull public static AttributeDefinition populatedStaticAttribute() throws ComponentInitializationException {
return populatedStaticAttribute(DEPENDS_ON_ATTRIBUTE_NAME_ATTR, 2);
}
- public static AttributeDefinition populatedStaticAttribute(@Nonnull String attributeName,
+ @Nonnull public static AttributeDefinition populatedStaticAttribute(@Nonnull String attributeName,
int attributeValuesCount) throws ComponentInitializationException {
final List<IdPAttributeValue> valuesList = new ArrayList<>();
@@ -206,7 +205,7 @@ public final class TestSources {
* @return the attribute definition
* @throws ComponentInitializationException if we cannot initialized (unlikely)
*/
- public static AttributeDefinition populatedStaticAttribute(@Nonnull final IdPAttribute attribute)
+ @Nonnull public static AttributeDefinition populatedStaticAttribute(@Nonnull final IdPAttribute attribute)
throws ComponentInitializationException {
final StaticAttributeDefinition definition = new StaticAttributeDefinition();
@@ -221,7 +220,7 @@ public final class TestSources {
* @return the definition
* @throws ComponentInitializationException for completeness
*/
- public static AttributeDefinition nonStringAttributeDefiniton(@Nonnull String name) throws ComponentInitializationException {
+ @Nonnull public static AttributeDefinition nonStringAttributeDefiniton(@Nonnull String name) throws ComponentInitializationException {
final SAML2NameIDAttributeDefinition defn = new SAML2NameIDAttributeDefinition();
defn.setId(name);
@@ -255,7 +254,7 @@ public final class TestSources {
* @param attributeId attributeId
* @return the dependency
*/
- public static ResolverAttributeDefinitionDependency makeAttributeDefinitionDependency(@Nonnull String attributeId) {
+ @Nonnull public static ResolverAttributeDefinitionDependency makeAttributeDefinitionDependency(@Nonnull String attributeId) {
ResolverAttributeDefinitionDependency retVal = new ResolverAttributeDefinitionDependency(attributeId);
return retVal;
}
@@ -265,7 +264,7 @@ public final class TestSources {
* @param attributeId attributeId
* @return the dependency
*/
- public static ResolverDataConnectorDependency makeDataConnectorDependency(@Nonnull String connectorId, @Nullable String attributeId) {
+ @Nonnull public static ResolverDataConnectorDependency makeDataConnectorDependency(@Nonnull String connectorId, @Nullable String attributeId) {
ResolverDataConnectorDependency retVal = new ResolverDataConnectorDependency(connectorId);
if (null == attributeId) {
retVal.setAllAttributes(true);
diff --git a/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/package-info.java b/idp-testing/src/main/java/net/shibboleth/idp/saml/impl/testing/package-info.java
similarity index 81%
copy from idp-core/src/main/java/net/shibboleth/idp/metrics/impl/package-info.java
copy to idp-testing/src/main/java/net/shibboleth/idp/saml/impl/testing/package-info.java
index dffcdabc6..01c15a9d4 100644
--- a/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/package-info.java
+++ b/idp-testing/src/main/java/net/shibboleth/idp/saml/impl/testing/package-info.java
@@ -16,7 +16,9 @@
*/
/**
- * Implementation classes supporting code instrumentation.
+ * Testing utility classes for SAML implementation code.
*/
+ at NonnullElements
+package net.shibboleth.idp.saml.impl.testing;
-package net.shibboleth.idp.metrics.impl;
\ No newline at end of file
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/package-info.java b/idp-testing/src/main/java/net/shibboleth/idp/saml/profile/testing/package-info.java
similarity index 82%
copy from idp-core/src/main/java/net/shibboleth/idp/metrics/impl/package-info.java
copy to idp-testing/src/main/java/net/shibboleth/idp/saml/profile/testing/package-info.java
index dffcdabc6..ad7d8b98b 100644
--- a/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/package-info.java
+++ b/idp-testing/src/main/java/net/shibboleth/idp/saml/profile/testing/package-info.java
@@ -16,7 +16,9 @@
*/
/**
- * Implementation classes supporting code instrumentation.
+ * Testing utility classes for SAML profile code.
*/
+ at NonnullElements
+package net.shibboleth.idp.saml.profile.testing;
-package net.shibboleth.idp.metrics.impl;
\ No newline at end of file
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/context/RelyingPartyUIContext.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/context/RelyingPartyUIContext.java
index 1f855e6f5..ff4b248d0 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/context/RelyingPartyUIContext.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/context/RelyingPartyUIContext.java
@@ -49,7 +49,6 @@ import net.shibboleth.idp.attribute.AttributesMapContainer;
import net.shibboleth.idp.saml.metadata.ACSUIInfo;
import net.shibboleth.idp.saml.metadata.IdPUIInfo;
import net.shibboleth.idp.saml.metadata.OrganizationUIInfo;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
@@ -83,7 +82,7 @@ public final class RelyingPartyUIContext extends BaseContext {
@Nullable private IdPUIInfo rpUIInfo;
/** The (statically defined) languages that this user wants to know about. */
- @Nonnull @NonnullElements private List<LanguageRange> browserLanguages;
+ @Nonnull private List<LanguageRange> browserLanguages;
/** The languages that this the Operator want to fall back to. */
@Nonnull private List<LanguageRange> fallbackLanguages;
@@ -150,7 +149,7 @@ public final class RelyingPartyUIContext extends BaseContext {
*
* @since 4.0.0
*/
- @Nonnull @NonnullElements @NotLive @Unmodifiable public Collection<String> getEntityAttributeStringValues(
+ @Nonnull @NotLive @Unmodifiable public Collection<String> getEntityAttributeStringValues(
@Nonnull @NotEmpty final String id) {
XMLObject object = getRPEntityDescriptor();
@@ -247,7 +246,7 @@ public final class RelyingPartyUIContext extends BaseContext {
* @deprecated use {@link #setBrowserLanguageRanges(List)}
*/
@Deprecated(since="4.0.0", forRemoval=true)
- @Nonnull public RelyingPartyUIContext setBrowserLanguages(@Nonnull @NonnullElements final List<String> languages) {
+ @Nonnull public RelyingPartyUIContext setBrowserLanguages(@Nonnull final List<String> languages) {
Constraint.isNotNull(languages, "Language List cannot be null");
DeprecationSupport.warnOnce(ObjectType.METHOD, "RelyingPartyUIContext.setBrowserLanguages", null,
"setBrowserLanguageRanges");
@@ -267,8 +266,7 @@ public final class RelyingPartyUIContext extends BaseContext {
*
* @return this context
*/
- @Nonnull public RelyingPartyUIContext setBrowserLanguageRanges(
- @Nonnull @NonnullElements final List<LanguageRange> ranges) {
+ @Nonnull public RelyingPartyUIContext setBrowserLanguageRanges(@Nonnull final List<LanguageRange> ranges) {
browserLanguages = Constraint.isNotNull(ranges, "Language Range cannot be null");
return this;
}
@@ -280,7 +278,7 @@ public final class RelyingPartyUIContext extends BaseContext {
*
* @return the languages.
*/
- @Nonnull @NonnullElements protected List<LanguageRange> getBrowserLanguages() {
+ @Nonnull protected List<LanguageRange> getBrowserLanguages() {
final NonnullSupplier<HttpServletRequest> supplier = requestSupplier;
if (supplier == null || supplier.get() == null) {
return browserLanguages;
@@ -316,7 +314,7 @@ public final class RelyingPartyUIContext extends BaseContext {
*
* @return the languages.
*/
- @Nonnull @NonnullElements protected List<LanguageRange> getFallbackLanguages() {
+ @Nonnull protected List<LanguageRange> getFallbackLanguages() {
return fallbackLanguages;
}
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/context/package-info.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/context/package-info.java
index d688ebcfb..6fec2cf92 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/context/package-info.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/context/package-info.java
@@ -18,5 +18,7 @@
/**
* Context classes for information needed by the UI.
*/
+ at NonnullElements
+package net.shibboleth.idp.ui.context;
-package net.shibboleth.idp.ui.context;
\ No newline at end of file
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/BaseCSRFTokenPredicate.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/BaseCSRFTokenPredicate.java
index 3f32c15b6..37722059d 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/BaseCSRFTokenPredicate.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/BaseCSRFTokenPredicate.java
@@ -24,7 +24,6 @@ import org.springframework.webflow.definition.StateDefinition;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
-
/**
* A base helper class for predicates that determine if CSRF protection is required per state.
*/
@@ -36,7 +35,6 @@ public abstract class BaseCSRFTokenPredicate {
*/
@Nonnull @NotEmpty public static final String CSRF_EXCLUDED_ATTRIBUTE_NAME = "csrf_excluded";
-
/**
* Safe get the <code>boolean</code> value of the attribute from the attributes annotating
* the {@link StateDefinition}. Returns the <code>defaultValue</code> if either:
@@ -67,4 +65,4 @@ public abstract class BaseCSRFTokenPredicate {
}
-}
+}
\ No newline at end of file
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/CSRFToken.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/CSRFToken.java
index 54dc7c3b0..d2364cb21 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/CSRFToken.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/CSRFToken.java
@@ -40,4 +40,5 @@ public interface CSRFToken extends Serializable{
* @return the anti-CSRF token.
*/
@Nonnull String getToken();
-}
+
+}
\ No newline at end of file
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/InvalidCSRFTokenException.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/InvalidCSRFTokenException.java
index 19116034e..49ba11dfb 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/InvalidCSRFTokenException.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/InvalidCSRFTokenException.java
@@ -41,5 +41,4 @@ public class InvalidCSRFTokenException extends FlowExecutionException{
}
-
-}
+}
\ No newline at end of file
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/CSRFTokenFlowExecutionListener.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/CSRFTokenFlowExecutionListener.java
index 9a3adabd1..693a91e1c 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/CSRFTokenFlowExecutionListener.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/CSRFTokenFlowExecutionListener.java
@@ -39,7 +39,6 @@ import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
-
/**
* A flow execution lifecycle listener that, if enabled:
* <ul>
@@ -212,4 +211,4 @@ public class CSRFTokenFlowExecutionListener extends AbstractInitializableCompone
}
-}
+}
\ No newline at end of file
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/DefaultEventRequiresCSRFTokenValidationPredicate.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/DefaultEventRequiresCSRFTokenValidationPredicate.java
index 8abdf60b5..925201c02 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/DefaultEventRequiresCSRFTokenValidationPredicate.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/DefaultEventRequiresCSRFTokenValidationPredicate.java
@@ -55,4 +55,4 @@ public class DefaultEventRequiresCSRFTokenValidationPredicate
}
-}
+}
\ No newline at end of file
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/DefaultViewRequiresCSRFTokenPredicate.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/DefaultViewRequiresCSRFTokenPredicate.java
index 07c772ec5..2b93c12ab 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/DefaultViewRequiresCSRFTokenPredicate.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/DefaultViewRequiresCSRFTokenPredicate.java
@@ -19,6 +19,8 @@ package net.shibboleth.idp.ui.csrf.impl;
import java.util.function.Predicate;
+import javax.annotation.Nullable;
+
import org.springframework.webflow.execution.RequestContext;
import net.shibboleth.idp.ui.csrf.BaseCSRFTokenPredicate;
@@ -37,13 +39,16 @@ public class DefaultViewRequiresCSRFTokenPredicate
extends BaseCSRFTokenPredicate implements Predicate<RequestContext>{
/** {@inheritDoc} */
- public boolean test(final RequestContext context) {
+ public boolean test(@Nullable final RequestContext context) {
+
+ if (context == null) {
+ return false;
+ }
- assert context != null;
final boolean excluded = safeGetBooleanStateAttribute(context.getCurrentState(),
CSRF_EXCLUDED_ATTRIBUTE_NAME,false);
//if NOT excluded from CSRF checks, return true, else return false.
return !excluded;
}
-}
+}
\ No newline at end of file
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/SimpleCSRFToken.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/SimpleCSRFToken.java
index 2572e15ea..ea0c9b7b0 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/SimpleCSRFToken.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/SimpleCSRFToken.java
@@ -30,7 +30,6 @@ import net.shibboleth.shared.logic.Constraint;
*/
@Immutable
public class SimpleCSRFToken implements CSRFToken{
-
/** Serial UID. */
private static final long serialVersionUID = 3742188179558262003L;
@@ -63,4 +62,4 @@ public class SimpleCSRFToken implements CSRFToken{
return token;
}
-}
+}
\ No newline at end of file
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/package-info.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/package-info.java
index 9d5d00d8d..cf16ca985 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/package-info.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/impl/package-info.java
@@ -16,7 +16,9 @@
*/
/**
- *
* Implementation classes for cross-site request forgery mitigation.
*/
-package net.shibboleth.idp.ui.csrf.impl;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.idp.ui.csrf.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/package-info.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/package-info.java
index 5e6294a00..370243f07 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/package-info.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/csrf/package-info.java
@@ -18,4 +18,7 @@
/**
* APIs relating to cross-site request forgery mitigations.
*/
-package net.shibboleth.idp.ui.csrf;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.idp.ui.csrf;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/impl/SetRPUIInformation.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/impl/SetRPUIInformation.java
index b4f804707..a331e74cc 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/impl/SetRPUIInformation.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/impl/SetRPUIInformation.java
@@ -83,11 +83,8 @@ public class SetRPUIInformation extends AbstractProfileAction {
/** The {@link SPSSODescriptor}. Not finding this is not fatal */
@Nullable private SPSSODescriptor spSSODescriptor;
- /** The RPUI context - we always create this in {@link #doPreExecute(ProfileRequestContext)}. */
- private RelyingPartyUIContext rpUIContext;
-
/** The ACS context. */
- private AttributeConsumingService acsDesriptor;
+ @Nullable private AttributeConsumingService acsDesriptor;
/** Constructor. */
public SetRPUIInformation() {
@@ -200,8 +197,7 @@ public class SetRPUIInformation extends AbstractProfileAction {
/** {@inheritDoc} */
@Override protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
-
- rpUIContext = rpUIContextCreateStrategy.apply(profileRequestContext);
+ final RelyingPartyUIContext rpUIContext = rpUIContextCreateStrategy.apply(profileRequestContext);
if (rpUIContext == null) {
log.error("{} Unable to create RelyingPartyUIContext", getLogPrefix());
ActionSupport.buildEvent(profileRequestContext, EventIds.INVALID_PROFILE_CTX);
@@ -222,4 +218,4 @@ public class SetRPUIInformation extends AbstractProfileAction {
rpUIContext.setRequestSupplier(supplier);
}
-}
+}
\ No newline at end of file
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/impl/package-info.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/impl/package-info.java
index 97de54e65..80be3f2fa 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/impl/package-info.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/impl/package-info.java
@@ -18,5 +18,7 @@
/**
* Implementation classes for information needed by the UI.
*/
+ at NonnullElements
+package net.shibboleth.idp.ui.impl;
-package net.shibboleth.idp.ui.impl;
\ No newline at end of file
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationDisplayNameTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationDisplayNameTag.java
index 3dbcdec89..ab111a504 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationDisplayNameTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationDisplayNameTag.java
@@ -19,6 +19,7 @@ package net.shibboleth.idp.ui.taglib;
import java.io.IOException;
+import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.slf4j.Logger;
@@ -38,7 +39,7 @@ public class OrganizationDisplayNameTag extends ServiceTagSupport {
private static final long serialVersionUID = -196716418770324981L;
/** Class logger. */
- private static Logger log = LoggerFactory.getLogger(OrganizationDisplayNameTag.class);
+ @Nonnull private static Logger log = LoggerFactory.getLogger(OrganizationDisplayNameTag.class);
/**
* look for the <OrganizationDisplayName>.
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationNameTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationNameTag.java
index be7f92930..c7cf1f0cb 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationNameTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationNameTag.java
@@ -19,6 +19,7 @@ package net.shibboleth.idp.ui.taglib;
import java.io.IOException;
+import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import jakarta.servlet.jsp.JspException;
import jakarta.servlet.jsp.JspWriter;
@@ -36,7 +37,7 @@ public class OrganizationNameTag extends ServiceTagSupport {
private static final long serialVersionUID = -6896271567378071224L;
/** Class logger. */
- private static Logger log = LoggerFactory.getLogger(OrganizationNameTag.class);
+ @Nonnull private static Logger log = LoggerFactory.getLogger(OrganizationNameTag.class);
/**
* look for the <OrganizationName>.
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationURLTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationURLTag.java
index 093e04e1e..b80ab5dbd 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationURLTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/OrganizationURLTag.java
@@ -19,6 +19,7 @@ package net.shibboleth.idp.ui.taglib;
import java.io.IOException;
+import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.slf4j.Logger;
@@ -37,10 +38,10 @@ public class OrganizationURLTag extends ServiceTagSupport {
private static final long serialVersionUID = 5633365955540356312L;
/** Class logger. */
- private static Logger log = LoggerFactory.getLogger(OrganizationURLTag.class);
+ @Nonnull private static Logger log = LoggerFactory.getLogger(OrganizationURLTag.class);
/** Bean storage for the link text attribute. */
- private static String linkText;
+ @Nullable private static String linkText;
/**
* Bean setter for the link text attribute.
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceContactTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceContactTag.java
index 381b05479..9107793cc 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceContactTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceContactTag.java
@@ -20,6 +20,7 @@ package net.shibboleth.idp.ui.taglib;
import java.io.IOException;
import java.util.List;
+import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import jakarta.servlet.jsp.JspException;
import jakarta.servlet.jsp.JspWriter;
@@ -42,13 +43,13 @@ public class ServiceContactTag extends ServiceTagSupport {
private static final long serialVersionUID = 5437171915434315671L;
/** Class logger. */
- private static Logger log = LoggerFactory.getLogger(ServiceContactTag.class);
+ @Nonnull private static Logger log = LoggerFactory.getLogger(ServiceContactTag.class);
/** storage for the contactType bean. */
- private ContactPersonTypeEnumeration contactType = ContactPersonTypeEnumeration.SUPPORT;
+ @Nonnull private ContactPersonTypeEnumeration contactType = ContactPersonTypeEnumeration.SUPPORT;
/** bean storage for the name attribute. */
- private String contactName;
+ @Nullable private String contactName;
/**
* Setter for the contactType bean.
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceDescriptionTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceDescriptionTag.java
index 186e3ff23..18ad9a9a5 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceDescriptionTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceDescriptionTag.java
@@ -19,6 +19,8 @@ package net.shibboleth.idp.ui.taglib;
import java.io.IOException;
+import javax.annotation.Nonnull;
+
import jakarta.servlet.jsp.JspException;
import jakarta.servlet.jsp.JspWriter;
import jakarta.servlet.jsp.tagext.BodyContent;
@@ -38,8 +40,7 @@ public class ServiceDescriptionTag extends ServiceTagSupport {
private static final long serialVersionUID = 3794685928805227487L;
/** Class logger. */
- private static Logger log = LoggerFactory.getLogger(ServiceDescriptionTag.class);
-
+ @Nonnull private static Logger log = LoggerFactory.getLogger(ServiceDescriptionTag.class);
/** {@inheritDoc} */
@Override public int doEndTag() throws JspException {
@@ -68,4 +69,5 @@ public class ServiceDescriptionTag extends ServiceTagSupport {
}
return super.doEndTag();
}
-}
+
+}
\ No newline at end of file
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceInformationURLTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceInformationURLTag.java
index 880667988..b5c191bcf 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceInformationURLTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceInformationURLTag.java
@@ -19,6 +19,7 @@ package net.shibboleth.idp.ui.taglib;
import java.io.IOException;
+import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.slf4j.Logger;
@@ -36,7 +37,7 @@ public class ServiceInformationURLTag extends ServiceTagSupport {
private static final long serialVersionUID = 4154999542916069376L;
/** Class logger. */
- private static Logger log = LoggerFactory.getLogger(ServiceInformationURLTag.class);
+ @Nonnull private static Logger log = LoggerFactory.getLogger(ServiceInformationURLTag.class);
/** Bean storage for the link text attribute. */
@Nullable private static String linkText;
@@ -87,4 +88,4 @@ public class ServiceInformationURLTag extends ServiceTagSupport {
return super.doEndTag();
}
-}
+}
\ No newline at end of file
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceLogoTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceLogoTag.java
index a842de2eb..4841e1af3 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceLogoTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceLogoTag.java
@@ -21,11 +21,13 @@ import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
+import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import jakarta.servlet.jsp.JspException;
import jakarta.servlet.jsp.JspWriter;
import jakarta.servlet.jsp.tagext.BodyContent;
import net.shibboleth.idp.ui.context.RelyingPartyUIContext;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.codec.HTMLEncoder;
import org.slf4j.Logger;
@@ -38,13 +40,13 @@ public class ServiceLogoTag extends ServiceTagSupport {
private static final long serialVersionUID = 5309357312113020929L;
/** Class logger. */
- private static Logger log = LoggerFactory.getLogger(ServiceLogoTag.class);
+ @Nonnull private static Logger log = LoggerFactory.getLogger(ServiceLogoTag.class);
/** what to emit if the jsp has nothing. */
- private static final String DEFAULT_VALUE = "";
+ @Nonnull @NotEmpty private static final String DEFAULT_VALUE = "";
/** what to emit as alt txt if all else fails. */
- private static final String DEFAULT_ALT_TXT = "SP Logo";
+ @Nonnull @NotEmpty private static final String DEFAULT_ALT_TXT = "SP Logo";
/** Bean storage. Size constraint X */
private int minWidth;
@@ -59,7 +61,7 @@ public class ServiceLogoTag extends ServiceTagSupport {
private int maxHeight = Integer.MAX_VALUE;
/** Bean storage. alt text */
- private String altTxt;
+ @Nullable private String altTxt;
/**
* Set the maximum width of the logo.
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceNameTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceNameTag.java
index a88c88a75..7946273f9 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceNameTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServiceNameTag.java
@@ -19,9 +19,13 @@ package net.shibboleth.idp.ui.taglib;
import java.io.IOException;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
import jakarta.servlet.jsp.JspException;
import jakarta.servlet.jsp.JspWriter;
import jakarta.servlet.jsp.tagext.BodyContent;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.codec.HTMLEncoder;
import org.slf4j.Logger;
@@ -43,20 +47,20 @@ public class ServiceNameTag extends ServiceTagSupport {
private static final long serialVersionUID = 2131709003267781456L;
/** Class logger. */
- private static Logger log = LoggerFactory.getLogger(ServiceNameTag.class);
+ @Nonnull private static Logger log = LoggerFactory.getLogger(ServiceNameTag.class);
/** what to emit if the jsp has nothing. */
- private static final String DEFAULT_VALUE = "Unspecified Service Provider";
+ @Nonnull @NotEmpty private static final String DEFAULT_VALUE = "Unspecified Service Provider";
/** Bean storage for default value. */
- private String defaultValue;
+ @Nullable private String defaultValue;
/**
* Set the default value.
*
* @param value what to set
*/
- public void setDefaultValue(final String value) {
+ public void setDefaultValue(@Nullable final String value) {
defaultValue = value;
}
@@ -90,4 +94,5 @@ public class ServiceNameTag extends ServiceTagSupport {
}
return super.doStartTag();
}
-}
+
+}
\ No newline at end of file
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServicePrivacyURLTag.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServicePrivacyURLTag.java
index c5afa87cc..e25c41d84 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServicePrivacyURLTag.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/ServicePrivacyURLTag.java
@@ -19,6 +19,7 @@ package net.shibboleth.idp.ui.taglib;
import java.io.IOException;
+import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.slf4j.Logger;
@@ -36,10 +37,10 @@ public class ServicePrivacyURLTag extends ServiceTagSupport {
private static final long serialVersionUID = -5857694815588394787L;
/** Class logger. */
- private static Logger log = LoggerFactory.getLogger(ServicePrivacyURLTag.class);
+ @Nonnull private static Logger log = LoggerFactory.getLogger(ServicePrivacyURLTag.class);
/** Bean storage for the link text attribute. */
- private static String linkText;
+ @Nullable private static String linkText;
/**
* Bean setter for the link text attribute.
@@ -86,4 +87,4 @@ public class ServicePrivacyURLTag extends ServiceTagSupport {
return super.doEndTag();
}
-}
+}
\ No newline at end of file
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/package-info.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/package-info.java
index 966dc1e7a..2faad7c63 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/package-info.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/taglib/package-info.java
@@ -18,5 +18,7 @@
/**
* Contains the code for the jsp taglibs.
*/
+ at NonnullElements
+package net.shibboleth.idp.ui.taglib;
-package net.shibboleth.idp.ui.taglib;
\ No newline at end of file
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list