summaryrefslogtreecommitdiffstats
path: root/config-model-api
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-11-08 10:39:03 +0100
committerHarald Musum <musum@oath.com>2018-11-08 10:39:03 +0100
commit124f27638315c1d9b64869ba8a3a74fced266bb3 (patch)
treeae8ae9e1107bef98de893e5351b79335491606d6 /config-model-api
parent19285355ae0be2a2fc46ad6a55e4b96ae8a816a9 (diff)
Simplify supermodel, part 2
Diffstat (limited to 'config-model-api')
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/SuperModel.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/SuperModel.java b/config-model-api/src/main/java/com/yahoo/config/model/api/SuperModel.java
index dccbc143c01..100d4aedd9a 100644
--- a/config-model-api/src/main/java/com/yahoo/config/model/api/SuperModel.java
+++ b/config-model-api/src/main/java/com/yahoo/config/model/api/SuperModel.java
@@ -8,9 +8,11 @@ import com.yahoo.config.provision.TenantName;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.Set;
public class SuperModel {
@@ -37,6 +39,7 @@ public class SuperModel {
* Do NOT mutate the returned map.
* TODO: Make the returned map immutable (and type to Map&lt;ApplicationId, ApplicationInfo&gt;)
*/
+ // TODO: Remove when oldest model used is 6.310 or newer
public Map<TenantName, Map<ApplicationId, ApplicationInfo>> getAllModels() {
Map<TenantName, Map<ApplicationId, ApplicationInfo>> newModels = new LinkedHashMap<>();
@@ -49,6 +52,18 @@ public class SuperModel {
return newModels ;
}
+ public Map<TenantName, Set<ApplicationInfo>> getModelsPerTenant() {
+ Map<TenantName, Set<ApplicationInfo>> newModels = new LinkedHashMap<>();
+
+ this.models.forEach((key, value) -> {
+ if (!newModels.containsKey(key.tenant())) {
+ newModels.put(key.tenant(), new LinkedHashSet<>());
+ }
+ newModels.get(key.tenant()).add(value);
+ });
+ return newModels;
+ }
+
public Map<ApplicationId, ApplicationInfo> getModels() {
return ImmutableMap.copyOf(models);
}