diff options
Diffstat (limited to 'config-model/src')
10 files changed, 78 insertions, 162 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilder.java index e9abcfd87a9..d07f6c4e6fd 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilder.java @@ -3,17 +3,16 @@ package com.yahoo.vespa.model.builder.xml.dom; import com.yahoo.collections.Tuple2; import com.yahoo.config.ConfigurationRuntimeException; -import com.yahoo.config.codegen.CNode; -import com.yahoo.log.LogLevel; +import com.yahoo.vespa.config.ConfigDefinition; +import com.yahoo.vespa.config.ConfigDefinitionKey; +import com.yahoo.vespa.config.ConfigPayloadBuilder; import com.yahoo.yolean.Exceptions; import com.yahoo.text.XML; -import com.yahoo.vespa.config.*; import com.yahoo.vespa.config.util.ConfigUtils; import org.w3c.dom.Element; -import java.util.*; -import java.util.logging.Logger; +import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -27,8 +26,6 @@ import java.util.regex.Pattern; */ public class DomConfigPayloadBuilder { - private static final Logger log = Logger.getLogger(DomConfigPayloadBuilder.class.getPackage().toString()); - private static final Pattern namePattern = ConfigDefinition.namePattern; private static final Pattern namespacePattern = ConfigDefinition.namespacePattern; @@ -57,40 +54,30 @@ public class DomConfigPayloadBuilder { public static ConfigDefinitionKey parseConfigName(Element configE) { if (!configE.getNodeName().equals("config")) { - throw new ConfigurationRuntimeException("The root element must be 'config', but was '" - + configE.getNodeName() + "'."); + throw new ConfigurationRuntimeException("The root element must be 'config', but was '" + configE.getNodeName() + "'."); } + if (!configE.hasAttribute("name")) { throw new ConfigurationRuntimeException ("The 'config' element must have a 'name' attribute that matches the name of the config definition."); } - String xmlName = configE.getAttribute("name"); - final boolean xmlNamespaceAttributeExists = configE.hasAttribute("namespace"); - - String xmlNamespace = null; - // If name contains dots, rewrite to name and namespace - if (xmlName.contains(".")) { - Tuple2<String, String> t = ConfigUtils.getNameAndNamespaceFromString(xmlName); - xmlName = t.first; - xmlNamespace = t.second; - } else { - if (!xmlNamespaceAttributeExists) { - log.log(LogLevel.WARNING, "No namespace in 'config name=" + xmlName + "', please specify one"); - } + String elementString = configE.getAttribute("name"); + if (!elementString.contains(".")) { + throw new ConfigurationRuntimeException("The config name '" + elementString + + "' contains illegal characters. Only names with the pattern " + + namespacePattern.pattern() + "." + namePattern.pattern() + " are legal."); } + Tuple2<String, String> t = ConfigUtils.getNameAndNamespaceFromString(elementString); + String xmlName = t.first; + String xmlNamespace = t.second; + if (!validName(xmlName)) { throw new ConfigurationRuntimeException("The config name '" + xmlName + "' contains illegal characters. Only names with the pattern " + namePattern.toString() + " are legal."); } - if (xmlNamespace == null) { - xmlNamespace = configE.getAttribute("namespace"); - if (xmlNamespace == null || xmlNamespace.isEmpty()) { - xmlNamespace = CNode.DEFAULT_NAMESPACE; - } - } if (!validNamespace(xmlNamespace)) { throw new ConfigurationRuntimeException("The config namespace '" + xmlNamespace + "' contains illegal characters. Only namespaces with the pattern " + namespacePattern.toString() + " are legal."); diff --git a/config-model/src/main/resources/schema/common.rnc b/config-model/src/main/resources/schema/common.rnc index 3e33227b064..c5690f9c915 100644 --- a/config-model/src/main/resources/schema/common.rnc +++ b/config-model/src/main/resources/schema/common.rnc @@ -41,7 +41,7 @@ OptionalDedicatedNodes = element nodes { GenericConfig = element config { attribute name { text }, - attribute namespace { text }?, + attribute namespace { text }?, # TODO: Remove in Vespa 8 attribute version { text }?, anyElement + } diff --git a/config-model/src/test/cfg/admin/userconfigs/functiontest-defaultvalues.xml b/config-model/src/test/cfg/admin/userconfigs/functiontest-defaultvalues.xml index 7da7d788ca1..298d6676354 100644 --- a/config-model/src/test/cfg/admin/userconfigs/functiontest-defaultvalues.xml +++ b/config-model/src/test/cfg/admin/userconfigs/functiontest-defaultvalues.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8" ?> <!-- Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. --> -<config name="function-test"> +<config name="test.function-test"> <bool_val>false</bool_val> <int_val>5</int_val> <long_val>1234567890123</long_val> diff --git a/config-model/src/test/cfg/admin/userconfigs/whitespace-test.xml b/config-model/src/test/cfg/admin/userconfigs/whitespace-test.xml index 68576786376..956cba1c9ff 100644 --- a/config-model/src/test/cfg/admin/userconfigs/whitespace-test.xml +++ b/config-model/src/test/cfg/admin/userconfigs/whitespace-test.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8" ?> <!-- Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. --> -<config name="function-test"> +<config name="test.function-test"> <stringVal> This is a string that contains different kinds of whitespace </stringVal> </config> diff --git a/config-model/src/test/cfg/application/app_genericservices/services.xml b/config-model/src/test/cfg/application/app_genericservices/services.xml index 6c7cad10e5d..9ae7f122e81 100644 --- a/config-model/src/test/cfg/application/app_genericservices/services.xml +++ b/config-model/src/test/cfg/application/app_genericservices/services.xml @@ -3,11 +3,11 @@ <services version="1.0"> <service version="1.0" name="myservice" command="mycmd1.sh"> - <config name="myconfig"> + <config name="a.myconfig"> <mysetting>bar</mysetting> </config> <node hostalias="node1"> - <config name="myconfig"> + <config name="a.myconfig"> <mysetting>baz</mysetting> </config> </node> @@ -17,11 +17,11 @@ </service> <service version="1.0" name="myotherservice" command="/home/vespa/bin/mycmd2.sh --ytest $FOO_BAR"> - <config name="myconfig"> + <config name="a.myconfig"> <mysetting>bar2</mysetting> </config> <node hostalias="node3"> - <config name="myconfig"> + <config name="a.myconfig"> <mysetting>baz2</mysetting> </config> </node> diff --git a/config-model/src/test/java/com/yahoo/vespa/model/builder/UserConfigBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/builder/UserConfigBuilderTest.java index f3eeec62cff..6bfd55ca5de 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/builder/UserConfigBuilderTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/builder/UserConfigBuilderTest.java @@ -8,7 +8,6 @@ import com.yahoo.config.model.deploy.ConfigDefinitionStore; import com.yahoo.test.SimpletypesConfig; import com.yahoo.config.model.producer.UserConfigRepo; import com.yahoo.config.model.builder.xml.XmlHelper; -import com.yahoo.vespa.config.ConfigDefinition; import com.yahoo.vespa.config.ConfigDefinitionKey; import com.yahoo.vespa.config.ConfigPayload; import com.yahoo.vespa.config.ConfigPayloadBuilder; @@ -18,7 +17,6 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.InputSource; -import javax.xml.parsers.ParserConfigurationException; import java.io.Reader; import java.io.StringReader; import java.util.Optional; @@ -28,47 +26,42 @@ import static org.junit.Assert.*; /** * @author Ulf Lilleengen - * @since 5.1 */ public class UserConfigBuilderTest { - private final ConfigDefinitionStore configDefinitionStore = new ConfigDefinitionStore() { - @Override - public Optional<ConfigDefinition> getConfigDefinition(ConfigDefinitionKey defKey) { return Optional.empty(); } - }; + private final ConfigDefinitionStore configDefinitionStore = defKey -> Optional.empty(); @Test - public void require_that_simple_config_is_resolved() throws ParserConfigurationException { - Element configRoot = getDocument("<config name=\"simpletypes\">" + + public void require_that_simple_config_is_resolved() { + Element configRoot = getDocument("<config name=\"test.simpletypes\">" + " <intval>13</intval>" + "</config>" + - "<config name=\"simpletypes\" version=\"1\">" + + "<config name=\"test.simpletypes\" version=\"1\">" + " <stringval>foolio</stringval>" + "</config>"); UserConfigRepo map = UserConfigBuilder.build(configRoot, configDefinitionStore, new BaseDeployLogger()); assertFalse(map.isEmpty()); - ConfigDefinitionKey key = new ConfigDefinitionKey("simpletypes", "config"); + ConfigDefinitionKey key = new ConfigDefinitionKey("simpletypes", "test"); assertNotNull(map.get(key)); SimpletypesConfig config = createConfig(SimpletypesConfig.class, map.get(key)); assertThat(config.intval(), is(13)); assertThat(config.stringval(), is("foolio")); } - public static <ConfigType extends ConfigInstance> ConfigType createConfig(Class<ConfigType> clazz, ConfigPayloadBuilder builder) { + private static <ConfigType extends ConfigInstance> ConfigType createConfig(Class<ConfigType> clazz, ConfigPayloadBuilder builder) { return ConfigPayload.fromBuilder(builder).toInstance(clazz, ""); } - @Test - public void require_that_arrays_config_is_resolved() throws ParserConfigurationException { - Element configRoot = getDocument("<config name=\"arraytypes\">" + + public void require_that_arrays_config_is_resolved() { + Element configRoot = getDocument("<config name=\"test.arraytypes\">" + " <intarr operation=\"append\">13</intarr>" + " <intarr operation=\"append\">10</intarr>" + " <intarr operation=\"append\">1337</intarr>" + "</config>"); UserConfigRepo map = UserConfigBuilder.build(configRoot, configDefinitionStore, new BaseDeployLogger()); assertFalse(map.isEmpty()); - ConfigDefinitionKey key = new ConfigDefinitionKey("arraytypes", "config"); + ConfigDefinitionKey key = new ConfigDefinitionKey("arraytypes", "test"); assertNotNull(map.get(key)); ArraytypesConfig config = createConfig(ArraytypesConfig.class, map.get(key)); assertThat(config.intarr().size(), is(3)); @@ -78,7 +71,7 @@ public class UserConfigBuilderTest { } @Test - public void require_that_arrays_of_structs_are_resolved() throws ParserConfigurationException { + public void require_that_arrays_of_structs_are_resolved() { Element configRoot = getDocument( " <config name='vespa.configdefinition.specialtokens'>" + " <tokenlist operation='append'>" + @@ -105,12 +98,12 @@ public class UserConfigBuilderTest { } @Test - public void no_exception_when_config_class_does_not_exist() throws ParserConfigurationException { - Element configRoot = getDocument("<config name=\"unknown\">" + + public void no_exception_when_config_class_does_not_exist() { + Element configRoot = getDocument("<config name=\"is.unknown\">" + " <foo>1</foo>" + "</config>"); UserConfigRepo repo = UserConfigBuilder.build(configRoot, configDefinitionStore, new BaseDeployLogger()); - ConfigPayloadBuilder builder = repo.get(new ConfigDefinitionKey("unknown", "config")); + ConfigPayloadBuilder builder = repo.get(new ConfigDefinitionKey("unknown", "is")); assertNotNull(builder); } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilderTest.java index 5359e09347e..a62255c4c5c 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilderTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilderTest.java @@ -16,7 +16,6 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.InputSource; -import javax.xml.parsers.ParserConfigurationException; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; @@ -37,7 +36,7 @@ import static org.junit.Assert.fail; public class DomConfigPayloadBuilderTest { @Test - public void testFunctionTest_DefaultValues() throws FileNotFoundException, ParserConfigurationException { + public void testFunctionTest_DefaultValues() throws FileNotFoundException { Element configRoot = getDocument(new FileReader(new File("src/test/cfg/admin/userconfigs/functiontest-defaultvalues.xml"))); ConfigPayload config = ConfigPayload.fromBuilder(new DomConfigPayloadBuilder(null).build(configRoot)); String expected = "" @@ -81,9 +80,9 @@ public class DomConfigPayloadBuilderTest { } @Test - public void put_to_leaf_map() throws Exception { + public void put_to_leaf_map() { Reader xmlConfig = new StringReader("<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + - "<config name=\"foobar\">" + + "<config name=\"test.foobar\">" + " <intmap>" + " <item key=\"bar\">1338</item>" + " <item key=\"foo\">1337</item>" + @@ -94,9 +93,9 @@ public class DomConfigPayloadBuilderTest { } @Test - public void put_to_inner_map() throws Exception { + public void put_to_inner_map() { Reader xmlConfig = new StringReader("<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + - "<config name=\"foobar\">" + + "<config name=\"test.foobar\">" + " <innermap>" + " <item key=\"bar\">" + " <foo>baz</foo>" + @@ -111,9 +110,9 @@ public class DomConfigPayloadBuilderTest { } @Test - public void put_to_nested_map() throws Exception { + public void put_to_nested_map() { Reader xmlConfig = new StringReader("<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + - "<config name=\"foobar\">" + + "<config name=\"test.foobar\">" + " <nestedmap>" + " <item key=\"bar\">" + " <inner>" + @@ -136,10 +135,10 @@ public class DomConfigPayloadBuilderTest { } @Test - public void append_to_leaf_array() throws Exception { + public void append_to_leaf_array() { // Simulate user config from vespa-services.xml Reader xmlConfig = new StringReader("<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + - "<config name=\"function-test\">" + + "<config name=\"a.function-test\">" + " <intarr operation=\"append\">1</intarr>" + " <intarr operation=\"append\">2</intarr>" + "</config> "); @@ -148,9 +147,9 @@ public class DomConfigPayloadBuilderTest { } @Test - public void camel_case_via_dashes() throws Exception { + public void camel_case_via_dashes() { Reader xmlConfig = new StringReader("<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + - "<config name=\"function-test\">" + + "<config name=\"test.function-test\">" + " <some-struct> <any-value>17</any-value> </some-struct>" + "</config> "); ConfigPayload userConfig = ConfigPayload.fromBuilder(new DomConfigPayloadBuilder(null).build(getDocument(xmlConfig))); @@ -159,7 +158,7 @@ public class DomConfigPayloadBuilderTest { // Verifies that an exception is thrown when the root element is not 'config'. @Test - public void testFailWrongTagName() throws ParserConfigurationException { + public void testFailWrongTagName() { Element configRoot = getDocument(new StringReader("<configs name=\"foo\"/>")); try { new DomConfigPayloadBuilder(null).build(configRoot); @@ -172,7 +171,7 @@ public class DomConfigPayloadBuilderTest { // Verifies that an exception is thrown when the root element is not 'config'. @Test - public void testFailNoNameAttribute() throws ParserConfigurationException { + public void testFailNoNameAttribute() { Element configRoot = getDocument(new StringReader("<config/>")); try { new DomConfigPayloadBuilder(null).build(configRoot); @@ -184,53 +183,17 @@ public class DomConfigPayloadBuilderTest { } @Test - public void testNamespace() throws ParserConfigurationException { - Element configRoot = getDocument(new StringReader("<config name=\"function-test\" namespace=\"config\">" + - "<int_val>1</int_val> +" + - "</config>")); - ConfigPayload config = ConfigPayload.fromBuilder(new DomConfigPayloadBuilder(null).build(configRoot)); - assertPayload("{\"int_val\":\"1\"}", config); - - configRoot = getDocument(new StringReader("<config name=\"config.function-test\">" + - "<int_val>1</int_val> +" + - "</config>")); - config = ConfigPayload.fromBuilder(new DomConfigPayloadBuilder(null).build(configRoot)); - assertPayload("{\"int_val\":\"1\"}", config); - - configRoot = getDocument(new StringReader("<config name=\"config.function_test\">" + - "<int_val>1</int_val> +" + - "</config>")); - config = ConfigPayload.fromBuilder(new DomConfigPayloadBuilder(null).build(configRoot)); - assertPayload("{\"int_val\":\"1\"}", config); - } - - @Test - public void testNameParsing() throws ParserConfigurationException { - Element configRoot = getDocument(new StringReader("<config name=\"function-test\" version=\"1\" namespace=\"config\">" + + public void testNameParsing() { + Element configRoot = getDocument(new StringReader("<config name=\"test.function-test\" version=\"1\">" + "<int_val>1</int_val> +" + "</config>")); ConfigDefinitionKey key = DomConfigPayloadBuilder.parseConfigName(configRoot); assertThat(key.getName(), is("function-test")); - assertThat(key.getNamespace(), is("config")); - - configRoot = getDocument(new StringReader("<config name=\"function_test\" version=\"1\">" + - "<int_val>1</int_val> +" + - "</config>")); - key = DomConfigPayloadBuilder.parseConfigName(configRoot); - assertThat(key.getName(), is("function_test")); - assertThat(key.getNamespace(), is("config")); - - // Both namespace and name in name attribute - configRoot = getDocument(new StringReader("<config name=\"config.function-test\" version=\"1\">" + - "<int_val>1</int_val> +" + - "</config>")); - key = DomConfigPayloadBuilder.parseConfigName(configRoot); - assertThat(key.getName(), is("function-test")); - assertThat(key.getNamespace(), is("config")); + assertThat(key.getNamespace(), is("test")); } @Test(expected = ConfigurationRuntimeException.class) - public void testNameParsingInvalidName() throws ParserConfigurationException { + public void testNameParsingInvalidName() { Element configRoot = getDocument(new StringReader("<config name=\" function-test\" version=\"1\">" + "<int_val>1</int_val> +" + "</config>")); @@ -238,17 +201,17 @@ public class DomConfigPayloadBuilderTest { } @Test(expected = ConfigurationRuntimeException.class) - public void testNameParsingInvalidNamespace() throws ParserConfigurationException { - Element configRoot = getDocument(new StringReader("<config name=\"function-test\" namespace=\"_foo\" version=\"1\">" + + public void testNameParsingInvalidNamespace() { + Element configRoot = getDocument(new StringReader("<config name=\"_foo.function-test\" version=\"1\">" + "<int_val>1</int_val> +" + "</config>")); DomConfigPayloadBuilder.parseConfigName(configRoot); } @Test - public void require_that_item_syntax_works_with_leaf() throws ParserConfigurationException { + public void require_that_item_syntax_works_with_leaf() { Element configRoot = getDocument( - "<config name=\"arraytypes\" version=\"1\">" + + "<config name=\"test.arraytypes\" version=\"1\">" + " <intarr>" + " <item>13</item>" + " <item>10</item>" + @@ -261,9 +224,9 @@ public class DomConfigPayloadBuilderTest { } @Test - public void require_that_item_syntax_works_with_struct() throws ParserConfigurationException { + public void require_that_item_syntax_works_with_struct() { Element configRoot = getDocument( - "<config name=\"arraytypes\" version=\"1\">" + + "<config name=\"test.arraytypes\" version=\"1\">" + " <lolarray>" + " <item><foo>hei</foo><bar>hei2</bar></item>" + " <item><foo>hoo</foo><bar>hoo2</bar></item>" + @@ -277,9 +240,9 @@ public class DomConfigPayloadBuilderTest { } @Test - public void require_that_item_syntax_works_with_struct_array() throws ParserConfigurationException { + public void require_that_item_syntax_works_with_struct_array() { Element configRoot = getDocument( - "<config name=\"arraytypes\" version=\"1\">" + + "<config name=\"test.arraytypes\" version=\"1\">" + " <lolarray>" + " <item><fooarray><item>13</item></fooarray></item>" + " <item><fooarray><item>10</item></fooarray></item>" + @@ -292,18 +255,18 @@ public class DomConfigPayloadBuilderTest { } @Test(expected = ConfigurationRuntimeException.class) - public void require_that_item_is_reserved_in_root() throws ParserConfigurationException { + public void require_that_item_is_reserved_in_root() { Element configRoot = getDocument( - "<config name=\"arraytypes\" version=\"1\">" + + "<config name=\"test.arraytypes\" version=\"1\">" + " <item>13</item>" + "</config>"); new DomConfigPayloadBuilder(null).build(configRoot); } @Test(expected=ConfigurationRuntimeException.class) - public void require_that_exceptions_are_issued() throws ParserConfigurationException, FileNotFoundException { + public void require_that_exceptions_are_issued() throws FileNotFoundException { Element configRoot = getDocument( - "<config name=\"simpletypes\">" + + "<config name=\"test.simpletypes\">" + "<longval>invalid</longval>" + "</config>"); DefParser defParser = new DefParser("simpletypes", @@ -323,7 +286,7 @@ public class DomConfigPayloadBuilderTest { return doc.getDocumentElement(); } - private Element getDocument(String xml) throws ParserConfigurationException { + private Element getDocument(String xml) { Reader xmlReader = new StringReader(xml); return getDocument(xmlReader); } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/LegacyConfigModelBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/LegacyConfigModelBuilderTest.java index bef2b37d65d..fa4c4d313a4 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/LegacyConfigModelBuilderTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/LegacyConfigModelBuilderTest.java @@ -3,15 +3,14 @@ package com.yahoo.vespa.model.builder.xml.dom; import com.yahoo.config.model.ConfigModel; import com.yahoo.config.model.ConfigModelContext; -import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.builder.xml.ConfigModelId; +import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.test.MockApplicationPackage; import com.yahoo.config.model.test.MockRoot; import com.yahoo.text.XML; import org.junit.Test; import org.w3c.dom.Element; -import java.util.Arrays; import java.util.List; import static org.hamcrest.CoreMatchers.is; @@ -19,12 +18,12 @@ import static org.junit.Assert.assertThat; /** * @author Ulf Lilleengen - * @since 5.1 */ public class LegacyConfigModelBuilderTest { + @Test public void testThatProducerIsInserted() { - String services = "<foo><config name=\"bar\"><key>value</key></config></foo>"; + String services = "<foo><config name=\"bar.foo\"><key>value</key></config></foo>"; ModelBuilder builder = new ModelBuilder(); Model model = builder.build(DeployState.createTestState(new MockApplicationPackage.Builder().withServices(services).build()), null, null, new MockRoot(), XML.getDocument(services).getDocumentElement()); @@ -51,7 +50,7 @@ public class LegacyConfigModelBuilderTest { } private static class ModelBuilder extends LegacyConfigModelBuilder<Model> { - public ModelBuilder() { + ModelBuilder() { super(Model.class); } @@ -61,7 +60,7 @@ public class LegacyConfigModelBuilderTest { @Override public List<ConfigModelId> handlesElements() { - return Arrays.asList(ConfigModelId.fromName("foo")); + return List.of(ConfigModelId.fromName("foo")); } } } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilderTest.java index 09b7acafefd..b8d9ad59ae0 100755 --- a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilderTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilderTest.java @@ -25,7 +25,7 @@ import static org.junit.Assert.assertThat; */ public class VespaDomBuilderTest { - final static String hosts = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + + private final static String hosts = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + "<hosts>" + " <host name=\"localhost\">" + " <alias>node1</alias>" + @@ -33,9 +33,9 @@ public class VespaDomBuilderTest { " </host>" + "</hosts>"; - final static String services = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + + private final static String services = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + "<services>" + - " <config name=\"standard\">" + + " <config name=\"a.standard\">" + " <basicStruct>" + " <stringVal>default</stringVal>" + " </basicStruct>" + @@ -45,7 +45,7 @@ public class VespaDomBuilderTest { " <adminserver hostalias=\"node1\" />" + " </admin>" + " <container version=\"1.0\">" + - " <config name=\"standard\">" + + " <config name=\"a.standard\">" + " <basicStruct>" + " <stringVal>qrservers</stringVal>" + " </basicStruct>" + @@ -56,19 +56,7 @@ public class VespaDomBuilderTest { " </container>\n" + "</services>"; - final static String servicesWithNamespace = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + - "<services>" + - " <config name=\"testnamespace\" namespace=\"foo\">" + - " <basicStruct>" + - " <stringVal>default</stringVal>" + - " </basicStruct>" + - " </config> " + - " <admin version=\"2.0\">" + - " <adminserver hostalias=\"node1\" />" + - " </admin>" + - "</services>"; - - final static String servicesWithNamespace2 = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + + private final static String servicesWithNamespace = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + "<services>" + " <config name=\"foo.testnamespace\">" + " <basicStruct>" + @@ -93,16 +81,6 @@ public class VespaDomBuilderTest { " \"stringVal\": \"default\"\n" + " }\n" + "}\n"); - - model = createModel(hosts, servicesWithNamespace2); - - builder = new GenericConfig.GenericConfigBuilder(new ConfigDefinitionKey("testnamespace", "foo"), new ConfigPayloadBuilder()); - model.getConfig(builder, "admin"); - assertEquals(builder.getPayload().toString(), "{\n" + - " \"basicStruct\": {\n" + - " \"stringVal\": \"default\"\n" + - " }\n" + - "}\n"); } @Test diff --git a/config-model/src/test/java/com/yahoo/vespa/model/test/VespaModelTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/test/VespaModelTestCase.java index 333bb3728f6..ac81c1a7b7e 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/test/VespaModelTestCase.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/test/VespaModelTestCase.java @@ -66,13 +66,9 @@ public class VespaModelTestCase { "</host>" + "</hosts>"; - public static VespaModel getVespaModel(String configPath) { - return getVespaModel(configPath, true); - } - - public static VespaModel getVespaModel(String configPath, boolean validateXml) { + private static VespaModel getVespaModel(String configPath) { VespaModelCreatorWithFilePkg creator = new VespaModelCreatorWithFilePkg(configPath); - return creator.create(validateXml); + return creator.create(true); } // Debugging @@ -232,7 +228,7 @@ public class VespaModelTestCase { public void testDeployLogger() throws IOException, SAXException { final String services = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + "<services version=\"1.0\">" + - "<config name=\"unknsownfoo\">" + + "<config name=\"bar.unknsownfoo\">" + "<logserver><host>foo</host></logserver>" + "</config>" + "<admin version=\"2.0\">" + |