diff options
4 files changed, 87 insertions, 3 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/application/XmlPreProcessor.java b/config-application-package/src/main/java/com/yahoo/config/application/XmlPreProcessor.java index 0bb160319c0..261a684353b 100644 --- a/config-application-package/src/main/java/com/yahoo/config/application/XmlPreProcessor.java +++ b/config-application-package/src/main/java/com/yahoo/config/application/XmlPreProcessor.java @@ -61,7 +61,7 @@ public class XmlPreProcessor { return input; } - private List<PreProcessor> setupChain() throws IOException { + private List<PreProcessor> setupChain() { List<PreProcessor> chain = new ArrayList<>(); chain.add(new IncludeProcessor(applicationDir)); chain.add(new OverrideProcessor(environment, region)); diff --git a/config-application-package/src/test/java/com/yahoo/config/application/MultiOverrideProcessorTest.java b/config-application-package/src/test/java/com/yahoo/config/application/MultiOverrideProcessorTest.java new file mode 100644 index 00000000000..67f49aae082 --- /dev/null +++ b/config-application-package/src/test/java/com/yahoo/config/application/MultiOverrideProcessorTest.java @@ -0,0 +1,84 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.config.application; + +import com.yahoo.config.provision.Environment; +import com.yahoo.config.provision.RegionName; +import org.custommonkey.xmlunit.XMLUnit; +import org.junit.Test; +import org.w3c.dom.Document; + +import javax.xml.transform.TransformerException; +import java.io.StringReader; + +/** + * @author bratseth + */ +public class MultiOverrideProcessorTest { + + static { + XMLUnit.setIgnoreWhitespace(true); + } + + private static final String input = + "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + + "<services version=\"1.0\" xmlns:deploy=\"vespa\">\n" + + " <container id='qrserver' version='1.0'>\n" + + " <component id=\"comp-B\" class=\"com.yahoo.ls.MyComponent\" bundle=\"lsbe-hv\">\n" + + " <config name=\"ls.config.resource-pool\">\n" + + " <resource>\n" + + " <item>\n" + + " <id>comp-B-item-0</id>\n" + + " <type></type>\n" + + " </item>\n" + + " <item deploy:environment=\"dev perf test staging prod\" deploy:region=\"us-west-1 us-east-3\">\n" + + " <id>comp-B-item-1</id>\n" + + " <type></type>\n" + + " </item>\n" + + " <item>\n" + + " <id>comp-B-item-2</id>\n" + + " <type></type>\n" + + " </item>\n" + + " </resource>\n" + + " </config>\n" + + " </component>\n" + + " <nodes deploy:environment=\"dev\" count=\"1\"/>\n" + + " </container>\n" + + "</services>\n"; + + @Test + public void testParsingDev() throws TransformerException { + String expected = + "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + + "<services version=\"1.0\" xmlns:deploy=\"vespa\">\n" + + " <container id='qrserver' version='1.0'>\n" + + " <component id=\"comp-B\" class=\"com.yahoo.ls.MyComponent\" bundle=\"lsbe-hv\">\n" + + " <config name=\"ls.config.resource-pool\">\n" + + " <resource>\n" + + " <item>\n" + + " <id>comp-B-item-0</id>\n" + + " <type></type>\n" + + " </item>\n" + + " <item>\n" + + " <id>comp-B-item-1</id>\n" + + " <type></type>\n" + + " </item>\n" + + " <item>\n" + + " <id>comp-B-item-2</id>\n" + + " <type></type>\n" + + " </item>\n" + + " </resource>\n" + + " </config>\n" + + " </component>\n" + + " <nodes count=\"1\"/>\n" + + " </container>\n" + + "</services>"; + assertOverride(Environment.dev, RegionName.defaultName(), expected); + } + + private void assertOverride(Environment environment, RegionName region, String expected) throws TransformerException { + Document inputDoc = Xml.getDocument(new StringReader(input)); + Document newDoc = new OverrideProcessor(environment, region).process(inputDoc); + TestBase.assertDocument(expected, newDoc); + } + +} 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 62e6671120b..e4690418847 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 @@ -38,7 +38,7 @@ public class OverrideProcessorTest { " <document mode='index' type='music'/>\n" + " <document type='music2' mode='index' />\n" + " <document deploy:environment='prod' deploy:region='us-east-3' mode='index' type='music'/>\n" + - " <document deploy:environment='prod' deploy:region='us-east-3' mode='index' type='music2'/>\n" + + " <document deploy:environment='staging prod' deploy:region='us-east-3' mode='index' type='music2'/>\n" + " <document deploy:environment='prod' mode='index' type='music3'/>\n" + " <document deploy:environment='prod' deploy:region='us-west' mode='index' type='music4'/>\n" + " </documents>" + @@ -272,6 +272,7 @@ public class OverrideProcessorTest { " <redundancy>1</redundancy>" + " <documents>" + " <document mode='index' type='music'/>\n" + + " <document mode='index' type='music2'/>\n" + " <document type='music2' mode='index' />\n" + " </documents>" + " <nodes>" + diff --git a/container-search/src/main/java/com/yahoo/search/pagetemplates/result/PageTemplatesXmlRenderer.java b/container-search/src/main/java/com/yahoo/search/pagetemplates/result/PageTemplatesXmlRenderer.java index b7d7188e77e..92e4bb7e5b8 100644 --- a/container-search/src/main/java/com/yahoo/search/pagetemplates/result/PageTemplatesXmlRenderer.java +++ b/container-search/src/main/java/com/yahoo/search/pagetemplates/result/PageTemplatesXmlRenderer.java @@ -179,7 +179,6 @@ public class PageTemplatesXmlRenderer extends AsynchronousSectionedRenderer<Resu private void renderHitGroup(XMLWriter writer, HitGroup hit) { if (hit.types().contains("section")) { - renderSection(writer, hit); // Renders /result/section } else if (hit.types().contains("meta")) { |