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

Scott Cantor cantor.2 at osu.edu
Thu May 4 16:15:18 UTC 2023


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

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

View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=65b14816ed8c20460264af51aaae914c8febf0d6

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

commit 65b14816ed8c20460264af51aaae914c8febf0d6
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu May 4 12:15:15 2023 -0400

    IDP-2083 - Treat NonnullElements as the default for collections
    
    https://shibboleth.atlassian.net/browse/IDP-2083
    
    Review opensaml-core-impl.
    Fix more missing annotations.
---
 .../main/java/org/opensaml/core/metrics/impl/CoreGaugeSet.java    | 4 +---
 .../main/java/org/opensaml/core/metrics/impl/package-info.java    | 4 +++-
 .../opensaml/core/xml/persist/impl/PassthroughSourceStrategy.java | 3 +--
 .../xml/persist/impl/SegmentingIntermediateDirectoryStrategy.java | 7 +++++--
 .../main/java/org/opensaml/core/xml/schema/impl/XSAnyImpl.java    | 6 ++++--
 .../java/org/opensaml/core/xml/schema/impl/XSAnyUnmarshaller.java | 6 +++---
 .../org/opensaml/core/xml/schema/impl/XSBase64BinaryImpl.java     | 5 ++++-
 .../java/org/opensaml/core/xml/schema/impl/XSBooleanImpl.java     | 5 ++++-
 .../java/org/opensaml/core/xml/schema/impl/XSDateTimeImpl.java    | 2 +-
 .../java/org/opensaml/core/xml/schema/impl/XSIntegerImpl.java     | 8 ++++++--
 .../main/java/org/opensaml/core/xml/schema/impl/XSQNameImpl.java  | 8 ++++++--
 .../main/java/org/opensaml/core/xml/schema/impl/XSStringImpl.java | 8 ++++++--
 .../main/java/org/opensaml/core/xml/schema/impl/XSURIImpl.java    | 6 +++++-
 .../main/java/org/opensaml/core/xml/schema/impl/package-info.java | 5 ++++-
 14 files changed, 53 insertions(+), 24 deletions(-)

diff --git a/opensaml-core-impl/src/main/java/org/opensaml/core/metrics/impl/CoreGaugeSet.java b/opensaml-core-impl/src/main/java/org/opensaml/core/metrics/impl/CoreGaugeSet.java
index 10dd5dd08..629bf6665 100644
--- a/opensaml-core-impl/src/main/java/org/opensaml/core/metrics/impl/CoreGaugeSet.java
+++ b/opensaml-core-impl/src/main/java/org/opensaml/core/metrics/impl/CoreGaugeSet.java
@@ -22,8 +22,6 @@ import com.codahale.metrics.MetricFilter;
 import com.codahale.metrics.MetricSet;
 import com.codahale.metrics.RatioGauge;
 
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
-
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.Collections;
@@ -38,7 +36,7 @@ import javax.annotation.Nonnull;
 public class CoreGaugeSet implements MetricSet, MetricFilter {
 
     /** The map of gauges. */
-    @Nonnull @NonnullElements private final Map<String,Metric> gauges;
+    @Nonnull private final Map<String,Metric> gauges;
     
 // Checkstyle: MethodLength OFF    
     /** Constructor. */
diff --git a/opensaml-core-impl/src/main/java/org/opensaml/core/metrics/impl/package-info.java b/opensaml-core-impl/src/main/java/org/opensaml/core/metrics/impl/package-info.java
index 39e296234..5ac65811c 100644
--- a/opensaml-core-impl/src/main/java/org/opensaml/core/metrics/impl/package-info.java
+++ b/opensaml-core-impl/src/main/java/org/opensaml/core/metrics/impl/package-info.java
@@ -18,5 +18,7 @@
 /**
  * Implementation classes supporting code instrumentation.
  */
+ at NonnullElements
+package org.opensaml.core.metrics.impl;
 
-package org.opensaml.core.metrics.impl;
\ No newline at end of file
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/persist/impl/PassthroughSourceStrategy.java b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/persist/impl/PassthroughSourceStrategy.java
index ab7cb5aa1..1c1553da7 100644
--- a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/persist/impl/PassthroughSourceStrategy.java
+++ b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/persist/impl/PassthroughSourceStrategy.java
@@ -33,5 +33,4 @@ public class PassthroughSourceStrategy implements Function<String, String> {
         return key;
     }
 
-
-}
+}
\ No newline at end of file
diff --git a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/persist/impl/SegmentingIntermediateDirectoryStrategy.java b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/persist/impl/SegmentingIntermediateDirectoryStrategy.java
index 8a4d8d7da..d91ca053a 100644
--- a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/persist/impl/SegmentingIntermediateDirectoryStrategy.java
+++ b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/persist/impl/SegmentingIntermediateDirectoryStrategy.java
@@ -22,12 +22,15 @@ import java.util.List;
 import java.util.function.Function;
 
 import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 
 import org.opensaml.core.xml.XMLRuntimeException;
 import org.opensaml.core.xml.persist.FilesystemLoadSaveManager;
 import org.slf4j.Logger;
 
 import net.shibboleth.shared.annotation.ParameterName;
