[java-oidfed-common] 02/03: Polishing default profile configuration implementations

Codeberg noreply at shibboleth.net
Fri Oct 30 12:37:41 UTC 2026


This is an automated email from the git hooks/post-receive script.

codeberg pushed a commit to branch main
in repository java-oidfed-common.

View the commit online:
https://codeberg.org/Shibboleth/java-oidfed-common/commit/b9a5a5d38c37c872a8c926dd5051dd8a5e10d819

commit b9a5a5d38c37c872a8c926dd5051dd8a5e10d819
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Fri Oct 30 13:15:35 2026 +0200

    Polishing default profile configuration implementations
    
    - Fixed wrong nullable-annotations for the lookup strategy setters
    - Copy the map or list to the constant functions
---
 .../AbstractOIDFederationRegistrationProfileConfiguration.java   | 6 +++---
 ...AbstractOIDFederationResponseCachingProfileConfiguration.java | 2 +-
 ...aultOIDFederationEntityConfigurationProfileConfiguration.java | 9 +++++----
 ...ultOIDFederationExplicitRegistrationProfileConfiguration.java | 7 ++++---
 .../DefaultOIDFederationResolveEntityProfileConfiguration.java   | 8 ++++----
 .../DefaultOIDFederationSignedKeysetProfileConfiguration.java    | 7 ++++---
 6 files changed, 21 insertions(+), 18 deletions(-)

diff --git a/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/AbstractOIDFederationRegistrationProfileConfiguration.java b/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/AbstractOIDFederationRegistrationProfileConfiguration.java
index 5399b73..399bf75 100644
--- a/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/AbstractOIDFederationRegistrationProfileConfiguration.java
+++ b/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/AbstractOIDFederationRegistrationProfileConfiguration.java
@@ -93,7 +93,7 @@ public class AbstractOIDFederationRegistrationProfileConfiguration extends Abstr
      */
     public void setLocalMetadataPolicy(
             @Nonnull @NonnullElements @NotLive @Unmodifiable final Map<String, MetadataPolicy> policy) {
-        localMetadataPolicyLookupStrategy = FunctionSupport.constant(policy);
+        localMetadataPolicyLookupStrategy = FunctionSupport.constant(CollectionSupport.copyToMap(policy));
     }
 
     /**
@@ -123,7 +123,7 @@ public class AbstractOIDFederationRegistrationProfileConfiguration extends Abstr
      * @param marks trust marks
      */
     public void setMandatoryTrustMarks(@Nonnull @NonnullElements @NotLive @Unmodifiable final List<String> marks) {
-        mandatoryTrustMarksLookupStrategy = FunctionSupport.constant(marks);
+        mandatoryTrustMarksLookupStrategy = FunctionSupport.constant(CollectionSupport.copyToList(marks));
     }
 
     /**
@@ -168,7 +168,7 @@ public class AbstractOIDFederationRegistrationProfileConfiguration extends Abstr
      * @param strategy lookup strategy
      */
     public void setMaximumTrustMarkLifetimeLookupStrategy(
-            @Nullable final Function<ProfileRequestContext,Duration> strategy) {
+            @Nonnull final Function<ProfileRequestContext,Duration> strategy) {
         maximumTrustMarkLifetimeLookupStrategy = Constraint.isNotNull(strategy, "Lookup strategy cannot be null");
     }
 
diff --git a/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/AbstractOIDFederationResponseCachingProfileConfiguration.java b/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/AbstractOIDFederationResponseCachingProfileConfiguration.java
index d0f5ba3..1fd476b 100644
--- a/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/AbstractOIDFederationResponseCachingProfileConfiguration.java
+++ b/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/AbstractOIDFederationResponseCachingProfileConfiguration.java
@@ -83,7 +83,7 @@ public abstract class AbstractOIDFederationResponseCachingProfileConfiguration
      * @param strategy lookup strategy
      */
     public void setCachedSuccessResponseLifetimeLookupStrategy(
-            @Nullable final Function<ProfileRequestContext,Duration> strategy) {
+            @Nonnull final Function<ProfileRequestContext,Duration> strategy) {
         cachedSuccessResponseLifetimeLookupStrategy = Constraint.isNotNull(strategy, "Lookup strategy cannot be null");
     }
 
