diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2020-11-25 10:34:14 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2020-11-25 10:34:14 +0100 |
commit | a66caff88371e789a3ad8078505bf562149ac57e (patch) | |
tree | def0647cd47ad8f0f23d276b83f8c97871eded9e /controller-api | |
parent | 286ff1b50c40b50ab59ea2487e66c1cfae258384 (diff) |
Extended reindexing status in controller
Diffstat (limited to 'controller-api')
-rw-r--r-- | controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ApplicationReindexing.java | 49 |
1 files changed, 44 insertions, 5 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ApplicationReindexing.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ApplicationReindexing.java index 8d002640156..b6c7899aef1 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ApplicationReindexing.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ApplicationReindexing.java @@ -4,6 +4,7 @@ package com.yahoo.vespa.hosted.controller.api.integration.configserver; import java.time.Instant; import java.util.Map; import java.util.Objects; +import java.util.Optional; import static java.util.Objects.requireNonNull; @@ -115,31 +116,69 @@ public class ApplicationReindexing { public static class Status { private final Instant readyAt; + private final Instant startedAt; + private final Instant endedAt; + private final State state; + private final String message; + private final String progress; + + public Status(Instant readyAt, Instant startedAt, Instant endedAt, State state, String message, String progress) { + this.readyAt = readyAt; + this.startedAt = startedAt; + this.endedAt = endedAt; + this.state = state; + this.message = message; + this.progress = progress; + } public Status(Instant readyAt) { - this.readyAt = requireNonNull(readyAt); + this(readyAt, null, null, null, null, null); } - public Instant readyAt() { return readyAt; } + public Optional<Instant> readyAt() { return Optional.ofNullable(readyAt); } + public Optional<Instant> startedAt() { return Optional.ofNullable(startedAt); } + public Optional<Instant> endedAt() { return Optional.ofNullable(endedAt); } + public Optional<State> state() { return Optional.ofNullable(state); } + public Optional<String> message() { return Optional.ofNullable(message); } + public Optional<String> progress() { return Optional.ofNullable(progress); } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Status status = (Status) o; - return readyAt.equals(status.readyAt); + return Objects.equals(readyAt, status.readyAt) && + Objects.equals(startedAt, status.startedAt) && + Objects.equals(endedAt, status.endedAt) && + state == status.state && + Objects.equals(message, status.message) && + Objects.equals(progress, status.progress); } @Override public int hashCode() { - return Objects.hash(readyAt); + return Objects.hash(readyAt, startedAt, endedAt, state, message, progress); } @Override public String toString() { - return "ready at " + readyAt; + return "Status{" + + "readyAt=" + readyAt + + ", startedAt=" + startedAt + + ", endedAt=" + endedAt + + ", state=" + state + + ", message='" + message + '\'' + + ", progress='" + progress + '\'' + + '}'; } } + + public enum State { + + PENDING, RUNNING, FAILED, SUCCESSFUL; + + } + } |