diff options
author | Harald Musum <musum@oath.com> | 2018-11-08 10:39:03 +0100 |
---|---|---|
committer | Harald Musum <musum@oath.com> | 2018-11-08 10:39:03 +0100 |
commit | 124f27638315c1d9b64869ba8a3a74fced266bb3 (patch) | |
tree | ae8ae9e1107bef98de893e5351b79335491606d6 /config-model-api | |
parent | 19285355ae0be2a2fc46ad6a55e4b96ae8a816a9 (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.java | 15 |
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<ApplicationId, ApplicationInfo>) */ + // 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); } |