diff --git a/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/DefaultOIDFederationEntityConfigurationProfileConfiguration.java b/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/DefaultOIDFederationEntityConfigurationProfileConfiguration.java
index 230ad84..5352166 100644
--- a/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/DefaultOIDFederationEntityConfigurationProfileConfiguration.java
+++ b/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/DefaultOIDFederationEntityConfigurationProfileConfiguration.java
@@ -125,7 +125,7 @@ public class DefaultOIDFederationEntityConfigurationProfileConfiguration
      * @param hints authority hints
      */
     public void setAuthorityHints(@Nonnull @NonnullElements @NotLive @Unmodifiable final List<String> hints) {
-        authorityHintsLookupStrategy = FunctionSupport.constant(hints);
+        authorityHintsLookupStrategy = FunctionSupport.constant(CollectionSupport.copyToList(hints));
     }
     
     /**
@@ -168,7 +168,7 @@ public class DefaultOIDFederationEntityConfigurationProfileConfiguration
      * @param strategy lookup strategy
      */
     public void setEntityStatementLifetimeLookupStrategy(
-            @Nullable final Function<ProfileRequestContext,Duration> strategy) {
+            @Nonnull final Function<ProfileRequestContext,Duration> strategy) {
         entityStatementLifetimeLookupStrategy = Constraint.isNotNull(strategy, "Lookup strategy cannot be null");
     }
 
@@ -210,7 +210,7 @@ public class DefaultOIDFederationEntityConfigurationProfileConfiguration
             @Nullable final ProfileRequestContext profileRequestContext) {
         final Map<String,Function<ProfileRequestContext,Object>> strategies =
                 optionalClaimsLookupStrategiesLookupStrategy.apply(profileRequestContext);
-        return strategies != null ? strategies : CollectionSupport.emptyMap();
+        return strategies != null ? CollectionSupport.copyToMap(strategies) : CollectionSupport.emptyMap();
     }
 
     /**
@@ -220,7 +220,8 @@ public class DefaultOIDFederationEntityConfigurationProfileConfiguration
      */
     public void setOptionalClaimsLookupStrategies(
             @Nullable final Map<String,Function<ProfileRequestContext,Object>> strategies) {
-        optionalClaimsLookupStrategiesLookupStrategy = FunctionSupport.constant(strategies);
+        optionalClaimsLookupStrategiesLookupStrategy =
+                FunctionSupport.constant(strategies == null ? null : CollectionSupport.copyToMap(strategies));
     }
 
     /**
diff --git a/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/DefaultOIDFederationExplicitRegistrationProfileConfiguration.java b/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/DefaultOIDFederationExplicitRegistrationProfileConfiguration.java
index 961e65f..de4d830 100644
--- a/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/DefaultOIDFederationExplicitRegistrationProfileConfiguration.java
+++ b/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/DefaultOIDFederationExplicitRegistrationProfileConfiguration.java
@@ -304,7 +304,7 @@ public class DefaultOIDFederationExplicitRegistrationProfileConfiguration
      * @param strategy lookup strategy
      */
     public void setEntityStatementLifetimeLookupStrategy(
-            @Nullable final Function<ProfileRequestContext,Duration> strategy) {
+            @Nonnull final Function<ProfileRequestContext,Duration> strategy) {
         entityStatementLifetimeLookupStrategy = Constraint.isNotNull(strategy, "Lookup strategy cannot be null");
     }
 
@@ -315,7 +315,7 @@ public class DefaultOIDFederationExplicitRegistrationProfileConfiguration
             @Nullable final ProfileRequestContext profileRequestContext) {
         final Map<String,Function<ProfileRequestContext,Object>> strategies =
                 optionalClaimsLookupStrategiesLookupStrategy.apply(profileRequestContext);
-        return strategies != null ? strategies : CollectionSupport.emptyMap();
+        return strategies != null ? CollectionSupport.copyToMap(strategies) : CollectionSupport.emptyMap();
     }
 
     /**
@@ -325,7 +325,8 @@ public class DefaultOIDFederationExplicitRegistrationProfileConfiguration
      */
     public void setOptionalClaimsLookupStrategies(
             @Nullable final Map<String,Function<ProfileRequestContext,Object>> strategies) {
-        optionalClaimsLookupStrategiesLookupStrategy = FunctionSupport.constant(strategies);
+        optionalClaimsLookupStrategiesLookupStrategy =
+                FunctionSupport.constant(strategies == null ? null : CollectionSupport.copyToMap(strategies));
     }
 
     /**
diff --git a/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/DefaultOIDFederationResolveEntityProfileConfiguration.java b/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/DefaultOIDFederationResolveEntityProfileConfiguration.java
index 3833a32..cd1177d 100644
--- a/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/DefaultOIDFederationResolveEntityProfileConfiguration.java
+++ b/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/DefaultOIDFederationResolveEntityProfileConfiguration.java
@@ -146,7 +146,7 @@ public class DefaultOIDFederationResolveEntityProfileConfiguration
      * @param strategy lookup strategy
      */
     public void setCachedSuccessResponseLifetimeLookupStrategy(
-            @Nullable final Function<ProfileRequestContext,Duration> strategy) {
+            @Nonnull final Function<ProfileRequestContext,Duration> strategy) {
         cachedSuccessResponseLifetimeLookupStrategy = Constraint.isNotNull(strategy, "Lookup strategy cannot be null");
     }
 
