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(); + } + }