summaryrefslogtreecommitdiffstats
path: root/config-application-package/src
diff options
context:
space:
mode:
Diffstat (limited to 'config-application-package/src')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java10
-rw-r--r--config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java3
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\">" +