@@ -182,7 +182,7 @@ public class DefaultOIDFederationResolveEntityProfileConfiguration
      * @param strategy lookup strategy
      */
     public void setCachedErrorResponseLifetimeLookupStrategy(
-            @Nullable final Function<ProfileRequestContext,Duration> strategy) {
+            @Nonnull final Function<ProfileRequestContext,Duration> strategy) {
         cachedErrorResponseLifetimeLookupStrategy = Constraint.isNotNull(strategy, "Lookup strategy cannot be null");
     }
 
@@ -202,7 +202,7 @@ public class DefaultOIDFederationResolveEntityProfileConfiguration
      * @param marks trust marks
      */
     public void setMandatoryTrustMarks(@Nonnull @NonnullElements @NotLive @Unmodifiable final List<String> marks) {
-        mandatoryTrustMarksLookupStrategy = FunctionSupport.constant(marks);
+        mandatoryTrustMarksLookupStrategy = FunctionSupport.constant(CollectionSupport.copyToList(marks));
     }
 
     /**
@@ -247,7 +247,7 @@ public class DefaultOIDFederationResolveEntityProfileConfiguration
      * @param strategy lookup strategy
      */
     public void setMaximumTrustMarkLifetimeLookupStrategy(
-            @Nullable final Function<ProfileRequestContext,Duration> strategy) {
+            @Nonnull final Function<ProfileRequestContext,Duration> strategy) {
         maximumTrustMarkLifetimeLookupStrategy = Constraint.isNotNull(strategy, "Lookup strategy cannot be null");
     }
 
diff --git a/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/DefaultOIDFederationSignedKeysetProfileConfiguration.java b/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/DefaultOIDFederationSignedKeysetProfileConfiguration.java
index 16fc150..78cc9ff 100644
--- a/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/DefaultOIDFederationSignedKeysetProfileConfiguration.java
+++ b/oidfed-common-impl/src/main/java/net/shibboleth/oidfed/profile/config/impl/DefaultOIDFederationSignedKeysetProfileConfiguration.java
@@ -130,7 +130,7 @@ public class DefaultOIDFederationSignedKeysetProfileConfiguration
      * @param strategy lookup strategy
      */
     public void setEntityStatementLifetimeLookupStrategy(
-            @Nullable final Function<ProfileRequestContext,Duration> strategy) {
+            @Nonnull final Function<ProfileRequestContext,Duration> strategy) {
         entityStatementLifetimeLookupStrategy = Constraint.isNotNull(strategy, "Lookup strategy cannot be null");
     }
 
@@ -172,7 +172,7 @@ public class DefaultOIDFederationSignedKeysetProfileConfiguration
             @Nullable final ProfileRequestContext profileRequestContext) {
         final Map<String,Function<ProfileRequestContext,Object>> strategies =
                 optionalClaimsLookupStrategiesLookupStrategy.apply(profileRequestContext);
-        return strategies != null ? strategies : CollectionSupport.emptyMap();
+        return strategies != null ? CollectionSupport.copyToMap(strategies) : CollectionSupport.emptyMap();
     }
 
     /**
@@ -182,7 +182,8 @@ public class DefaultOIDFederationSignedKeysetProfileConfiguration
      */
     public void setOptionalClaimsLookupStrategies(
             @Nullable final Map<String,Function<ProfileRequestContext,Object>> strategies) {
-        optionalClaimsLookupStrategiesLookupStrategy = FunctionSupport.constant(strategies);
+        optionalClaimsLookupStrategiesLookupStrategy = 
+                FunctionSupport.constant(strategies == null ? null : CollectionSupport.copyToMap(strategies));
     }
 
     /**

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


More information about the commits mailing list