diff options
author | HÃ¥kon Hallingstad <hakon.hallingstad@gmail.com> | 2020-11-02 18:48:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-02 18:48:30 +0100 |
commit | 01604cf7df04ff17c3197dafda9d9af57282bbae (patch) | |
tree | 03c3146520e45a015456b6bebd5a3fa481d681b8 /config-application-package | |
parent | 178ed0f20f5f93fba4258ace0c4d9e7905608b53 (diff) |
Revert "Add required="true" for override without node children"
Diffstat (limited to 'config-application-package')
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); } |