summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2018-08-23 11:04:32 +0200
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2018-08-23 11:06:36 +0200
commitc1230b52de0f86705a606d9aeae9cd4be510bbaa (patch)
tree66f1ba39b2d4ea1344961ed9ce7cb22a8505d2f6 /controller-api
parent3c65eb984c89d26fb38243bc8c76b1ae917922a6 (diff)
Use Optional for get and delete on appliation level in RunDataStore
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/RunDataStore.java11
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockRunDataStore.java10
2 files changed, 13 insertions, 8 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/RunDataStore.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/RunDataStore.java
index cf9bb55ad0b..88634fa8587 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/RunDataStore.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/RunDataStore.java
@@ -1,19 +1,22 @@
package com.yahoo.vespa.hosted.controller.api.integration;
+import com.yahoo.config.provision.ApplicationId;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.RunId;
+import java.util.Optional;
+
/**
* @author jonmv
*/
public interface RunDataStore {
- /** Returns the log of the given deployment job, or an empty byte array if non-existent. */
- byte[] get(RunId id);
+ /** Returns the run logs of the given deployment job, if existent. */
+ Optional<byte[]> get(RunId id);
/** Stores the given log for the given deployment job. */
void put(RunId id, byte[] log);
- /** Deletes all data associated with the given deployment job */
- void delete(RunId id);
+ /** Deletes all data associated with the given application. */
+ void delete(ApplicationId id);
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockRunDataStore.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockRunDataStore.java
index 494f3acf5fc..0d7d8eca10e 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockRunDataStore.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockRunDataStore.java
@@ -1,10 +1,12 @@
// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.api.integration.stubs;
+import com.yahoo.config.provision.ApplicationId;
import com.yahoo.vespa.hosted.controller.api.integration.RunDataStore;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.RunId;
import java.util.Map;
+import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap;
/**
@@ -15,8 +17,8 @@ public class MockRunDataStore implements RunDataStore {
private final Map<RunId, byte[]> logs = new ConcurrentHashMap<>();
@Override
- public byte[] get(RunId id) {
- return logs.getOrDefault(id, new byte[0]);
+ public Optional<byte[]> get(RunId id) {
+ return Optional.ofNullable(logs.get(id));
}
@Override
@@ -25,8 +27,8 @@ public class MockRunDataStore implements RunDataStore {
}
@Override
- public void delete(RunId id) {
- logs.remove(id);
+ public void delete(ApplicationId id) {
+ logs.keySet().removeIf(runId -> runId.application().equals(id));
}
}