summaryrefslogtreecommitdiffstats
path: root/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java')
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java19
1 files changed, 18 insertions, 1 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java b/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
index 0b49325756d..35021d1b44a 100644
--- a/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
+++ b/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
@@ -33,6 +33,22 @@ public class DeploymentSpecXmlReader {
private static final String blockChangeTag = "block-change";
private static final String prodTag = "prod";
+ private final boolean validate;
+
+ /** Creates a validating reader */
+ public DeploymentSpecXmlReader() {
+ this(true);
+ }
+
+ /**
+ * Creates a reader
+ *
+ * @param validate true to validate the input, false to accept any input which can be unabiguously parsed
+ */
+ public DeploymentSpecXmlReader(boolean validate) {
+ this.validate = validate;
+ }
+
public DeploymentSpec read(Reader reader) {
try {
return read(IOUtils.readAll(reader));
@@ -47,7 +63,8 @@ public class DeploymentSpecXmlReader {
List<Step> steps = new ArrayList<>();
Optional<String> globalServiceId = Optional.empty();
Element root = XML.getDocument(xmlForm).getDocumentElement();
- validateTagOrder(root);
+ if (validate)
+ validateTagOrder(root);
for (Element environmentTag : XML.getChildren(root)) {
if ( ! isEnvironmentName(environmentTag.getTagName())) continue;