aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/UserConfigBuilder.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilder.java7
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilderTest.java18
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/RealDataScenarioTest.java2
4 files changed, 20 insertions, 9 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/UserConfigBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/UserConfigBuilder.java
index e5cbb169b0c..2b8000f3e1a 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/UserConfigBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/UserConfigBuilder.java
@@ -43,7 +43,7 @@ public class UserConfigBuilder {
logger.logApplicationPackage(Level.WARNING, "Unable to find config definition '" + key.asFileName() +
"'. Please ensure that the name is spelled correctly, and that the def file is included in a bundle.");
}
- ConfigPayloadBuilder payloadBuilder = new DomConfigPayloadBuilder(def.orElse(null)).build(element);
+ ConfigPayloadBuilder payloadBuilder = new DomConfigPayloadBuilder(def.orElse(null), logger).build(element);
ConfigPayloadBuilder old = builderMap.get(key);
if (old != null) {
logger.logApplicationPackage(Level.WARNING, "Multiple overrides for " + key + " found. Applying in the order they are discovered");
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 0c746ff4a75..09af365c389 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,6 +3,7 @@ package com.yahoo.vespa.model.builder.xml.dom;
import com.yahoo.collections.Tuple2;
import com.yahoo.config.ConfigurationRuntimeException;
+import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.vespa.config.ConfigDefinition;
import com.yahoo.vespa.config.ConfigDefinitionKey;
import com.yahoo.vespa.config.ConfigPayloadBuilder;
@@ -13,6 +14,8 @@ import com.yahoo.vespa.config.util.ConfigUtils;
import org.w3c.dom.Element;
import java.util.List;
+import java.util.Optional;
+import java.util.logging.Level;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -31,9 +34,11 @@ public class DomConfigPayloadBuilder {
/** The config definition, not null if not found */
private final ConfigDefinition configDefinition;
+ private final Optional<DeployLogger> logger;
- public DomConfigPayloadBuilder(ConfigDefinition configDefinition) {
+ public DomConfigPayloadBuilder(ConfigDefinition configDefinition, DeployLogger logger) {
this.configDefinition = configDefinition;
+ this.logger = Optional.ofNullable(logger);
}
/**
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 62decde78be..264d102161a 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
@@ -2,6 +2,7 @@
package com.yahoo.vespa.model.builder.xml.dom;
import com.yahoo.config.ConfigurationRuntimeException;
+import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.config.codegen.DefParser;
import com.yahoo.config.model.builder.xml.XmlHelper;
import com.yahoo.slime.JsonFormat;
@@ -17,11 +18,11 @@ import org.w3c.dom.Element;
import org.xml.sax.InputSource;
import java.io.ByteArrayOutputStream;
-import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.Reader;
import java.io.StringReader;
+import java.util.logging.Level;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
@@ -34,6 +35,10 @@ import static org.junit.Assert.fail;
*/
public class DomConfigPayloadBuilderTest {
+ private static final DeployLogger logger = (level, message) -> {
+ if (level.intValue() > Level.INFO.intValue()) System.err.println(message);
+ };
+
@Test
public void testFunctionTest_DefaultValues() throws FileNotFoundException {
Element configRoot = getDocument(new FileReader("src/test/cfg/admin/userconfigs/functiontest-defaultvalues.xml"));
@@ -143,7 +148,7 @@ public class DomConfigPayloadBuilderTest {
public void testFailWrongTagName() {
Element configRoot = getDocument(new StringReader("<configs name=\"foo\"/>"));
try {
- new DomConfigPayloadBuilder(null).build(configRoot);
+ new DomConfigPayloadBuilder(null, logger).build(configRoot);
fail("Expected exception for wrong tag name.");
} catch (ConfigurationRuntimeException e) {
assertEquals("The root element must be 'config', but was 'configs'.", e.getMessage());
@@ -155,7 +160,7 @@ public class DomConfigPayloadBuilderTest {
public void testFailNoNameAttribute() {
Element configRoot = getDocument(new StringReader("<config/>"));
try {
- new DomConfigPayloadBuilder(null).build(configRoot);
+ new DomConfigPayloadBuilder(null, logger).build(configRoot);
fail("Expected exception for mismatch between def-name and xml name attribute.");
} catch (ConfigurationRuntimeException e) {
assertEquals("The 'config' element must have a 'name' attribute that matches the name of the config definition.", e.getMessage());
@@ -237,7 +242,7 @@ public class DomConfigPayloadBuilderTest {
"<config name=\"test.arraytypes\" version=\"1\">" +
" <item>13</item>" +
"</config>");
- new DomConfigPayloadBuilder(null).build(configRoot);
+ new DomConfigPayloadBuilder(null, logger).build(configRoot);
}
@Test(expected=ConfigurationRuntimeException.class)
@@ -249,12 +254,13 @@ public class DomConfigPayloadBuilderTest {
DefParser defParser = new DefParser("simpletypes",
new FileReader("src/test/resources/configdefinitions/test.simpletypes.def"));
ConfigDefinition def = ConfigDefinitionBuilder.createConfigDefinition(defParser.getTree());
- ConfigPayloadBuilder unused = new DomConfigPayloadBuilder(def).build(configRoot);
+ ConfigPayloadBuilder unused = new DomConfigPayloadBuilder(def, logger).build(configRoot);
}
private void assertPayload(String expected, Element configRoot) {
- ConfigPayload payload = ConfigPayload.fromBuilder(new DomConfigPayloadBuilder(null).build(configRoot));
+ ConfigPayload payload = ConfigPayload.fromBuilder(
+ new DomConfigPayloadBuilder(null, logger).build(configRoot));
try {
ByteArrayOutputStream a = new ByteArrayOutputStream();
new JsonFormat(true).encode(a, payload.getSlime());
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/RealDataScenarioTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/RealDataScenarioTest.java
index 3dd76c76cac..0e732984227 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/RealDataScenarioTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/RealDataScenarioTest.java
@@ -129,7 +129,7 @@ public class RealDataScenarioTest {
private static FlavorsConfig parseFlavors(Path path) {
try {
var element = XmlHelper.getDocumentBuilder().parse(path.toFile()).getDocumentElement();
- return ConfigPayload.fromBuilder(new DomConfigPayloadBuilder(null).build(element)).toInstance(FlavorsConfig.class, "");
+ return ConfigPayload.fromBuilder(new DomConfigPayloadBuilder(null, null).build(element)).toInstance(FlavorsConfig.class, "");
} catch (Exception e) {
throw new RuntimeException(e);
}