From 9e9c0778b1b99b3e3ab5cd7f4aeed0418b2298ba Mon Sep 17 00:00:00 2001 From: Justin Bertram Date: Thu, 10 Oct 2019 09:04:05 -0500 Subject: [PATCH] ARTEMIS-2516 support sys props in xinclude href --- .../activemq/artemis/utils/XMLUtil.java | 2 +- .../impl/FileXIncludeConfigurationTest.java | 21 +++++++++++++++++++ .../ConfigurationTest-xinclude-config.xml | 8 +++---- 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/utils/XMLUtil.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/utils/XMLUtil.java index c45b62dec2..ce75f3350b 100644 --- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/utils/XMLUtil.java +++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/utils/XMLUtil.java @@ -81,7 +81,7 @@ public final class XMLUtil { factory.setNamespaceAware(true); factory.setXIncludeAware(true); DocumentBuilder parser = factory.newDocumentBuilder(); - Document doc = replaceSystemPropsInXml(parser.parse(new InputSource(r))); + Document doc = replaceSystemPropsInXml(parser.parse(new InputSource(new StringReader(replaceSystemPropsInString(readerToString(r)))))); return doc.getDocumentElement(); } diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileXIncludeConfigurationTest.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileXIncludeConfigurationTest.java index dd7e88acee..acd0256eb4 100644 --- a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileXIncludeConfigurationTest.java +++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/FileXIncludeConfigurationTest.java @@ -16,8 +16,29 @@ */ package org.apache.activemq.artemis.core.config.impl; +import org.junit.AfterClass; +import org.junit.BeforeClass; + public class FileXIncludeConfigurationTest extends FileConfigurationTest { + @BeforeClass + public static void setupProperties() { + System.setProperty("xincludePath", "./src/test/resources"); + System.setProperty("a2Prop", "a2"); + System.setProperty("falseProp", "false"); + System.setProperty("trueProp", "true"); + System.setProperty("ninetyTwoProp", "92"); + } + + @AfterClass + public static void clearProperties() { + System.clearProperty("xincludePath"); + System.clearProperty("a2Prop"); + System.clearProperty("falseProp"); + System.clearProperty("trueProp"); + System.clearProperty("ninetyTwoProp"); + } + @Override protected String getConfigurationName() { return "ConfigurationTest-xinclude-config.xml"; diff --git a/artemis-server/src/test/resources/ConfigurationTest-xinclude-config.xml b/artemis-server/src/test/resources/ConfigurationTest-xinclude-config.xml index 23ab14f303..5d218bb0a1 100644 --- a/artemis-server/src/test/resources/ConfigurationTest-xinclude-config.xml +++ b/artemis-server/src/test/resources/ConfigurationTest-xinclude-config.xml @@ -78,7 +78,7 @@ vm://5 - + @@ -284,9 +284,9 @@ ping-four ping-six - + - + @@ -300,6 +300,6 @@ - +