This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git


The following commit(s) were added to refs/heads/master by this push:
     new 3b38df439 Use forEach()
3b38df439 is described below

commit 3b38df4393c0a5f4d1c6db4ed695295bbc4f9d8f
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sun Jul 17 08:50:57 2022 -0400

    Use forEach()
---
 .../lang3/exception/DefaultExceptionContext.java   | 58 +++++++++-------------
 1 file changed, 24 insertions(+), 34 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/lang3/exception/DefaultExceptionContext.java 
b/src/main/java/org/apache/commons/lang3/exception/DefaultExceptionContext.java
index 638674261..51bde8b50 100644
--- 
a/src/main/java/org/apache/commons/lang3/exception/DefaultExceptionContext.java
+++ 
b/src/main/java/org/apache/commons/lang3/exception/DefaultExceptionContext.java
@@ -18,9 +18,10 @@ package org.apache.commons.lang3.exception;
 
 import java.io.Serializable;
 import java.util.ArrayList;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.tuple.ImmutablePair;
@@ -58,57 +59,32 @@ public class DefaultExceptionContext implements 
ExceptionContext, Serializable {
      * {@inheritDoc}
      */
     @Override
-    public DefaultExceptionContext setContextValue(final String label, final 
Object value) {
-        contextValues.removeIf(p -> StringUtils.equals(label, p.getKey()));
-        addContextValue(label, value);
-        return this;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public List<Object> getContextValues(final String label) {
-        final List<Object> values = new ArrayList<>();
-        for (final Pair<String, Object> pair : contextValues) {
-            if (StringUtils.equals(label, pair.getKey())) {
-                values.add(pair.getValue());
-            }
-        }
-        return values;
+    public List<Pair<String, Object>> getContextEntries() {
+        return contextValues;
     }
 
     /**
      * {@inheritDoc}
      */
     @Override
-    public Object getFirstContextValue(final String label) {
-        for (final Pair<String, Object> pair : contextValues) {
-            if (StringUtils.equals(label, pair.getKey())) {
-                return pair.getValue();
-            }
-        }
-        return null;
+    public Set<String> getContextLabels() {
+        return stream().map(Pair::getKey).collect(Collectors.toSet());
     }
 
     /**
      * {@inheritDoc}
      */
     @Override
-    public Set<String> getContextLabels() {
-        final Set<String> labels = new HashSet<>();
-        for (final Pair<String, Object> pair : contextValues) {
-            labels.add(pair.getKey());
-        }
-        return labels;
+    public List<Object> getContextValues(final String label) {
+        return stream().filter(pair -> StringUtils.equals(label, 
pair.getKey())).map(Pair::getValue).collect(Collectors.toList());
     }
 
     /**
      * {@inheritDoc}
      */
     @Override
-    public List<Pair<String, Object>> getContextEntries() {
-        return contextValues;
+    public Object getFirstContextValue(final String label) {
+        return stream().filter(pair -> StringUtils.equals(label, 
pair.getKey())).findFirst().map(Pair::getValue).orElse(null);
     }
 
     /**
@@ -156,4 +132,18 @@ public class DefaultExceptionContext implements 
ExceptionContext, Serializable {
         return buffer.toString();
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public DefaultExceptionContext setContextValue(final String label, final 
Object value) {
+        contextValues.removeIf(p -> StringUtils.equals(label, p.getKey()));
+        addContextValue(label, value);
+        return this;
+    }
+
+    private Stream<Pair<String, Object>> stream() {
+        return contextValues.stream();
+    }
+
 }

Reply via email to