You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2022/08/06 18:04:02 UTC
[commons-configuration] 05/05: Better use of streams
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 <ga...@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);