You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by co...@apache.org on 2018/06/05 11:54:02 UTC

svn commit: r1832932 [1/6] - in /santuario/xml-security-java/trunk: ./ src/main/java/org/apache/jcp/xml/dsig/internal/dom/ src/main/java/org/apache/xml/security/ src/main/java/org/apache/xml/security/c14n/ src/main/java/org/apache/xml/security/encrypti...

Author: coheigea
Date: Tue Jun  5 11:54:00 2018
New Revision: 1832932

URL: http://svn.apache.org/viewvc?rev=1832932&view=rev
Log:
Fix caching logic in XMLUtils

Added:
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/utils/XMLUtilsPerformanceTest.java
Modified:
    santuario/xml-security-java/trunk/pom.xml
    santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/Init.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/c14n/Canonicalizer.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/c14n/CanonicalizerSpi.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/encryption/DocumentSerializer.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/keys/keyresolver/KeyResolverSpi.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/signature/SignedInfo.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/signature/XMLSignatureInput.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/transforms/implementations/TransformBase64Decode.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/utils/XMLUtils.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateBaltimore23Test.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateInteropExcC14NTest.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXFilter2Test.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXMLDSig11Test.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreatePhaosXMLDSig3Test.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/DetachedTest.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/HMACSignatureAlgorithmTest.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/JSRForbiddenRefCountTest.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/JSRWrappingAttackTest.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/PKSignatureAlgorithmTest.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/SecureXSLTTest.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/SignatureDigestMethodTest.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/SignatureValidator.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/TestUtils.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureFactoryTest.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureTest.java
    santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/keyinfo/KeyInfoTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/CreateExclC14nInteropValues.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/algorithms/DigestAlgorithmTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/algorithms/HMACSignatureAlgorithmTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/algorithms/KeyWrapEncryptionAlgorithmTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/algorithms/PKSignatureAlgorithmTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/algorithms/SignatureAlgorithmTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/algorithms/SymmetricEncryptionAlgorithmTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/c14n/helper/AttrCompareTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/c14n/implementations/Bug45961Test.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/c14n/implementations/Canonicalizer11Test.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/c14n/implementations/Canonicalizer20010315ExclusiveTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/c14n/implementations/Canonicalizer20010315Test.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/c14n/implementations/ExclusiveC14NInteropTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/c14n/implementations/NameSpaceSymbTableTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/c14n/implementations/Santuario191Test.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/c14n/implementations/Santuario273Test.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/encryption/BaltimoreEncTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/encryption/EncryptContentTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/encryption/ReferenceListTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/encryption/SignedEncryptedTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/encryption/XMLCipherTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/encryption/XMLEncryption11Test.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/interop/InteropTestBase.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/keys/DEREncodedKeyValueTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/keys/KeyInfoReferenceTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/keys/content/x509/XMLX509CertificateTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/keys/content/x509/XMLX509DigestTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/keys/content/x509/XMLX509IssuerSerialTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/keys/keyresolver/KeyInfoReferenceResolverTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/keys/keyresolver/KeyResolverTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/keys/keyresolver/RetrievalMethodResolverTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/keys/keyresolver/X509DigestResolverTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/secure_val/ForbiddenAlgorithmTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/secure_val/ForbiddenRefCountTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/secure_val/ForbiddenReferenceTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/secure_val/ForbiddenRetrievalMethodTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/secure_val/WrappingAttackTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/CreateSignatureTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/ECDSASignatureTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/HMACOutputLengthTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/InvalidKeyTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/KeyValueTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/NoKeyInfoTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/PreCalculatedDigestSignatureTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/ProcessingInstructionTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/SignatureReferenceTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/SignatureTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/UnknownAlgoSignatureTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/X509DataTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/signature/XmlSecTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/transforms/implementations/TransformBase64DecodeTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/transforms/implementations/TransformXSLTTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/transforms/implementations/Xpath2TransformationTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/utils/resolver/ResolverDirectHTTPTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/utils/resolver/ResourceResolverTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/c14n/Canonicalizer11Test.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/c14n/Canonicalizer20010315ExclusiveTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/c14n/Canonicalizer20010315Test.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/c14n/ExclusiveC14NInteropTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/encryption/BaltimoreEncTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/encryption/DecryptionTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/encryption/EncryptionCreationTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/encryption/KeyWrapEncryptionCreationTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/encryption/KeyWrapEncryptionVerificationTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/encryption/SymmetricEncryptionCreationTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/encryption/SymmetricEncryptionVerificationTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/encryption/XMLEncryption11Test.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/performance/AbstractPerformanceTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/BaltimoreTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/IAIKTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/PKSignatureCreationTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/PKSignatureVerificationTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/PhaosTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/RSASecurityTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/SignatureCreationReferenceURIResolverTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/SignatureCreationTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/SignatureDigestCreationTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/SignatureDigestVerificationTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/SignatureEncryptionTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/SignatureHMACCreationTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/SignatureHMACVerificationTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/SignatureVerificationReferenceURIResolverTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/SignatureVerificationTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/signature/UnknownAlgoSignatureTest.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/utils/KeyLoader.java
    santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/stax/utils/StAX2DOM.java

