[java-identity-provider] branch master updated: Broke a mutable collection contract in resolution context.

Scott Cantor cantor.2 at osu.edu
Thu Jan 30 10:27:00 EST 2020


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

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

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

The following commit(s) were added to refs/heads/master by this push:
       new  70388b8   Broke a mutable collection contract in resolution context.
70388b8 is described below

commit 70388b8f7e70b579fe3c8db6d925a263614ff010
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Jan 30 10:26:57 2020 -0500

    Broke a mutable collection contract in resolution context.
---
 .../net/shibboleth/idp/attribute/context/AttributeContext.java     | 5 +++--
 .../idp/attribute/resolver/context/AttributeResolutionContext.java | 7 +++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/idp-attribute-api/src/main/java/net/shibboleth/idp/attribute/context/AttributeContext.java b/idp-attribute-api/src/main/java/net/shibboleth/idp/attribute/context/AttributeContext.java
index dc155ec..612632f 100644
--- a/idp-attribute-api/src/main/java/net/shibboleth/idp/attribute/context/AttributeContext.java
+++ b/idp-attribute-api/src/main/java/net/shibboleth/idp/attribute/context/AttributeContext.java
@@ -30,6 +30,7 @@ import org.opensaml.messaging.context.BaseContext;
 
 import net.shibboleth.idp.attribute.IdPAttribute;
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
 import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
 
 /**
@@ -56,7 +57,7 @@ public final class AttributeContext extends BaseContext {
      * 
      * @return the collection of attributes indexed by attribute ID
      */
-    @Nonnull @NonnullElements @Unmodifiable public Map<String, IdPAttribute> getIdPAttributes() {
+    @Nonnull @NonnullElements @Unmodifiable @NotLive public Map<String, IdPAttribute> getIdPAttributes() {
         return attributes;
     }
 
@@ -82,7 +83,7 @@ public final class AttributeContext extends BaseContext {
      * 
      * @return the collection of attributes indexed by attribute ID
      */
-    @Nonnull @NonnullElements @Unmodifiable public Map<String, IdPAttribute> getUnfilteredIdPAttributes() {
+    @Nonnull @NonnullElements @Unmodifiable @NotLive public Map<String, IdPAttribute> getUnfilteredIdPAttributes() {
         return unfilteredAttributes;
     }
 
diff --git a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/context/AttributeResolutionContext.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/context/AttributeResolutionContext.java
index 53f034b..3eee451 100644
--- a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/context/AttributeResolutionContext.java
+++ b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/context/AttributeResolutionContext.java
@@ -19,6 +19,7 @@ package net.shibboleth.idp.attribute.resolver.context;
 
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
@@ -277,8 +278,10 @@ public final class AttributeResolutionContext extends BaseContext {
      */
     @Nullable public AttributeResolutionContext setRequestedIdPAttributeNames(
             @Nonnull @NonnullElements final Collection<String> names) {
-        requestedAttributeNames = Set.copyOf(
-                Constraint.isNotNull(names, "Requested IdPAttribute collection cannot be null"));
+        requestedAttributeNames = Constraint.isNotNull(names, "Requested IdPAttribute collection cannot be null")
+                .stream()
+                .filter(n -> n != null)
+                .collect(Collectors.toCollection(HashSet::new));
         
         return this;
     }

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


More information about the commits mailing list