summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2018-10-05 09:38:33 +0200
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2018-10-05 09:38:33 +0200
commit5927c9f6c7ef6e00ec97335ebb2a4eef726cb304 (patch)
tree816f819cdd827cdb9f26c8510090fb936566f656 /controller-server
parent1baa05619cba213b7a869a36f9febe9b11f3196b (diff)
Remove pointless Optional and clean up API response
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/RunLog.java9
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java3
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java2
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStoreTest.java20
4 files changed, 19 insertions, 15 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/RunLog.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/RunLog.java
index 596249a762b..b5ee571a387 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/RunLog.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/RunLog.java
@@ -31,7 +31,10 @@ public class RunLog {
/** Creates a RunLog which contains a deep copy of the given log. */
public static RunLog of(Map<Step, List<LogEntry>> log) {
ImmutableMap.Builder<Step, List<LogEntry>> builder = ImmutableMap.builder();
- log.forEach((step, entries) -> builder.put(step, ImmutableList.copyOf(entries)));
+ log.forEach((step, entries) -> {
+ if ( ! entries.isEmpty())
+ builder.put(step, ImmutableList.copyOf(entries));
+ });
OptionalLong lastId = log.values().stream()
.flatMap(List::stream)
.mapToLong(LogEntry::id)
@@ -45,8 +48,8 @@ public class RunLog {
}
/** Returns the log entries for the given step, if any are recorded. */
- public Optional<List<LogEntry>> get(Step step) {
- return Optional.ofNullable(log.get(step));
+ public List<LogEntry> get(Step step) {
+ return log.getOrDefault(step, Collections.emptyList());
}
/** Returns the id of the last log entry in this, if it has any. */
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java
index df682490200..6140a2fa810 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java
@@ -371,7 +371,8 @@ class JobControllerApiHandlerHelper {
Cursor logObject = detailsObject.setObject("log");
for (Step step : Step.values()) {
- runLog.get(step).ifPresent(entries -> toSlime(logObject.setArray(step.name()), entries));
+ if ( ! runLog.get(step).isEmpty())
+ toSlime(logObject.setArray(step.name()), runLog.get(step));
}
runLog.lastId().ifPresent(id -> detailsObject.setLong("lastId", id));
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java
index f33f82b78e2..a61d6bee91a 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java
@@ -257,7 +257,7 @@ public class InternalStepRunnerTest {
}
private void assertTestLogEntries(RunId id, Step step, LogEntry... entries) {
- assertEquals(Arrays.asList(entries), tester.jobs().details(id).get().get(step).get());
+ assertEquals(Arrays.asList(entries), tester.jobs().details(id).get().get(step));
}
@Test
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStoreTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStoreTest.java
index 2409b973b4e..cf8962cc631 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStoreTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStoreTest.java
@@ -43,23 +43,23 @@ public class BufferedLogStoreTest {
logs.append(id.application(), id.type(), Step.deployReal, Collections.singletonList(entry));
assertEquals(Arrays.asList(entry0),
- logs.readActive(id.application(), id.type(), -1).get(Step.deployReal).get());
+ logs.readActive(id.application(), id.type(), -1).get(Step.deployReal));
assertEquals(RunLog.empty(), logs.readActive(id.application(), id.type(), 0));
logs.append(id.application(), id.type(), Step.deployReal, Collections.singletonList(entry));
assertEquals(Arrays.asList(entry0, entry1),
- logs.readActive(id.application(), id.type(), -1).get(Step.deployReal).get());
+ logs.readActive(id.application(), id.type(), -1).get(Step.deployReal));
assertEquals(Arrays.asList(entry1),
- logs.readActive(id.application(), id.type(), 0).get(Step.deployReal).get());
+ logs.readActive(id.application(), id.type(), 0).get(Step.deployReal));
assertEquals(RunLog.empty(), logs.readActive(id.application(), id.type(), 1));
logs.append(id.application(), id.type(), Step.deployReal, Collections.singletonList(entry));
assertEquals(Arrays.asList(entry0, entry1, entry2),
- logs.readActive(id.application(), id.type(), -1).get(Step.deployReal).get());
+ logs.readActive(id.application(), id.type(), -1).get(Step.deployReal));
assertEquals(Arrays.asList(entry1, entry2),
- logs.readActive(id.application(), id.type(), 0).get(Step.deployReal).get());
+ logs.readActive(id.application(), id.type(), 0).get(Step.deployReal));
assertEquals(Arrays.asList(entry2),
- logs.readActive(id.application(), id.type(), 1).get(Step.deployReal).get());
+ logs.readActive(id.application(), id.type(), 1).get(Step.deployReal));
assertEquals(RunLog.empty(), logs.readActive(id.application(), id.type(), 2));
// We should now have two chunks, with two and one entries.
@@ -73,12 +73,12 @@ public class BufferedLogStoreTest {
assertEquals(RunLog.empty(), logs.readActive(id.application(), id.type(), -1));
assertEquals(Arrays.asList(entry0, entry1, entry2),
- logs.readFinished(id, -1).get().get(Step.deployReal).get());
+ logs.readFinished(id, -1).get().get(Step.deployReal));
assertEquals(Arrays.asList(entry1, entry2),
- logs.readFinished(id, 0).get().get(Step.deployReal).get());
+ logs.readFinished(id, 0).get().get(Step.deployReal));
assertEquals(Arrays.asList(entry2),
- logs.readFinished(id, 1).get().get(Step.deployReal).get());
- assertEquals(Collections.emptyList(), logs.readFinished(id, 2).get().get(Step.deployReal).get());
+ logs.readFinished(id, 1).get().get(Step.deployReal));
+ assertEquals(Collections.emptyList(), logs.readFinished(id, 2).get().get(Step.deployReal));
}
}