diff options
Diffstat (limited to 'config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java')
-rw-r--r-- | config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java | 14 |
1 files changed, 11 insertions, 3 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 6a946e1ce75..6f4d782a5b4 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,7 +4,6 @@ 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; @@ -19,6 +18,7 @@ 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; @@ -218,9 +218,17 @@ class OverrideProcessor implements PreProcessor { private void doElementSpecificProcessingOnOverride(List<Element> elements) { // if node capacity is specified explicitly for some combination we should require that capacity elements.forEach(element -> { - if (element.getTagName().equals("nodes")) - if (element.getChildNodes().getLength() == 0) // specifies capacity, not a list of nodes + if (element.getTagName().equals("nodes")) { + boolean hasNodeChild = false; + for (var child : XML.getChildren(element)) { + if (child.getTagName().equals("node")) { + hasNodeChild = true; + break; + } + } + if (!hasNodeChild) // specifies capacity, not a list of nodes element.setAttribute("required", "true"); + } }); } |