summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authormgimle <michael@gimle.io>2019-07-30 15:17:33 +0200
committermgimle <michael@gimle.io>2019-07-30 15:17:33 +0200
commit9ede6b50bed9d10d096fc7d4fbbfebb49c3ca96b (patch)
treec4e24ac3d24de0b83fa8e021781027c770003dc2 /controller-api
parentfacb197e72d6a0f7ef5b619d0203a899334babda (diff)
Added the issueExists method to IssueHandler.
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/organization/IssueHandler.java8
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/organization/MockIssueHandler.java5
2 files changed, 13 insertions, 0 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/organization/IssueHandler.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/organization/IssueHandler.java
index db4f0eb5c59..80e23249daa 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/organization/IssueHandler.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/organization/IssueHandler.java
@@ -83,4 +83,12 @@ public interface IssueHandler {
*/
Optional<User> escalate(IssueId issueId, Contact contact);
+ /**
+ * Returns whether there exists an issue with an exactly matching summary.
+ *
+ * @param issue The summary of the issue.
+ * @return Whether the issue exists.
+ */
+ boolean issueExists(Issue issue);
+
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/organization/MockIssueHandler.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/organization/MockIssueHandler.java
index 674523ba26b..2e92c993686 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/organization/MockIssueHandler.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/organization/MockIssueHandler.java
@@ -101,6 +101,11 @@ public class MockIssueHandler implements IssueHandler {
return Optional.empty();
}
+ @Override
+ public boolean issueExists(Issue issue) {
+ return issues.values().stream().anyMatch(i -> i.issue.summary().equals(issue.summary()));
+ }
+
public MockIssueHandler close(IssueId issueId) {
issues.get(issueId).open = false;
touch(issueId);