summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2020-01-14 16:24:01 +0100
committerJon Bratseth <bratseth@verizonmedia.com>2020-01-14 16:24:01 +0100
commit1ae8e74826afccbc79dd8e5c2b4aad909a170d49 (patch)
tree8ce7fda5ce942623cb0b466247665143c7805897
parent6d09bcb10d27f3980547cd5ea24cefdd6e115ee1 (diff)
Make tag name dependency static
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/builder/xml/ConfigModelId.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/NodesSpecification.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java20
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());
+ }
+
}