diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-08-23 11:04:32 +0200 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-08-23 11:06:36 +0200 |
commit | c1230b52de0f86705a606d9aeae9cd4be510bbaa (patch) | |
tree | 66f1ba39b2d4ea1344961ed9ce7cb22a8505d2f6 /controller-api | |
parent | 3c65eb984c89d26fb38243bc8c76b1ae917922a6 (diff) |
Use Optional for get and delete on appliation level in RunDataStore
Diffstat (limited to 'controller-api')
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)); } } |