diff options
author | Morten Tokle <mortent@yahooinc.com> | 2023-09-22 11:59:19 +0200 |
---|---|---|
committer | Morten Tokle <mortent@yahooinc.com> | 2023-09-22 11:59:19 +0200 |
commit | 3bed6cc9a8bc9a5fba0e1f575b7d2c78184ac747 (patch) | |
tree | ef22a8c7bbbec2dd6cc5cd42cd8578b3cfc04a43 /controller-api/src/main | |
parent | ddb3ea3b347a17678664e2430d00e232e8f8fb31 (diff) |
Temporary rewrite application->instance
Diffstat (limited to 'controller-api/src/main')
-rw-r--r-- | controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchive.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchive.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchive.java index 60903ff3353..856af9f4132 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchive.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchive.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; +import com.fasterxml.jackson.databind.node.TextNode; import com.yahoo.component.Version; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.CloudAccount; @@ -255,6 +256,17 @@ public class SystemFlagsDataArchive { final JsonNode root; try { root = mapper.readTree(fileContent); + // TODO (mortent): Remove this after completing migration of APPLICATION_ID dimension + // replace "application" with "instance" for all dimension fields + List<JsonNode> dimensionParents = root.findParents("dimension"); + for (JsonNode parentNode : dimensionParents) { + JsonNode dimension = parentNode.get("dimension"); + if (dimension.isTextual() && "application".equals(dimension.textValue())) { + ObjectNode parent = (ObjectNode) parentNode; + parent.remove("dimension"); + parent.put("dimension", "instance"); + } + } } catch (JsonProcessingException e) { throw new FlagValidationException("Invalid JSON: " + e.getMessage()); } |