diff options
author | Håkon Hallingstad <hakon@yahooinc.com> | 2021-10-15 11:07:21 +0200 |
---|---|---|
committer | Håkon Hallingstad <hakon@yahooinc.com> | 2021-10-15 11:07:21 +0200 |
commit | c8a00c107f88087f80b19810b06e0ba0a5104db7 (patch) | |
tree | f052e70c3e31a80b00c0187b5f54fda4849343c1 /node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java | |
parent | 912d0cb4a321ebb3eb7a1cd0d73bd3371d9bec22 (diff) |
Add method for getting node report from ID and type.
Diffstat (limited to 'node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java')
-rw-r--r-- | node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java index 8d897c86f1f..328b6b19a0b 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java @@ -4,13 +4,13 @@ package com.yahoo.vespa.hosted.node.admin.configserver.noderepository; import com.fasterxml.jackson.databind.JsonNode; import com.yahoo.component.Version; import com.yahoo.config.provision.DockerImage; +import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.reports.BaseReport; import java.time.Instant; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; -import java.util.Set; import java.util.TreeMap; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -123,6 +123,10 @@ public class NodeAttributes { return reports; } + public <T extends BaseReport> Optional<T> getReport(String reportId, Class<T> classInstance) { + return Optional.ofNullable(reports.get(reportId)).map(jn -> BaseReport.fromJsonNode(jn, classInstance)); + } + @Override public int hashCode() { return Objects.hash(hostId, restartGeneration, rebootGeneration, dockerImage, vespaVersion, currentOsVersion, |