[java-identity-provider] branch main updated: IDP-2083 - Treat NonnullElements as the default for collections

Scott Cantor cantor.2 at osu.edu
Tue Jun 20 23:28:38 UTC 2023


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

scantor pushed a commit to branch main
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=9d9cc6f6da8a4a3f27175d28f8cc4046877ac3ff

The following commit(s) were added to refs/heads/main by this push:
     new 9d9cc6f6d IDP-2083 - Treat NonnullElements as the default for collections
9d9cc6f6d is described below

commit 9d9cc6f6da8a4a3f27175d28f8cc4046877ac3ff
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Jun 20 19:28:35 2023 -0400

    IDP-2083 - Treat NonnullElements as the default for collections
    
    https://shibboleth.atlassian.net/browse/IDP-2083
    
    Clean up strays.
---
 ...InitializeAdministrativeProfileContextTree.java |  3 +-
 .../shibboleth/idp/module/impl/ModuleGuageSet.java | 36 ++++++++++++++--------
 .../idp/authn/AbstractExtractionAction.java        |  1 -
 .../DefaultAuthenticationResultSerializer.java     |  3 +-
 .../authn/impl/HTPasswdCredentialValidator.java    |  1 -
 .../idp/cli/impl/ModuleManagerArguments.java       |  9 +++---
 .../consent/storage/impl/ConsentSerializer.java    |  5 ++-
 .../shibboleth/idp/metrics/impl/IdPGaugeSet.java   |  3 +-
 8 files changed, 32 insertions(+), 29 deletions(-)

diff --git a/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/InitializeAdministrativeProfileContextTree.java b/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/InitializeAdministrativeProfileContextTree.java
index 68e7c3b48..ebb67353b 100644
--- a/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/InitializeAdministrativeProfileContextTree.java
+++ b/idp-admin-impl/src/main/java/net/shibboleth/idp/admin/impl/InitializeAdministrativeProfileContextTree.java
@@ -32,7 +32,6 @@ import net.shibboleth.idp.profile.IdPEventIds;
 import net.shibboleth.idp.ui.context.RelyingPartyUIContext;
 import net.shibboleth.profile.context.RelyingPartyContext;
 import net.shibboleth.shared.annotation.constraint.NonnullBeforeExec;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.primitive.LoggerFactory;
 import net.shibboleth.shared.primitive.NonnullSupplier;
 import net.shibboleth.shared.spring.util.SpringSupport;
@@ -79,7 +78,7 @@ public class InitializeAdministrativeProfileContextTree extends AbstractProfileA
      * @param langs a semi-colon separated string.
      */
     @SuppressWarnings("unused")
