summaryrefslogtreecommitdiffstats
path: root/node-admin/src
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@verizonmedia.com>2019-02-08 13:07:25 +0100
committerHåkon Hallingstad <hakon@verizonmedia.com>2019-02-08 13:07:25 +0100
commitd7048062d6800eba1ffbdd3392a784e29b38ffbf (patch)
tree6cfd4ef9f6ad600058b5310e6eb2debf8d40a573 /node-admin/src
parent932df4c37bd7bd4be9cf666e24431445007ceff7 (diff)
Move reports under noderepository package and fix null handling
Diffstat (limited to 'node-admin/src')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeReports.java6
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java4
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java2
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/reports/BaseReport.java (renamed from node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/reports/BaseReport.java)2
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/reports/package-info.java (renamed from node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/reports/package-info.java)2
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNodeTest.java2
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/reports/BaseReportTest.java (renamed from node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/reports/BaseReportTest.java)2
7 files changed, 10 insertions, 10 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeReports.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeReports.java
index 075edbba78d..72c7885d8c1 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeReports.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeReports.java
@@ -28,11 +28,11 @@ public class NodeReports {
}
private NodeReports(Map<String, JsonNode> reports) {
- this.reports.putAll(reports);
+ this.reports.putAll(Objects.requireNonNull(reports));
}
- public static NodeReports fromMap(Optional<Map<String, JsonNode>> reports) {
- return reports.map(NodeReports::new).orElseGet(NodeReports::new);
+ public static NodeReports fromMap(Map<String, JsonNode> reports) {
+ return new NodeReports(reports);
}
public void setReport(String reportId, JsonNode jsonNode) {
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java
index c9a1e90935a..edba4956e90 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java
@@ -121,7 +121,7 @@ public class NodeSpec {
this.ipAddresses = Objects.requireNonNull(ipAddresses);
this.hardwareDivergence = Objects.requireNonNull(hardwareDivergence);
this.hardwareFailureDescription = Objects.requireNonNull(hardwareFailureDescription);
- this.reports = reports;
+ this.reports = Objects.requireNonNull(reports);
this.parentHostname = Objects.requireNonNull(parentHostname);
}
@@ -732,7 +732,7 @@ public class NodeSpec {
attributes.getRestartGeneration().ifPresent(this::currentRestartGeneration);
attributes.getHardwareFailureDescription().ifPresent(this::hardwareFailureDescription);
attributes.getWantToDeprovision().ifPresent(this::wantToDeprovision);
- NodeReports.fromMap(Optional.of(attributes.getReports()));
+ NodeReports.fromMap(attributes.getReports());
return this;
}
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java
index d66be008a07..45e57ae2e67 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java
@@ -183,7 +183,7 @@ public class RealNodeRepository implements NodeRepository {
node.membership.group, node.membership.index, node.membership.retired);
}
- NodeReports reports = NodeReports.fromMap(Optional.ofNullable(node.reports));
+ NodeReports reports = NodeReports.fromMap(node.reports == null ? Collections.emptyMap() : node.reports);
return new NodeSpec(
hostName,
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/reports/BaseReport.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/reports/BaseReport.java
index c98c5274434..26c1b90218f 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/reports/BaseReport.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/reports/BaseReport.java
@@ -1,5 +1,5 @@
// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.hosted.node.admin.configserver.reports;
+package com.yahoo.vespa.hosted.node.admin.configserver.noderepository.reports;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonGetter;
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/reports/package-info.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/reports/package-info.java
index e78c4e773d3..82a729b4dd5 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/reports/package-info.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/reports/package-info.java
@@ -1,5 +1,5 @@
// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
@ExportPackage
-package com.yahoo.vespa.hosted.node.admin.configserver.reports;
+package com.yahoo.vespa.hosted.node.admin.configserver.noderepository.reports;
import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNodeTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNodeTest.java
index c324238d275..ded6d4fbf61 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNodeTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNodeTest.java
@@ -8,7 +8,7 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
import com.yahoo.test.json.JsonTestHelper;
import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.NodeAttributes;
import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.RealNodeRepository;
-import com.yahoo.vespa.hosted.node.admin.configserver.reports.BaseReport;
+import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.reports.BaseReport;
import com.yahoo.vespa.hosted.provision.node.Report;
import org.junit.Test;
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/reports/BaseReportTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/reports/BaseReportTest.java
index 6456a09dd27..eec17f019bd 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/reports/BaseReportTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/reports/BaseReportTest.java
@@ -1,5 +1,5 @@
// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.hosted.node.admin.configserver.reports;
+package com.yahoo.vespa.hosted.node.admin.configserver.noderepository.reports;
import com.yahoo.test.json.JsonTestHelper;
import org.junit.Test;