diff options
author | Jon Bratseth <bratseth@verizonmedia.com> | 2020-01-14 16:24:01 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@verizonmedia.com> | 2020-01-14 16:24:01 +0100 |
commit | 1ae8e74826afccbc79dd8e5c2b4aad909a170d49 (patch) | |
tree | 8ce7fda5ce942623cb0b466247665143c7805897 /config-model | |
parent | 6d09bcb10d27f3980547cd5ea24cefdd6e115ee1 (diff) |
Make tag name dependency static
Diffstat (limited to 'config-model')
3 files changed, 14 insertions, 11 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/builder/xml/ConfigModelId.java b/config-model/src/main/java/com/yahoo/config/model/builder/xml/ConfigModelId.java index 75cf5791d31..69d6da0ce5a 100644 --- a/config-model/src/main/java/com/yahoo/config/model/builder/xml/ConfigModelId.java +++ b/config-model/src/main/java/com/yahoo/config/model/builder/xml/ConfigModelId.java @@ -7,7 +7,6 @@ import com.yahoo.component.Version; * A {@link ConfigModelId} describes an element handled by a {@link ConfigModelBuilder}. * * @author Ulf Lilleengen - * @since 5.1 */ public class ConfigModelId implements Comparable<ConfigModelId> { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/NodesSpecification.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/NodesSpecification.java index 797341afefa..f8d37f7f534 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/NodesSpecification.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/NodesSpecification.java @@ -11,11 +11,13 @@ import com.yahoo.config.provision.NodeResources; import com.yahoo.text.XML; import com.yahoo.vespa.model.HostResource; import com.yahoo.vespa.model.HostSystem; +import com.yahoo.vespa.model.container.xml.ContainerModelBuilder; import org.w3c.dom.Element; import org.w3c.dom.Node; import java.util.Map; import java.util.Optional; +import java.util.Set; /** * A common utility class to represent a requirement for nodes during model building. @@ -292,7 +294,7 @@ public class NodesSpecification { var contentClusterId = content.get().getAttribute("id"); if (contentClusterId.isEmpty()) return false; for (var rootChild : XML.getChildren(services.get())) { - if ( ! "container".equals(rootChild.getTagName()) && ! "jdisc".equals(rootChild.getTagName())) continue; // Only container can reference content + if ( ! ContainerModelBuilder.isContainerTag(rootChild)) continue; var nodes = XML.getChild(rootChild, "nodes"); if (nodes == null) continue; if (!contentClusterId.equals(nodes.getAttribute("of"))) continue; diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java index 3e9ebaeccd4..0f808988a15 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java @@ -100,8 +100,8 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { //Path to vip status file for container in Hosted Vespa. Only used if set, else use HOSTED_VESPA_STATUS_FILE private static final String HOSTED_VESPA_STATUS_FILE_SETTING = "VESPA_LB_STATUS_FILE"; - private static final String TAG_NAME = "container"; - private static final String DEPRECATED_TAG_NAME = "jdisc"; + private static final String CONTAINER_TAG = "container"; + private static final String DEPRECATED_CONTAINER_TAG = "jdisc"; private static final String ENVIRONMENT_VARIABLES_ELEMENT = "environment-variables"; public enum Networking { disable, enable } @@ -114,7 +114,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { protected DeployLogger log; public static final List<ConfigModelId> configModelIds = - ImmutableList.of(ConfigModelId.fromName(TAG_NAME), ConfigModelId.fromName(DEPRECATED_TAG_NAME)); + ImmutableList.of(ConfigModelId.fromName(CONTAINER_TAG), ConfigModelId.fromName(DEPRECATED_CONTAINER_TAG)); private static final String xmlRendererId = RendererRegistry.xmlRendererId.getName(); private static final String jsonRendererId = RendererRegistry.jsonRendererId.getName(); @@ -445,8 +445,8 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { } private void checkTagName(Element spec, DeployLogger logger) { - if (spec.getTagName().equals(DEPRECATED_TAG_NAME)) { - logger.log(WARNING, "'" + DEPRECATED_TAG_NAME + "' is deprecated as tag name. Use '" + TAG_NAME + "' instead."); + if (spec.getTagName().equals(DEPRECATED_CONTAINER_TAG)) { + logger.log(WARNING, "'" + DEPRECATED_CONTAINER_TAG + "' is deprecated as tag name. Use '" + CONTAINER_TAG + "' instead."); } } @@ -891,10 +891,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { )); } - - /** - * Disallow renderers named "XmlRenderer" or "JsonRenderer" - */ + /** Disallow renderers named "XmlRenderer" or "JsonRenderer" */ private static void validateRendererElement(Element element) { String idAttr = element.getAttribute("id"); @@ -902,4 +899,9 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { throw new IllegalArgumentException(String.format("Renderer id %s is reserved for internal use", idAttr)); } } + + public static boolean isContainerTag(Element element) { + return CONTAINER_TAG.equals(element.getTagName()) || DEPRECATED_CONTAINER_TAG.equals(element.getTagName()); + } + } |