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

Scott Cantor cantor.2 at osu.edu
Wed Jun 21 00:31:48 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=f02a51a2d9818b8349d0283510cabb4a5df3e596

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

commit f02a51a2d9818b8349d0283510cabb4a5df3e596
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Jun 20 20:31:46 2023 -0400

    IDP-2083 - Treat NonnullElements as the default for collections
    
    https://shibboleth.atlassian.net/browse/IDP-2083
    
    More cleanup.
---
 .../java/net/shibboleth/profile/context/AuditContext.java  |  3 +--
 .../installablecomponent/InstallableComponentInfo.java     |  2 +-
 .../java/net/shibboleth/profile/module/AbstractModule.java |  9 ++++-----
 .../main/java/net/shibboleth/profile/module/Module.java    | 10 +++++-----
 .../java/net/shibboleth/profile/module/ModuleContext.java  |  8 ++++----
 .../shibboleth/profile/module/PropertyDrivenModule.java    | 13 ++++++++-----
 .../java/net/shibboleth/profile/plugin/AbstractPlugin.java |  9 ++++-----
 .../shibboleth/profile/plugin/PropertyDrivenPlugin.java    | 14 ++++++--------
 8 files changed, 33 insertions(+), 35 deletions(-)

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 5e8ab32..c738712 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
@@ -27,7 +27,6 @@ import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Multimap;
 
 import net.shibboleth.shared.annotation.constraint.Live;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 
 /**
@@ -59,7 +58,7 @@ public final class AuditContext extends BaseContext {
      * 
      * @return the field's values
      */
