[java-shib-profile] branch main updated: IDP-2083 - Treat NonnullElements as the default for collections
Scott Cantor
cantor.2 at osu.edu
Mon May 1 20:27:47 UTC 2023
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-shib-profile.
View the commit online:
http://git.shibboleth.net/view/?p=java-shib-profile.git;a=commit;h=9837078d419cdb9db324dc1235e1e35ca3da2267
The following commit(s) were added to refs/heads/main by this push:
new 9837078 IDP-2083 - Treat NonnullElements as the default for collections
9837078 is described below
commit 9837078d419cdb9db324dc1235e1e35ca3da2267
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon May 1 16:27:44 2023 -0400
IDP-2083 - Treat NonnullElements as the default for collections
https://shibboleth.atlassian.net/browse/IDP-2083
Review and annotate packages in java-shib-profile.
---
.../profile/config/logic/package-info.java | 5 +++-
...ntTLSValidationConfigurationLookupFunction.java | 3 +-
.../DecryptionConfigurationLookupFunction.java | 3 +-
.../EncryptionConfigurationLookupFunction.java | 3 +-
...ignatureSigningConfigurationLookupFunction.java | 3 +-
...atureValidationConfigurationLookupFunction.java | 3 +-
...pClientSecurityConfigurationLookupFunction.java | 3 +-
...ignatureSigningConfigurationLookupFunction.java | 3 +-
...atureValidationConfigurationLookupFunction.java | 3 +-
.../config/navigate/messaging/package-info.java | 5 +++-
.../profile/config/navigate/package-info.java | 5 +++-
.../shibboleth/profile/config/package-info.java | 4 ++-
.../shibboleth/profile/context/AuditContext.java | 4 +--
.../profile/context/RelyingPartyContext.java | 33 +++++++++++++++++++++-
.../context/logic/AbstractAttributePredicate.java | 3 +-
.../context/logic/DateAttributePredicate.java | 3 +-
.../context/logic/DynamicAttributePredicate.java | 10 +++----
.../context/logic/LoopDetectionPredicate.java | 5 ++--
.../context/logic/RegexAttributePredicate.java | 7 +++--
.../context/logic/RelyingPartyIdPredicate.java | 7 ++---
.../profile/context/logic/ScriptedPredicate.java | 9 +++---
.../context/logic/SimpleAttributePredicate.java | 9 +++---
.../context/logic/messaging/package-info.java | 5 +++-
.../profile/context/logic/package-info.java | 5 +++-
.../context/navigate/IssuerLookupFunction.java | 4 +--
.../navigate/ScriptedContextLookupFunction.java | 1 -
.../ServletRequestProfileRequestContextLookup.java | 5 ++--
.../profile/context/navigate/package-info.java | 5 +++-
.../shibboleth/profile/context/package-info.java | 5 +++-
.../BasicRelyingPartyConfiguration.java | 10 +++----
.../relyingparty/RelyingPartyConfiguration.java | 3 +-
.../RelyingPartyConfigurationResolver.java | 5 ++--
.../RelyingPartyCredentialResolver.java | 3 +-
.../profile/relyingparty/package-info.java | 5 +++-
.../profile/audit/impl/package-info.java | 5 +++-
.../profile/context/logic/impl/package-info.java | 5 +++-
.../impl/CriteriaSelfEntityIDResolver.java | 4 +--
.../DefaultRelyingPartyConfigurationResolver.java | 19 +++++--------
.../profile/relyingparty/impl/package-info.java | 5 +++-
.../profile/spring/impl/package-info.java | 5 +++-
.../net/shibboleth/saml/binding/package-info.java | 5 +++-
...SAMLAssertionConsumingProfileConfiguration.java | 3 +-
...SAMLAssertionProducingProfileConfiguration.java | 3 +-
.../config/logic/SignAssertionsPredicate.java | 2 +-
.../config/logic/SignRequestsPredicate.java | 10 ++++---
.../config/logic/messaging/package-info.java | 5 +++-
.../saml/profile/config/logic/package-info.java | 5 +++-
.../navigate/AssertionAudiencesLookupFunction.java | 4 ++-
.../AudienceRestrictionsLookupFunction.java | 3 +-
.../config/navigate/messaging/package-info.java | 5 +++-
.../saml/profile/config/navigate/package-info.java | 5 +++-
.../saml/profile/config/package-info.java | 5 +++-
.../logic/MappedEntityAttributesPredicate.java | 24 ++++++++--------
.../saml/profile/context/logic/package-info.java | 5 +++-
.../context/navigate/messaging/package-info.java | 5 +++-
.../profile/context/navigate/package-info.java | 5 +++-
.../RelyingPartyConfigurationSupport.java | 17 ++++-------
.../shibboleth/saml/relyingparty/package-info.java | 5 +++-
.../saml/saml1/profile/config/package-info.java | 5 +++-
.../config/BrowserSSOProfileConfiguration.java | 3 +-
.../config/SingleLogoutProfileConfiguration.java | 4 +--
.../config/logic/messaging/package-info.java | 5 +++-
.../saml2/profile/config/logic/package-info.java | 5 +++-
.../QualifiedNameIDFormatsLookupFunction.java | 3 +-
.../profile/config/navigate/package-info.java | 5 +++-
.../saml/saml2/profile/config/package-info.java | 5 +++-
66 files changed, 240 insertions(+), 143 deletions(-)
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/logic/package-info.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/logic/package-info.java
index 865da32..596d607 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/logic/package-info.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/logic/package-info.java
@@ -18,4 +18,7 @@
/**
* Predicates based on profile configuration settings.
*/
-package net.shibboleth.profile.config.logic;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.profile.config.logic;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/ClientTLSValidationConfigurationLookupFunction.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/ClientTLSValidationConfigurationLookupFunction.java
index 2673f0c..91d06d3 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/ClientTLSValidationConfigurationLookupFunction.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/ClientTLSValidationConfigurationLookupFunction.java
@@ -24,6 +24,7 @@ import javax.annotation.Nullable;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.shared.annotation.constraint.Live;
import org.opensaml.core.config.ConfigurationService;
import org.opensaml.profile.context.ProfileRequestContext;
@@ -39,7 +40,7 @@ public class ClientTLSValidationConfigurationLookupFunction
extends AbstractDefaultSecurityConfigurationLookupFunction<List<ClientTLSValidationConfiguration>> {
/** {@inheritDoc} */
- @Nullable public List<ClientTLSValidationConfiguration> apply(@Nullable final ProfileRequestContext input) {
+ @Nullable @Live public List<ClientTLSValidationConfiguration> apply(@Nullable final ProfileRequestContext input) {
final List<ClientTLSValidationConfiguration> configs = new ArrayList<>();
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/DecryptionConfigurationLookupFunction.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/DecryptionConfigurationLookupFunction.java
index 7b34b19..aaf3361 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/DecryptionConfigurationLookupFunction.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/DecryptionConfigurationLookupFunction.java
@@ -24,6 +24,7 @@ import javax.annotation.Nullable;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.shared.annotation.constraint.Live;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.security.config.SecurityConfiguration;
@@ -40,7 +41,7 @@ public class DecryptionConfigurationLookupFunction
extends AbstractDefaultSecurityConfigurationLookupFunction<List<DecryptionConfiguration>> {
/** {@inheritDoc} */
- @Nullable public List<DecryptionConfiguration> apply(@Nullable final ProfileRequestContext input) {
+ @Nullable @Live public List<DecryptionConfiguration> apply(@Nullable final ProfileRequestContext input) {
final List<DecryptionConfiguration> configs = new ArrayList<>();
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/EncryptionConfigurationLookupFunction.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/EncryptionConfigurationLookupFunction.java
index bb11527..890f2e2 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/EncryptionConfigurationLookupFunction.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/EncryptionConfigurationLookupFunction.java
@@ -24,6 +24,7 @@ import javax.annotation.Nullable;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.shared.annotation.constraint.Live;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.security.config.SecurityConfiguration;
@@ -40,7 +41,7 @@ public class EncryptionConfigurationLookupFunction
extends AbstractDefaultSecurityConfigurationLookupFunction<List<EncryptionConfiguration>> {
/** {@inheritDoc} */
- @Nullable public List<EncryptionConfiguration> apply(@Nullable final ProfileRequestContext input) {
+ @Nullable @Live public List<EncryptionConfiguration> apply(@Nullable final ProfileRequestContext input) {
final List<EncryptionConfiguration> configs = new ArrayList<>();
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/SignatureSigningConfigurationLookupFunction.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/SignatureSigningConfigurationLookupFunction.java
index 818968c..e828e79 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/SignatureSigningConfigurationLookupFunction.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/SignatureSigningConfigurationLookupFunction.java
@@ -24,6 +24,7 @@ import javax.annotation.Nullable;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.shared.annotation.constraint.Live;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.security.config.SecurityConfiguration;
@@ -40,7 +41,7 @@ public class SignatureSigningConfigurationLookupFunction
extends AbstractDefaultSecurityConfigurationLookupFunction<List<SignatureSigningConfiguration>> {
/** {@inheritDoc} */
- @Nullable public List<SignatureSigningConfiguration> apply(@Nullable final ProfileRequestContext input) {
+ @Nullable @Live public List<SignatureSigningConfiguration> apply(@Nullable final ProfileRequestContext input) {
final List<SignatureSigningConfiguration> configs = new ArrayList<>();
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/SignatureValidationConfigurationLookupFunction.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/SignatureValidationConfigurationLookupFunction.java
index e577112..398197c 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/SignatureValidationConfigurationLookupFunction.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/SignatureValidationConfigurationLookupFunction.java
@@ -24,6 +24,7 @@ import javax.annotation.Nullable;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.shared.annotation.constraint.Live;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.security.config.SecurityConfiguration;
@@ -40,7 +41,7 @@ public class SignatureValidationConfigurationLookupFunction
extends AbstractDefaultSecurityConfigurationLookupFunction<List<SignatureValidationConfiguration>> {
/** {@inheritDoc} */
- @Nullable public List<SignatureValidationConfiguration> apply(@Nullable final ProfileRequestContext input) {
+ @Nullable @Live public List<SignatureValidationConfiguration> apply(@Nullable final ProfileRequestContext input) {
final List<SignatureValidationConfiguration> configs = new ArrayList<>();
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/messaging/HttpClientSecurityConfigurationLookupFunction.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/messaging/HttpClientSecurityConfigurationLookupFunction.java
index efa4082..daeb6f1 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/messaging/HttpClientSecurityConfigurationLookupFunction.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/messaging/HttpClientSecurityConfigurationLookupFunction.java
@@ -29,6 +29,7 @@ import org.opensaml.security.httpclient.HttpClientSecuritySupport;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.shared.annotation.constraint.Live;
/**
* A {@link MessageContext} function that returns a {@link HttpClientSecurityConfiguration} list
@@ -40,7 +41,7 @@ public class HttpClientSecurityConfigurationLookupFunction
extends AbstractDefaultSecurityConfigurationLookupFunction<List<HttpClientSecurityConfiguration>> {
/** {@inheritDoc} */
- @Nullable public List<HttpClientSecurityConfiguration> apply(@Nullable final MessageContext input) {
+ @Nullable @Live public List<HttpClientSecurityConfiguration> apply(@Nullable final MessageContext input) {
final List<HttpClientSecurityConfiguration> configs = new ArrayList<>();
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/messaging/SignatureSigningConfigurationLookupFunction.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/messaging/SignatureSigningConfigurationLookupFunction.java
index 85387b0..1e6f4c2 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/messaging/SignatureSigningConfigurationLookupFunction.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/messaging/SignatureSigningConfigurationLookupFunction.java
@@ -30,6 +30,7 @@ import org.opensaml.xmlsec.config.XMLSecurityConfiguration;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.shared.annotation.constraint.Live;
/**
* A {@link MessageContext} function that returns a {@link SignatureSigningConfiguration} list
@@ -41,7 +42,7 @@ public class SignatureSigningConfigurationLookupFunction
extends AbstractDefaultSecurityConfigurationLookupFunction<List<SignatureSigningConfiguration>> {
/** {@inheritDoc} */
- @Nullable public List<SignatureSigningConfiguration> apply(@Nullable final MessageContext input) {
+ @Nullable @Live public List<SignatureSigningConfiguration> apply(@Nullable final MessageContext input) {
final List<SignatureSigningConfiguration> configs = new ArrayList<>();
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/messaging/SignatureValidationConfigurationLookupFunction.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/messaging/SignatureValidationConfigurationLookupFunction.java
index 0a317b0..0c7d457 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/messaging/SignatureValidationConfigurationLookupFunction.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/messaging/SignatureValidationConfigurationLookupFunction.java
@@ -30,6 +30,7 @@ import org.opensaml.xmlsec.config.XMLSecurityConfiguration;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.shared.annotation.constraint.Live;
/**
* A {@link MessageContext} function that returns a {@link SignatureValidationConfiguration} list
@@ -41,7 +42,7 @@ public class SignatureValidationConfigurationLookupFunction
extends AbstractDefaultSecurityConfigurationLookupFunction<List<SignatureValidationConfiguration>> {
/** {@inheritDoc} */
- @Nullable public List<SignatureValidationConfiguration> apply(@Nullable final MessageContext input) {
+ @Nullable @Live public List<SignatureValidationConfiguration> apply(@Nullable final MessageContext input) {
final List<SignatureValidationConfiguration> configs = new ArrayList<>();
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/messaging/package-info.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/messaging/package-info.java
index c33e005..058757e 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/messaging/package-info.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/messaging/package-info.java
@@ -19,4 +19,7 @@
* Lookup functions for accessing profile configuration and related settings via
* a message context.
*/
-package net.shibboleth.profile.config.navigate.messaging;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.profile.config.navigate.messaging;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/package-info.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/package-info.java
index ed3ed5c..db98583 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/package-info.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/navigate/package-info.java
@@ -18,4 +18,7 @@
/**
* Lookup functions for accessing profile configuration and related settings.
*/
-package net.shibboleth.profile.config.navigate;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.profile.config.navigate;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/package-info.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/package-info.java
index b3599a5..4c6469b 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/package-info.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/package-info.java
@@ -18,5 +18,7 @@
/**
* Classes pertaining to request-time profile configuration options.
*/
+ at NonnullElements
+package net.shibboleth.profile.config;
-package net.shibboleth.profile.config;
\ No newline at end of file
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/AuditContext.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/AuditContext.java
index 0643add..5e8ab32 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/AuditContext.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/AuditContext.java
@@ -36,7 +36,7 @@ import net.shibboleth.shared.annotation.constraint.NotEmpty;
public final class AuditContext extends BaseContext {
/** Extensible map of arbitrary field to data mappings. */
- @Nonnull @NonnullElements private Multimap<String,String> fieldMap;
+ @Nonnull private Multimap<String,String> fieldMap;
/** Constructor. */
public AuditContext() {
@@ -48,7 +48,7 @@ public final class AuditContext extends BaseContext {
*
* @return field/data mappings
*/
- @Nonnull @NonnullElements @Live public Multimap<String,String> getFields() {
+ @Nonnull @Live public Multimap<String,String> getFields() {
return fieldMap;
}
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/RelyingPartyContext.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/RelyingPartyContext.java
index e39b2ee..017462d 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/RelyingPartyContext.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/RelyingPartyContext.java
@@ -191,7 +191,21 @@ public final class RelyingPartyContext extends BaseContext {
@Nullable public RelyingPartyConfiguration getConfiguration() {
return relyingPartyConfiguration;
}
-
+
+ /**
+ * Get the relying party configuration, raising an {@link IllegalStateException} if null.
+ *
+ * @return the relying party configuration
+ *
+ * @since 5.0.0
+ */
+ @Nonnull public RelyingPartyConfiguration ensureConfiguration() {
+ if (relyingPartyConfiguration != null) {
+ return relyingPartyConfiguration;
+ }
+ throw new IllegalStateException("RelyingPartyConfiguration was null");
+ }
+
/**
* Set the configuration to use when processing requests for this relying party.
*
@@ -213,6 +227,23 @@ public final class RelyingPartyContext extends BaseContext {
return profileConfiguration;
}
+
+ /**
+ * Get the configuration for the request profile currently being processed,
+ * raising an {@link IllegalStateException} if null.
+ *
+ * @return profile configuration for the request profile currently being processed
+ *
+ * @since 5.0.0
+ */
+ @Nonnull public ProfileConfiguration ensureProfileConfig() {
+ if (profileConfiguration != null) {
+ return this.profileConfiguration;
+ }
+
+ throw new IllegalStateException("ProfileConfiguration was null");
+ }
+
/**
* Set the configuration for the request profile currently being processed.
*
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/AbstractAttributePredicate.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/AbstractAttributePredicate.java
index 8c78a9a..83f3a6d 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/AbstractAttributePredicate.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/AbstractAttributePredicate.java
@@ -31,7 +31,6 @@ import org.slf4j.Logger;
import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.context.AttributeContext;
import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -134,6 +133,6 @@ public abstract class AbstractAttributePredicate implements Predicate<ProfileReq
*
* @return the condition result
*/
- protected abstract boolean hasMatch(@Nonnull @NonnullElements final Map<String,IdPAttribute> attributeMap);
+ protected abstract boolean hasMatch(@Nonnull final Map<String,IdPAttribute> attributeMap);
}
\ No newline at end of file
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/DateAttributePredicate.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/DateAttributePredicate.java
index 315971d..505c2db 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/DateAttributePredicate.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/DateAttributePredicate.java
@@ -33,7 +33,6 @@ import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.IdPAttributeValue;
import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.shared.annotation.ParameterName;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -133,7 +132,7 @@ public class DateAttributePredicate extends AbstractAttributePredicate {
/** {@inheritDoc} */
@Override
- protected boolean hasMatch(@Nonnull @NonnullElements final Map<String,IdPAttribute> attributeMap) {
+ protected boolean hasMatch(@Nonnull final Map<String,IdPAttribute> attributeMap) {
final IdPAttribute attribute = attributeMap.get(attributeName);
if (attribute == null) {
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/DynamicAttributePredicate.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/DynamicAttributePredicate.java
index 384e113..f14dc7d 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/DynamicAttributePredicate.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/DynamicAttributePredicate.java
@@ -35,7 +35,6 @@ import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.IdPAttributeValue;
import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.attribute.context.AttributeContext;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -58,9 +57,10 @@ public class DynamicAttributePredicate extends AbstractAttributePredicate {
@Nonnull private final Logger log = LoggerFactory.getLogger(DynamicAttributePredicate.class);
/** Map of attribute IDs to functions. */
- @Nonnull @NonnullElements private ListMultimap<String,Function<ProfileRequestContext,Object>> attributeFunctionMap;
+ @Nonnull private ListMultimap<String,Function<ProfileRequestContext,Object>> attributeFunctionMap;
/** Constructor. */
+ @SuppressWarnings("null")
public DynamicAttributePredicate() {
attributeFunctionMap = ArrayListMultimap.create();
}
@@ -71,7 +71,7 @@ public class DynamicAttributePredicate extends AbstractAttributePredicate {
* @param map map of attribute/function pairs
*/
public void setAttributeFunctionMap(
- @Nonnull @NonnullElements final Map<String,Collection<Function<ProfileRequestContext,Object>>> map) {
+ @Nonnull final Map<String,Collection<Function<ProfileRequestContext,Object>>> map) {
Constraint.isNotNull(map, "Attribute/value map cannot be null");
attributeFunctionMap.clear();
@@ -103,7 +103,7 @@ public class DynamicAttributePredicate extends AbstractAttributePredicate {
/** {@inheritDoc} */
@Override
- protected boolean hasMatch(@Nonnull @NonnullElements final Map<String,IdPAttribute> attributeMap) {
+ protected boolean hasMatch(@Nonnull final Map<String,IdPAttribute> attributeMap) {
log.error("Method should never be called");
return false;
}
@@ -118,7 +118,7 @@ public class DynamicAttributePredicate extends AbstractAttributePredicate {
* @return the condition result
*/
protected boolean hasMatch(@Nullable final ProfileRequestContext profileRequestContext,
- @Nonnull @NonnullElements final Map<String,IdPAttribute> attributeMap) {
+ @Nonnull final Map<String,IdPAttribute> attributeMap) {
for (final String id : attributeFunctionMap.keySet()) {
log.debug("Checking for attribute: {}", id);
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/LoopDetectionPredicate.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/LoopDetectionPredicate.java
index f457338..b3217b9 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/LoopDetectionPredicate.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/LoopDetectionPredicate.java
@@ -33,7 +33,6 @@ import com.codahale.metrics.MetricRegistry.MetricSupplier;
import com.codahale.metrics.SlidingTimeWindowMovingAverages;
import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.Positive;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
@@ -54,7 +53,7 @@ public class LoopDetectionPredicate extends AbstractRelyingPartyPredicate {
private long threshold;
/** Map of RP names to meter names. */
- @Nonnull @NonnullElements private Map<String,String> relyingPartyMap;
+ @Nonnull private Map<String,String> relyingPartyMap;
/** Lookup strategy to obtain subject name. */
@Nonnull private Function<ProfileRequestContext,String> usernameLookupStrategy;
@@ -82,7 +81,7 @@ public class LoopDetectionPredicate extends AbstractRelyingPartyPredicate {
*
* @param map map of RP/meter mappings
*/
- public void setRelyingPartyMap(@Nullable @NonnullElements final Map<String,String> map) {
+ public void setRelyingPartyMap(@Nullable final Map<String,String> map) {
if (map != null) {
relyingPartyMap = CollectionSupport.copyToMap(map);
} else {
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/RegexAttributePredicate.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/RegexAttributePredicate.java
index 2256eb3..2ea1098 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/RegexAttributePredicate.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/RegexAttributePredicate.java
@@ -29,13 +29,14 @@ import org.slf4j.Logger;
import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.IdPAttributeValue;
import net.shibboleth.idp.attribute.StringAttributeValue;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.idp.attribute.context.AttributeContext;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.primitive.StringSupport;
+
/**
- * Predicate that evaluates an {@link net.shibboleth.idp.attribute.context.AttributeContext} and checks
+ * Predicate that evaluates an {@link AttributeContext} and checks
* a specific attribute for value(s) that match a regular expression.
*
* <p>This handles only simple string-valued data.</p>
@@ -97,7 +98,7 @@ public class RegexAttributePredicate extends AbstractAttributePredicate {
}
/** {@inheritDoc} */
- @Override protected boolean hasMatch(@Nonnull @NonnullElements final Map<String, IdPAttribute> attributeMap) {
+ @Override protected boolean hasMatch(@Nonnull final Map<String, IdPAttribute> attributeMap) {
if (attributeId == null || pattern == null) {
log.warn("Attribute ID or regular expression were not set");
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/RelyingPartyIdPredicate.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/RelyingPartyIdPredicate.java
index a14bbd3..c1dcef9 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/RelyingPartyIdPredicate.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/RelyingPartyIdPredicate.java
@@ -25,7 +25,6 @@ import javax.annotation.Nonnull;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
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.logic.StrategyIndirectedPredicate;
@@ -45,8 +44,7 @@ public class RelyingPartyIdPredicate extends StrategyIndirectedPredicate<Profile
*
* @param candidates hardwired set of values to check against
*/
- public RelyingPartyIdPredicate(
- @Nonnull @NonnullElements @ParameterName(name="candidates") final Collection<String> candidates) {
+ public RelyingPartyIdPredicate(@Nonnull @ParameterName(name="candidates") final Collection<String> candidates) {
super(new RelyingPartyIdLookupFunction(), StringSupport.normalizeStringCollection(candidates));
}
@@ -77,8 +75,7 @@ public class RelyingPartyIdPredicate extends StrategyIndirectedPredicate<Profile
*
* @since 3.4.0
*/
- @Nonnull public static RelyingPartyIdPredicate fromCandidates(
- @Nonnull @NonnullElements final Collection<String> candidates) {
+ @Nonnull public static RelyingPartyIdPredicate fromCandidates(@Nonnull final Collection<String> candidates) {
return new RelyingPartyIdPredicate(candidates);
}
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/ScriptedPredicate.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/ScriptedPredicate.java
index 426c304..4ba6672 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/ScriptedPredicate.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/ScriptedPredicate.java
@@ -77,7 +77,7 @@ public class ScriptedPredicate
* @throws ScriptException if the compile fails
* @throws IOException if the file doesn't exist.
*/
- public static ScriptedPredicate resourceScript(@Nonnull @NotEmpty final String engineName,
+ @Nonnull public static ScriptedPredicate resourceScript(@Nonnull @NotEmpty final String engineName,
@Nonnull final Resource resource) throws ScriptException, IOException {
try (final InputStream is = resource.getInputStream()) {
final EvaluableScript script = new EvaluableScript();
@@ -96,7 +96,7 @@ public class ScriptedPredicate
* @throws ScriptException if the compile fails
* @throws IOException if the file doesn't exist.
*/
- public static ScriptedPredicate resourceScript(@Nonnull final Resource resource)
+ @Nonnull public static ScriptedPredicate resourceScript(@Nonnull final Resource resource)
throws ScriptException, IOException {
return resourceScript(DEFAULT_ENGINE, resource);
}
@@ -109,7 +109,7 @@ public class ScriptedPredicate
* @return the predicate
* @throws ScriptException if the compile fails
*/
- public static ScriptedPredicate inlineScript(@Nonnull @NotEmpty final String engineName,
+ @Nonnull public static ScriptedPredicate inlineScript(@Nonnull @NotEmpty final String engineName,
@Nonnull @NotEmpty final String scriptSource) throws ScriptException {
final EvaluableScript script = new EvaluableScript();
script.setEngineName(engineName);
@@ -125,7 +125,8 @@ public class ScriptedPredicate
* @return the predicate
* @throws ScriptException if the compile fails
*/
- public static ScriptedPredicate inlineScript(@Nonnull @NotEmpty final String scriptSource) throws ScriptException {
+ @Nonnull public static ScriptedPredicate inlineScript(@Nonnull @NotEmpty final String scriptSource)
+ throws ScriptException {
return inlineScript(DEFAULT_ENGINE, scriptSource);
}
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/SimpleAttributePredicate.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/SimpleAttributePredicate.java
index 1c6b166..59a3701 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/SimpleAttributePredicate.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/SimpleAttributePredicate.java
@@ -32,7 +32,6 @@ import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.IdPAttributeValue;
import net.shibboleth.idp.attribute.ScopedStringAttributeValue;
import net.shibboleth.idp.attribute.StringAttributeValue;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -57,12 +56,13 @@ public class SimpleAttributePredicate extends AbstractAttributePredicate {
@Nonnull private final Logger log = LoggerFactory.getLogger(SimpleAttributePredicate.class);
/** Map of attribute IDs to values. */
- @Nonnull @NonnullElements private ListMultimap<String,String> attributeValueMap;
+ @Nonnull private ListMultimap<String,String> attributeValueMap;
/** Optional scope to check. */
@Nullable @NotEmpty private String scope;
/** Constructor. */
+ @SuppressWarnings("null")
public SimpleAttributePredicate() {
attributeValueMap = ArrayListMultimap.create();
}
@@ -72,7 +72,7 @@ public class SimpleAttributePredicate extends AbstractAttributePredicate {
*
* @param map map of attribute/value pairs
*/
- public void setAttributeValueMap(@Nonnull @NonnullElements final Map<String,Collection<String>> map) {
+ public void setAttributeValueMap(@Nonnull final Map<String,Collection<String>> map) {
Constraint.isNotNull(map, "Attribute/value map cannot be null");
attributeValueMap.clear();
@@ -104,7 +104,7 @@ public class SimpleAttributePredicate extends AbstractAttributePredicate {
/** {@inheritDoc} */
@Override
- protected boolean hasMatch(final Map<String, IdPAttribute> attributeMap) {
+ protected boolean hasMatch(@Nonnull final Map<String, IdPAttribute> attributeMap) {
for (final String id : attributeValueMap.keySet()) {
log.debug("Checking for attribute: {}", id);
@@ -117,6 +117,7 @@ public class SimpleAttributePredicate extends AbstractAttributePredicate {
boolean matched = false;
for (final String value : attributeValueMap.get(id)) {
+ assert value != null;
if (findMatch(value, attribute)) {
matched = true;
break;
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/messaging/package-info.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/messaging/package-info.java
index 27ac960..2fcd6a7 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/messaging/package-info.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/messaging/package-info.java
@@ -18,4 +18,7 @@
/**
* Predicates that evaluate message contexts.
*/
-package net.shibboleth.profile.context.logic.messaging;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.profile.context.logic.messaging;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/package-info.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/package-info.java
index f67fb88..abb95d9 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/package-info.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/logic/package-info.java
@@ -18,4 +18,7 @@
/**
* Predicates that evaluate profile contexts.
*/
-package net.shibboleth.profile.context.logic;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.profile.context.logic;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/navigate/IssuerLookupFunction.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/navigate/IssuerLookupFunction.java
index ddf3024..8114ab4 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/navigate/IssuerLookupFunction.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/navigate/IssuerLookupFunction.java
@@ -44,8 +44,8 @@ public class IssuerLookupFunction extends AbstractRelyingPartyLookupFunction<Str
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc instanceof OverriddenIssuerProfileConfiguration) {
- final String issuer = ((OverriddenIssuerProfileConfiguration) pc).getIssuer(input);
+ if (pc instanceof OverriddenIssuerProfileConfiguration downcast) {
+ final String issuer = downcast.getIssuer(input);
if (issuer != null) {
return issuer;
}
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/navigate/ScriptedContextLookupFunction.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/navigate/ScriptedContextLookupFunction.java
index 0cedf0d..3e7ad07 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/navigate/ScriptedContextLookupFunction.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/navigate/ScriptedContextLookupFunction.java
@@ -42,7 +42,6 @@ import org.springframework.core.io.Resource;
*
* @param <T> the specific type of context
*/
- at SuppressWarnings("removal")
public class ScriptedContextLookupFunction<T extends BaseContext> extends AbstractScriptEvaluator
implements ContextDataLookupFunction<T,Object> {
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/navigate/ServletRequestProfileRequestContextLookup.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/navigate/ServletRequestProfileRequestContextLookup.java
index 27e555c..b6faa8b 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/navigate/ServletRequestProfileRequestContextLookup.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/navigate/ServletRequestProfileRequestContextLookup.java
@@ -32,9 +32,8 @@ import jakarta.servlet.ServletRequest;
public class ServletRequestProfileRequestContextLookup implements Function<ServletRequest,ProfileRequestContext> {
/** {@inheritDoc} */
- @Nullable
- public ProfileRequestContext apply(final ServletRequest input) {
- return (ProfileRequestContext) input.getAttribute(ProfileRequestContext.BINDING_KEY);
+ @Nullable public ProfileRequestContext apply(@Nullable final ServletRequest input) {
+ return input != null ? (ProfileRequestContext) input.getAttribute(ProfileRequestContext.BINDING_KEY) : null;
}
}
\ No newline at end of file
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/navigate/package-info.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/navigate/package-info.java
index 381aa04..2cb7625 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/navigate/package-info.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/navigate/package-info.java
@@ -18,4 +18,7 @@
/**
* Context lookup functions that navigate profile contexts.
*/
-package net.shibboleth.profile.context.navigate;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.profile.context.navigate;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/context/package-info.java b/shib-profile-api/src/main/java/net/shibboleth/profile/context/package-info.java
index 329b652..6ec4f61 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/context/package-info.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/context/package-info.java
@@ -18,4 +18,7 @@
/**
* Context classes used in profile handling.
*/
-package net.shibboleth.profile.context;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.profile.context;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/BasicRelyingPartyConfiguration.java b/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/BasicRelyingPartyConfiguration.java
index d433f2c..2d009f5 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/BasicRelyingPartyConfiguration.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/BasicRelyingPartyConfiguration.java
@@ -19,7 +19,6 @@ package net.shibboleth.profile.relyingparty;
import java.util.Collection;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.function.Predicate;
@@ -31,7 +30,6 @@ import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.security.config.SecurityConfiguration;
import net.shibboleth.profile.config.ProfileConfiguration;
-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;
@@ -184,7 +182,7 @@ public class BasicRelyingPartyConfiguration extends AbstractIdentifiableInitiali
}
/** {@inheritDoc} */
- @Nonnull @NonnullElements @Unmodifiable @NotLive public Map<String,ProfileConfiguration> getProfileConfigurations(
+ @Nonnull @Unmodifiable @NotLive public Map<String,ProfileConfiguration> getProfileConfigurations(
@Nullable final ProfileRequestContext profileRequestContext) {
final Map<String,ProfileConfiguration> map = profileConfigurationsLookupStrategy.apply(profileRequestContext);
@@ -210,19 +208,19 @@ public class BasicRelyingPartyConfiguration extends AbstractIdentifiableInitiali
*
* @param configs the configurations to set
*/
- public void setProfileConfigurations(@Nullable @NonnullElements final Collection<ProfileConfiguration> configs) {
+ public void setProfileConfigurations(@Nullable final Collection<ProfileConfiguration> configs) {
checkSetterPreconditions();
if (configs == null) {
profileConfigurationsLookupStrategy = FunctionSupport.constant(null);
} else {
final HashMap<String,ProfileConfiguration> map = new HashMap<>();
- for (final ProfileConfiguration config : List.copyOf(configs)) {
+ for (final ProfileConfiguration config : configs) {
final String trimmedId =
Constraint.isNotNull(StringSupport.trimOrNull(config.getId()),
"ID of profile configuration class " + config.getClass().getName() + " cannot be null");
map.put(trimmedId, config);
}
- profileConfigurationsLookupStrategy = FunctionSupport.constant(Map.copyOf(map));
+ profileConfigurationsLookupStrategy = FunctionSupport.constant(map);
}
}
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/RelyingPartyConfiguration.java b/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/RelyingPartyConfiguration.java
index 3f4d061..981478f 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/RelyingPartyConfiguration.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/RelyingPartyConfiguration.java
@@ -27,7 +27,6 @@ import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.security.config.SecurityConfiguration;
import net.shibboleth.profile.config.ProfileConfiguration;
-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;
@@ -96,7 +95,7 @@ public interface RelyingPartyConfiguration extends InitializableComponent, Ident
*
* @return unmodifiable set of profile configurations for this relying party, never null
*/
- @Nonnull @NonnullElements @Unmodifiable @NotLive Map<String,ProfileConfiguration> getProfileConfigurations(
+ @Nonnull @Unmodifiable @NotLive Map<String,ProfileConfiguration> getProfileConfigurations(
@Nullable final ProfileRequestContext profileRequestContext);
/**
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/RelyingPartyConfigurationResolver.java b/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/RelyingPartyConfigurationResolver.java
index f2dfedc..06b74d5 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/RelyingPartyConfigurationResolver.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/RelyingPartyConfigurationResolver.java
@@ -24,7 +24,6 @@ import javax.annotation.Nonnull;
import org.opensaml.profile.criterion.ProfileRequestContextCriterion;
import org.opensaml.security.credential.Credential;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
import net.shibboleth.shared.component.IdentifiedComponent;
@@ -50,13 +49,13 @@ public interface RelyingPartyConfigurationResolver extends Resolver<RelyingParty
*
* @return signing credentials
*/
- @Nonnull @NonnullElements @Unmodifiable @NotLive public Collection<Credential> getSigningCredentials();
+ @Nonnull @Unmodifiable @NotLive public Collection<Credential> getSigningCredentials();
/**
* Directly expose any configured encryption (really decryption) credentials.
*
* @return signing credentials
*/
- @Nonnull @NonnullElements @Unmodifiable @NotLive public Collection<Credential> getEncryptionCredentials();
+ @Nonnull @Unmodifiable @NotLive public Collection<Credential> getEncryptionCredentials();
}
\ No newline at end of file
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/RelyingPartyCredentialResolver.java b/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/RelyingPartyCredentialResolver.java
index 3cb5560..facbe37 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/RelyingPartyCredentialResolver.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/RelyingPartyCredentialResolver.java
@@ -85,8 +85,7 @@ public class RelyingPartyCredentialResolver implements CredentialResolver, Ident
}
/** {@inheritDoc} */
- @Nonnull public Iterable<Credential> resolve(@Nullable final CriteriaSet criteria)
- throws ResolverException {
+ @Nonnull public Iterable<Credential> resolve(@Nullable final CriteriaSet criteria) throws ResolverException {
final UsageCriterion usage = criteria != null ? criteria.get(UsageCriterion.class) : null;
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/package-info.java b/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/package-info.java
index e3947e9..b8b50f7 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/package-info.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/package-info.java
@@ -18,4 +18,7 @@
/**
* Shared RelyingPartyConfiguration and resolver APIs.
*/
-package net.shibboleth.profile.relyingparty;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.profile.relyingparty;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-profile-impl/src/main/java/net/shibboleth/profile/audit/impl/package-info.java b/shib-profile-impl/src/main/java/net/shibboleth/profile/audit/impl/package-info.java
index 018eaf7..f29c22a 100644
--- a/shib-profile-impl/src/main/java/net/shibboleth/profile/audit/impl/package-info.java
+++ b/shib-profile-impl/src/main/java/net/shibboleth/profile/audit/impl/package-info.java
@@ -18,4 +18,7 @@
/**
* Audit implementation classes.
*/
-package net.shibboleth.profile.audit.impl;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.profile.audit.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-profile-impl/src/main/java/net/shibboleth/profile/context/logic/impl/package-info.java b/shib-profile-impl/src/main/java/net/shibboleth/profile/context/logic/impl/package-info.java
index 30d803f..4439907 100644
--- a/shib-profile-impl/src/main/java/net/shibboleth/profile/context/logic/impl/package-info.java
+++ b/shib-profile-impl/src/main/java/net/shibboleth/profile/context/logic/impl/package-info.java
@@ -18,4 +18,7 @@
/**
* Implementation classes supporting profile predicates.
*/
-package net.shibboleth.profile.context.logic.impl;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.profile.context.logic.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-profile-impl/src/main/java/net/shibboleth/profile/relyingparty/impl/CriteriaSelfEntityIDResolver.java b/shib-profile-impl/src/main/java/net/shibboleth/profile/relyingparty/impl/CriteriaSelfEntityIDResolver.java
index 79d15e9..301bbef 100644
--- a/shib-profile-impl/src/main/java/net/shibboleth/profile/relyingparty/impl/CriteriaSelfEntityIDResolver.java
+++ b/shib-profile-impl/src/main/java/net/shibboleth/profile/relyingparty/impl/CriteriaSelfEntityIDResolver.java
@@ -34,7 +34,6 @@ import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
import net.shibboleth.profile.relyingparty.RelyingPartyConfigurationResolver;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent;
@@ -99,8 +98,7 @@ public class CriteriaSelfEntityIDResolver extends AbstractIdentifiedInitializabl
}
/** {@inheritDoc} */
- @Nonnull @NonnullElements public Iterable<String> resolve(@Nullable final CriteriaSet criteria)
- throws ResolverException {
+ @Nonnull public Iterable<String> resolve(@Nullable final CriteriaSet criteria) throws ResolverException {
checkComponentActive();
final String entityID = resolveSingle(criteria);
if (entityID != null) {
diff --git a/shib-profile-impl/src/main/java/net/shibboleth/profile/relyingparty/impl/DefaultRelyingPartyConfigurationResolver.java b/shib-profile-impl/src/main/java/net/shibboleth/profile/relyingparty/impl/DefaultRelyingPartyConfigurationResolver.java
index b296eb4..3f62de5 100644
--- a/shib-profile-impl/src/main/java/net/shibboleth/profile/relyingparty/impl/DefaultRelyingPartyConfigurationResolver.java
+++ b/shib-profile-impl/src/main/java/net/shibboleth/profile/relyingparty/impl/DefaultRelyingPartyConfigurationResolver.java
@@ -43,7 +43,6 @@ import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
import net.shibboleth.profile.relyingparty.RelyingPartyConfigurationResolver;
import net.shibboleth.profile.relyingparty.VerifiedProfileCriterion;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
import net.shibboleth.shared.collection.CollectionSupport;
@@ -106,7 +105,7 @@ public class DefaultRelyingPartyConfigurationResolver extends AbstractIdentifiab
*
* @return unmodifiable list of verified relying party configurations
*/
- @Nonnull @NonnullElements @Unmodifiable @NotLive
+ @Nonnull @Unmodifiable @NotLive
public Collection<? extends RelyingPartyConfiguration> getRelyingPartyConfigurations() {
return rpConfigurations;
}
@@ -116,8 +115,7 @@ public class DefaultRelyingPartyConfigurationResolver extends AbstractIdentifiab
*
* @param configs list of verified relying party configurations
*/
- public void setRelyingPartyConfigurations(
- @Nullable @NonnullElements final Collection<? extends RelyingPartyConfiguration> configs) {
+ public void setRelyingPartyConfigurations(@Nullable final Collection<? extends RelyingPartyConfiguration> configs) {
checkSetterPreconditions();
if (configs != null) {
@@ -184,8 +182,7 @@ public class DefaultRelyingPartyConfigurationResolver extends AbstractIdentifiab
}
/** {@inheritDoc} */
- @Nonnull @NonnullElements public Iterable<RelyingPartyConfiguration> resolve(@Nullable final CriteriaSet criteria)
- throws ResolverException {
+ @Nonnull public Iterable<RelyingPartyConfiguration> resolve(@Nullable final CriteriaSet criteria) throws ResolverException {
checkComponentActive();
log.debug("Resolving relying party configuration");
@@ -277,7 +274,7 @@ public class DefaultRelyingPartyConfigurationResolver extends AbstractIdentifiab
}
/** {@inheritDoc} */
- @Nonnull @NonnullElements @Unmodifiable @NotLive public Collection<Credential> getSigningCredentials() {
+ @Nonnull @Unmodifiable @NotLive public Collection<Credential> getSigningCredentials() {
return signingCredentials;
}
@@ -288,8 +285,7 @@ public class DefaultRelyingPartyConfigurationResolver extends AbstractIdentifiab
*/
@Autowired
@Qualifier("signing")
- public void setSigningCredentials(
- @Nullable @NonnullElements final List<CredentialHolder> credentials) {
+ public void setSigningCredentials(@Nullable final List<CredentialHolder> credentials) {
checkSetterPreconditions();
if (credentials != null) {
@@ -302,7 +298,7 @@ public class DefaultRelyingPartyConfigurationResolver extends AbstractIdentifiab
}
/** {@inheritDoc} */
- @Nonnull @NonnullElements @Unmodifiable @NotLive public Collection<Credential> getEncryptionCredentials() {
+ @Nonnull @Unmodifiable @NotLive public Collection<Credential> getEncryptionCredentials() {
return encryptionCredentials;
}
@@ -313,8 +309,7 @@ public class DefaultRelyingPartyConfigurationResolver extends AbstractIdentifiab
*/
@Autowired
@Qualifier("encryption")
- public void setEncryptionCredentials(
- @Nullable @NonnullElements final List<CredentialHolder> credentials) {
+ public void setEncryptionCredentials(@Nullable final List<CredentialHolder> credentials) {
checkSetterPreconditions();
if (credentials != null) {
diff --git a/shib-profile-impl/src/main/java/net/shibboleth/profile/relyingparty/impl/package-info.java b/shib-profile-impl/src/main/java/net/shibboleth/profile/relyingparty/impl/package-info.java
index a394c02..cd5a5ca 100644
--- a/shib-profile-impl/src/main/java/net/shibboleth/profile/relyingparty/impl/package-info.java
+++ b/shib-profile-impl/src/main/java/net/shibboleth/profile/relyingparty/impl/package-info.java
@@ -18,4 +18,7 @@
/**
* Implementation of relying party resolution.
*/
-package net.shibboleth.profile.relyingparty.impl;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.profile.relyingparty.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-profile-impl/src/main/java/net/shibboleth/profile/spring/impl/package-info.java b/shib-profile-impl/src/main/java/net/shibboleth/profile/spring/impl/package-info.java
index 650f9db..fb3934e 100644
--- a/shib-profile-impl/src/main/java/net/shibboleth/profile/spring/impl/package-info.java
+++ b/shib-profile-impl/src/main/java/net/shibboleth/profile/spring/impl/package-info.java
@@ -18,4 +18,7 @@
/**
* Spring helper classes for profile-aware software.
*/
-package net.shibboleth.profile.spring.impl;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.profile.spring.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/binding/package-info.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/binding/package-info.java
index 1ec56b0..744ec6d 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/binding/package-info.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/binding/package-info.java
@@ -18,4 +18,7 @@
/**
* Classes related to SAML bindings.
*/
-package net.shibboleth.saml.binding;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.saml.binding;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLAssertionConsumingProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLAssertionConsumingProfileConfiguration.java
index 321e4c3..e08ef12 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLAssertionConsumingProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLAssertionConsumingProfileConfiguration.java
@@ -27,7 +27,6 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.saml.saml2.profile.config.SAML2ProfileConfiguration;
import net.shibboleth.shared.annotation.constraint.NonNegative;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
@@ -61,7 +60,7 @@ public interface SAMLAssertionConsumingProfileConfiguration extends SAML2Profile
*
* @return additional audiences
*/
- @Nonnull @NonnullElements @NotLive @Unmodifiable
+ @Nonnull @NotLive @Unmodifiable
Set<String> getAssertionAudiences( @Nullable final ProfileRequestContext profileRequestContext);
}
\ No newline at end of file
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLAssertionProducingProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLAssertionProducingProfileConfiguration.java
index c2d8d86..13d178e 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLAssertionProducingProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLAssertionProducingProfileConfiguration.java
@@ -26,7 +26,6 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.shared.annotation.constraint.NonNegative;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
@@ -74,7 +73,7 @@ public interface SAMLAssertionProducingProfileConfiguration extends SAMLProfileC
*
* @return additional audiences to which an assertion may be shared
*/
- @Nonnull @NonnullElements @NotLive @Unmodifiable
+ @Nonnull @NotLive @Unmodifiable
Set<String> getAssertionAudiences(@Nullable final ProfileRequestContext profileRequestContext);
}
\ No newline at end of file
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/logic/SignAssertionsPredicate.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/logic/SignAssertionsPredicate.java
index fa1c653..5136f23 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/logic/SignAssertionsPredicate.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/logic/SignAssertionsPredicate.java
@@ -44,7 +44,7 @@ public class SignAssertionsPredicate extends AbstractRelyingPartyPredicate {
private boolean honorMetadata;
/** Lookup strategy for {@link SAMLMetadataContext}. */
- private Function<ProfileRequestContext,SAMLMetadataContext> metadataContextLookupStrategy;
+ @Nonnull private Function<ProfileRequestContext,SAMLMetadataContext> metadataContextLookupStrategy;
/** Constructor. */
public SignAssertionsPredicate() {
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/logic/SignRequestsPredicate.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/logic/SignRequestsPredicate.java
index 8f7f2be..76e00c8 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/logic/SignRequestsPredicate.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/logic/SignRequestsPredicate.java
@@ -22,6 +22,7 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.context.logic.AbstractRelyingPartyPredicate;
import net.shibboleth.saml.profile.context.navigate.SAMLMetadataContextLookupFunction;
@@ -45,7 +46,7 @@ public class SignRequestsPredicate extends AbstractRelyingPartyPredicate {
private boolean honorMetadata;
/** Lookup strategy for {@link SAMLMetadataContext}. */
- private Function<ProfileRequestContext,SAMLMetadataContext> metadataContextLookupStrategy;
+ @Nonnull private Function<ProfileRequestContext,SAMLMetadataContext> metadataContextLookupStrategy;
/** Constructor. */
public SignRequestsPredicate() {
@@ -86,12 +87,13 @@ public class SignRequestsPredicate extends AbstractRelyingPartyPredicate {
final RelyingPartyContext rpc = getRelyingPartyContext(input);
if (rpc != null) {
- if (rpc.getProfileConfig() instanceof SAMLProfileConfiguration downcast) {
- if (downcast.isSignRequests(input)) {
+ final ProfileConfiguration pc = rpc.getProfileConfig();
+ if (pc instanceof SAMLProfileConfiguration) {
+ if (((SAMLProfileConfiguration) pc).isSignRequests(input)) {
return true;
}
- if (downcast instanceof BrowserSSOProfileConfiguration) {
+ if (pc instanceof BrowserSSOProfileConfiguration) {
sso = true;
}
}
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/logic/messaging/package-info.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/logic/messaging/package-info.java
index 4e058f5..7b267c9 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/logic/messaging/package-info.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/logic/messaging/package-info.java
@@ -18,4 +18,7 @@
/**
* Predicates based on message contexts and SAML profile configuration.
*/
-package net.shibboleth.saml.profile.config.logic.messaging;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.saml.profile.config.logic.messaging;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/logic/package-info.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/logic/package-info.java
index b75813e..0311372 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/logic/package-info.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/logic/package-info.java
@@ -18,4 +18,7 @@
/**
* Predicates based on SAML profile configuration.
*/
-package net.shibboleth.saml.profile.config.logic;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.saml.profile.config.logic;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/navigate/AssertionAudiencesLookupFunction.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/navigate/AssertionAudiencesLookupFunction.java
index f4181ea..c14d149 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/navigate/AssertionAudiencesLookupFunction.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/navigate/AssertionAudiencesLookupFunction.java
@@ -26,6 +26,8 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.saml.profile.config.SAMLAssertionProducingProfileConfiguration;
+import net.shibboleth.shared.annotation.constraint.NotLive;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
/**
* A function that returns
@@ -38,7 +40,7 @@ import net.shibboleth.saml.profile.config.SAMLAssertionProducingProfileConfigura
public class AssertionAudiencesLookupFunction extends AbstractRelyingPartyLookupFunction<Set<String>> {
/** {@inheritDoc} */
- @Nullable public Set<String> apply(@Nullable final ProfileRequestContext input) {
+ @Nullable @NotLive @Unmodifiable public Set<String> apply(@Nullable final ProfileRequestContext input) {
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
if (rpc.getProfileConfig() instanceof SAMLAssertionProducingProfileConfiguration downcast) {
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/navigate/AudienceRestrictionsLookupFunction.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/navigate/AudienceRestrictionsLookupFunction.java
index 8db15b6..64b14ab 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/navigate/AudienceRestrictionsLookupFunction.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/navigate/AudienceRestrictionsLookupFunction.java
@@ -25,7 +25,6 @@ import javax.annotation.Nullable;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.saml.profile.config.SAMLAssertionProducingProfileConfiguration;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
import net.shibboleth.shared.collection.CollectionSupport;
@@ -47,7 +46,7 @@ import com.google.common.collect.ImmutableList;
public class AudienceRestrictionsLookupFunction extends AbstractRelyingPartyLookupFunction<Collection<String>> {
/** {@inheritDoc} */
- @Nullable @NonnullElements @NotLive @Unmodifiable public Collection<String> apply(
+ @Nullable @NotLive @Unmodifiable public Collection<String> apply(
@Nullable final ProfileRequestContext input) {
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/navigate/messaging/package-info.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/navigate/messaging/package-info.java
index d332c74..f5e7f04 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/navigate/messaging/package-info.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/navigate/messaging/package-info.java
@@ -18,4 +18,7 @@
/**
* Functions based on message contexts and SAML profile configuration.
*/
-package net.shibboleth.saml.profile.config.navigate.messaging;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.saml.profile.config.navigate.messaging;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/navigate/package-info.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/navigate/package-info.java
index 5ac0471..6a95d30 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/navigate/package-info.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/navigate/package-info.java
@@ -18,4 +18,7 @@
/**
* Functions to navigate into SAML profile configuration.
*/
-package net.shibboleth.saml.profile.config.navigate;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.saml.profile.config.navigate;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/package-info.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/package-info.java
index 7262525..cabfa85 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/package-info.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/package-info.java
@@ -18,4 +18,7 @@
/**
* Generic SAML profile configuration.
*/
-package net.shibboleth.saml.profile.config;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.saml.profile.config;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/context/logic/MappedEntityAttributesPredicate.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/context/logic/MappedEntityAttributesPredicate.java
index 7576340..2523e7f 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/context/logic/MappedEntityAttributesPredicate.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/context/logic/MappedEntityAttributesPredicate.java
@@ -39,7 +39,6 @@ import net.shibboleth.idp.attribute.AttributesMapContainer;
import net.shibboleth.idp.attribute.EmptyAttributeValue;
import net.shibboleth.idp.attribute.EmptyAttributeValue.EmptyType;
import net.shibboleth.shared.annotation.ParameterName;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -69,7 +68,7 @@ public class MappedEntityAttributesPredicate extends EntityAttributesPredicate {
* @param candidates the {@link Candidate} criteria to check for
*/
public MappedEntityAttributesPredicate(
- @Nonnull @NonnullElements @ParameterName(name="candidates") final Collection<Candidate> candidates) {
+ @Nonnull @ParameterName(name="candidates") final Collection<Candidate> candidates) {
super(candidates);
Constraint.isTrue(Iterables.all(candidates, c -> c.getNameFormat() == null),
@@ -83,7 +82,7 @@ public class MappedEntityAttributesPredicate extends EntityAttributesPredicate {
* @param trim true iff the values found in the metadata should be trimmed before comparison
*/
public MappedEntityAttributesPredicate(
- @Nonnull @NonnullElements @ParameterName(name="candidates") final Collection<Candidate> candidates,
+ @Nonnull @ParameterName(name="candidates") final Collection<Candidate> candidates,
@ParameterName(name="trim") final boolean trim) {
super(candidates, trim);
@@ -99,7 +98,7 @@ public class MappedEntityAttributesPredicate extends EntityAttributesPredicate {
* @param all true iff all the criteria must match to be a successful test
*/
public MappedEntityAttributesPredicate(
- @Nonnull @NonnullElements @ParameterName(name="candidates") final Collection<Candidate> candidates,
+ @Nonnull @ParameterName(name="candidates") final Collection<Candidate> candidates,
@ParameterName(name="trim") final boolean trim,
@ParameterName(name="all") final boolean all) {
super(candidates, trim, all);
@@ -167,7 +166,7 @@ public class MappedEntityAttributesPredicate extends EntityAttributesPredicate {
* @return true iff the attached object metadata matched at least one input candidate
*/
private boolean doTest(@Nonnull final XMLObject input, @Nullable final String name,
- @Nonnull @NonnullElements final Collection<Candidate> candidates) {
+ @Nonnull final Collection<Candidate> candidates) {
final List<AttributesMapContainer> containerList =
input.getObjectMetadata().get(AttributesMapContainer.class);
if (null == containerList || containerList.isEmpty() || containerList.get(0).get() == null ||
@@ -200,7 +199,7 @@ public class MappedEntityAttributesPredicate extends EntityAttributesPredicate {
*
* @param attrs population to evaluate for a match
*/
- public EntityAttributesMatcher(@Nonnull @NonnullElements final Multimap<String,? extends IdPAttribute> attrs) {
+ public EntityAttributesMatcher(@Nonnull final Multimap<String,? extends IdPAttribute> attrs) {
attributes = Constraint.isNotNull(attrs, "Extension attributes cannot be null");
}
@@ -286,13 +285,12 @@ public class MappedEntityAttributesPredicate extends EntityAttributesPredicate {
*/
@Nullable private String attributeValueToString(@Nonnull final IdPAttributeValue value) {
- if (value instanceof ScopedStringAttributeValue) {
- return ((ScopedStringAttributeValue) value).getValue() + scopeDelimiter +
- ((ScopedStringAttributeValue) value).getScope();
- } else if (value instanceof StringAttributeValue) {
- return ((StringAttributeValue) value).getValue();
- } else if (value instanceof EmptyAttributeValue) {
- final EmptyType empty = ((EmptyAttributeValue) value).getValue();
+ if (value instanceof ScopedStringAttributeValue scoped) {
+ return scoped.getValue() + scopeDelimiter + scoped.getScope();
+ } else if (value instanceof StringAttributeValue string) {
+ return string.getValue();
+ } else if (value instanceof EmptyAttributeValue ev) {
+ final EmptyType empty = ev.getValue();
return EmptyType.ZERO_LENGTH_VALUE.equals(empty) ? "" : null;
}
return null;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/context/logic/package-info.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/context/logic/package-info.java
index c0e1ba0..0992610 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/context/logic/package-info.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/context/logic/package-info.java
@@ -18,4 +18,7 @@
/**
* Predicates operating against SAML contexts.
*/
-package net.shibboleth.saml.profile.context.logic;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.saml.profile.context.logic;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/context/navigate/messaging/package-info.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/context/navigate/messaging/package-info.java
index 23a4899..8e248d4 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/context/navigate/messaging/package-info.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/context/navigate/messaging/package-info.java
@@ -18,4 +18,7 @@
/**
* Functions for navigating SAML message context objects.
*/
-package net.shibboleth.saml.profile.context.navigate.messaging;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.saml.profile.context.navigate.messaging;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/context/navigate/package-info.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/context/navigate/package-info.java
index dd1d585..4e5cd4a 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/context/navigate/package-info.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/context/navigate/package-info.java
@@ -18,4 +18,7 @@
/**
* Context lookup functions related to SAML contexts.
*/
-package net.shibboleth.saml.profile.context.navigate;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.saml.profile.context.navigate;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/relyingparty/RelyingPartyConfigurationSupport.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/relyingparty/RelyingPartyConfigurationSupport.java
index c09b34a..253a246 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/relyingparty/RelyingPartyConfigurationSupport.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/relyingparty/RelyingPartyConfigurationSupport.java
@@ -37,7 +37,6 @@ import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
import net.shibboleth.profile.context.logic.RelyingPartyIdPredicate;
import net.shibboleth.saml.profile.context.logic.MappedEntityAttributesPredicate;
import net.shibboleth.saml.profile.context.navigate.SAMLMetadataContextLookupFunction;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.logic.StrategyIndirectedPredicate;
@@ -62,8 +61,7 @@ public final class RelyingPartyConfigurationSupport {
*
* @return a default-constructed configuration with the appropriate condition set
*/
- @Nonnull public static BasicRelyingPartyConfiguration byName(
- @Nonnull @NonnullElements final Collection<String> relyingPartyIds) {
+ @Nonnull public static BasicRelyingPartyConfiguration byName(@Nonnull final Collection<String> relyingPartyIds) {
Constraint.isNotNull(relyingPartyIds, "Relying Party ID list cannot be null");
@@ -89,8 +87,7 @@ public final class RelyingPartyConfigurationSupport {
*
* @return a default-constructed configuration with the appropriate condition set
*/
- @Nonnull public static BasicRelyingPartyConfiguration byGroup(
- @Nonnull @NonnullElements final Collection<String> groupNames,
+ @Nonnull public static BasicRelyingPartyConfiguration byGroup(@Nonnull final Collection<String> groupNames,
@Nullable final MetadataResolver resolver) {
Constraint.isNotNull(groupNames, "Group name list cannot be null");
@@ -126,9 +123,8 @@ public final class RelyingPartyConfigurationSupport {
*
* @return a default-constructed configuration with the appropriate condition set
*/
- @Nonnull public static BasicRelyingPartyConfiguration byTag(
- @Nonnull @NonnullElements final Collection<Candidate> candidates, final boolean trim,
- final boolean matchAll) {
+ @Nonnull public static BasicRelyingPartyConfiguration byTag(@Nonnull final Collection<Candidate> candidates,
+ final boolean trim, final boolean matchAll) {
Constraint.isNotNull(candidates, "Candidate list cannot be null");
// We adapt an OpenSAML Predicate applying to an EntityDescriptor by indirecting the lookup of the
@@ -155,9 +151,8 @@ public final class RelyingPartyConfigurationSupport {
*
* @return a default-constructed configuration with the appropriate condition set
*/
- @Nonnull public static BasicRelyingPartyConfiguration byMappedTag(
- @Nonnull @NonnullElements final Collection<Candidate> candidates, final boolean trim,
- final boolean matchAll) {
+ @Nonnull public static BasicRelyingPartyConfiguration byMappedTag(@Nonnull final Collection<Candidate> candidates,
+ final boolean trim, final boolean matchAll) {
Constraint.isNotNull(candidates, "Candidate list cannot be null");
// We adapt an OpenSAML Predicate applying to an EntityDescriptor by indirecting the lookup of the
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/relyingparty/package-info.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/relyingparty/package-info.java
index abe8843..ec99a3f 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/relyingparty/package-info.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/relyingparty/package-info.java
@@ -18,4 +18,7 @@
/**
* SAML-specific RelyingParty support classes.
*/
-package net.shibboleth.saml.relyingparty;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.saml.relyingparty;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml1/profile/config/package-info.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml1/profile/config/package-info.java
index bcbd43f..3895820 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml1/profile/config/package-info.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml1/profile/config/package-info.java
@@ -18,4 +18,7 @@
/**
* SAML 1.x profile configuration classes.
*/
-package net.shibboleth.saml.saml1.profile.config;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.saml.saml1.profile.config;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/BrowserSSOProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/BrowserSSOProfileConfiguration.java
index 6b35b7a..c392d02 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/BrowserSSOProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/BrowserSSOProfileConfiguration.java
@@ -26,7 +26,6 @@ import javax.annotation.Nullable;
import net.shibboleth.saml.profile.config.SAMLArtifactConsumerProfileConfiguration;
import net.shibboleth.saml.profile.config.SAMLAssertionConsumingProfileConfiguration;
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;
@@ -141,7 +140,7 @@ public interface BrowserSSOProfileConfiguration extends SAMLArtifactConsumerProf
*
* @return the requested attributes
*/
- @Nonnull @NonnullElements @Unmodifiable @NotLive Collection<RequestedAttribute> getRequestedAttributes(
+ @Nonnull @Unmodifiable @NotLive Collection<RequestedAttribute> getRequestedAttributes(
@Nullable final ProfileRequestContext profileRequestContext);
}
\ No newline at end of file
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/SingleLogoutProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/SingleLogoutProfileConfiguration.java
index c8a8cc1..eb9d235 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/SingleLogoutProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/SingleLogoutProfileConfiguration.java
@@ -26,9 +26,9 @@ import org.opensaml.messaging.context.MessageContext;
import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.saml.profile.config.SAMLArtifactConsumerProfileConfiguration;
-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;
/** Configuration support for SAML 2 Single Logout. */
public interface SingleLogoutProfileConfiguration extends SAML2ProfileConfiguration,
@@ -70,7 +70,7 @@ public interface SingleLogoutProfileConfiguration extends SAML2ProfileConfigurat
*
* @since 3.4.0
*/
- @Nonnull @NonnullElements @NotLive Collection<String> getQualifiedNameIDFormats(
+ @Nonnull @Unmodifiable @NotLive Collection<String> getQualifiedNameIDFormats(
@Nullable final ProfileRequestContext profileRequestContext);
}
\ No newline at end of file
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/logic/messaging/package-info.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/logic/messaging/package-info.java
index 612aa45..9b87b53 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/logic/messaging/package-info.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/logic/messaging/package-info.java
@@ -18,4 +18,7 @@
/**
* Predicates based on message contexts and SAML 2.0 profile configuration.
*/
-package net.shibboleth.saml.saml2.profile.config.logic.messaging;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.saml.saml2.profile.config.logic.messaging;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/logic/package-info.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/logic/package-info.java
index 4ecf70d..3bde8b9 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/logic/package-info.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/logic/package-info.java
@@ -18,4 +18,7 @@
/**
* Predicates based on SAML 2.0 profile configuration.
*/
-package net.shibboleth.saml.saml2.profile.config.logic;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.saml.saml2.profile.config.logic;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/navigate/QualifiedNameIDFormatsLookupFunction.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/navigate/QualifiedNameIDFormatsLookupFunction.java
index 8d80b8b..04aa4c4 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/navigate/QualifiedNameIDFormatsLookupFunction.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/navigate/QualifiedNameIDFormatsLookupFunction.java
@@ -24,7 +24,6 @@ import javax.annotation.Nullable;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.saml.saml2.profile.config.SingleLogoutProfileConfiguration;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
import net.shibboleth.shared.collection.CollectionSupport;
@@ -45,7 +44,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
public class QualifiedNameIDFormatsLookupFunction extends AbstractRelyingPartyLookupFunction<Collection<String>> {
/** {@inheritDoc} */
- @Nullable @NonnullElements @NotLive @Unmodifiable public Collection<String> apply(
+ @Nullable @NotLive @Unmodifiable public Collection<String> apply(
@Nullable final ProfileRequestContext input) {
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/navigate/package-info.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/navigate/package-info.java
index 3416b15..737b0df 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/navigate/package-info.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/navigate/package-info.java
@@ -18,4 +18,7 @@
/**
* Functions that access SAML 2.0 profile configuration.
*/
-package net.shibboleth.saml.saml2.profile.config.navigate;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.saml.saml2.profile.config.navigate;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/package-info.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/package-info.java
index 9bbbc26..17ee2a3 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/package-info.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/package-info.java
@@ -18,4 +18,7 @@
/**
* SAML 2.0 profile configuration classes.
*/
-package net.shibboleth.saml.saml2.profile.config;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.saml.saml2.profile.config;
+
+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