+import net.shibboleth.shared.annotation.constraint.NotLive;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
 import net.shibboleth.shared.logic.Constraint;
 import net.shibboleth.shared.primitive.LoggerFactory;
 
@@ -68,7 +71,7 @@ public class SegmentingIntermediateDirectoryStrategy implements Function<String,
     }
 
     /** {@inheritDoc} */
-    public List<String> apply(final String key) {
+    @Nullable @Unmodifiable @NotLive public List<String> apply(final String key) {
         final String source = sourceStrategy.apply(key);
         if (source == null || source.length() == 0) {
             log.trace("Source strategy returned null or empty, returning null");
@@ -96,4 +99,4 @@ public class SegmentingIntermediateDirectoryStrategy implements Function<String,
         return segments;
     }
 
-}
+}
\ No newline at end of file
diff --git a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSAnyImpl.java b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSAnyImpl.java
index c74fb586d..32cbd85f4 100644
--- a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSAnyImpl.java
+++ b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSAnyImpl.java
@@ -29,6 +29,7 @@ import org.opensaml.core.xml.schema.XSAny;
 import org.opensaml.core.xml.util.AttributeMap;
 import org.opensaml.core.xml.util.IndexedXMLObjectChildrenList;
 
+import net.shibboleth.shared.annotation.constraint.Live;
 import net.shibboleth.shared.annotation.constraint.NotLive;
 import net.shibboleth.shared.annotation.constraint.Unmodifiable;
 import net.shibboleth.shared.collection.CollectionSupport;
@@ -73,13 +74,13 @@ public class XSAnyImpl extends AbstractXMLObject implements XSAny {
     }
 
     /** {@inheritDoc} */
