summaryrefslogtreecommitdiffstats
path: root/config-application-package/src/main/java/com/yahoo/config
diff options
context:
space:
mode:
authorHarald Musum <musum@yahoo-inc.com>2017-01-24 11:07:10 +0100
committerHarald Musum <musum@yahoo-inc.com>2017-01-24 11:07:10 +0100
commit7b5323ee2d26e38e4c38a44da79e2eedc9a9bce6 (patch)
tree4b11314b06308f087f773393a29ece19164277a2 /config-application-package/src/main/java/com/yahoo/config
parentd80a42df35c195e1058d2cee36e03986146a224f (diff)
Simplify code and change order of attributes in test
Diffstat (limited to 'config-application-package/src/main/java/com/yahoo/config')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java20
1 files changed, 8 insertions, 12 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java b/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java
index a060433cda6..6776119567b 100644
--- a/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java
+++ b/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java
@@ -12,6 +12,8 @@ import org.w3c.dom.NamedNodeMap;
import javax.xml.transform.TransformerException;
import java.util.*;
import java.util.logging.Logger;
+import java.util.stream.Collectors;
+import java.util.stream.IntStream;
/**
* Handles overrides in a XML document according to the rules defined for multi environment application packages.
@@ -253,18 +255,12 @@ class OverrideProcessor implements PreProcessor {
// Index by a concatenation of tag name + attribute names (except override attribute names)
for (Element child : children) {
NamedNodeMap attributes = child.getAttributes();
- Set<String> attributeNames = new HashSet<>();
- for (int i = 0; i < attributes.getLength(); i++) {
- String nodeName = attributes.item(i).getNodeName();
- if (nodeName.equals(ATTR_ENV_FULL_NAME) || nodeName.equals(ATTR_REG_FULL_NAME))
- continue;
- attributeNames.add(nodeName);
- }
- List<String> names = new ArrayList<>(attributeNames);
- Collections.sort(names);
- StringBuilder sb = new StringBuilder(child.getTagName());
- names.forEach(sb::append);
- String key = sb.toString();
+ String attributeNames = IntStream.range(0, attributes.getLength())
+ .mapToObj(i -> attributes.item(i).getNodeName())
+ .filter(nodeName -> !(nodeName.equals(ATTR_ENV_FULL_NAME) || nodeName.equals(ATTR_REG_FULL_NAME)))
+ .sorted()
+ .collect(Collectors.joining());
+ String key = child.getTagName() + attributeNames;
if ( ! elementsByEqualAttributeSet.containsKey(key)) {
elementsByEqualAttributeSet.put(key, new ArrayList<>());
}