diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-04-18 15:53:19 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-04-18 15:53:19 +0200 |
commit | 352b828e91711ab1384213ad7f741d423688eeca (patch) | |
tree | 55094ccb785eeca6156f8445cd45a1c5e868bbba /config-application-package/src | |
parent | 76497a12e6ec76d82527b2bd2fbe3de8bba6eb63 (diff) | |
parent | bd5edd2681f6b0a3282cd053acb98d4b0ee126c4 (diff) |
Merge branch 'master' into bratseth/receive-wanted-version
Diffstat (limited to 'config-application-package/src')
2 files changed, 9 insertions, 4 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 1e77ad1a8f7..db506c0ed51 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 @@ -118,14 +118,18 @@ class OverrideProcessor implements PreProcessor { Iterator<Element> elemIt = children.iterator(); while (elemIt.hasNext()) { Element child = elemIt.next(); - Optional<Environment> env = getEnvironment(child); - RegionName reg = getRegion(child); - if ((env.isPresent() && !environment.equals(env.get())) || (!reg.isDefault() && !region.equals(reg))) { + if ( ! matches(getEnvironment(child), getRegion(child))) { parent.removeChild(child); elemIt.remove(); } } } + + private boolean matches(Optional<Environment> elementEnvironment, RegionName elementRegion) { + if (elementEnvironment.isPresent() && ! environment.equals(elementEnvironment.get())) return false; + if ( ! elementRegion.isDefault() && ( ! region.equals(elementRegion) || ! environment.equals(Environment.prod))) return false; + return true; + } /** * Find the most specific element and remove all others. diff --git a/config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java b/config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java index 41b69e9a7aa..adced18bb85 100644 --- a/config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java +++ b/config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java @@ -268,7 +268,8 @@ public class OverrideProcessorTest { " <document mode=\"index\" type=\"music2\"/>" + " </documents>" + " <nodes>" + - " <node distribution-key=\"0\" hostalias=\"node1\"/>" + + // node1 is specified for us-west but does not match because region overrides implies environment=prod + " <node distribution-key=\"0\" hostalias=\"node0\"/>" + " </nodes>" + " </content>" + " <jdisc id=\"stateless\" version=\"1.0\">" + |