-    @Nonnull public List<XMLObject> getUnknownXMLObjects() {
+    @Nonnull @Live public List<XMLObject> getUnknownXMLObjects() {
         return unknownXMLObjects;
     }
     
     /** {@inheritDoc} */
     @SuppressWarnings("unchecked")
-    @Nonnull public List<XMLObject> getUnknownXMLObjects(@Nonnull final QName typeOrName) {
+    @Nonnull @Live public List<XMLObject> getUnknownXMLObjects(@Nonnull final QName typeOrName) {
         return (List<XMLObject>) unknownXMLObjects.subList(typeOrName);
     }
 
@@ -92,4 +93,5 @@ public class XSAnyImpl extends AbstractXMLObject implements XSAny {
     @Nonnull public AttributeMap getUnknownAttributes() {
         return unknownAttributes;
     }
+
 }
\ No newline at end of file
diff --git a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSAnyUnmarshaller.java b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSAnyUnmarshaller.java
index cff304a2f..28fff57e3 100644
--- a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSAnyUnmarshaller.java
+++ b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSAnyUnmarshaller.java
@@ -48,9 +48,8 @@ public class XSAnyUnmarshaller extends AbstractXMLObjectUnmarshaller {
             throws UnmarshallingException {
         final XSAny xsAny = (XSAny) xmlObject;
 
-        final QName attribQName = QNameSupport.constructQName(attribute.getNamespaceURI(), attribute.getLocalName(),
-                attribute.getPrefix());
-
+        final QName attribQName = QNameSupport.getNodeQName(attribute);
+        
         if (attribute.isId()) {
             xsAny.getUnknownAttributes().registerID(attribQName);
         }
@@ -65,4 +64,5 @@ public class XSAnyUnmarshaller extends AbstractXMLObjectUnmarshaller {
 
         xsAny.setTextContent(elementContent);
     }
+    
 }
\ No newline at end of file
diff --git a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSBase64BinaryImpl.java b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSBase64BinaryImpl.java
index 8f3bd3671..0380f2416 100644
--- a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSBase64BinaryImpl.java
+++ b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSBase64BinaryImpl.java
@@ -26,6 +26,9 @@ import org.opensaml.core.xml.AbstractXMLObject;
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.schema.XSBase64Binary;
 
+import net.shibboleth.shared.annotation.constraint.NotLive;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+
 /**
  * Concrete implementation of {@link org.opensaml.core.xml.schema.XSBase64Binary}.
  */
@@ -63,7 +66,7 @@ public class XSBase64BinaryImpl extends AbstractXMLObject implements XSBase64Bin
     /**
      * {@inheritDoc}
      */
-    @Nullable public List<XMLObject> getOrderedChildren() {
+    @Nullable @Unmodifiable @NotLive public List<XMLObject> getOrderedChildren() {
         // no children
         return null;
     }
diff --git a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSBooleanImpl.java b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSBooleanImpl.java
index 8553be98a..cb780583d 100644
--- a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSBooleanImpl.java
+++ b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSBooleanImpl.java
@@ -27,6 +27,9 @@ import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.schema.XSBoolean;
 import org.opensaml.core.xml.schema.XSBooleanValue;
 
+import net.shibboleth.shared.annotation.constraint.NotLive;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+
 
 /** Concrete implementation of {@link XSBoolean}. */
 public class XSBooleanImpl extends AbstractXMLObject implements XSBoolean {
@@ -63,7 +66,7 @@ public class XSBooleanImpl extends AbstractXMLObject implements XSBoolean {
     /**
      * {@inheritDoc}
      */
-    @Nullable public List<XMLObject> getOrderedChildren() {
+    @Nullable @Unmodifiable @NotLive public List<XMLObject> getOrderedChildren() {
         // no children
         return null;
     }
diff --git a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSDateTimeImpl.java b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSDateTimeImpl.java
index fdaba7bcc..c76cb9365 100644
--- a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSDateTimeImpl.java
+++ b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSDateTimeImpl.java
@@ -38,7 +38,7 @@ import net.shibboleth.shared.annotation.constraint.Unmodifiable;
 public class XSDateTimeImpl extends AbstractXMLObject implements XSDateTime {
     
     /** Value of this dateTime element. */
-    private Instant value;
+    @Nullable private Instant value;
     
     /**
      * Constructor.
diff --git a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSIntegerImpl.java b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSIntegerImpl.java
index 4c97c5055..2e733e50b 100644
--- a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSIntegerImpl.java
+++ b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSIntegerImpl.java
@@ -26,13 +26,16 @@ import org.opensaml.core.xml.AbstractXMLObject;
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.schema.XSInteger;
 
+import net.shibboleth.shared.annotation.constraint.NotLive;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+
 /**
  * Concrete implementation of {@link org.opensaml.core.xml.schema.XSInteger}.
  */
 public class XSIntegerImpl extends AbstractXMLObject implements XSInteger {
 
     /** Value of this integer element. */
-    private Integer value;
+    @Nullable private Integer value;
     
     /**
      * Constructor.
@@ -63,8 +66,9 @@ public class XSIntegerImpl extends AbstractXMLObject implements XSInteger {
     /**
      * {@inheritDoc}
      */
-    @Nullable public List<XMLObject> getOrderedChildren() {
+    @Nullable @Unmodifiable @NotLive public List<XMLObject> getOrderedChildren() {
         // no children
         return null;
     }
+    
 }
\ No newline at end of file
diff --git a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSQNameImpl.java b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSQNameImpl.java
index c4ddea8eb..9bf193a6d 100644
--- a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSQNameImpl.java
+++ b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSQNameImpl.java
@@ -27,13 +27,16 @@ import org.opensaml.core.xml.AbstractXMLObject;
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.schema.XSQName;
 
+import net.shibboleth.shared.annotation.constraint.NotLive;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+
 /**
  * Concrete implementation of {@link org.opensaml.core.xml.schema.XSQName}.
  */
 public class XSQNameImpl extends AbstractXMLObject implements XSQName {
 
     /** QName value. */
-    private QName value;
+    @Nullable private QName value;
     
     /**
      * Constructor.
@@ -58,7 +61,8 @@ public class XSQNameImpl extends AbstractXMLObject implements XSQName {
     }
 
     /** {@inheritDoc} */
-    @Nullable public List<XMLObject> getOrderedChildren() {
+    @Nullable @Unmodifiable @NotLive public List<XMLObject> getOrderedChildren() {
         return null;
     }
+    
 }
\ No newline at end of file
diff --git a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSStringImpl.java b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSStringImpl.java
index 3265616a6..0ae145c14 100644
--- a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSStringImpl.java
+++ b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSStringImpl.java
@@ -26,13 +26,16 @@ import org.opensaml.core.xml.AbstractXMLObject;
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.schema.XSString;
 
+import net.shibboleth.shared.annotation.constraint.NotLive;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+
 /**
  * Concrete implementation of {@link org.opensaml.core.xml.schema.XSString}.
  */
 public class XSStringImpl extends AbstractXMLObject implements XSString {
 
     /** Value of this string element. */
-    private String value;
+    @Nullable private String value;
     
     /**
      * Constructor.
@@ -63,8 +66,9 @@ public class XSStringImpl extends AbstractXMLObject implements XSString {
     /**
      * {@inheritDoc}
      */
-    @Nullable public List<XMLObject> getOrderedChildren() {
+    @Nullable @Unmodifiable @NotLive public List<XMLObject> getOrderedChildren() {
         // no children
         return null;
     }
+    
 }
\ No newline at end of file
diff --git a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSURIImpl.java b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSURIImpl.java
index 263cb8713..6e599f429 100644
--- a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSURIImpl.java
+++ b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/XSURIImpl.java
@@ -26,6 +26,9 @@ import org.opensaml.core.xml.AbstractXMLObject;
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.schema.XSURI;
 
+import net.shibboleth.shared.annotation.constraint.NotLive;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+
 /**
  * Conrete implementation of {@link org.opensaml.core.xml.schema.XSURI}.
  */
@@ -57,7 +60,8 @@ public class XSURIImpl extends AbstractXMLObject implements XSURI {
     }
 
     /** {@inheritDoc} */
-    @Nullable public List<XMLObject> getOrderedChildren() {
+    @Nullable @Unmodifiable @NotLive public List<XMLObject> getOrderedChildren() {
         return null;
     }
+    
 }
\ No newline at end of file
diff --git a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/package-info.java b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/package-info.java
index 4ce8d03a6..66577ee11 100644
--- a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/package-info.java
+++ b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/schema/impl/package-info.java
@@ -16,4 +16,7 @@
  */
 
 /** Implementations of the interfaces for XMLObjects that represent XML schema types. */
-package org.opensaml.core.xml.schema.impl;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.core.xml.schema.impl;
+
+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