[java-identity-provider] branch main updated: IDP-1795 Complete the removal of Collections from IdPAttributes

Rod Widdowson rdw at steadingsoftware.com
Tue Apr 13 11:36:35 UTC 2021


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

rdw 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=78da41cf3f9081c2398e8c1c57f41958f0ab4890

The following commit(s) were added to refs/heads/main by this push:
       new  78da41cf3 IDP-1795 Complete the removal of Collections from IdPAttributes
78da41cf3 is described below

commit 78da41cf3f9081c2398e8c1c57f41958f0ab4890
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Tue Apr 13 10:43:51 2021 +0100

    IDP-1795 Complete the removal of Collections from IdPAttributes
    
    https://issues.shibboleth.net/jira/browse/IDP-1795
    
    Fix a couple of places where attributes are passed as a Collection
    (we favor List)
---
 .../attribute/filter/spring/AttributeFilterServiceTest.java  |  4 ++--
 .../resolver/ad/impl/SimpleAttributeDefinition.java          | 12 ++++++++++++
 .../dc/storage/impl/SimpleStorageMappingStrategy.java        |  2 +-
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/AttributeFilterServiceTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/AttributeFilterServiceTest.java
index 11b46362e..8f323d4b8 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/AttributeFilterServiceTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/AttributeFilterServiceTest.java
@@ -99,11 +99,11 @@ public class AttributeFilterServiceTest {
         attributesToBeFiltered = new HashMap<>();
 
         IdPAttribute firstName = new IdPAttribute("firstName");
-        firstName.setValues(Collections.singleton(new StringAttributeValue("john")));
+        firstName.setValues(Collections.singletonList(new StringAttributeValue("john")));
         attributesToBeFiltered.put(firstName.getId(), firstName);
 
         IdPAttribute lastName = new IdPAttribute("lastName");
-        lastName.setValues(Collections.singleton(new StringAttributeValue("smith")));
+        lastName.setValues(Collections.singletonList(new StringAttributeValue("smith")));
         attributesToBeFiltered.put(lastName.getId(), lastName);
 
         IdPAttribute email = new IdPAttribute("email");
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/SimpleAttributeDefinition.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/SimpleAttributeDefinition.java
index f8287094e..aa8a496af 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/SimpleAttributeDefinition.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/SimpleAttributeDefinition.java
@@ -27,6 +27,7 @@ import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.utilities.java.support.component.ComponentSupport;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 
 /**
@@ -35,6 +36,17 @@ import net.shibboleth.utilities.java.support.logic.Constraint;
  */
 @ThreadSafe
 public class SimpleAttributeDefinition extends AbstractAttributeDefinition {
+    
+    /** Do we filter null/empty values out? */
+    private boolean filterNullValues;
+    
+    /** Do we filter null/empty values out?
+     * @param what what to set.
+     */
+    public void setFilterNullValues(boolean what) {
+        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        filterNullValues = what;
+    }
 
     /** {@inheritDoc} */
     @Override @Nonnull protected IdPAttribute doAttributeDefinitionResolve(
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/storage/impl/SimpleStorageMappingStrategy.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/storage/impl/SimpleStorageMappingStrategy.java
index 0db5484b2..aef12b50e 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/storage/impl/SimpleStorageMappingStrategy.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/storage/impl/SimpleStorageMappingStrategy.java
@@ -58,7 +58,7 @@ public class SimpleStorageMappingStrategy implements StorageMappingStrategy {
             @Nonnull final StorageRecord<?> results) throws ResolutionException {
         
         final IdPAttribute attribute = new IdPAttribute(attributeId);
-        attribute.setValues(Collections.singleton(StringAttributeValue.valueOf(results.getValue())));
+        attribute.setValues(Collections.singletonList(StringAttributeValue.valueOf(results.getValue())));
         
         return Collections.singletonMap(attributeId, attribute);
     }

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


More information about the commits mailing list