diff --git a/activemq-broker/src/main/java/org/apache/activemq/filter/XalanXPathEvaluator.java b/activemq-broker/src/main/java/org/apache/activemq/filter/XalanXPathEvaluator.java deleted file mode 100644 index 7bfdaf0ac8..0000000000 --- a/activemq-broker/src/main/java/org/apache/activemq/filter/XalanXPathEvaluator.java +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.activemq.filter; - -import org.apache.activemq.command.Message; -import org.apache.activemq.util.ByteArrayInputStream; -import org.w3c.dom.Document; -import org.xml.sax.InputSource; - -import javax.jms.BytesMessage; -import javax.jms.JMSException; -import javax.jms.TextMessage; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.xpath.XPath; -import javax.xml.xpath.XPathConstants; -import javax.xml.xpath.XPathFactory; -import java.io.StringReader; - -public class XalanXPathEvaluator implements XPathExpression.XPathEvaluator { - - private static final XPathFactory FACTORY = XPathFactory.newInstance(); - private final String xpathExpression; - private final DocumentBuilder builder; - private final XPath xpath = FACTORY.newXPath(); - - public XalanXPathEvaluator(String xpathExpression, DocumentBuilder builder) throws Exception { - this.xpathExpression = xpathExpression; - if (builder != null) { - this.builder = builder; - } else { - throw new RuntimeException("No document builder available"); - } - } - - public boolean evaluate(Message message) throws JMSException { - if (message instanceof TextMessage) { - String text = ((TextMessage)message).getText(); - return evaluate(text); - } else if (message instanceof BytesMessage) { - BytesMessage bm = (BytesMessage)message; - byte data[] = new byte[(int)bm.getBodyLength()]; - bm.readBytes(data); - return evaluate(data); - } - return false; - } - - private boolean evaluate(byte[] data) { - try { - InputSource inputSource = new InputSource(new ByteArrayInputStream(data)); - Document inputDocument = builder.parse(inputSource); - return ((Boolean) xpath.evaluate(xpathExpression, inputDocument, XPathConstants.BOOLEAN)).booleanValue(); - } catch (Exception e) { - return false; - } - } - - private boolean evaluate(String text) { - try { - InputSource inputSource = new InputSource(new StringReader(text)); - Document inputDocument = builder.parse(inputSource); - return ((Boolean) xpath.evaluate(xpathExpression, inputDocument, XPathConstants.BOOLEAN)).booleanValue(); - } catch (Exception e) { - return false; - } - } - - @Override - public String toString() { - return xpathExpression; - } -} diff --git a/activemq-client/src/main/java/org/apache/activemq/filter/XPathExpression.java b/activemq-client/src/main/java/org/apache/activemq/filter/XPathExpression.java index e90e15f00d..84fd167841 100644 --- a/activemq-client/src/main/java/org/apache/activemq/filter/XPathExpression.java +++ b/activemq-client/src/main/java/org/apache/activemq/filter/XPathExpression.java @@ -42,7 +42,7 @@ public final class XPathExpression implements BooleanExpression { private static final Logger LOG = LoggerFactory.getLogger(XPathExpression.class); private static final String EVALUATOR_SYSTEM_PROPERTY = "org.apache.activemq.XPathEvaluatorClassName"; - private static final String DEFAULT_EVALUATOR_CLASS_NAME = "org.apache.activemq.filter.XalanXPathEvaluator"; + private static final String DEFAULT_EVALUATOR_CLASS_NAME = "org.apache.activemq.filter.JAXPXPathEvaluator"; public static final String DOCUMENT_BUILDER_FACTORY_FEATURE = "org.apache.activemq.documentBuilderFactory.feature"; private static final Constructor EVALUATOR_CONSTRUCTOR; diff --git a/assembly/src/release/examples/conf/resin-web.xml b/assembly/src/release/examples/conf/resin-web.xml deleted file mode 100644 index 16415491c4..0000000000 --- a/assembly/src/release/examples/conf/resin-web.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - diff --git a/assembly/src/test/java/org/apache/activemq/config/ValidateXMLConfigTest.java b/assembly/src/test/java/org/apache/activemq/config/ValidateXMLConfigTest.java index dbb202a4fe..3ba1c05fd6 100644 --- a/assembly/src/test/java/org/apache/activemq/config/ValidateXMLConfigTest.java +++ b/assembly/src/test/java/org/apache/activemq/config/ValidateXMLConfigTest.java @@ -23,6 +23,7 @@ import java.io.FileFilter; import java.io.IOException; import java.io.InputStream; import java.util.HashSet; +import java.util.Objects; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -50,15 +51,9 @@ public class ValidateXMLConfigTest { // resource:copy-resource brings all config files into target/conf File sampleConfDir = new File("target/conf"); - final HashSet skipped = new HashSet(java.util.Arrays.asList(new String[]{ - "resin-web.xml", "web.xml", "camel.xml", "jolokia-access.xml" - })); - - for (File xmlFile : sampleConfDir.listFiles(new FileFilter() { - public boolean accept(File pathname) { - return pathname.isFile() && pathname.getName().endsWith("xml") && !skipped.contains(pathname.getName()); - }})) { + final HashSet skipped = new HashSet<>(java.util.Arrays.asList("web.xml", "camel.xml", "jolokia-access.xml")); + for (File xmlFile : Objects.requireNonNull(sampleConfDir.listFiles(pathname -> pathname.isFile() && pathname.getName().endsWith("xml") && !skipped.contains(pathname.getName())))) { validateXML(xmlFile); } }