mirror of
https://github.com/apache/activemq-artemis.git
synced 2025-03-04 16:29:28 +00:00
ActiveMQ6-112 Add defaults to the selector parser doc builder
This commit is contained in:
parent
879f4a6bb3
commit
48d9951d87
@ -18,6 +18,7 @@ package org.apache.activemq.artemis.selector.filter;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import java.io.StringReader;
|
||||
|
||||
import org.apache.xpath.CachedXPathAPI;
|
||||
@ -56,9 +57,7 @@ public class XalanXPathEvaluator implements XPathExpression.XPathEvaluator
|
||||
{
|
||||
try
|
||||
{
|
||||
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
||||
factory.setNamespaceAware(true);
|
||||
DocumentBuilder dbuilder = factory.newDocumentBuilder();
|
||||
DocumentBuilder dbuilder = createDocumentBuilder();
|
||||
Document doc = dbuilder.parse(inputSource);
|
||||
|
||||
//An XPath expression could return a true or false value instead of a node.
|
||||
@ -75,11 +74,22 @@ public class XalanXPathEvaluator implements XPathExpression.XPathEvaluator
|
||||
NodeIterator iterator = cachedXPathAPI.selectNodeIterator(doc, xpath);
|
||||
return (iterator.nextNode() != null);
|
||||
}
|
||||
|
||||
}
|
||||
catch (Throwable e)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private DocumentBuilder createDocumentBuilder() throws ParserConfigurationException
|
||||
{
|
||||
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
||||
factory.setNamespaceAware(true);
|
||||
|
||||
factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
|
||||
factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
|
||||
factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
|
||||
|
||||
return factory.newDocumentBuilder();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user