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-configuration.git

commit 6e2617f3e303dbcb9cf05a7fbbb5e94ed5c3fd16
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sat Aug 6 14:03:50 2022 -0400

    Better use of streams
---
 .../configuration2/BaseHierarchicalConfiguration.java       | 13 +++----------
 .../org/apache/commons/configuration2/INIConfiguration.java |  2 +-
 .../org/apache/commons/configuration2/XMLConfiguration.java |  8 ++------
 3 files changed, 6 insertions(+), 17 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/configuration2/BaseHierarchicalConfiguration.java
 
b/src/main/java/org/apache/commons/configuration2/BaseHierarchicalConfiguration.java
index 009819d3..0e0100b9 100644
--- 
a/src/main/java/org/apache/commons/configuration2/BaseHierarchicalConfiguration.java
+++ 
b/src/main/java/org/apache/commons/configuration2/BaseHierarchicalConfiguration.java
@@ -17,7 +17,6 @@
 
 package org.apache.commons.configuration2;
 
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -267,10 +266,8 @@ public class BaseHierarchicalConfiguration extends 
AbstractHierarchicalConfigura
      * @return the list with sub configurations
      */
     private List<HierarchicalConfiguration<ImmutableNode>> 
createConnectedSubConfigurations(final InMemoryNodeModelSupport 
parentModelSupport,
-            final Collection<NodeSelector> selectors) {
-        final List<HierarchicalConfiguration<ImmutableNode>> configs = new 
ArrayList<>(selectors.size());
-        selectors.forEach(selector -> 
configs.add(createSubConfigurationForTrackedNode(selector, 
parentModelSupport)));
-        return configs;
+        final Collection<NodeSelector> selectors) {
+        return selectors.stream().map(sel -> 
createSubConfigurationForTrackedNode(sel, 
parentModelSupport)).collect(Collectors.toList());
     }
 
     /**
@@ -411,11 +408,7 @@ public class BaseHierarchicalConfiguration extends 
AbstractHierarchicalConfigura
             return Collections.emptyList();
         }
 
-        final ImmutableNode parent = nodes.get(0);
-        final List<HierarchicalConfiguration<ImmutableNode>> subs = new 
ArrayList<>(parent.getChildren().size());
-        parent.forEach(node -> 
subs.add(createIndependentSubConfigurationForNode(node)));
-
-        return subs;
+        return 
nodes.get(0).stream().map(this::createIndependentSubConfigurationForNode).collect(Collectors.toList());
     }
 
     /**
diff --git 
a/src/main/java/org/apache/commons/configuration2/INIConfiguration.java 
b/src/main/java/org/apache/commons/configuration2/INIConfiguration.java
index 1a5c5c99..65442256 100644
--- a/src/main/java/org/apache/commons/configuration2/INIConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/INIConfiguration.java
@@ -409,7 +409,7 @@ public class INIConfiguration extends 
BaseHierarchicalConfiguration implements F
      * @return the root node of the newly created hierarchy
      */
     private static ImmutableNode createNewRootNode(final ImmutableNode.Builder 
rootBuilder, final Map<String, ImmutableNode.Builder> sectionBuilders) {
-        sectionBuilders.entrySet().forEach(e -> 
rootBuilder.addChild(e.getValue().name(e.getKey()).create()));
+        sectionBuilders.forEach((k, v) -> 
rootBuilder.addChild(v.name(k).create()));
         return rootBuilder.create();
     }
 
diff --git 
a/src/main/java/org/apache/commons/configuration2/XMLConfiguration.java 
b/src/main/java/org/apache/commons/configuration2/XMLConfiguration.java
index 7e0a5dd3..609b4b3f 100644
--- a/src/main/java/org/apache/commons/configuration2/XMLConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/XMLConfiguration.java
@@ -943,11 +943,7 @@ public class XMLConfiguration extends 
BaseHierarchicalConfiguration implements F
          * @param refHandler the {@code ReferenceNodeHandler}
          */
         public void handleRemovedNodes(final ReferenceNodeHandler refHandler) {
-            refHandler.removedReferences().forEach(ref -> {
-                if (ref instanceof Node) {
-                    removeReference((Element) elementMapping.get(ref));
-                }
-            });
+            
refHandler.removedReferences().stream().filter(Node.class::isInstance).forEach(ref
 -> removeReference(elementMapping.get(ref)));
         }
 
         /**
@@ -1033,7 +1029,7 @@ public class XMLConfiguration extends 
BaseHierarchicalConfiguration implements F
          *
          * @param element the element to be removed
          */
-        private void removeReference(final Element element) {
+        private void removeReference(final Node element) {
             final Node parentElem = element.getParentNode();
             if (parentElem != null) {
                 parentElem.removeChild(element);

Reply via email to