aboutsummaryrefslogtreecommitdiffstats
path: root/config-application-package
diff options
context:
space:
mode:
authorHÃ¥kon Hallingstad <hakon.hallingstad@gmail.com>2020-11-02 18:48:30 +0100
committerGitHub <noreply@github.com>2020-11-02 18:48:30 +0100
commit01604cf7df04ff17c3197dafda9d9af57282bbae (patch)
tree03c3146520e45a015456b6bebd5a3fa481d681b8 /config-application-package
parent178ed0f20f5f93fba4258ace0c4d9e7905608b53 (diff)
Revert "Add required="true" for override without node children"
Diffstat (limited to 'config-application-package')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java15
-rw-r--r--config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java52
2 files changed, 4 insertions, 63 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 35584bf9608..6a946e1ce75 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
@@ -4,6 +4,7 @@ package com.yahoo.config.application;
import com.yahoo.config.provision.Environment;
import com.yahoo.config.provision.InstanceName;
import com.yahoo.config.provision.RegionName;
+import java.util.logging.Level;
import com.yahoo.text.XML;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -18,7 +19,6 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.stream.Collectors;
@@ -219,20 +219,11 @@ class OverrideProcessor implements PreProcessor {
// if node capacity is specified explicitly for some combination we should require that capacity
elements.forEach(element -> {
if (element.getTagName().equals("nodes"))
- if (!hasChildWithTagName(element, "node")) // specifies capacity, not a list of nodes
+ if (element.getChildNodes().getLength() == 0) // specifies capacity, not a list of nodes
element.setAttribute("required", "true");
});
}
-
- private static boolean hasChildWithTagName(Element element, String childName) {
- for (var child : XML.getChildren(element)) {
- if (child.getTagName().equals(childName))
- return true;
- }
-
- return false;
- }
-
+
/**
* Retains all elements where at least one element is overridden. Removes non-overridden elements from map.
*/
diff --git a/config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java b/config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java
index d8e35ced227..05a5357a8ab 100644
--- a/config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java
+++ b/config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java
@@ -347,58 +347,8 @@ public class OverrideProcessorTest {
new OverrideProcessor(InstanceName.from("default"), Environment.defaultEnvironment(), RegionName.from("us-west")).process(inputDoc);
}
- @Test
- public void testImpliedRequired() throws TransformerException {
- String input = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" +
- "<services xmlns:deploy=\"vespa\" xmlns:preprocess=\"?\" version=\"1.0\">" +
- " <content id=\"foo\" version=\"1.0\">" +
- " <nodes deploy:environment=\"dev\">" +
- " <!-- comment -->" +
- " <resources vcpu=\"2\" memory=\"8Gb\" disk=\"50Gb\" disk-speed=\"any\"/>" +
- " </nodes>" +
- " </content>" +
- "</services>";
- String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" +
- "<services xmlns:deploy=\"vespa\" xmlns:preprocess=\"?\" version=\"1.0\">" +
- " <content id=\"foo\" version=\"1.0\">" +
- " <nodes required=\"true\">" +
- " <!-- comment -->" +
- " <resources vcpu=\"2\" memory=\"8Gb\" disk=\"50Gb\" disk-speed=\"any\"/>" +
- " </nodes>" +
- " </content>" +
- "</services>";
-
- assertOverride(input, Environment.dev, RegionName.defaultName(), expected);
- }
-
- @Test
- public void testNodeElementCancelsImpliedRequired() throws TransformerException {
- String input = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" +
- "<services xmlns:deploy=\"vespa\" xmlns:preprocess=\"?\" version=\"1.0\">" +
- " <content id=\"foo\" version=\"1.0\">" +
- " <nodes deploy:environment=\"dev\">" +
- " <node distribution-key=\"0\" hostalias=\"node0\"/>" +
- " </nodes>" +
- " </content>" +
- "</services>";
- String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" +
- "<services xmlns:deploy=\"vespa\" xmlns:preprocess=\"?\" version=\"1.0\">" +
- " <content id=\"foo\" version=\"1.0\">" +
- " <nodes>" +
- " <node distribution-key=\"0\" hostalias=\"node0\"/>" +
- " </nodes>" +
- " </content>" +
- "</services>";
-
- assertOverride(input, Environment.dev, RegionName.defaultName(), expected);
- }
-
private void assertOverride(Environment environment, RegionName region, String expected) throws TransformerException {
- assertOverride(input, environment, region, expected);
- }
-
- private void assertOverride(String input, Environment environment, RegionName region, String expected) throws TransformerException {
- Document inputDoc = Xml.getDocument(new StringReader(input));
+ Document inputDoc = Xml.getDocument(new StringReader(OverrideProcessorTest.input));
Document newDoc = new OverrideProcessor(InstanceName.from("default"), environment, region).process(inputDoc);
TestBase.assertDocument(expected, newDoc);
}