-    @Nonnull @NonnullElements @Live public Collection<String> getFieldValues(@Nonnull @NotEmpty final String field) {
+    @Nonnull @Live public Collection<String> getFieldValues(@Nonnull @NotEmpty final String field) {
         return fieldMap.get(field);
     }
     
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/installablecomponent/InstallableComponentInfo.java b/shib-profile-api/src/main/java/net/shibboleth/profile/installablecomponent/InstallableComponentInfo.java
index 469537d..4f1aecc 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/installablecomponent/InstallableComponentInfo.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/installablecomponent/InstallableComponentInfo.java
@@ -43,7 +43,7 @@ import net.shibboleth.shared.primitive.StringSupport;
 public abstract class InstallableComponentInfo {
 
     /** regexp for spaces. */
-    private static final Pattern SPACE_CONTAINING = Pattern.compile("\\s+");
+    @Nonnull private static final Pattern SPACE_CONTAINING = Pattern.compile("\\s+");
 
     /** Class logger. */
     @Nonnull private final Logger log = LoggerFactory.getLogger(InstallableComponentInfo.class);
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/module/AbstractModule.java b/shib-profile-api/src/main/java/net/shibboleth/profile/module/AbstractModule.java
index b729f53..925e767 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/module/AbstractModule.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/module/AbstractModule.java
@@ -51,7 +51,6 @@ import org.springframework.core.io.ClassPathResource;
 import org.springframework.util.ResourceUtils;
 
 
-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;
@@ -98,7 +97,7 @@ public abstract class AbstractModule implements Module {
      * 
      * @param resources resources to manage
      */
-    public void setResources(@Nullable @NonnullElements final Collection<BasicModuleResource> resources) {
+    public void setResources(@Nullable final Collection<BasicModuleResource> resources) {
         if (resources != null) {
             moduleResources = CollectionSupport.copyToList(resources);
         } else {
@@ -156,8 +155,8 @@ public abstract class AbstractModule implements Module {
     }
     
     /** {@inheritDoc} */
-    @Nonnull @NonnullElements public Map<ModuleResource, ResourceResult> enable(
-            @Nonnull final ModuleContext moduleContext) throws ModuleException {
+    @Nonnull @Unmodifiable @NotLive public Map<ModuleResource, ResourceResult> enable(@Nonnull final ModuleContext moduleContext)
+            throws ModuleException {
         
         if (moduleContext.getInstallLocation().startsWith(ResourceUtils.CLASSPATH_URL_PREFIX)) {
             throw new ModuleException("IdP location is a classpath");
@@ -199,7 +198,7 @@ public abstract class AbstractModule implements Module {
     }
 
     /** {@inheritDoc} */
-    @Nonnull @NonnullElements public Map<ModuleResource, ResourceResult> disable(
+    @Nonnull @Unmodifiable @NotLive public Map<ModuleResource, ResourceResult> disable(
             @Nonnull final ModuleContext moduleContext, final boolean clean) throws ModuleException {
 
         if (moduleContext.getInstallLocation().startsWith(ResourceUtils.CLASSPATH_URL_PREFIX)) {
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/module/Module.java b/shib-profile-api/src/main/java/net/shibboleth/profile/module/Module.java
index f28f6ef..d2248ea 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/module/Module.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/module/Module.java
@@ -24,7 +24,6 @@ import java.util.Map;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
-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;
@@ -82,7 +81,7 @@ public interface Module extends IdentifiedComponent {
      *
      * @return resources managed by this module
      */
-    @Nonnull @NonnullElements @NotLive @Unmodifiable public Collection<ModuleResource> getResources();
+    @Nonnull @Unmodifiable @NotLive public Collection<ModuleResource> getResources();
 
     /**
      * Gets whether the module is enabled.
@@ -108,7 +107,7 @@ public interface Module extends IdentifiedComponent {
      *
      * @throws ModuleException if not successful 
      */
-    @Nonnull @NonnullElements Map<ModuleResource,ResourceResult> enable(@Nonnull final ModuleContext moduleContext)
+    @Nonnull @Unmodifiable @NotLive Map<ModuleResource,ResourceResult> enable(@Nonnull final ModuleContext moduleContext)
             throws ModuleException;
 
     /**
@@ -124,7 +123,7 @@ public interface Module extends IdentifiedComponent {
      *
      * @throws ModuleException if not successful 
      */
-    @Nonnull @NonnullElements Map<ModuleResource,ResourceResult> disable(@Nonnull final ModuleContext moduleContext,
+    @Nonnull @Unmodifiable @NotLive Map<ModuleResource,ResourceResult> disable(@Nonnull final ModuleContext moduleContext,
             final boolean clean) throws ModuleException;
 
     /** Return the extension that the module manager will use to preserve user files.
@@ -215,4 +214,5 @@ public interface Module extends IdentifiedComponent {
         /** Resource was missing. */
         MISSING,
     };
- }
+
+}
\ No newline at end of file
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/module/ModuleContext.java b/shib-profile-api/src/main/java/net/shibboleth/profile/module/ModuleContext.java
index 46b85f3..ef64d84 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/module/ModuleContext.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/module/ModuleContext.java
@@ -27,7 +27,6 @@ import javax.annotation.Nullable;
 import org.apache.hc.client5.http.classic.HttpClient;
 import org.opensaml.security.httpclient.HttpClientSecurityParameters;
 
-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;
@@ -51,7 +50,7 @@ public class ModuleContext {
     @Nullable private HttpClientSecurityParameters httpClientSecurityParams;
     
     /** Language expressions to use for i18n. */
-    @Nonnull @NonnullElements private List<LanguageRange> languageRanges;
+    @Nonnull private List<LanguageRange> languageRanges;
     
     /** Output stream for sending output to the module consumer. */
     @Nullable private PrintStream messageStream;
@@ -118,7 +117,7 @@ public class ModuleContext {
      *
      * @return language ranges
      */
-    @Nonnull @NonnullElements @NotLive @Unmodifiable public List<LanguageRange> getLanguageRanges() {
+    @Nonnull @Unmodifiable @NotLive public List<LanguageRange> getLanguageRanges() {
         return languageRanges;
     }
 
@@ -127,7 +126,7 @@ public class ModuleContext {
      *
      * @param ranges language ranges
      */
-    public void setLanguageRanges(@Nullable @NonnullElements final List<LanguageRange> ranges) {
+    public void setLanguageRanges(@Nullable final List<LanguageRange> ranges) {
         if (ranges != null) {
             languageRanges = CollectionSupport.copyToList(ranges);
         } else {
@@ -154,4 +153,5 @@ public class ModuleContext {
     public void setMessageStream(@Nullable final PrintStream stream) {
         messageStream = stream;
     }
+
 }
\ No newline at end of file
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/module/PropertyDrivenModule.java b/shib-profile-api/src/main/java/net/shibboleth/profile/module/PropertyDrivenModule.java
index 0396759..1fb8dac 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/module/PropertyDrivenModule.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/module/PropertyDrivenModule.java
@@ -35,8 +35,9 @@ import org.slf4j.Logger;
 
 import com.google.common.base.Strings;
 
-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.logic.ConstraintViolationException;
@@ -114,7 +115,7 @@ public abstract class PropertyDrivenModule extends AbstractModule implements Mod
     @Nullable @NotEmpty private String pluginId;
     
     /** Available message locales. */
-    @Nonnull @NonnullElements private List<String> locales;
+    @Nonnull private List<String> locales;
     
     /** Whether to require an HTTP client. */
     private boolean requireHttpClient;
@@ -128,7 +129,8 @@ public abstract class PropertyDrivenModule extends AbstractModule implements Mod
      * @throws IOException if unable to read file
      * @throws ModuleException if the module is not in a valid state
      */
-    public PropertyDrivenModule(@Nullable String version, @Nonnull final Class<? extends Module> claz) throws IOException, ModuleException {
+    public PropertyDrivenModule(@Nullable String version, @Nonnull final Class<? extends Module> claz)
+            throws IOException, ModuleException {
         this(version, claz.getResourceAsStream(DEFAULT_RESOURCE));
     }
     
@@ -300,7 +302,7 @@ public abstract class PropertyDrivenModule extends AbstractModule implements Mod
 
     /** {@inheritDoc} */
     @Override
-    @Nonnull @NonnullElements public Map<ModuleResource,ResourceResult> enable(
+    @Nonnull @Unmodifiable @NotLive public Map<ModuleResource,ResourceResult> enable(
             @Nonnull final ModuleContext moduleContext) throws ModuleException {
         final Map<ModuleResource,ResourceResult> results = super.enable(moduleContext);
         
@@ -328,7 +330,7 @@ public abstract class PropertyDrivenModule extends AbstractModule implements Mod
 
     /** {@inheritDoc} */
     @Override
-    @Nonnull @NonnullElements public Map<ModuleResource,ResourceResult> disable(
+    @Nonnull @Unmodifiable @NotLive public Map<ModuleResource,ResourceResult> disable(
             @Nonnull final ModuleContext moduleContext, final boolean clean) throws ModuleException {
         final Map<ModuleResource,ResourceResult> results = super.disable(moduleContext, clean);
 
@@ -353,4 +355,5 @@ public abstract class PropertyDrivenModule extends AbstractModule implements Mod
         
         return results;
     }
+    
 }
\ No newline at end of file
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/plugin/AbstractPlugin.java b/shib-profile-api/src/main/java/net/shibboleth/profile/plugin/AbstractPlugin.java
index 9d30ecf..48df62f 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/plugin/AbstractPlugin.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/plugin/AbstractPlugin.java
@@ -23,7 +23,6 @@ import javax.annotation.Nonnegative;
 import javax.annotation.Nonnull;
 
 import net.shibboleth.profile.module.Module;
-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;
@@ -38,10 +37,10 @@ import net.shibboleth.shared.collection.CollectionSupport;
 public abstract class AbstractPlugin<T extends Module> implements Plugin<T> {
     
     /** Modules to enable on install. */
-    @Nonnull @NonnullElements private Set<T> enableModules;
+    @Nonnull private Set<T> enableModules;
 
     /** Modules to disable on removal. */
-    @Nonnull @NonnullElements private Set<T> disableModules;
+    @Nonnull private Set<T> disableModules;
 
     /** Constructor. */
     public AbstractPlugin() {
@@ -81,7 +80,7 @@ public abstract class AbstractPlugin<T extends Module> implements Plugin<T> {
      * 
      * @param modules modules to enable
      */
-    protected void setEnableOnInstall(@Nonnull @NonnullElements final Set<T> modules) {
+    protected void setEnableOnInstall(@Nonnull final Set<T> modules) {
         enableModules = CollectionSupport.copyToSet(modules);
     }
 
@@ -95,7 +94,7 @@ public abstract class AbstractPlugin<T extends Module> implements Plugin<T> {
      * 
      * @param modules modules to disable
      */
-    protected void setDisableOnRemoval(@Nonnull @NonnullElements final Set<T> modules) {
+    protected void setDisableOnRemoval(@Nonnull final Set<T> modules) {
         disableModules = CollectionSupport.copyToSet(modules);
     }
 
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/plugin/PropertyDrivenPlugin.java b/shib-profile-api/src/main/java/net/shibboleth/profile/plugin/PropertyDrivenPlugin.java
index ca046d2..6edd01a 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/plugin/PropertyDrivenPlugin.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/plugin/PropertyDrivenPlugin.java
@@ -33,7 +33,6 @@ import org.slf4j.Logger;
 
 import net.shibboleth.profile.installablecomponent.InstallableComponentVersion;
 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;
@@ -81,10 +80,10 @@ public abstract class PropertyDrivenPlugin<T extends Module> extends AbstractPlu
     @Nullable private InstallableComponentVersion pluginVersion;
     
     /** Plugin update URLs. */
-    @Nonnull @NonnullElements private List<URL> updateURLs = CollectionSupport.emptyList();
+    @Nonnull private List<URL> updateURLs = CollectionSupport.emptyList();
     
     /** Required modules. */
-    @Nonnull @NonnullElements private Set<String> requiredModules = CollectionSupport.emptySet();
+    @Nonnull private Set<String> requiredModules = CollectionSupport.emptySet();
 
     /**
      * Constructor.
@@ -106,8 +105,7 @@ public abstract class PropertyDrivenPlugin<T extends Module> extends AbstractPlu
      * @throws IOException if unable to read file
      * @throws PluginException if the plugin is not in a valid state
      */
-    public PropertyDrivenPlugin(@Nonnull final InputStream inputStream)
-            throws IOException, PluginException {
+    public PropertyDrivenPlugin(@Nonnull final InputStream inputStream) throws IOException, PluginException {
         pluginProperties = new Properties();
         pluginProperties.load(inputStream);
         load();
@@ -186,13 +184,13 @@ public abstract class PropertyDrivenPlugin<T extends Module> extends AbstractPlu
     }
     
     /** {@inheritDoc} */
-    @Nonnull @NonnullElements @Unmodifiable @NotLive public List<URL> getUpdateURLs() {
+    @Nonnull @Unmodifiable @NotLive public List<URL> getUpdateURLs() {
         return updateURLs;
     }
 
     /** {@inheritDoc} */
     @Override
-    @Nonnull @NonnullElements @Unmodifiable @NotLive public Set<String> getRequiredModules() {
+    @Nonnull @Unmodifiable @NotLive public Set<String> getRequiredModules() {
         return requiredModules;
     }
 
@@ -226,7 +224,7 @@ public abstract class PropertyDrivenPlugin<T extends Module> extends AbstractPlu
      * @return default update locations
      * @throws PluginException if a derived class throws it (see derived classes)
      */
-    @Nonnull @NonnullElements @Unmodifiable @NotLive protected List<URL> getDefaultUpdateURLs() throws PluginException {
+    @Nonnull @Unmodifiable @NotLive protected List<URL> getDefaultUpdateURLs() throws PluginException {
         return CollectionSupport.emptyList();
     }
     

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


More information about the commits mailing list