summaryrefslogtreecommitdiffstats
path: root/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Application.java
diff options
context:
space:
mode:
Diffstat (limited to 'controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Application.java')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Application.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Application.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Application.java
new file mode 100644
index 00000000000..1499d5c1b79
--- /dev/null
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Application.java
@@ -0,0 +1,35 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.hosted.controller.api.integration.configserver;
+
+import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.config.provision.ClusterSpec;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * The client-side version of the node repository's view of applications
+ *
+ * @author bratseth
+ */
+public class Application {
+
+ private ApplicationId id;
+ private Map<ClusterSpec.Id, Cluster> clusters;
+
+ public Application(ApplicationId id, Collection<Cluster> clusters) {
+ this.id = id;
+ this.clusters = clusters.stream().collect(Collectors.toUnmodifiableMap(c -> c.id(), c -> c));
+ }
+
+ public ApplicationId id() { return id; }
+
+ public Map<ClusterSpec.Id, Cluster> clusters() { return clusters; }
+
+ @Override
+ public String toString() {
+ return "application '" + id + "'";
+ }
+
+}