[java-identity-provider] 01/06: IDP-1516 stop using the collectingAndThen anti-pattern

Rod Widdowson rdw at steadingsoftware.com
Sat Nov 2 12:31:42 EDT 2019


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

rdw 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=dc1200a484825cf5895c98468cbc5762466f4401

commit dc1200a484825cf5895c98468cbc5762466f4401
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Fri Nov 1 11:31:45 2019 +0000

    IDP-1516 stop using the collectingAndThen anti-pattern
    
    https://issues.shibboleth.net/jira/browse/IDP-1516
    
    stream.collect(Collectors.toUnmodifiableList()) is better than
    collecting into a list and then and putting it into an unmodifiable list
---
 .../src/main/java/net/shibboleth/idp/attribute/IdPAttribute.java  | 2 +-
 .../net/shibboleth/idp/attribute/context/AttributeContext.java    | 8 ++------
 .../attribute/resolver/context/AttributeResolutionContext.java    | 4 +---
 .../resolver/dc/http/impl/AbstractHTTPSearchBuilder.java          | 2 +-
 .../idp/attribute/resolver/dc/impl/StaticDataConnector.java       | 4 +---
 .../idp/consent/logic/impl/AbstractAttributeDisplayFunction.java  | 2 +-
 .../java/net/shibboleth/idp/ui/context/RelyingPartyUIContext.java | 4 ++--
 7 files changed, 9 insertions(+), 17 deletions(-)

diff --git a/idp-attribute-api/src/main/java/net/shibboleth/idp/attribute/IdPAttribute.java b/idp-attribute-api/src/main/java/net/shibboleth/idp/attribute/IdPAttribute.java
index 231a43f..0dde305 100644
--- a/idp-attribute-api/src/main/java/net/shibboleth/idp/attribute/IdPAttribute.java
+++ b/idp-attribute-api/src/main/java/net/shibboleth/idp/attribute/IdPAttribute.java
@@ -228,7 +228,7 @@ public class IdPAttribute implements Comparable<IdPAttribute>, Cloneable {
         if (newValues != null) {
             values = newValues.stream().
                      map(e -> e==null? new EmptyAttributeValue(EmptyType.NULL_VALUE) :e).
-                     collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiableList));
+                     collect(Collectors.toUnmodifiableList());
         } else {
             values = Collections.emptyList();
         }
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 e9f867c..dc155ec 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
@@ -70,9 +70,7 @@ public final class AttributeContext extends BaseContext {
         if (newAttributes != null) {
             attributes = newAttributes.
                     stream().
-                    collect(Collectors.collectingAndThen(
-                                Collectors.toMap(IdPAttribute::getId, a -> a),
-                                Collections::unmodifiableMap));
+                    collect(Collectors.toUnmodifiableMap(IdPAttribute::getId, a -> a));
         } else {
             attributes = Collections.emptyMap();
         }
@@ -97,9 +95,7 @@ public final class AttributeContext extends BaseContext {
         if (null != unfilteredAttributes) {
             unfilteredAttributes = newAttributes.
                     stream().
-                    collect(Collectors.collectingAndThen(
-                                Collectors.toMap(IdPAttribute::getId, a -> a),
-                                Collections::unmodifiableMap));
+                    collect(Collectors.toUnmodifiableMap(IdPAttribute::getId, a -> a));
         } else {
             unfilteredAttributes = Collections.emptyMap();
         }
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 e280570..53f034b 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
@@ -305,9 +305,7 @@ public final class AttributeResolutionContext extends BaseContext {
         Constraint.isNotNull(attributes, "Null attribute set cannot be inserted into a context");
         resolvedAttributes = attributes.
                 stream().
-                collect(Collectors.collectingAndThen(
-                            Collectors.toMap(IdPAttribute::getId, a -> a),
-                            Collections::unmodifiableMap));
+                collect(Collectors.toUnmodifiableMap(IdPAttribute::getId, a -> a));
         return this;
     }
 
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/AbstractHTTPSearchBuilder.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/AbstractHTTPSearchBuilder.java
index 69f0e02..26a57c4 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/AbstractHTTPSearchBuilder.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/AbstractHTTPSearchBuilder.java
@@ -102,7 +102,7 @@ public abstract class AbstractHTTPSearchBuilder extends AbstractInitializableCom
                 map(e-> new Pair<>(
                         Constraint.isNotNull(StringSupport.trimOrNull(e.getKey()), "header name  must be non null"),
                         Constraint.isNotNull(StringSupport.trimOrNull(e.getValue()), "header value must be non null"))).
-                collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiableList));
+                collect(Collectors.toUnmodifiableList());
     }
     
     /**
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/impl/StaticDataConnector.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/impl/StaticDataConnector.java
index 8d3b466..c98a9c4 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/impl/StaticDataConnector.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/impl/StaticDataConnector.java
@@ -76,9 +76,7 @@ public class StaticDataConnector extends AbstractDataConnector {
         attributes = newValues.
                 stream().
                 map(e -> Constraint.isNotNull(e, "non null Attribute in connector")).
-                collect(Collectors.collectingAndThen(
-                            Collectors.toMap(IdPAttribute::getId, i -> i),
-                            Collections::unmodifiableMap));
+                collect(Collectors.toUnmodifiableMap(IdPAttribute::getId, i -> i));
     }
 
     /** {@inheritDoc} */
diff --git a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/logic/impl/AbstractAttributeDisplayFunction.java b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/logic/impl/AbstractAttributeDisplayFunction.java
index 9e3683e..293a80c 100644
--- a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/logic/impl/AbstractAttributeDisplayFunction.java
+++ b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/logic/impl/AbstractAttributeDisplayFunction.java
@@ -64,7 +64,7 @@ public abstract class AbstractAttributeDisplayFunction implements Function<IdPAt
                     stream().
                     filter(e -> e != null).
                     map(s -> new LanguageRange(s)).
-                    collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiableList));
+                    collect(Collectors.toUnmodifiableList());
         }
     }
 
diff --git a/idp-ui/src/main/java/net/shibboleth/idp/ui/context/RelyingPartyUIContext.java b/idp-ui/src/main/java/net/shibboleth/idp/ui/context/RelyingPartyUIContext.java
index c708ea8..c90e36e 100644
--- a/idp-ui/src/main/java/net/shibboleth/idp/ui/context/RelyingPartyUIContext.java
+++ b/idp-ui/src/main/java/net/shibboleth/idp/ui/context/RelyingPartyUIContext.java
@@ -200,7 +200,7 @@ public final class RelyingPartyUIContext extends BaseContext {
                 stream().
                 filter(e -> e != null).
                 map(s -> new LanguageRange(s)).
-                collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiableList));
+                collect(Collectors.toUnmodifiableList());
         return this;
     }
 
@@ -241,7 +241,7 @@ public final class RelyingPartyUIContext extends BaseContext {
                 stream().
                 filter(s -> s != null).
                 map(s -> new LanguageRange(s)).
-                collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiableList));
+                collect(Collectors.toUnmodifiableList());
         return this;
     }
 

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


More information about the commits mailing list