aboutsummaryrefslogtreecommitdiffstats
path: root/config-application-package/src/main
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-10-17 11:33:46 +0200
committerJon Bratseth <bratseth@oath.com>2018-10-17 11:33:46 +0200
commit20cef72bd64f76a4b702702d32d54c7020c2249a (patch)
treebda5d3400a7bf00dfa38e4648a24850c4fe7940f /config-application-package/src/main
parent40a36777c3de343207ed72482ecbbc5f1dc8fe96 (diff)
Allow subset matches
Diffstat (limited to 'config-application-package/src/main')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java13
1 files changed, 6 insertions, 7 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java b/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java
index 16accb368fd..9443339624a 100644
--- a/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java
+++ b/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java
@@ -101,18 +101,17 @@ class OverrideProcessor implements PreProcessor {
retainMostSpecificEnvironmentAndRegion(parent, children, context);
}
- /**
- * Ensures that environment and region does not change from something non-default to something else.
- */
private void checkConsistentInheritance(List<Element> children, Context context) {
for (Element child : children) {
Set<Environment> environments = getEnvironments(child);
Set<RegionName> regions = getRegions(child);
- if ( ! environments.isEmpty() && ! context.environments.isEmpty() && !environments.equals(context.environments)) {
- throw new IllegalArgumentException("Environments in child (" + environments + ") differs from that inherited from parent (" + context.environments + ") at " + child);
+ if ( ! environments.isEmpty() && ! context.environments.isEmpty() && ! context.environments.containsAll(environments)) {
+ throw new IllegalArgumentException("Environments in child (" + environments +
+ ") are not a subset of those of the parent (" + context.environments + ") at " + child);
}
- if ( ! regions.isEmpty() && ! context.regions.isEmpty() && ! regions.equals(context.regions)) {
- throw new IllegalArgumentException("Regions in child (" + regions + ") differs from that inherited from parent (" + context.regions + ") at " + child);
+ if ( ! regions.isEmpty() && ! context.regions.isEmpty() && ! context.regions.containsAll(regions)) {
+ throw new IllegalArgumentException("Regions in child (" + regions +
+ ") are not a subset of those of the parent (" + context.regions + ") at " + child);
}
}
}