diff options
author | HÃ¥kon Hallingstad <hakon.hallingstad@gmail.com> | 2023-11-21 09:56:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-21 09:56:48 +0100 |
commit | ccc4d65ca958036b37a4fbbbcca443f2a873077f (patch) | |
tree | 90b096bf5b1229393fd285d917ff3fd2caf40c17 | |
parent | 8f9be373aca924f1d146ceb668c7b9a8463c6da3 (diff) | |
parent | 885d166a929765dd0bdb41537a4b89ddb143fd0f (diff) |
Merge pull request #29371 from vespa-engine/hakonhall/add-links-to-core-dump-ticketsv8.263.7
Methods to get InfrastructureApplication and NodeType from names
-rw-r--r-- | application-model/src/main/java/com/yahoo/vespa/applicationmodel/InfrastructureApplication.java | 11 | ||||
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java | 8 |
2 files changed, 19 insertions, 0 deletions
diff --git a/application-model/src/main/java/com/yahoo/vespa/applicationmodel/InfrastructureApplication.java b/application-model/src/main/java/com/yahoo/vespa/applicationmodel/InfrastructureApplication.java index 560c3d169d3..72a278b248a 100644 --- a/application-model/src/main/java/com/yahoo/vespa/applicationmodel/InfrastructureApplication.java +++ b/application-model/src/main/java/com/yahoo/vespa/applicationmodel/InfrastructureApplication.java @@ -5,6 +5,7 @@ import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.NodeType; import java.util.List; +import java.util.Optional; import java.util.stream.Stream; /** @@ -37,6 +38,16 @@ public enum InfrastructureApplication { .orElseThrow(() -> new IllegalArgumentException("No application associated with " + nodeType)); } + public static Optional<InfrastructureApplication> ofOptional(ApplicationId applicationId) { + for (var application : values()) { + if (application.id.equals(applicationId)) { + return Optional.of(application); + } + } + + return Optional.empty(); + } + InfrastructureApplication(String name, NodeType nodeType) { this.id = ApplicationId.from(TenantId.HOSTED_VESPA.value(), name, "default"); this.nodeType = nodeType; diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java index 0eac568ec45..ff2cb26f250 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java @@ -2,6 +2,7 @@ package com.yahoo.config.provision; import java.util.List; +import java.util.Optional; /** * The possible types of nodes in the node repository @@ -37,6 +38,13 @@ public enum NodeType { private final String description; private final List<NodeType> childNodeTypes; + public static Optional<NodeType> ofOptional(String name) { + for (var type : values()) { + if (type.name().equals(name)) return Optional.of(type); + } + return Optional.empty(); + } + NodeType(String description, NodeType... childNodeTypes) { this.childNodeTypes = List.of(childNodeTypes); this.description = description; |