-    public void setFallbackLanguages(@Nonnull @NonnullElements final List<String> langs) {
+    public void setFallbackLanguages(@Nonnull final List<String> langs) {
         checkSetterPreconditions();
         
         if (langs != null) {
diff --git a/idp-admin-impl/src/main/java/net/shibboleth/idp/module/impl/ModuleGuageSet.java b/idp-admin-impl/src/main/java/net/shibboleth/idp/module/impl/ModuleGuageSet.java
index 71a9c2cbc..d313d5510 100644
--- a/idp-admin-impl/src/main/java/net/shibboleth/idp/module/impl/ModuleGuageSet.java
+++ b/idp-admin-impl/src/main/java/net/shibboleth/idp/module/impl/ModuleGuageSet.java
@@ -29,14 +29,15 @@ import org.springframework.context.support.ApplicationObjectSupport;
 
 import com.codahale.metrics.Gauge;
 import com.codahale.metrics.Metric;
+import com.codahale.metrics.MetricFilter;
 import com.codahale.metrics.MetricRegistry;
 import com.codahale.metrics.MetricSet;
 
 import net.shibboleth.idp.module.IdPModule;
 import net.shibboleth.profile.module.ModuleContext;
-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;
 import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.logic.Constraint;
 import net.shibboleth.shared.primitive.StringSupport;
@@ -44,14 +45,15 @@ import net.shibboleth.shared.primitive.StringSupport;
 /**
  * Guage set to report the Modules' statuses.
  */
-public class ModuleGuageSet extends ApplicationObjectSupport implements MetricSet {
+public class ModuleGuageSet extends ApplicationObjectSupport implements MetricSet, MetricFilter {
     
     /** Default prefix for metrics. */
     @Nonnull @NotEmpty private static final String DEFAULT_METRIC_NAME = "net.shibboleth.idp.modules";
 
     /** The map of gauges. */
-    @Nonnull @NonnullElements private final Map<String,Metric> gauges = new HashMap<>();
+    @Nonnull private final Map<String,Metric> gauges = new HashMap<>();
     
+    /** Constructor. */
     public ModuleGuageSet() {
         gauges.put(MetricRegistry.name(DEFAULT_METRIC_NAME, "list"),
                 new Gauge<Map<String, Boolean>>() {
@@ -61,10 +63,12 @@ public class ModuleGuageSet extends ApplicationObjectSupport implements MetricSe
                 });
     }
 
-    /** Return the module Ids and whether rhey are enabled or not.
-     * @return the modules.
+    /**
+     * Return the module Ids and whether rhey are enabled or not.
+     * 
+     * @return the modules
      */
-    @NotLive @Nonnull private Map<String, Boolean> getModules() {
+    @Nonnull @Unmodifiable @NotLive private Map<String, Boolean> getModules() {
         final Map<String, Boolean> result = new HashMap<>();
         final Iterator<IdPModule> modules = ServiceLoader.load(IdPModule.class).iterator();
         final ModuleContext mc = new ModuleContext(getIdpHome());
@@ -75,25 +79,31 @@ public class ModuleGuageSet extends ApplicationObjectSupport implements MetricSe
         return CollectionSupport.copyToMap(result);
     }
 
-    /** Get the idp home location (from the properties in the context)
-     * @return idpHome
+    /**
+     * Get the idp home location (from the properties in the context).
+     * 
+     * @return idp home
      */
     @Nonnull private String getIdpHome() {
         final ApplicationContext context = getApplicationContext();
         assert context != null;
-        return Constraint.isNotNull(StringSupport.trimOrNull(context.getEnvironment().getProperty("idp.home")), "idp.home is not available");
+        return Constraint.isNotNull(StringSupport.trimOrNull(
+                context.getEnvironment().getProperty("idp.home")), "idp.home is not available");
     }
 
-    @Override
+    /** {@inheritDoc} */
     public Map<String, Metric> getMetrics() {
         return gauges;
     }
     
     /** {@inheritDoc} */
-    @Override
     protected boolean isContextRequired() {
         return true;
     }
 
-
-}
+    /** {@inheritDoc} */
+    public boolean matches(final String name, final Metric metric) {
+        return gauges.containsKey(name);
+    }
+    
+}
\ No newline at end of file
diff --git a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractExtractionAction.java b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractExtractionAction.java
index effd27d43..6fe426f6e 100644
--- a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractExtractionAction.java
+++ b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractExtractionAction.java
@@ -28,7 +28,6 @@ import javax.annotation.Nullable;
 
 import org.slf4j.Logger;
 
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.collection.Pair;
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializer.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializer.java
index 3be8f8442..0947eb0c8 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializer.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializer.java
@@ -58,7 +58,6 @@ import net.shibboleth.idp.authn.principal.PrincipalSerializer;
 import net.shibboleth.idp.authn.principal.PrincipalService;
 import net.shibboleth.idp.authn.principal.PrincipalServiceManager;
 import net.shibboleth.idp.authn.principal.impl.AuthenticationResultPrincipalSerializer;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.codec.Base64Support;
 import net.shibboleth.shared.codec.EncodingException;
@@ -109,7 +108,7 @@ public class DefaultAuthenticationResultSerializer extends AbstractInitializable
     @Nonnull private final PrincipalServiceManager principalServiceManager;
 
     /** Principal serializers. */
-    @Nonnull @NonnullElements private Collection<PrincipalSerializer<String>> principalSerializers;
+    @Nonnull private Collection<PrincipalSerializer<String>> principalSerializers;
 
     /**
      * Specialized serializer for {@link net.shibboleth.idp.authn.principal.AuthenticationResultPrincipal}
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidator.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidator.java
index 2508d53c4..0ce8f12d5 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidator.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidator.java
@@ -45,7 +45,6 @@ import net.shibboleth.idp.authn.AuthnEventIds;
 import net.shibboleth.idp.authn.context.AuthenticationContext;
 import net.shibboleth.idp.authn.context.UsernamePasswordContext;
 import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.annotation.constraint.NotLive;
 import net.shibboleth.shared.annotation.constraint.ThreadSafeAfterInit;
 import net.shibboleth.shared.annotation.constraint.Unmodifiable;
diff --git a/idp-cli/src/main/java/net/shibboleth/idp/cli/impl/ModuleManagerArguments.java b/idp-cli/src/main/java/net/shibboleth/idp/cli/impl/ModuleManagerArguments.java
index 2fee742cb..976a56cb1 100644
--- a/idp-cli/src/main/java/net/shibboleth/idp/cli/impl/ModuleManagerArguments.java
+++ b/idp-cli/src/main/java/net/shibboleth/idp/cli/impl/ModuleManagerArguments.java
@@ -31,7 +31,6 @@ import com.beust.jcommander.Parameter;
 
 import net.shibboleth.idp.cli.AbstractIdPHomeAwareCommandLineArguments;
 import net.shibboleth.idp.module.IdPModule;
-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;
@@ -52,19 +51,19 @@ public class ModuleManagerArguments extends AbstractIdPHomeAwareCommandLineArgum
 
     /** Detailed info about installed module(s). */
     @Parameter(names= {"-i", "--info"})
-    @Nullable @NonnullElements private List<String> infoModuleIds = new ArrayList<>();
+    @Nullable private List<String> infoModuleIds = new ArrayList<>();
 
     /** Test status of installed module(s). */
     @Parameter(names= {"-t", "--test"})
-    @Nullable @NonnullElements private List<String> testModuleIds = new ArrayList<>();
+    @Nullable private List<String> testModuleIds = new ArrayList<>();
 
     /** ID of module(s) to enable. */
     @Parameter(names= {"-e", "--enable"})
-    @Nullable @NonnullElements private List<String> enableModuleIds = new ArrayList<>();
+    @Nullable private List<String> enableModuleIds = new ArrayList<>();
 
     /** ID of module(s) to enable. */
     @Parameter(names= {"-d", "--disable"})
-    @Nullable @NonnullElements private List<String> disableModuleIds = new ArrayList<>();
+    @Nullable private List<String> disableModuleIds = new ArrayList<>();
 
     /** Clean when disabling. */
     @Parameter(names= {"-f", "--clean"})
diff --git a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/storage/impl/ConsentSerializer.java b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/storage/impl/ConsentSerializer.java
index 81acd261c..585ae8ef5 100644
--- a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/storage/impl/ConsentSerializer.java
+++ b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/storage/impl/ConsentSerializer.java
@@ -49,7 +49,6 @@ import com.google.common.collect.HashBiMap;
 import com.google.common.collect.ImmutableBiMap;
 
 import net.shibboleth.idp.consent.Consent;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.component.AbstractInitializableComponent;
 import net.shibboleth.shared.logic.Constraint;
@@ -80,7 +79,7 @@ public class ConsentSerializer extends AbstractInitializableComponent implements
     @Nonnull private final JsonReaderFactory readerFactory;
 
     /** Shrink consent IDs into symbolic numbers. */
-    @Nonnull @NonnullElements private BiMap<String, Integer> symbolics;
+    @Nonnull private BiMap<String, Integer> symbolics;
 
     /** Constructor. */
     @SuppressWarnings("null")
@@ -96,7 +95,7 @@ public class ConsentSerializer extends AbstractInitializableComponent implements
      * 
      * @param mappings string to symbolic mappings
      */
-    public void setSymbolics(@Nonnull @NonnullElements final Map<String, Integer> mappings) {
+    public void setSymbolics(@Nonnull final Map<String, Integer> mappings) {
         checkSetterPreconditions();
         symbolics = HashBiMap.create(Constraint.isNotNull(mappings, "Symbolic mappings cannot be null"));
     }
diff --git a/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/IdPGaugeSet.java b/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/IdPGaugeSet.java
index f189584ad..2ab7f5e7b 100644
--- a/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/IdPGaugeSet.java
+++ b/idp-core/src/main/java/net/shibboleth/idp/metrics/impl/IdPGaugeSet.java
@@ -23,7 +23,6 @@ import com.codahale.metrics.MetricRegistry;
 import com.codahale.metrics.MetricSet;
 
 import net.shibboleth.idp.Version;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 
 import java.time.Duration;
@@ -96,7 +95,7 @@ public class IdPGaugeSet extends ApplicationObjectSupport implements MetricSet,
      * 
      * @param properties properties to expose
      */
-    public void setExposedProperties(@Nullable @NonnullElements final Set<String> properties) {
+    public void setExposedProperties(@Nullable final Set<String> properties) {
         if (properties != null) {
             final ApplicationContext context = getApplicationContext();
             assert context != null;

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


More information about the commits mailing list