aboutsummaryrefslogtreecommitdiffstats
path: root/vespaclient-core
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2020-12-23 12:56:32 +0100
committerJon Marius Venstad <venstad@gmail.com>2020-12-30 11:59:56 +0100
commit7efd5dfa1111e0aa94b97fbca06852de95258aa5 (patch)
tree8e88711c3a6eb071f9c1db989f6a06c463879585 /vespaclient-core
parent7bf09c3200422d047100362c82de6e1fdf2b323c (diff)
Replace use of [Storage... with [Content... and avoid overriding config id
Diffstat (limited to 'vespaclient-core')
-rw-r--r--vespaclient-core/src/main/java/com/yahoo/vespaclient/ClusterDef.java5
-rw-r--r--vespaclient-core/src/main/java/com/yahoo/vespaclient/ClusterList.java26
2 files changed, 13 insertions, 18 deletions
diff --git a/vespaclient-core/src/main/java/com/yahoo/vespaclient/ClusterDef.java b/vespaclient-core/src/main/java/com/yahoo/vespaclient/ClusterDef.java
index 95bd9cf1cb5..3860941d0ec 100644
--- a/vespaclient-core/src/main/java/com/yahoo/vespaclient/ClusterDef.java
+++ b/vespaclient-core/src/main/java/com/yahoo/vespaclient/ClusterDef.java
@@ -2,14 +2,11 @@
package com.yahoo.vespaclient;
public class ClusterDef {
- public ClusterDef(String name, String configId) {
+ public ClusterDef(String name) {
this.name = name;
- this.configId = configId;
}
String name;
- String configId;
public String getName() { return name; }
- public String getConfigId() { return configId; }
}
diff --git a/vespaclient-core/src/main/java/com/yahoo/vespaclient/ClusterList.java b/vespaclient-core/src/main/java/com/yahoo/vespaclient/ClusterList.java
index 4525ffcae39..2c3a0b72ed5 100644
--- a/vespaclient-core/src/main/java/com/yahoo/vespaclient/ClusterList.java
+++ b/vespaclient-core/src/main/java/com/yahoo/vespaclient/ClusterList.java
@@ -4,40 +4,38 @@ package com.yahoo.vespaclient;
import com.yahoo.cloud.config.ClusterListConfig;
import com.yahoo.config.subscription.ConfigGetter;
-import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
+import java.util.stream.Collectors;
/** A list of content clusters, either obtained from a list, a given config or by self-subscribing */
public class ClusterList {
- List<ClusterDef> contentClusters = new ArrayList<>();
+ private final List<ClusterDef> contentClusters;
public ClusterList() {
- this(new ArrayList<>());
+ this(List.of());
}
public ClusterList(List<ClusterDef> contentClusters) {
- this.contentClusters = contentClusters;
+ this.contentClusters = List.copyOf(contentClusters);
}
public ClusterList(String configId) {
- configure(new ConfigGetter<>(ClusterListConfig.class).getConfig(configId));
+ this(new ConfigGetter<>(ClusterListConfig.class).getConfig(configId));
}
public ClusterList(ClusterListConfig config) {
- configure(config);
+ this(parse(config));
}
- private void configure(ClusterListConfig config) {
- contentClusters.clear(); // TODO: Create a new
- for (int i = 0; i < config.storage().size(); i++)
- contentClusters.add(new ClusterDef(config.storage(i).name(), config.storage(i).configid()));
+ public List<ClusterDef> getStorageClusters() {
+ return contentClusters;
}
- /** Returns a reference to the mutable list */
- public List<ClusterDef> getStorageClusters() {
- return contentClusters; // TODO: Use immutable list
+ private static List<ClusterDef> parse(ClusterListConfig config) {
+ return config.storage().stream()
+ .map(storage -> new ClusterDef(storage.name()))
+ .collect(Collectors.toUnmodifiableList());
}
}