aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2019-08-29 11:17:52 +0200
committerMartin Polden <mpolden@mpolden.no>2019-08-29 11:17:52 +0200
commit7034e5befdc9ac15cba2149b19ae7176058705ea (patch)
treee84a414889d62e5605eb80fa65805a9b193d6c49
parent79d2330dc2348437e269d833025911ebf54b0f21 (diff)
Always use constant for empty status
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/RotationStatusUpdater.java2
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java2
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/rotation/RotationStatus.java6
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java6
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java2
5 files changed, 11 insertions, 7 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/RotationStatusUpdater.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/RotationStatusUpdater.java
index 0bb98d7837c..ab818a675b0 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/RotationStatusUpdater.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/RotationStatusUpdater.java
@@ -82,7 +82,7 @@ public class RotationStatusUpdater extends Maintainer {
.collect(Collectors.toMap(Map.Entry::getKey, (kv) -> from(kv.getValue())));
statusMap.put(assignedRotation.rotationId(), rotationStatus);
}
- return new RotationStatus(statusMap);
+ return RotationStatus.from(statusMap);
}
private static RotationState from(com.yahoo.vespa.hosted.controller.api.integration.routing.RotationStatus status) {
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java
index 421805231a1..d2a27e0c76d 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java
@@ -414,7 +414,7 @@ public class ApplicationSerializer {
var statusMap = new LinkedHashMap<RotationId, Map<ZoneId, RotationState>>();
object.traverse((ArrayTraverser) (idx, statusObject) -> statusMap.put(new RotationId(statusObject.field(rotationIdField).asString()),
singleRotationStatusFromSlime(statusObject.field(statusField))));
- return new RotationStatus(statusMap);
+ return RotationStatus.from(statusMap);
}
private Map<ZoneId, RotationState> singleRotationStatusFromSlime(Inspector object) {
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/rotation/RotationStatus.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/rotation/RotationStatus.java
index 45ba83712a3..087d07d9c1b 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/rotation/RotationStatus.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/rotation/RotationStatus.java
@@ -18,7 +18,7 @@ public class RotationStatus {
private final Map<RotationId, Map<ZoneId, RotationState>> status;
- public RotationStatus(Map<RotationId, Map<ZoneId, RotationState>> status) {
+ private RotationStatus(Map<RotationId, Map<ZoneId, RotationState>> status) {
this.status = Map.copyOf(Objects.requireNonNull(status));
}
@@ -58,4 +58,8 @@ public class RotationStatus {
return Objects.hash(status);
}
+ public static RotationStatus from(Map<RotationId, Map<ZoneId, RotationState>> status) {
+ return status.isEmpty() ? EMPTY : new RotationStatus(status);
+ }
+
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java
index 353511a017d..d0e18be270a 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java
@@ -100,9 +100,9 @@ public class ApplicationSerializerTest {
DeploymentJobs deploymentJobs = new DeploymentJobs(projectId, statusList, empty(), true);
- var rotationStatus = new RotationStatus(Map.of(new RotationId("my-rotation"),
- Map.of(ZoneId.from("prod", "us-west-1"), RotationState.in,
- ZoneId.from("prod", "us-east-3"), RotationState.out)));
+ var rotationStatus = RotationStatus.from(Map.of(new RotationId("my-rotation"),
+ Map.of(ZoneId.from("prod", "us-west-1"), RotationState.in,
+ ZoneId.from("prod", "us-east-3"), RotationState.out)));
Application original = new Application(ApplicationId.from("t1", "a1", "i1"),
Instant.now().truncatedTo(ChronoUnit.MILLIS),
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
index 363522700d1..07c68d738c0 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
@@ -1742,7 +1742,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
var rotationStatus = controllerTester.controller().globalRoutingService().getHealthStatus(rotation.name());
var statusMap = new LinkedHashMap<ZoneId, RotationState>();
rotationStatus.forEach((zone, status) -> statusMap.put(zone, RotationState.in));
- return new RotationStatus(Map.of(rotation.id(), statusMap));
+ return RotationStatus.from(Map.of(rotation.id(), statusMap));
})
.orElse(RotationStatus.EMPTY);
}