aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilder.java43
-rw-r--r--config-model/src/main/resources/schema/common.rnc2
-rw-r--r--config-model/src/test/cfg/admin/userconfigs/functiontest-defaultvalues.xml2
-rw-r--r--config-model/src/test/cfg/admin/userconfigs/whitespace-test.xml2
-rw-r--r--config-model/src/test/cfg/application/app_genericservices/services.xml8
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/builder/UserConfigBuilderTest.java33
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilderTest.java97
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/LegacyConfigModelBuilderTest.java11
-rwxr-xr-xconfig-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilderTest.java32
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/test/VespaModelTestCase.java10
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\">" +