diff options
author | Andreas Eriksen <andreer@yahooinc.com> | 2022-08-05 15:43:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-05 15:43:35 +0200 |
commit | 1d89c41ce6ecdb56a29317984086740b8ac008d4 (patch) | |
tree | 1191399656cb231fc14beeaf99b3667d44d21d9a /config-application-package | |
parent | e2806962df2fe6b8e9fa4fe73cd210a901f441d0 (diff) |
warn on use of deprecated xml features (#23583)
* warn on use of deprecated xml features
* ignore zip extraction issues for tests
Diffstat (limited to 'config-application-package')
2 files changed, 21 insertions, 1 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/application/ValidationProcessor.java b/config-application-package/src/main/java/com/yahoo/config/application/ValidationProcessor.java new file mode 100644 index 00000000000..5f430f70584 --- /dev/null +++ b/config-application-package/src/main/java/com/yahoo/config/application/ValidationProcessor.java @@ -0,0 +1,18 @@ +package com.yahoo.config.application; + +import org.w3c.dom.Document; +import org.w3c.dom.NodeList; + +import javax.xml.transform.TransformerException; +import java.io.IOException; + +public class ValidationProcessor implements PreProcessor { + + @Override + public Document process(Document input) throws IOException, TransformerException { + NodeList includeitems = input.getElementsByTagNameNS("http://www.w3.org/2001/XInclude", "*"); + if (includeitems.getLength() > 0) + throw new UnsupportedOperationException("XInclude not supported, use preprocess:include instead"); + return input; + } +}
\ No newline at end of file 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 640cc7bcfa7..ba68894c9f9 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 @@ -5,6 +5,7 @@ import com.yahoo.config.application.FileSystemWrapper.FileWrapper; import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.InstanceName; import com.yahoo.config.provision.RegionName; +import com.yahoo.text.XML; import org.w3c.dom.Document; import org.xml.sax.InputSource; import org.xml.sax.SAXException; @@ -57,7 +58,7 @@ public class XmlPreProcessor { } public Document run() throws ParserConfigurationException, IOException, SAXException, TransformerException { - DocumentBuilder docBuilder = Xml.getPreprocessDocumentBuilder(); + DocumentBuilder docBuilder = XML.getDocumentBuilder(); Document document = docBuilder.parse(new InputSource(xmlInput)); return execute(document); } @@ -74,6 +75,7 @@ public class XmlPreProcessor { chain.add(new IncludeProcessor(applicationDir)); chain.add(new OverrideProcessor(instance, environment, region)); chain.add(new PropertiesProcessor()); + chain.add(new ValidationProcessor()); // must be last in chain return chain; } |