Modified: santuario/xml-security-java/trunk/pom.xml
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/pom.xml?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/pom.xml (original)
+++ santuario/xml-security-java/trunk/pom.xml Tue Jun  5 11:54:00 2018
@@ -607,6 +607,12 @@
             <version>${bcprov.version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>com.carrotsearch</groupId>
+            <artifactId>junit-benchmarks</artifactId>
+            <version>0.7.2</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <distributionManagement>

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java Tue Jun  5 11:54:00 2018
@@ -42,7 +42,6 @@ import javax.xml.crypto.*;
 import javax.xml.crypto.dsig.*;
 import javax.xml.crypto.dom.DOMURIReference;
 import javax.xml.crypto.dsig.keyinfo.RetrievalMethod;
-import javax.xml.parsers.*;
 
 import org.apache.xml.security.utils.XMLUtils;
 import org.w3c.dom.Attr;
@@ -258,8 +257,7 @@ public final class DOMRetrievalMethod ex
         boolean secVal = Utils.secureValidation(context);
         ApacheData data = (ApacheData)dereference(context);
         try (InputStream is = new ByteArrayInputStream(data.getXMLSignatureInput().getBytes())) {
-            DocumentBuilder db = XMLUtils.createDocumentBuilder(false, secVal);
-            Document doc = db.parse(is);
+            Document doc = XMLUtils.parse(is, false, secVal);
             Element kiElem = doc.getDocumentElement();
             if (kiElem.getLocalName().equals("X509Data")
                 && XMLSignature.XMLNS.equals(kiElem.getNamespaceURI())) {

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/Init.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/Init.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/Init.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/Init.java Tue Jun  5 11:54:00 2018
@@ -24,8 +24,6 @@ import java.security.PrivilegedAction;
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.parsers.DocumentBuilder;
-
 import org.apache.xml.security.algorithms.JCEMapper;
 import org.apache.xml.security.algorithms.SignatureAlgorithm;
 import org.apache.xml.security.c14n.Canonicalizer;
@@ -155,8 +153,7 @@ public class Init {
     private static void fileInit(InputStream is) {
         try {
             /* read library configuration file */
-            DocumentBuilder db = XMLUtils.createDocumentBuilder(false);
-            Document doc = db.parse(is);
+            Document doc = XMLUtils.parse(is, false);
             Node config = doc.getFirstChild();
             for (; config != null; config = config.getNextSibling()) {
                 if ("Configuration".equals(config.getLocalName())) {

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/c14n/Canonicalizer.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/c14n/Canonicalizer.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/c14n/Canonicalizer.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/c14n/Canonicalizer.java Tue Jun  5 11:54:00 2018
@@ -26,8 +26,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
-import javax.xml.parsers.DocumentBuilder;
-
 import org.apache.xml.security.c14n.implementations.Canonicalizer11_OmitComments;
 import org.apache.xml.security.c14n.implementations.Canonicalizer11_WithComments;
 import org.apache.xml.security.c14n.implementations.Canonicalizer20010315ExclOmitComments;
@@ -256,9 +254,6 @@ public class Canonicalizer {
         try (InputStream bais = new ByteArrayInputStream(inputBytes)) {
             InputSource in = new InputSource(bais);
 
-            // needs to validate for ID attribute normalization
-            DocumentBuilder db = XMLUtils.createDocumentBuilder(true, secureValidation);
-
             /*
              * for some of the test vectors from the specification,
              * there has to be a validating parser for ID attributes, default
@@ -280,9 +275,9 @@ public class Canonicalizer {
              * though the document type declaration is not retained in the
              * canonical form.
              */
-            db.setErrorHandler(new org.apache.xml.security.utils.IgnoreAllErrorHandler());
 
-            document = db.parse(in);
+            // needs to validate for ID attribute normalization
+            document = XMLUtils.parse(in, true, secureValidation, true);
         }
         return this.canonicalizeSubtree(document);
     }

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/c14n/CanonicalizerSpi.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/c14n/CanonicalizerSpi.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/c14n/CanonicalizerSpi.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/c14n/CanonicalizerSpi.java Tue Jun  5 11:54:00 2018
@@ -22,8 +22,6 @@ import java.io.ByteArrayInputStream;
 import java.io.OutputStream;
 import java.util.Set;
 
-import javax.xml.parsers.DocumentBuilder;
-
 import org.apache.xml.security.utils.XMLUtils;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
@@ -59,9 +57,7 @@ public abstract class CanonicalizerSpi {
         try (java.io.InputStream bais = new ByteArrayInputStream(inputBytes)) {
             InputSource in = new InputSource(bais);
 
-            DocumentBuilder db = XMLUtils.createDocumentBuilder(false, secureValidation);
-
-            document = db.parse(in);
+            document = XMLUtils.parse(in, false, secureValidation);
         }
         return this.engineCanonicalizeSubTree(document);
     }

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/encryption/DocumentSerializer.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/encryption/DocumentSerializer.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/encryption/DocumentSerializer.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/encryption/DocumentSerializer.java Tue Jun  5 11:54:00 2018
@@ -23,7 +23,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.StringReader;
 
-import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.ParserConfigurationException;
 
 import org.apache.xml.security.utils.XMLUtils;
@@ -71,8 +70,7 @@ public class DocumentSerializer extends
      */
     private Node deserialize(Node ctx, InputSource inputSource) throws XMLEncryptionException {
         try {
-            DocumentBuilder db = XMLUtils.createDocumentBuilder(false, secureValidation);
-            Document d = db.parse(inputSource);
+            Document doc = XMLUtils.parse(inputSource, false, secureValidation);
 
             Document contextDocument = null;
             if (Node.DOCUMENT_NODE == ctx.getNodeType()) {
@@ -82,7 +80,7 @@ public class DocumentSerializer extends
             }
 
             Element fragElt =
-                    (Element) contextDocument.importNode(d.getDocumentElement(), true);
+                    (Element) contextDocument.importNode(doc.getDocumentElement(), true);
             DocumentFragment result = contextDocument.createDocumentFragment();
             Node child = fragElt.getFirstChild();
             while (child != null) {

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/keys/keyresolver/KeyResolverSpi.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/keys/keyresolver/KeyResolverSpi.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/keys/keyresolver/KeyResolverSpi.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/keys/keyresolver/KeyResolverSpi.java Tue Jun  5 11:54:00 2018
@@ -27,7 +27,6 @@ import java.security.cert.X509Certificat
 import java.util.HashMap;
 
 import javax.crypto.SecretKey;
-import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.ParserConfigurationException;
 
 import org.apache.xml.security.keys.storage.StorageResolver;
@@ -271,8 +270,7 @@ public abstract class KeyResolverSpi {
      */
     protected static Element getDocFromBytes(byte[] bytes, boolean secureValidation) throws KeyResolverException {
         try (InputStream is = new ByteArrayInputStream(bytes)) {
-            DocumentBuilder db = XMLUtils.createDocumentBuilder(false, secureValidation);
-            Document doc = db.parse(is);
+            Document doc = XMLUtils.parse(is, false, secureValidation);
             return doc.getDocumentElement();
         } catch (SAXException ex) {
             throw new KeyResolverException(ex);

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/signature/SignedInfo.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/signature/SignedInfo.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/signature/SignedInfo.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/signature/SignedInfo.java Tue Jun  5 11:54:00 2018
@@ -210,10 +210,8 @@ public class SignedInfo extends Manifest
                 c14nizer.setSecureValidation(secureValidation);
 
                 byte[] c14nizedBytes = c14nizer.canonicalizeSubtree(element);
-                javax.xml.parsers.DocumentBuilder db =
-                    XMLUtils.createDocumentBuilder(false, secureValidation);
                 try (InputStream is = new ByteArrayInputStream(c14nizedBytes)) {
-                    Document newdoc = db.parse(is);
+                    Document newdoc = XMLUtils.parse(is, false, secureValidation);
                     Node imported = element.getOwnerDocument().importNode(
                             newdoc.getDocumentElement(), true);
                     element.getParentNode().replaceChild(imported, element);

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/signature/XMLSignatureInput.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/signature/XMLSignatureInput.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/signature/XMLSignatureInput.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/signature/XMLSignatureInput.java Tue Jun  5 11:54:00 2018
@@ -29,7 +29,6 @@ import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
 
-import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.ParserConfigurationException;
 
 import org.apache.xml.security.c14n.CanonicalizationException;
@@ -570,12 +569,9 @@ public class XMLSignatureInput {
 
     void convertToNodes() throws CanonicalizationException,
         ParserConfigurationException, IOException, SAXException {
-        DocumentBuilder db = XMLUtils.createDocumentBuilder(false, secureValidation);
         // select all nodes, also the comments.
         try {
-            db.setErrorHandler(new org.apache.xml.security.utils.IgnoreAllErrorHandler());
-
-            Document doc = db.parse(this.getOctetStream());
+            Document doc = XMLUtils.parse(this.getOctetStream(), false, secureValidation, true);
             this.subNode = doc;
         } catch (SAXException ex) {
             byte[] result = null;
@@ -589,7 +585,7 @@ public class XMLSignatureInput {
                 result = baos.toByteArray();
             }
             try (InputStream is = new ByteArrayInputStream(result)) {
-                Document document = db.parse(is);
+                Document document = XMLUtils.parse(is, false, secureValidation, true);
                 this.subNode = document.getDocumentElement().getFirstChild().getFirstChild();
             }
         } finally {

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/transforms/implementations/TransformBase64Decode.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/transforms/implementations/TransformBase64Decode.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/transforms/implementations/TransformBase64Decode.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/transforms/implementations/TransformBase64Decode.java Tue Jun  5 11:54:00 2018
@@ -142,8 +142,7 @@ public class TransformBase64Decode exten
         try {
             //Exceptional case there is current not text case testing this(Before it was a
             //a common case).
-            Document doc =
-                XMLUtils.createDocumentBuilder(false, secureValidation).parse(input.getOctetStream());
+            Document doc = XMLUtils.parse(input.getOctetStream(), false, secureValidation);
 
             Element rootNode = doc.getDocumentElement();
             StringBuilder sb = new StringBuilder();

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/utils/XMLUtils.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/utils/XMLUtils.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/utils/XMLUtils.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/utils/XMLUtils.java Tue Jun  5 11:54:00 2018
@@ -19,6 +19,7 @@
 package org.apache.xml.security.utils;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.OutputStream;
 import java.math.BigInteger;
 import java.security.AccessController;
@@ -47,6 +48,8 @@ import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 import org.w3c.dom.Text;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
 
 /**
  * DOM and XML accessibility and comfort functions.
@@ -58,8 +61,8 @@ public final class XMLUtils {
         AccessController.doPrivileged(
             (PrivilegedAction<Boolean>) () -> Boolean.getBoolean("org.apache.xml.security.ignoreLineBreaks"));
 
-    private static final Map<ClassLoader, DocumentBuilder[][]> DOCUMENT_BUILDERS =
-        Collections.synchronizedMap(new WeakHashMap<ClassLoader, DocumentBuilder[][]>());
+    private static final Map<ClassLoader, DocumentBuilder[]> DOCUMENT_BUILDERS =
+        Collections.synchronizedMap(new WeakHashMap<ClassLoader, DocumentBuilder[]>());
 
     private static volatile String dsPrefix = "ds";
     private static volatile String ds11Prefix = "dsig11";
@@ -1050,28 +1053,6 @@ public final class XMLUtils {
         return true;
     }
 
-    public static DocumentBuilder createDocumentBuilder(boolean validating) throws ParserConfigurationException {
-        return createDocumentBuilder(validating, true);
-    }
-
-    public static DocumentBuilder createDocumentBuilder(
-        boolean validating, boolean disAllowDocTypeDeclarations
-    ) throws ParserConfigurationException {
-        DocumentBuilder db = getDocumentBuilder(validating, disAllowDocTypeDeclarations);
-        db.reset();
-        return db;
-    }
-
-    /**
-     * Return this document builder to be reused
-     * @param db DocumentBuilder returned from any of {@link #createDocumentBuilder} methods.
-     * @return whether it was successfully returned to the pool
-     */
-    @Deprecated
-    public static boolean repoolDocumentBuilder(DocumentBuilder db) {
-        return true;
-    }
-
     /**
      * Returns a byte-array representation of a <code>{@link BigInteger}</code>.
      * No sign-bit is output.
@@ -1117,31 +1098,105 @@ public final class XMLUtils {
         return resizedBytes;
     }
 
-    private static DocumentBuilder getDocumentBuilder(boolean validating, boolean disAllowDocTypeDeclarations) throws ParserConfigurationException {
+    public static Document parse(InputStream inputStream, boolean validating)
+        throws SAXException, IOException, ParserConfigurationException {
+        return parse(inputStream, validating, true, false);
+    }
+
+    public static Document parse(InputStream inputStream, boolean validating, boolean disAllowDocTypeDeclarations)
+        throws SAXException, IOException, ParserConfigurationException {
+        return parse(inputStream, validating, disAllowDocTypeDeclarations, false);
+    }
+
+    public static Document parse(InputStream inputStream, boolean validating,
+                                 boolean disAllowDocTypeDeclarations, boolean ignoreAllErrors)
+        throws SAXException, IOException, ParserConfigurationException {
+        return getDocumentBuilder(validating, disAllowDocTypeDeclarations, ignoreAllErrors).parse(inputStream);
+    }
+
+    public static Document parse(InputSource inputSource, boolean validating)
+        throws SAXException, IOException, ParserConfigurationException {
+        return parse(inputSource, validating, true, false);
+    }
+
+    public static Document parse(InputSource inputSource, boolean validating, boolean disAllowDocTypeDeclarations)
+        throws SAXException, IOException, ParserConfigurationException {
+        return parse(inputSource, validating, disAllowDocTypeDeclarations, false);
+    }
+
+    public static Document parse(InputSource inputSource, boolean validating,
+                                 boolean disAllowDocTypeDeclarations, boolean ignoreAllErrors)
+        throws SAXException, IOException, ParserConfigurationException {
+        return getDocumentBuilder(validating, disAllowDocTypeDeclarations, ignoreAllErrors).parse(inputSource);
+    }
+
+    public static Document newDocument(boolean validating) throws ParserConfigurationException {
+        return newDocument(validating, true, false);
+    }
+
+    public static Document newDocument(boolean validating, boolean disAllowDocTypeDeclarations) throws ParserConfigurationException {
+        return newDocument(validating, disAllowDocTypeDeclarations, false);
+    }
+
+    public static Document newDocument(boolean validating, boolean disAllowDocTypeDeclarations,
+                                       boolean ignoreAllErrors) throws ParserConfigurationException {
+        return getDocumentBuilder(validating, disAllowDocTypeDeclarations, ignoreAllErrors).newDocument();
+    }
+
+    @Deprecated
+    public static DocumentBuilder createDocumentBuilder(boolean validating) throws ParserConfigurationException {
+        return createDocumentBuilder(validating, true);
+    }
+
+    @Deprecated
+    public static DocumentBuilder createDocumentBuilder(
+        boolean validating, boolean disAllowDocTypeDeclarations
+    ) throws ParserConfigurationException {
+        return newDocumentBuilder(validating, disAllowDocTypeDeclarations, false);
+    }
+
+    /**
+     * Return this document builder to be reused
+     * @param db DocumentBuilder returned from any of {@link #createDocumentBuilder} methods.
+     * @return whether it was successfully returned to the pool
+     */
+    @Deprecated
+    public static boolean repoolDocumentBuilder(DocumentBuilder db) {
+        return true;
+    }
+
+    private static DocumentBuilder getDocumentBuilder(boolean validating, boolean disAllowDocTypeDeclarations,
+                                                      boolean ignoreAllErrors) throws ParserConfigurationException {
         ClassLoader loader = getContextClassLoader();
         if (loader == null) {
             loader = getClassLoader(XMLUtils.class);
         }
         if (loader == null) {
-            return newDocumentBuilder(validating, disAllowDocTypeDeclarations);
+            return newDocumentBuilder(validating, disAllowDocTypeDeclarations, ignoreAllErrors);
         }
 
-        DocumentBuilder[][] cacheValue = DOCUMENT_BUILDERS.get(loader);
+        DocumentBuilder[] cacheValue = DOCUMENT_BUILDERS.get(loader);
         if (cacheValue == null) {
-            cacheValue = new DocumentBuilder[2][2];
+            cacheValue = new DocumentBuilder[8];
             DOCUMENT_BUILDERS.put(loader, cacheValue);
         }
 
-        DocumentBuilder db = cacheValue[validating ? 1 : 0][disAllowDocTypeDeclarations ? 1 : 0];
+        int cacheIndex = getPoolsIndex(validating, disAllowDocTypeDeclarations, ignoreAllErrors);
+        DocumentBuilder db = cacheValue[cacheIndex];
         if (db == null) {
-            db = newDocumentBuilder(validating, disAllowDocTypeDeclarations);
-            cacheValue[validating ? 1 : 0][disAllowDocTypeDeclarations ? 1 : 0] = db;
+            db = newDocumentBuilder(validating, disAllowDocTypeDeclarations, ignoreAllErrors);
+            cacheValue[cacheIndex] = db;
         }
 
         return db;
     }
 
-    private static DocumentBuilder newDocumentBuilder(boolean validating, boolean disAllowDocTypeDeclarations) throws ParserConfigurationException {
+    private static int getPoolsIndex(boolean validating, boolean disAllowDocTypeDeclarations, boolean ignoreAllErrors) {
+        return (ignoreAllErrors ? 4 : 0) + (validating ? 2 : 0) + (disAllowDocTypeDeclarations ? 1 : 0);
+    }
+
+    private static DocumentBuilder newDocumentBuilder(boolean validating, boolean disAllowDocTypeDeclarations,
+                                                      boolean ignoreAllErrors) throws ParserConfigurationException {
         DocumentBuilderFactory f = DocumentBuilderFactory.newInstance();
         f.setNamespaceAware(true);
         f.setFeature(javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING, true);
@@ -1149,7 +1204,12 @@ public final class XMLUtils {
             f.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
         }
         f.setValidating(validating);
-        return f.newDocumentBuilder();
+
+        DocumentBuilder db = f.newDocumentBuilder();
+        if (ignoreAllErrors) {
+            db.setErrorHandler(new IgnoreAllErrorHandler());
+        }
+        return db;
     }
 
     private static ClassLoader getContextClassLoader() {

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateBaltimore23Test.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateBaltimore23Test.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateBaltimore23Test.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateBaltimore23Test.java Tue Jun  5 11:54:00 2018
@@ -47,7 +47,6 @@ import javax.xml.crypto.dsig.dom.DOMSign
 import javax.xml.crypto.dsig.dom.DOMValidateContext;
 import javax.xml.crypto.dsig.keyinfo.*;
 import javax.xml.crypto.dsig.spec.*;
-import javax.xml.parsers.DocumentBuilder;
 import javax.xml.transform.*;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
@@ -66,7 +65,6 @@ public class CreateBaltimore23Test {
 
     private XMLSignatureFactory fac;
     private KeyInfoFactory kifac;
-    private DocumentBuilder db;
     private CanonicalizationMethod withoutComments;
     private Transform withComments;
     private SignatureMethod dsaSha1, rsaSha1;
@@ -89,7 +87,6 @@ public class CreateBaltimore23Test {
         fac = XMLSignatureFactory.getInstance
             ("DOM", new org.apache.jcp.xml.dsig.internal.dom.XMLDSigRI());
         kifac = fac.getKeyInfoFactory();
-        db = XMLUtils.createDocumentBuilder(false);
 
         // get key & self-signed certificate from keystore
         String fs = System.getProperty("file.separator");
@@ -135,7 +132,7 @@ public class CreateBaltimore23Test {
         // create XMLSignature
         XMLSignature sig = fac.newXMLSignature(si, dsa);
 
-        Document doc = db.newDocument();
+        Document doc = XMLUtils.newDocument(false);
         Element envelope = doc.createElementNS
             ("http://example.org/envelope", "Envelope");
         envelope.setAttributeNS
@@ -434,7 +431,7 @@ public class CreateBaltimore23Test {
             (Transform.XPATH, xpf)));
         KeyInfo ki = kifac.newKeyInfo(Collections.singletonList(rm), null);
 
-        Document doc = db.newDocument();
+        Document doc = XMLUtils.newDocument(false);
 
         // create objects
         List<XMLObject> objs = new ArrayList<>();
@@ -497,7 +494,7 @@ public class CreateBaltimore23Test {
           + "</xsl:stylesheet>\n";
         Document docxslt = null;
         try (InputStream is = new ByteArrayInputStream(xslt.getBytes())) {
-            docxslt = db.parse(is);
+            docxslt = XMLUtils.parse(is, false);
         }
         Node xslElem = docxslt.getDocumentElement();
 
@@ -599,8 +596,7 @@ public class CreateBaltimore23Test {
 
         // read document back into DOM tree
         try {
-            doc = XMLUtils.createDocumentBuilder(false).parse
-                (new InputSource(new StringReader(sw.toString())));
+            doc = XMLUtils.parse(new InputSource(new StringReader(sw.toString())), false);
         } catch (SAXParseException spe) {
             System.err.println("line:" + spe.getLineNumber());
             System.err.println("xml:" + sw.toString());
@@ -660,7 +656,7 @@ public class CreateBaltimore23Test {
         SignedInfo si = fac.newSignedInfo(withoutComments, sm,
             Collections.singletonList(ref));
 
-        Document doc = db.newDocument();
+        Document doc = XMLUtils.newDocument(false);
 
         // create XMLSignature
         XMLSignature sig = fac.newXMLSignature(si, ki);
@@ -713,7 +709,7 @@ public class CreateBaltimore23Test {
         SignedInfo si = fac.newSignedInfo(withoutComments, sm,
             Collections.singletonList(ref));
 
-        Document doc = db.newDocument();
+        Document doc = XMLUtils.newDocument(false);
         // create Objects
         XMLObject obj = fac.newXMLObject(Collections.singletonList
             (new DOMStructure(doc.createTextNode("some text"))),

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateInteropExcC14NTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateInteropExcC14NTest.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateInteropExcC14NTest.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateInteropExcC14NTest.java Tue Jun  5 11:54:00 2018
@@ -38,7 +38,6 @@ import org.apache.xml.security.utils.XML
 import org.w3c.dom.*;
 
 import javax.xml.crypto.test.KeySelectors;
-import javax.xml.parsers.DocumentBuilder;
 
 /**
  * Test that recreates interop exc C14N test vectors
@@ -49,7 +48,6 @@ public class CreateInteropExcC14NTest {
 
     private XMLSignatureFactory fac;
     private KeyInfoFactory kifac;
-    private DocumentBuilder db;
     private KeyStore ks;
     private Key signingKey;
     private PublicKey validatingKey;
@@ -63,7 +61,6 @@ public class CreateInteropExcC14NTest {
         fac = XMLSignatureFactory.getInstance
             ("DOM", new org.apache.jcp.xml.dsig.internal.dom.XMLDSigRI());
         kifac = fac.getKeyInfoFactory();
-        db = XMLUtils.createDocumentBuilder(false);
 
         // get key & self-signed certificate from keystore
         String base = System.getProperty("basedir") == null ? "./": System.getProperty("basedir");
@@ -138,7 +135,7 @@ public class CreateInteropExcC14NTest {
         KeyInfo ki = kifac.newKeyInfo(kits);
 
         // create Objects
-        Document doc = db.newDocument();
+        Document doc = XMLUtils.newDocument(false);
         Element baz = doc.createElementNS("urn:bar", "bar:Baz");
         Comment com = doc.createComment(" comment ");
         baz.appendChild(com);

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXFilter2Test.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXFilter2Test.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXFilter2Test.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXFilter2Test.java Tue Jun  5 11:54:00 2018
@@ -38,7 +38,6 @@ import org.apache.xml.security.utils.XML
 import org.w3c.dom.*;
 
 import javax.xml.crypto.test.KeySelectors;
-import javax.xml.parsers.DocumentBuilder;
 
 /**
  * Test that recreates merlin-xpath-filter2-three test vectors
@@ -49,7 +48,6 @@ public class CreateInteropXFilter2Test {
 
     private XMLSignatureFactory fac;
     private KeyInfoFactory kifac;
-    private DocumentBuilder db;
     private KeyStore ks;
     private Key signingKey;
     private PublicKey validatingKey;
@@ -64,7 +62,6 @@ public class CreateInteropXFilter2Test {
         fac = XMLSignatureFactory.getInstance
             ("DOM", new org.apache.jcp.xml.dsig.internal.dom.XMLDSigRI());
         kifac = fac.getKeyInfoFactory();
-        db = XMLUtils.createDocumentBuilder(false);
 
         // get key & self-signed certificate from keystore
         String fs = System.getProperty("file.separator");
@@ -128,7 +125,7 @@ public class CreateInteropXFilter2Test {
         XMLSignature sig = fac.newXMLSignature
             (si, ki, null, null, "signature-value");
 
-        Document doc = db.newDocument();
+        Document doc = XMLUtils.newDocument(false);
         Element tbs1 = doc.createElementNS(null, "ToBeSigned");
         Comment tbs1Com = doc.createComment(" comment ");
         Element tbs1Data = doc.createElementNS(null, "Data");

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXMLDSig11Test.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXMLDSig11Test.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXMLDSig11Test.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXMLDSig11Test.java Tue Jun  5 11:54:00 2018
@@ -29,7 +29,6 @@ import javax.xml.crypto.dsig.*;
 import javax.xml.crypto.dsig.dom.*;
 import javax.xml.crypto.dsig.keyinfo.*;
 import javax.xml.crypto.dsig.spec.*;
-import javax.xml.parsers.DocumentBuilder;
 
 import org.apache.xml.security.utils.XMLUtils;
 import org.w3c.dom.*;
@@ -52,7 +51,6 @@ public class CreateInteropXMLDSig11Test
                             hmacSha384, hmacSha512;
     private KeyInfo p256ki, p384ki, p521ki, rsaki, rsa2048ki;
     private XMLSignatureFactory fac;
-    private DocumentBuilder db;
     private KeyPair p256, p384, p521, rsa2048;
     private boolean ecSupport = true;
 
@@ -82,7 +80,6 @@ public class CreateInteropXMLDSig11Test
         rsakpg.initialize(2048);
         rsa2048 = rsakpg.generateKeyPair();
 
-        db = XMLUtils.createDocumentBuilder(false);
         // create common objects
         fac = XMLSignatureFactory.getInstance("DOM", new org.apache.jcp.xml.dsig.internal.dom.XMLDSigRI());
         KeyInfoFactory kifac = fac.getKeyInfoFactory();
@@ -295,7 +292,7 @@ public class CreateInteropXMLDSig11Test
         SignedInfo si = fac.newSignedInfo(withoutComments, sm,
                                           Collections.singletonList(ref));
 
-        Document doc = db.newDocument();
+        Document doc = XMLUtils.newDocument(false);
         // create Objects
         Element webElem = doc.createElementNS(null, "Web");
         Text text = doc.createTextNode("up up and away");

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreatePhaosXMLDSig3Test.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreatePhaosXMLDSig3Test.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreatePhaosXMLDSig3Test.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/CreatePhaosXMLDSig3Test.java Tue Jun  5 11:54:00 2018
@@ -36,7 +36,6 @@ import org.apache.xml.security.utils.XML
 import org.w3c.dom.*;
 
 import javax.xml.crypto.test.KeySelectors;
-import javax.xml.parsers.DocumentBuilder;
 
 /**
  * Test that recreates Phaos XMLDSig-3 test vectors
@@ -47,7 +46,6 @@ import javax.xml.parsers.DocumentBuilder
 public class CreatePhaosXMLDSig3Test {
 
     private XMLSignatureFactory fac;
-    private DocumentBuilder db;
 
     static {
         Security.insertProviderAt
@@ -57,7 +55,6 @@ public class CreatePhaosXMLDSig3Test {
     public CreatePhaosXMLDSig3Test() throws Exception {
         fac = XMLSignatureFactory.getInstance
             ("DOM", new org.apache.jcp.xml.dsig.internal.dom.XMLDSigRI());
-        db = XMLUtils.createDocumentBuilder(false);
     }
 
     @org.junit.Test
@@ -101,7 +98,7 @@ public class CreatePhaosXMLDSig3Test {
         // create XMLSignature
         XMLSignature sig = fac.newXMLSignature(si, null);
 
-        Document doc = db.newDocument();
+        Document doc = XMLUtils.newDocument(false);
         DOMSignContext dsc = new DOMSignContext
             (new KeySelectors.SecretKeySelector
              ("test".getBytes(StandardCharsets.US_ASCII)), doc);
@@ -144,7 +141,7 @@ public class CreatePhaosXMLDSig3Test {
         // create XMLSignature
         XMLSignature sig = fac.newXMLSignature(si, null);
 
-        Document doc = db.newDocument();
+        Document doc = XMLUtils.newDocument(false);
         Element player = doc.createElementNS(null, "player");
         player.setAttributeNS(null, "bats", "left");
         player.setAttributeNS(null, "id", "10012");

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/DetachedTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/DetachedTest.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/DetachedTest.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/DetachedTest.java Tue Jun  5 11:54:00 2018
@@ -134,7 +134,7 @@ public class DetachedTest {
 
             // Create an XMLSignContext and set the
             // DSA PrivateKey for signing
-            Document doc = XMLUtils.createDocumentBuilder(false).newDocument();
+            Document doc = XMLUtils.newDocument(false);
             DOMSignContext signContext = new DOMSignContext(kp.getPrivate(), doc);
             signContext.putNamespacePrefix(XMLSignature.XMLNS, "ds");
 

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/HMACSignatureAlgorithmTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/HMACSignatureAlgorithmTest.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/HMACSignatureAlgorithmTest.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/HMACSignatureAlgorithmTest.java Tue Jun  5 11:54:00 2018
@@ -40,7 +40,6 @@ import javax.xml.crypto.dsig.dom.DOMVali
 import javax.xml.crypto.dsig.keyinfo.KeyInfo;
 import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec;
 import javax.xml.crypto.test.KeySelectors;
-import javax.xml.parsers.DocumentBuilder;
 
 import org.apache.xml.security.utils.XMLUtils;
 import org.w3c.dom.Document;
@@ -60,7 +59,6 @@ public class HMACSignatureAlgorithmTest
     private DigestMethod sha1;
     private SignatureMethod hmacSha1, hmacSha224, hmacSha256, hmacSha384, hmacSha512, ripemd160;
     private XMLSignatureFactory fac;
-    private DocumentBuilder db;
 
     static {
         Security.insertProviderAt
@@ -91,7 +89,6 @@ public class HMACSignatureAlgorithmTest
 
     public HMACSignatureAlgorithmTest() throws Exception {
 
-        db = XMLUtils.createDocumentBuilder(false);
         // create common objects
         fac = XMLSignatureFactory.getInstance("DOM", new org.apache.jcp.xml.dsig.internal.dom.XMLDSigRI());
         withoutComments = fac.newCanonicalizationMethod
@@ -164,7 +161,7 @@ public class HMACSignatureAlgorithmTest
         SignedInfo si = fac.newSignedInfo(withoutComments, sm,
                                           Collections.singletonList(ref));
 
-        Document doc = db.newDocument();
+        Document doc = XMLUtils.newDocument(false);
         // create Objects
         Element webElem = doc.createElementNS(null, "Web");
         Text text = doc.createTextNode("up up and away");

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/JSRForbiddenRefCountTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/JSRForbiddenRefCountTest.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/JSRForbiddenRefCountTest.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/JSRForbiddenRefCountTest.java Tue Jun  5 11:54:00 2018
@@ -21,6 +21,7 @@ package javax.xml.crypto.test.dsig;
 import static org.junit.Assert.assertTrue;
 
 import java.io.File;
+import java.io.FileInputStream;
 import java.security.Security;
 
 import javax.xml.crypto.MarshalException;
@@ -72,8 +73,7 @@ public class JSRForbiddenRefCountTest {
 
         File f = new File(directory + "/" + file);
 
-        javax.xml.parsers.DocumentBuilder db = XMLUtils.createDocumentBuilder(false);
-        org.w3c.dom.Document doc = db.parse(f);
+        org.w3c.dom.Document doc = XMLUtils.parse(new FileInputStream(f), false);
 
         return (Element) doc.getElementsByTagNameNS(Constants.SignatureSpecNS,
                                                  Constants._TAG_SIGNEDINFO).item(0);

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/JSRWrappingAttackTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/JSRWrappingAttackTest.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/JSRWrappingAttackTest.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/JSRWrappingAttackTest.java Tue Jun  5 11:54:00 2018
@@ -21,6 +21,7 @@ package javax.xml.crypto.test.dsig;
 import static org.junit.Assert.*;
 
 import java.io.File;
+import java.io.FileInputStream;
 import java.security.Security;
 
 import javax.xml.crypto.dsig.XMLSignatureException;
@@ -57,7 +58,7 @@ public class JSRWrappingAttackTest {
     public void testWrappingAttack() throws Exception {
         String file = "manifestSignatureWrapping.xml";
 
-        Document doc = XMLUtils.createDocumentBuilder(false, false).parse(new File(dir, file));
+        Document doc = XMLUtils.parse(new FileInputStream(new File(dir, file)), false, false);
         Element sigElement = SignatureValidator.getSignatureElement(doc);
         if (sigElement == null) {
             throw new Exception("Couldn't find signature Element");

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/PKSignatureAlgorithmTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/PKSignatureAlgorithmTest.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/PKSignatureAlgorithmTest.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/PKSignatureAlgorithmTest.java Tue Jun  5 11:54:00 2018
@@ -44,7 +44,6 @@ import javax.xml.crypto.dsig.keyinfo.Key
 import javax.xml.crypto.dsig.keyinfo.KeyInfoFactory;
 import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec;
 import javax.xml.crypto.test.KeySelectors;
-import javax.xml.parsers.DocumentBuilder;
 
 import org.apache.xml.security.utils.XMLUtils;
 import org.junit.BeforeClass;
@@ -66,7 +65,6 @@ public class PKSignatureAlgorithmTest {
     private SignatureMethod rsaSha1Mgf1, rsaSha224Mgf1, rsaSha256Mgf1, rsaSha384Mgf1, rsaSha512Mgf1;
     private SignatureMethod ecdsaSha1, ecdsaSha224, ecdsaSha256, ecdsaSha384, ecdsaSha512, ecdsaRipemd160;
     private XMLSignatureFactory fac;
-    private DocumentBuilder db;
     private KeyPair rsaKeyPair, ecKeyPair;
     private KeyInfo rsaki, ecki;
     private boolean ecAlgParamsSupport = true;
@@ -109,7 +107,6 @@ public class PKSignatureAlgorithmTest {
             ecAlgParamsSupport = false;
         }
 
-        db = XMLUtils.createDocumentBuilder(false);
         // create common objects
         fac = XMLSignatureFactory.getInstance("DOM", new org.apache.jcp.xml.dsig.internal.dom.XMLDSigRI());
         withoutComments = fac.newCanonicalizationMethod
@@ -291,7 +288,7 @@ public class PKSignatureAlgorithmTest {
         SignedInfo si = fac.newSignedInfo(withoutComments, sm,
                                           Collections.singletonList(ref));
 
-        Document doc = db.newDocument();
+        Document doc = XMLUtils.newDocument(false);
         // create Objects
         Element webElem = doc.createElementNS(null, "Web");
         Text text = doc.createTextNode("up up and away");

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/SecureXSLTTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/SecureXSLTTest.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/SecureXSLTTest.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/SecureXSLTTest.java Tue Jun  5 11:54:00 2018
@@ -80,7 +80,7 @@ public class SecureXSLTTest {
         File f = new File("doc.xml");
 
         Document doc =
-            XMLUtils.createDocumentBuilder(false).parse(new FileInputStream(signatureFile));
+            XMLUtils.parse(new FileInputStream(signatureFile), false);
 
         NodeList nl =
             doc.getElementsByTagNameNS(XMLSignature.XMLNS, "Signature");

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/SignatureDigestMethodTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/SignatureDigestMethodTest.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/SignatureDigestMethodTest.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/SignatureDigestMethodTest.java Tue Jun  5 11:54:00 2018
@@ -38,7 +38,6 @@ import javax.xml.crypto.dsig.keyinfo.Key
 import javax.xml.crypto.dsig.keyinfo.KeyInfoFactory;
 import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec;
 import javax.xml.crypto.test.KeySelectors;
-import javax.xml.parsers.DocumentBuilder;
 
 import org.apache.xml.security.utils.XMLUtils;
 import org.w3c.dom.Document;
@@ -59,7 +58,6 @@ public class SignatureDigestMethodTest {
     private SignatureMethod rsaSha1;
     private KeyInfo rsaki;
     private XMLSignatureFactory fac;
-    private DocumentBuilder db;
     private boolean bcInstalled;
 
     static {
@@ -69,7 +67,6 @@ public class SignatureDigestMethodTest {
 
     public SignatureDigestMethodTest() throws Exception {
 
-        db = XMLUtils.createDocumentBuilder(false);
         // create common objects
         fac = XMLSignatureFactory.getInstance("DOM", new org.apache.jcp.xml.dsig.internal.dom.XMLDSigRI());
         KeyInfoFactory kifac = fac.getKeyInfoFactory();
@@ -183,7 +180,7 @@ public class SignatureDigestMethodTest {
         SignedInfo si = fac.newSignedInfo(withoutComments, sm,
                                           Collections.singletonList(ref));
 
-        Document doc = db.newDocument();
+        Document doc = XMLUtils.newDocument(false);
         // create Objects
         Element webElem = doc.createElementNS(null, "Web");
         Text text = doc.createTextNode("up up and away");

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/SignatureValidator.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/SignatureValidator.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/SignatureValidator.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/SignatureValidator.java Tue Jun  5 11:54:00 2018
@@ -52,7 +52,7 @@ public class SignatureValidator {
 
     public DOMValidateContext getValidateContext(String fn, KeySelector ks)
         throws Exception {
-        Document doc = XMLUtils.createDocumentBuilder(false, false).parse(new File(dir, fn));
+        Document doc = XMLUtils.parse(new FileInputStream(new File(dir, fn)), false, false);
         Element sigElement = getSignatureElement(doc);
         if (sigElement == null) {
             throw new Exception("Couldn't find signature Element");

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/TestUtils.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/TestUtils.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/TestUtils.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/TestUtils.java Tue Jun  5 11:54:00 2018
@@ -23,6 +23,7 @@ package javax.xml.crypto.test.dsig;
 
 import java.io.ByteArrayInputStream;
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
@@ -62,7 +63,6 @@ import javax.xml.crypto.dsig.dom.DOMVali
 import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec;
 import javax.xml.crypto.dsig.spec.DigestMethodParameterSpec;
 import javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec;
-import javax.xml.parsers.DocumentBuilder;
 import javax.xml.transform.OutputKeys;
 import javax.xml.transform.Result;
 import javax.xml.transform.Transformer;
@@ -214,8 +214,7 @@ public class TestUtils {
 
     public static Document newDocument() {
         try {
-            DocumentBuilder docBuilder = XMLUtils.createDocumentBuilder(false);
-            return docBuilder.newDocument();
+            return XMLUtils.newDocument(false);
         } catch (Exception ex) {
             return null;
         }
@@ -234,8 +233,7 @@ public class TestUtils {
                                                        String tag)
         throws Exception {
         if (type.equalsIgnoreCase("dom")) {
-            DocumentBuilder docBuilder = XMLUtils.createDocumentBuilder(false, false);
-            Document doc = docBuilder.parse(input);
+            Document doc = XMLUtils.parse(new FileInputStream(input), false, false);
             if (tag == null) {
                 return new DOMValidateContext
                     (TestUtils.getPublicKey("RSA", 512),
@@ -343,7 +341,7 @@ public class TestUtils {
         private byte[] data;
 
         public OctetStreamURIDereferencer(byte[] in) {
-            data = (byte[]) in.clone();
+            data = in.clone();
         }
 
         public Data dereference(URIReference ref, XMLCryptoContext ctxt) {

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureFactoryTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureFactoryTest.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureFactoryTest.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureFactoryTest.java Tue Jun  5 11:54:00 2018
@@ -24,6 +24,7 @@ package javax.xml.crypto.test.dsig;
 import static org.junit.Assert.*;
 
 import java.io.File;
+import java.io.FileInputStream;
 import java.security.NoSuchProviderException;
 import java.security.Provider;
 import java.security.Security;
@@ -32,7 +33,6 @@ import javax.xml.crypto.dsig.keyinfo.*;
 import javax.xml.crypto.*;
 import javax.xml.crypto.dsig.*;
 import javax.xml.crypto.dsig.dom.DOMValidateContext;
-import javax.xml.parsers.DocumentBuilder;
 
 import org.apache.xml.security.utils.XMLUtils;
 import org.w3c.dom.Document;
@@ -153,13 +153,12 @@ public class XMLSignatureFactoryTest {
                  " for wrong inputs");
         }
 
-        DocumentBuilder docBuilder = XMLUtils.createDocumentBuilder(false, false);
         String fs = System.getProperty("file.separator");
         String base = System.getProperty("basedir") == null ? "./": System.getProperty("basedir");
         File dir = new File(base + fs +
             "src/test/resources" + fs + "ie" + fs + "baltimore" + fs + "merlin-examples",
             "merlin-xmldsig-twenty-three");
-        Document doc = docBuilder.parse(new File(dir, "signature.xml"));
+        Document doc = XMLUtils.parse(new FileInputStream(new File(dir, "signature.xml")), false, false);
         NodeList nl = doc.getElementsByTagName("KeyInfo");
         try {
             stuff = factory.unmarshalXMLSignature

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureTest.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureTest.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureTest.java Tue Jun  5 11:54:00 2018
@@ -310,7 +310,7 @@ public class XMLSignatureTest {
         File f = new File(base + "/src/test/resources/javax/xml/crypto/dsig/" +
             "signature-enveloping-rsa-template.xml");
 
-        Document doc = XMLUtils.createDocumentBuilder(false).parse(new FileInputStream(f));
+        Document doc = XMLUtils.parse(new FileInputStream(f), false);
 
         // Find Signature element
         NodeList nl =
@@ -386,7 +386,7 @@ public class XMLSignatureTest {
         SignatureMethod sm = fac.newSignatureMethod(DSA_SHA256, null);
         SignedInfo si = createSignedInfo(sm);
         KeyInfo ki = kifac.newKeyInfo(Collections.singletonList
-            (kifac.newKeyValue((PublicKey)TestUtils.getPublicKey("DSA", 2048))));
+            (kifac.newKeyValue(TestUtils.getPublicKey("DSA", 2048))));
         XMLSignature sig = fac.newXMLSignature(si, ki, objs, id, sigValueId);
         Document doc = TestUtils.newDocument();
         XMLSignContext signContext =

Modified: santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/keyinfo/KeyInfoTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/keyinfo/KeyInfoTest.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/keyinfo/KeyInfoTest.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/javax/xml/crypto/test/dsig/keyinfo/KeyInfoTest.java Tue Jun  5 11:54:00 2018
@@ -115,7 +115,7 @@ public class KeyInfoTest {
             fail("Should raise a NullPointerException");
         } catch (NullPointerException npe) {}
 
-        Document doc = XMLUtils.createDocumentBuilder(false).newDocument();
+        Document doc = XMLUtils.newDocument(false);
         Element elem = doc.createElementNS("http://acme.org", "parent");
         doc.appendChild(elem);
         DOMStructure parent = new DOMStructure(elem);
@@ -135,7 +135,7 @@ public class KeyInfoTest {
         }
 
         // check if key info is inserted before nextSibling
-        doc = XMLUtils.createDocumentBuilder(false).newDocument();
+        doc = XMLUtils.newDocument(false);
         elem = doc.createElementNS("http://acme.org", "parent");
         doc.appendChild(elem);
         Element nextSib = doc.createElementNS("http://acme.org", "nextSib");

Modified: santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/CreateExclC14nInteropValues.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/CreateExclC14nInteropValues.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/CreateExclC14nInteropValues.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/CreateExclC14nInteropValues.java Tue Jun  5 11:54:00 2018
@@ -25,8 +25,6 @@ import java.io.FileOutputStream;
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
 
-import javax.xml.parsers.DocumentBuilder;
-
 import org.apache.xml.security.signature.ObjectContainer;
 import org.apache.xml.security.signature.XMLSignature;
 import org.apache.xml.security.transforms.Transforms;
@@ -52,8 +50,7 @@ public class CreateExclC14nInteropValues
 
         org.apache.xml.security.Init.init();
 
-        DocumentBuilder db = XMLUtils.createDocumentBuilder(false);
-        Document doc = db.newDocument();
+        Document doc = XMLUtils.newDocument(false);
         String directory = "data/org/apache/xml/security/c14n/outExcl/";
         File signatureFile = new File(directory + "apacheSignature.xml");
         XMLSignature xmlSignature = new XMLSignature(doc,
@@ -200,7 +197,7 @@ public class CreateExclC14nInteropValues
             + "\n" + "</included>";
             Document importDoc = null;
             try (InputStream is = new ByteArrayInputStream(xmlStr.getBytes(StandardCharsets.UTF_8))) {
-                importDoc = db.parse(is);
+                importDoc = XMLUtils.parse(is, false);
             }
 
             obj.getElement().appendChild(doc.createTextNode("\n"));
@@ -235,7 +232,7 @@ public class CreateExclC14nInteropValues
             + "\n" + "</included>";
             Document importDoc = null;
             try (InputStream is = new ByteArrayInputStream(xmlStr.getBytes(StandardCharsets.UTF_8))) {
-                importDoc = db.parse(is);
+                importDoc = XMLUtils.parse(is, false);
             }
 
             obj.getElement().appendChild(doc.createTextNode("\n"));
@@ -270,7 +267,7 @@ public class CreateExclC14nInteropValues
             + "\n" + "</included>";
             Document importDoc = null;
             try (InputStream is = new ByteArrayInputStream(xmlStr.getBytes(StandardCharsets.UTF_8))) {
-                importDoc = db.parse(is);
+                importDoc = XMLUtils.parse(is, false);
             }
 
             obj.getElement().appendChild(doc.createTextNode("\n"));
@@ -306,7 +303,7 @@ public class CreateExclC14nInteropValues
             + "\n" + "</included>";
             Document importDoc = null;
             try (InputStream is = new ByteArrayInputStream(xmlStr.getBytes(StandardCharsets.UTF_8))) {
-                importDoc = db.parse(is);
+                importDoc = XMLUtils.parse(is, false);
             }
 
             obj.getElement().appendChild(doc.createTextNode("\n"));
@@ -343,7 +340,7 @@ public class CreateExclC14nInteropValues
             + "</included>" + "\n" + "</included>";
             Document importDoc = null;
             try (InputStream is = new ByteArrayInputStream(xmlStr.getBytes(StandardCharsets.UTF_8))) {
-                importDoc = db.parse(is);
+                importDoc = XMLUtils.parse(is, false);
             }
 
             obj.getElement().appendChild(doc.createTextNode("\n"));
@@ -380,7 +377,7 @@ public class CreateExclC14nInteropValues
             + "</included>";
             Document importDoc = null;
             try (InputStream is = new ByteArrayInputStream(xmlStr.getBytes(StandardCharsets.UTF_8))) {
-                importDoc = db.parse(is);
+                importDoc = XMLUtils.parse(is, false);
             }
 
             obj.getElement().appendChild(doc.createTextNode("\n"));

Modified: santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/algorithms/DigestAlgorithmTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/algorithms/DigestAlgorithmTest.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/algorithms/DigestAlgorithmTest.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/algorithms/DigestAlgorithmTest.java Tue Jun  5 11:54:00 2018
@@ -69,7 +69,7 @@ public class DigestAlgorithmTest {
 
     @org.junit.Test
     public void testSHA1() throws Exception {
-        Document doc = XMLUtils.createDocumentBuilder(false).newDocument();
+        Document doc = XMLUtils.newDocument(false);
 
         MessageDigestAlgorithm digestAlgorithm =
             MessageDigestAlgorithm.getInstance(doc, MessageDigestAlgorithm.ALGO_ID_DIGEST_SHA1);
@@ -87,7 +87,7 @@ public class DigestAlgorithmTest {
 
     @org.junit.Test
     public void testSHA224() throws Exception {
-        Document doc = XMLUtils.createDocumentBuilder(false).newDocument();
+        Document doc = XMLUtils.newDocument(false);
 
         MessageDigestAlgorithm digestAlgorithm =
             MessageDigestAlgorithm.getInstance(doc, MessageDigestAlgorithm.ALGO_ID_DIGEST_SHA224);
@@ -105,7 +105,7 @@ public class DigestAlgorithmTest {
 
     @org.junit.Test
     public void testSHA256() throws Exception {
-        Document doc = XMLUtils.createDocumentBuilder(false).newDocument();
+        Document doc = XMLUtils.newDocument(false);
 
         MessageDigestAlgorithm digestAlgorithm =
             MessageDigestAlgorithm.getInstance(doc, MessageDigestAlgorithm.ALGO_ID_DIGEST_SHA256);
@@ -123,7 +123,7 @@ public class DigestAlgorithmTest {
 
     @org.junit.Test
     public void testSHA384() throws Exception {
-        Document doc = XMLUtils.createDocumentBuilder(false).newDocument();
+        Document doc = XMLUtils.newDocument(false);
 
         MessageDigestAlgorithm digestAlgorithm =
             MessageDigestAlgorithm.getInstance(doc, MessageDigestAlgorithm.ALGO_ID_DIGEST_SHA384);
@@ -141,7 +141,7 @@ public class DigestAlgorithmTest {
 
     @org.junit.Test
     public void testSHA512() throws Exception {
-        Document doc = XMLUtils.createDocumentBuilder(false).newDocument();
+        Document doc = XMLUtils.newDocument(false);
 
         MessageDigestAlgorithm digestAlgorithm =
             MessageDigestAlgorithm.getInstance(doc, MessageDigestAlgorithm.ALGO_ID_DIGEST_SHA512);
@@ -159,7 +159,7 @@ public class DigestAlgorithmTest {
 
     @org.junit.Test
     public void testMD5() throws Exception {
-        Document doc = XMLUtils.createDocumentBuilder(false).newDocument();
+        Document doc = XMLUtils.newDocument(false);
 
         MessageDigestAlgorithm digestAlgorithm =
             MessageDigestAlgorithm.getInstance(doc, MessageDigestAlgorithm.ALGO_ID_DIGEST_NOT_RECOMMENDED_MD5);
@@ -178,7 +178,7 @@ public class DigestAlgorithmTest {
     @org.junit.Test
     public void testRIPEMD160() throws Exception {
         org.junit.Assume.assumeTrue(bcInstalled);
-        Document doc = XMLUtils.createDocumentBuilder(false).newDocument();
+        Document doc = XMLUtils.newDocument(false);
 
         MessageDigestAlgorithm digestAlgorithm =
             MessageDigestAlgorithm.getInstance(doc, MessageDigestAlgorithm.ALGO_ID_DIGEST_RIPEMD160);
@@ -197,7 +197,7 @@ public class DigestAlgorithmTest {
     @org.junit.Test
     public void testWhirlpool() throws Exception {
         org.junit.Assume.assumeTrue(bcInstalled);
-        Document doc = XMLUtils.createDocumentBuilder(false).newDocument();
+        Document doc = XMLUtils.newDocument(false);
 
         MessageDigestAlgorithm digestAlgorithm =
             MessageDigestAlgorithm.getInstance(doc, MessageDigestAlgorithm.ALGO_ID_DIGEST_WHIRLPOOL);
@@ -216,7 +216,7 @@ public class DigestAlgorithmTest {
     @org.junit.Test
     public void testSHA3_224() throws Exception {
         org.junit.Assume.assumeTrue(bcInstalled);
-        Document doc = XMLUtils.createDocumentBuilder(false).newDocument();
+        Document doc = XMLUtils.newDocument(false);
 
         MessageDigestAlgorithm digestAlgorithm =
             MessageDigestAlgorithm.getInstance(doc, MessageDigestAlgorithm.ALGO_ID_DIGEST_SHA3_224);
@@ -235,7 +235,7 @@ public class DigestAlgorithmTest {
     @org.junit.Test
     public void testSHA3_256() throws Exception {
         org.junit.Assume.assumeTrue(bcInstalled);
-        Document doc = XMLUtils.createDocumentBuilder(false).newDocument();
+        Document doc = XMLUtils.newDocument(false);
 
         MessageDigestAlgorithm digestAlgorithm =
             MessageDigestAlgorithm.getInstance(doc, MessageDigestAlgorithm.ALGO_ID_DIGEST_SHA3_256);
@@ -254,7 +254,7 @@ public class DigestAlgorithmTest {
     @org.junit.Test
     public void testSHA3_384() throws Exception {
         org.junit.Assume.assumeTrue(bcInstalled);
-        Document doc = XMLUtils.createDocumentBuilder(false).newDocument();
+        Document doc = XMLUtils.newDocument(false);
 
         MessageDigestAlgorithm digestAlgorithm =
             MessageDigestAlgorithm.getInstance(doc, MessageDigestAlgorithm.ALGO_ID_DIGEST_SHA3_384);
@@ -273,7 +273,7 @@ public class DigestAlgorithmTest {
     @org.junit.Test
     public void testSHA3_512() throws Exception {
         org.junit.Assume.assumeTrue(bcInstalled);
-        Document doc = XMLUtils.createDocumentBuilder(false).newDocument();
+        Document doc = XMLUtils.newDocument(false);
 
         MessageDigestAlgorithm digestAlgorithm =
             MessageDigestAlgorithm.getInstance(doc, MessageDigestAlgorithm.ALGO_ID_DIGEST_SHA3_512);

Modified: santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/algorithms/HMACSignatureAlgorithmTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/algorithms/HMACSignatureAlgorithmTest.java?rev=1832932&r1=1832931&r2=1832932&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/algorithms/HMACSignatureAlgorithmTest.java (original)
+++ santuario/xml-security-java/trunk/src/test/java/org/apache/xml/security/test/dom/algorithms/HMACSignatureAlgorithmTest.java Tue Jun  5 11:54:00 2018
@@ -30,7 +30,6 @@ import java.util.UUID;
 
 import javax.crypto.SecretKey;
 import javax.crypto.spec.SecretKeySpec;
-import javax.xml.parsers.DocumentBuilder;
 import javax.xml.xpath.XPath;
 import javax.xml.xpath.XPathConstants;
 import javax.xml.xpath.XPathFactory;
@@ -89,8 +88,7 @@ public class HMACSignatureAlgorithmTest
         InputStream sourceDocument =
                 this.getClass().getClassLoader().getResourceAsStream(
                         "ie/baltimore/merlin-examples/merlin-xmlenc-five/plaintext.xml");
-        DocumentBuilder builder = XMLUtils.createDocumentBuilder(false);
-        Document document = builder.parse(sourceDocument);
+        Document document = XMLUtils.parse(sourceDocument, false);
 
         // Set up the Key
         byte[] hmacKey = "secret".getBytes(StandardCharsets.US_ASCII);
@@ -110,8 +108,7 @@ public class HMACSignatureAlgorithmTest
         InputStream sourceDocument =
                 this.getClass().getClassLoader().getResourceAsStream(
                         "ie/baltimore/merlin-examples/merlin-xmlenc-five/plaintext.xml");
-        DocumentBuilder builder = XMLUtils.createDocumentBuilder(false);
-        Document document = builder.parse(sourceDocument);
+        Document document = XMLUtils.parse(sourceDocument, false);
 
         // Set up the Key
         byte[] hmacKey = "secret".getBytes(StandardCharsets.US_ASCII);
@@ -131,8 +128,7 @@ public class HMACSignatureAlgorithmTest
         InputStream sourceDocument =
                 this.getClass().getClassLoader().getResourceAsStream(
                         "ie/baltimore/merlin-examples/merlin-xmlenc-five/plaintext.xml");
-        DocumentBuilder builder = XMLUtils.createDocumentBuilder(false);
-        Document document = builder.parse(sourceDocument);
+        Document document = XMLUtils.parse(sourceDocument, false);
 
         // Set up the Key
         byte[] hmacKey = "secret".getBytes(StandardCharsets.US_ASCII);
@@ -152,8 +148,7 @@ public class HMACSignatureAlgorithmTest
         InputStream sourceDocument =
                 this.getClass().getClassLoader().getResourceAsStream(
                         "ie/baltimore/merlin-examples/merlin-xmlenc-five/plaintext.xml");
-        DocumentBuilder builder = XMLUtils.createDocumentBuilder(false);
-        Document document = builder.parse(sourceDocument);
+        Document document = XMLUtils.parse(sourceDocument, false);
 
         // Set up the Key
         byte[] hmacKey = "secret".getBytes(StandardCharsets.US_ASCII);
@@ -173,8 +168,7 @@ public class HMACSignatureAlgorithmTest
         InputStream sourceDocument =
                 this.getClass().getClassLoader().getResourceAsStream(
                         "ie/baltimore/merlin-examples/merlin-xmlenc-five/plaintext.xml");
-        DocumentBuilder builder = XMLUtils.createDocumentBuilder(false);
-        Document document = builder.parse(sourceDocument);
+        Document document = XMLUtils.parse(sourceDocument, false);
 
         // Set up the Key
         byte[] hmacKey = "secret".getBytes(StandardCharsets.US_ASCII);
@@ -194,8 +188,7 @@ public class HMACSignatureAlgorithmTest
         InputStream sourceDocument =
                 this.getClass().getClassLoader().getResourceAsStream(
                         "ie/baltimore/merlin-examples/merlin-xmlenc-five/plaintext.xml");
-        DocumentBuilder builder = XMLUtils.createDocumentBuilder(false);
-        Document document = builder.parse(sourceDocument);
+        Document document = XMLUtils.parse(sourceDocument, false);
 
         // Set up the Key
         byte[] hmacKey = "secret".getBytes(StandardCharsets.US_ASCII);
@@ -217,8 +210,7 @@ public class HMACSignatureAlgorithmTest
         InputStream sourceDocument =
                 this.getClass().getClassLoader().getResourceAsStream(
                         "ie/baltimore/merlin-examples/merlin-xmlenc-five/plaintext.xml");
-        DocumentBuilder builder = XMLUtils.createDocumentBuilder(false);
-        Document document = builder.parse(sourceDocument);
+        Document document = XMLUtils.parse(sourceDocument, false);
 
         // Set up the Key
         byte[] hmacKey = "secret".getBytes(StandardCharsets.US_ASCII);