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/06 08:24:44 UTC

svn commit: r1832986 [1/7] - in /santuario/xml-security-java/branches/2.0.x-fixes: ./ 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/se...

Author: coheigea
Date: Wed Jun  6 08:24:42 2018
New Revision: 1832986

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

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

Modified: santuario/xml-security-java/branches/2.0.x-fixes/pom.xml
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/pom.xml?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/pom.xml (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/pom.xml Wed Jun  6 08:24:42 2018
@@ -573,6 +573,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/branches/2.0.x-fixes/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java Wed Jun  6 08:24:42 2018
@@ -41,7 +41,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.w3c.dom.Attr;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -257,10 +256,8 @@ public final class DOMRetrievalMethod ex
         try {
             ApacheData data = (ApacheData)dereference(context);
             boolean secVal = Utils.secureValidation(context);
-            DocumentBuilder db = 
-                org.apache.xml.security.utils.XMLUtils.createDocumentBuilder(false, secVal);
-            Document doc = db.parse(new ByteArrayInputStream
-                (data.getXMLSignatureInput().getBytes()));
+            Document doc = org.apache.xml.security.utils.XMLUtils.parse(new ByteArrayInputStream
+                (data.getXMLSignatureInput().getBytes()), false, secVal);
             Element kiElem = doc.getDocumentElement();
             if (kiElem.getLocalName().equals("X509Data")
                 && XMLSignature.XMLNS.equals(kiElem.getNamespaceURI())) {

Modified: santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/Init.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/Init.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/Init.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/Init.java Wed Jun  6 08:24:42 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;
@@ -157,8 +155,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/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/c14n/Canonicalizer.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/c14n/Canonicalizer.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/c14n/Canonicalizer.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/c14n/Canonicalizer.java Wed Jun  6 08:24:42 2018
@@ -25,8 +25,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,7 +254,6 @@ public class Canonicalizer {
         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,
@@ -279,9 +276,8 @@ 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 document = db.parse(in);
+        Document document = XMLUtils.parse(in, true, secureValidation, true);
         return this.canonicalizeSubtree(document);
     }
 

Modified: santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/c14n/CanonicalizerSpi.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/c14n/CanonicalizerSpi.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/c14n/CanonicalizerSpi.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/c14n/CanonicalizerSpi.java Wed Jun  6 08:24:42 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 {
         java.io.InputStream bais = new ByteArrayInputStream(inputBytes);
         InputSource in = new InputSource(bais);
 
-        DocumentBuilder db = XMLUtils.createDocumentBuilder(false, secureValidation);
-
-        Document document = db.parse(in);
+        Document document = XMLUtils.parse(in, false, secureValidation);
         return this.engineCanonicalizeSubTree(document);
     }
 

Modified: santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/encryption/DocumentSerializer.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/encryption/DocumentSerializer.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/encryption/DocumentSerializer.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/encryption/DocumentSerializer.java Wed Jun  6 08:24:42 2018
@@ -22,7 +22,6 @@ import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.StringReader;
 
-import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.ParserConfigurationException;
 
 import org.apache.xml.security.utils.XMLUtils;
@@ -68,8 +67,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()) {
@@ -79,7 +77,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/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/keys/keyresolver/KeyResolverSpi.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/keys/keyresolver/KeyResolverSpi.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/keys/keyresolver/KeyResolverSpi.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/keys/keyresolver/KeyResolverSpi.java Wed Jun  6 08:24:42 2018
@@ -26,7 +26,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;
@@ -113,7 +112,7 @@ public abstract class KeyResolverSpi {
         KeyResolverSpi tmp = this;
         if (globalResolver) {
             try {
-                tmp = getClass().newInstance();    	
+                tmp = getClass().newInstance();
             } catch (InstantiationException e) {
                 throw new KeyResolverException(e, "");
             } catch (IllegalAccessException e) {
@@ -192,7 +191,7 @@ public abstract class KeyResolverSpi {
         if (!tmp.engineCanResolve(element, baseURI, storage)) {
             return null;
         }
-        return tmp.engineResolveSecretKey(element, baseURI, storage);   		
+        return tmp.engineResolveSecretKey(element, baseURI, storage);
     }
 
     /**
@@ -269,10 +268,8 @@ public abstract class KeyResolverSpi {
      * @throws KeyResolverException if something goes wrong
      */
     protected static Element getDocFromBytes(byte[] bytes, boolean secureValidation) throws KeyResolverException {
-        DocumentBuilder db = null;
         try {
-            db = XMLUtils.createDocumentBuilder(false, secureValidation);
-            Document doc = db.parse(new ByteArrayInputStream(bytes));
+            Document doc = XMLUtils.parse(new ByteArrayInputStream(bytes), false, secureValidation);
             return doc.getDocumentElement();
         } catch (SAXException ex) {
             throw new KeyResolverException(ex);

Modified: santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/signature/SignedInfo.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/signature/SignedInfo.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/signature/SignedInfo.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/signature/SignedInfo.java Wed Jun  6 08:24:42 2018
@@ -211,11 +211,9 @@ public class SignedInfo extends Manifest
 
                 byte[] c14nizedBytes = c14nizer.canonicalizeSubtree(element);
 
-                javax.xml.parsers.DocumentBuilder db = 
-                    XMLUtils.createDocumentBuilder(false, secureValidation);        
                 Document newdoc =
-                    db.parse(new ByteArrayInputStream(c14nizedBytes));
-                Node imported = 
+                    XMLUtils.parse(new ByteArrayInputStream(c14nizedBytes), false, secureValidation);
+                Node imported =
                     element.getOwnerDocument().importNode(newdoc.getDocumentElement(), true);
 
                 element.getParentNode().replaceChild(imported, element);

Modified: santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/signature/XMLSignatureInput.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/signature/XMLSignatureInput.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/signature/XMLSignatureInput.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/signature/XMLSignatureInput.java Wed Jun  6 08:24:42 2018
@@ -28,7 +28,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;
@@ -541,7 +540,7 @@ public class XMLSignatureInput {
     /**
      * @param filter
      */
-    public void addNodeFilter(NodeFilter filter) {	
+    public void addNodeFilter(NodeFilter filter) {
         if (isOctetStream()) {
             try {
                 convertToNodes();
@@ -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) {
             // if a not-wellformed nodeset exists, put a container around it...
@@ -585,9 +581,9 @@ public class XMLSignatureInput {
             baos.write(this.getBytes());
             baos.write("</container>".getBytes("UTF-8"));
 
-            byte result[] = baos.toByteArray();
-            Document document = db.parse(new ByteArrayInputStream(result));
-            this.subNode = document.getDocumentElement().getFirstChild().getFirstChild();				
+            byte[] result = baos.toByteArray();
+            Document document = XMLUtils.parse(new ByteArrayInputStream(result), false, secureValidation, true);
+            this.subNode = document.getDocumentElement().getFirstChild().getFirstChild();
         } finally {
             if (this.inputOctetStreamProxy != null) {
                 this.inputOctetStreamProxy.close();

Modified: santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/transforms/implementations/TransformBase64Decode.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/transforms/implementations/TransformBase64Decode.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/transforms/implementations/TransformBase64Decode.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/transforms/implementations/TransformBase64Decode.java Wed Jun  6 08:24:42 2018
@@ -102,7 +102,7 @@ public class TransformBase64Decode exten
         try {
             if (input.isElement()) {
                 Node el = input.getSubNode();
-                if (input.getSubNode().getNodeType() == Node.TEXT_NODE) {         	
+                if (input.getSubNode().getNodeType() == Node.TEXT_NODE) {
                     el = el.getParentNode();
                 }
                 StringBuilder sb = new StringBuilder();
@@ -143,7 +143,7 @@ public class TransformBase64Decode exten
                 //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());
+                    XMLUtils.parse(input.getOctetStream(), false, secureValidation);
 
                 Element rootNode = doc.getDocumentElement();
                 StringBuilder sb = new StringBuilder();

Modified: santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/utils/XMLUtils.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/utils/XMLUtils.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/utils/XMLUtils.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/main/java/org/apache/xml/security/utils/XMLUtils.java Wed Jun  6 08:24:42 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.security.AccessController;
 import java.security.PrivilegedAction;
@@ -45,6 +46,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.
@@ -61,8 +64,8 @@ public final class XMLUtils {
             }
         });
 
-    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";
@@ -152,7 +155,7 @@ public final class XMLUtils {
         if (rootNode == exclude) {
             return;
         }
-        switch (rootNode.getNodeType()) {   	   		   	   			
+        switch (rootNode.getNodeType()) {
         case Node.ELEMENT_NODE:
             result.add(rootNode);
             Element el = (Element)rootNode;
@@ -164,7 +167,7 @@ public final class XMLUtils {
                 }
             }
             //no return keep working
-        case Node.DOCUMENT_NODE:   	   			
+        case Node.DOCUMENT_NODE:
             for (Node r = rootNode.getFirstChild(); r != null; r = r.getNextSibling()) {
                 if (r.getNodeType() == Node.TEXT_NODE) {
                     result.add(r);
@@ -604,8 +607,8 @@ public final class XMLUtils {
                 if (!element.hasChildNodes()) {
                     break;
                 }
-                if (element.hasAttributes()) {            	
-                    NamedNodeMap attributes = element.getAttributes();         	
+                if (element.hasAttributes()) {
+                    NamedNodeMap attributes = element.getAttributes();
                     int attributesLength = attributes.getLength();
 
                     for (Node child = element.getFirstChild(); child!=null;
@@ -627,7 +630,7 @@ public final class XMLUtils {
                             }
                             childElement.setAttributeNS(namespaceNs,
                                                         currentAttr.getName(),
-                                                        currentAttr.getNodeValue());         					
+                                                        currentAttr.getNodeValue());
                         }
                     }
                 }
@@ -1050,16 +1053,61 @@ public final class XMLUtils {
         return true;
     }
 
+    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 {
-        DocumentBuilder db = getDocumentBuilder(validating, disAllowDocTypeDeclarations);
-        db.reset();
-        return db;
+        return newDocumentBuilder(validating, disAllowDocTypeDeclarations, false);
     }
 
     /**
@@ -1072,31 +1120,38 @@ public final class XMLUtils {
         return true;
     }
 
-    private static DocumentBuilder getDocumentBuilder(boolean validating, boolean disAllowDocTypeDeclarations) throws ParserConfigurationException {
+    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);
@@ -1104,7 +1159,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/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreateBaltimore23Test.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreateBaltimore23Test.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreateBaltimore23Test.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreateBaltimore23Test.java Wed Jun  6 08:24:42 2018
@@ -44,7 +44,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;
@@ -64,7 +63,6 @@ public class CreateBaltimore23Test exten
 
     private XMLSignatureFactory fac;
     private KeyInfoFactory kifac;
-    private DocumentBuilder db;
     private CanonicalizationMethod withoutComments;
     private Transform withComments;
     private SignatureMethod dsaSha1, rsaSha1;
@@ -87,7 +85,6 @@ public class CreateBaltimore23Test exten
         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");
@@ -133,7 +130,7 @@ public class CreateBaltimore23Test exten
         // 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
@@ -432,7 +429,7 @@ public class CreateBaltimore23Test exten
             (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<XMLObject>();
@@ -493,7 +490,7 @@ public class CreateBaltimore23Test exten
           + "    </html>\n"
           + "  </xsl:template>\n"
           + "</xsl:stylesheet>\n";
-        Document docxslt = db.parse(new ByteArrayInputStream(xslt.getBytes()));
+        Document docxslt = XMLUtils.parse(new ByteArrayInputStream(xslt.getBytes()), false);
         Node xslElem = docxslt.getDocumentElement();
 
         manTrans.add(fac.newTransform(Transform.XSLT,
@@ -594,8 +591,7 @@ public class CreateBaltimore23Test exten
 
         // 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());
@@ -655,7 +651,7 @@ public class CreateBaltimore23Test exten
         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);
@@ -708,7 +704,7 @@ public class CreateBaltimore23Test exten
         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/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreateInteropExcC14NTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreateInteropExcC14NTest.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreateInteropExcC14NTest.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreateInteropExcC14NTest.java Wed Jun  6 08:24:42 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 interop exc C14N test vectors
@@ -48,7 +47,6 @@ public class CreateInteropExcC14NTest ex
 
     private XMLSignatureFactory fac;
     private KeyInfoFactory kifac;
-    private DocumentBuilder db;
     private KeyStore ks;
     private Key signingKey;
     private PublicKey validatingKey;
@@ -62,7 +60,6 @@ public class CreateInteropExcC14NTest ex
         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");
@@ -137,7 +134,7 @@ public class CreateInteropExcC14NTest ex
         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/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXFilter2Test.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXFilter2Test.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXFilter2Test.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXFilter2Test.java Wed Jun  6 08:24:42 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 merlin-xpath-filter2-three test vectors
@@ -48,7 +47,6 @@ public class CreateInteropXFilter2Test e
 
     private XMLSignatureFactory fac;
     private KeyInfoFactory kifac;
-    private DocumentBuilder db;
     private KeyStore ks;
     private Key signingKey;
     private PublicKey validatingKey;
@@ -63,7 +61,6 @@ public class CreateInteropXFilter2Test e
         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");
@@ -127,7 +124,7 @@ public class CreateInteropXFilter2Test e
         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/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXMLDSig11Test.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXMLDSig11Test.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXMLDSig11Test.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreateInteropXMLDSig11Test.java Wed Jun  6 08:24:42 2018
@@ -28,7 +28,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.*;
@@ -50,7 +49,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;
 
@@ -80,7 +78,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();
@@ -293,7 +290,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/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreatePhaosXMLDSig3Test.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreatePhaosXMLDSig3Test.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreatePhaosXMLDSig3Test.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/CreatePhaosXMLDSig3Test.java Wed Jun  6 08:24:42 2018
@@ -33,7 +33,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
@@ -45,7 +44,6 @@ import javax.xml.parsers.DocumentBuilder
 public class CreatePhaosXMLDSig3Test extends org.junit.Assert {
 
     private XMLSignatureFactory fac;
-    private DocumentBuilder db;
 
     static {
         Security.insertProviderAt
@@ -55,7 +53,6 @@ public class CreatePhaosXMLDSig3Test ext
     public CreatePhaosXMLDSig3Test() throws Exception {
         fac = XMLSignatureFactory.getInstance
             ("DOM", new org.apache.jcp.xml.dsig.internal.dom.XMLDSigRI());
-        db = XMLUtils.createDocumentBuilder(false);
     }
 
     @org.junit.Test
@@ -99,7 +96,7 @@ public class CreatePhaosXMLDSig3Test ext
         // 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("ASCII")), doc);
@@ -142,7 +139,7 @@ public class CreatePhaosXMLDSig3Test ext
         // 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/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/DetachedTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/DetachedTest.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/DetachedTest.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/DetachedTest.java Wed Jun  6 08:24:42 2018
@@ -133,7 +133,7 @@ public class DetachedTest extends org.ju
 
             // 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/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/HMACSignatureAlgorithmTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/HMACSignatureAlgorithmTest.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/HMACSignatureAlgorithmTest.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/HMACSignatureAlgorithmTest.java Wed Jun  6 08:24:42 2018
@@ -39,7 +39,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;
@@ -57,7 +56,6 @@ public class HMACSignatureAlgorithmTest
     private DigestMethod sha1;
     private SignatureMethod hmacSha1, hmacSha224, hmacSha256, hmacSha384, hmacSha512, ripemd160;
     private XMLSignatureFactory fac;
-    private DocumentBuilder db;
 
     static {
         Security.insertProviderAt
@@ -88,7 +86,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
@@ -163,7 +160,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/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/JSRForbiddenRefCountTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/JSRForbiddenRefCountTest.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/JSRForbiddenRefCountTest.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/JSRForbiddenRefCountTest.java Wed Jun  6 08:24:42 2018
@@ -19,6 +19,7 @@
 package javax.xml.crypto.test.dsig;
 
 import java.io.File;
+import java.io.FileInputStream;
 import java.security.Security;
 
 import javax.xml.crypto.MarshalException;
@@ -70,8 +71,7 @@ public class JSRForbiddenRefCountTest ex
 
         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/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/JSRWrappingAttackTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/JSRWrappingAttackTest.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/JSRWrappingAttackTest.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/JSRWrappingAttackTest.java Wed Jun  6 08:24:42 2018
@@ -19,6 +19,7 @@
 package javax.xml.crypto.test.dsig;
 
 import java.io.File;
+import java.io.FileInputStream;
 import java.security.Security;
 
 import javax.xml.crypto.dsig.XMLSignatureException;
@@ -55,7 +56,7 @@ public class JSRWrappingAttackTest exten
     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/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/PKSignatureAlgorithmTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/PKSignatureAlgorithmTest.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/PKSignatureAlgorithmTest.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/PKSignatureAlgorithmTest.java Wed Jun  6 08:24:42 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;
@@ -64,7 +63,6 @@ public class PKSignatureAlgorithmTest ex
     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;
@@ -107,7 +105,6 @@ public class PKSignatureAlgorithmTest ex
             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
@@ -303,7 +300,7 @@ public class PKSignatureAlgorithmTest ex
         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/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/SecureXSLTTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/SecureXSLTTest.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/SecureXSLTTest.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/SecureXSLTTest.java Wed Jun  6 08:24:42 2018
@@ -76,7 +76,7 @@ public class SecureXSLTTest extends org.
         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/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/SignatureDigestMethodTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/SignatureDigestMethodTest.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/SignatureDigestMethodTest.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/SignatureDigestMethodTest.java Wed Jun  6 08:24:42 2018
@@ -40,7 +40,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 e
     private SignatureMethod rsaSha1;
     private KeyInfo rsaki;
     private XMLSignatureFactory fac;
-    private DocumentBuilder db;
     private boolean bcInstalled;
 
     static {
@@ -87,7 +85,6 @@ public class SignatureDigestMethodTest e
             }
         }
 
-        db = XMLUtils.createDocumentBuilder(false);
         // create common objects
         fac = XMLSignatureFactory.getInstance("DOM", new org.apache.jcp.xml.dsig.internal.dom.XMLDSigRI());
         KeyInfoFactory kifac = fac.getKeyInfoFactory();
@@ -218,7 +215,7 @@ public class SignatureDigestMethodTest e
         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/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/SignatureValidator.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/SignatureValidator.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/SignatureValidator.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/SignatureValidator.java Wed Jun  6 08:24:42 2018
@@ -54,7 +54,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/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/TestUtils.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/TestUtils.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/TestUtils.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/TestUtils.java Wed Jun  6 08:24:42 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;
@@ -216,8 +216,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;
         }
@@ -236,8 +235,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),
@@ -345,7 +343,7 @@ public class TestUtils {
         private byte[] data = null;
 
         public OctetStreamURIDereferencer(byte[] in) {
-            data = (byte[]) in.clone();
+            data = in.clone();
         }
 
         public Data dereference(URIReference ref, XMLCryptoContext ctxt) {

Modified: santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureFactoryTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureFactoryTest.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureFactoryTest.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureFactoryTest.java Wed Jun  6 08:24:42 2018
@@ -22,6 +22,7 @@
 package javax.xml.crypto.test.dsig;
 
 import java.io.File;
+import java.io.FileInputStream;
 import java.security.NoSuchProviderException;
 import java.security.Provider;
 import java.security.Security;
@@ -30,7 +31,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 ext
                  " 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/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureTest.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureTest.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/XMLSignatureTest.java Wed Jun  6 08:24:42 2018
@@ -310,7 +310,7 @@ public class XMLSignatureTest extends or
         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 extends or
         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/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/keyinfo/KeyInfoTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/keyinfo/KeyInfoTest.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/keyinfo/KeyInfoTest.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/javax/xml/crypto/test/dsig/keyinfo/KeyInfoTest.java Wed Jun  6 08:24:42 2018
@@ -114,7 +114,7 @@ public class KeyInfoTest extends org.jun
             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);
@@ -134,7 +134,7 @@ public class KeyInfoTest extends org.jun
         }
 
         // 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/branches/2.0.x-fixes/src/test/java/org/apache/xml/security/test/dom/CreateExclC14nInteropValues.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/org/apache/xml/security/test/dom/CreateExclC14nInteropValues.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/org/apache/xml/security/test/dom/CreateExclC14nInteropValues.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/org/apache/xml/security/test/dom/CreateExclC14nInteropValues.java Wed Jun  6 08:24:42 2018
@@ -23,8 +23,6 @@ import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.FileOutputStream;
 
-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;
@@ -50,8 +48,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,
@@ -196,8 +193,7 @@ public class CreateExclC14nInteropValues
             + "<included                 >" + "\n" + "</included>"
             + "\n" + "</notIncluded>" + "\n" + "</notIncluded>"
             + "\n" + "</included>";
-            Document importDoc =
-                db.parse(new ByteArrayInputStream(xmlStr.getBytes()));
+            Document importDoc = XMLUtils.parse(new ByteArrayInputStream(xmlStr.getBytes()), false);
 
             obj.getElement().appendChild(doc.createTextNode("\n"));
             obj.getElement()
@@ -229,8 +225,8 @@ public class CreateExclC14nInteropValues
             + "<included                 >" + "\n" + "</included>"
             + "\n" + "</notIncluded>" + "\n" + "</notIncluded>"
             + "\n" + "</included>";
-            Document importDoc =
-                db.parse(new ByteArrayInputStream(xmlStr.getBytes()));
+
+            Document importDoc = XMLUtils.parse(new ByteArrayInputStream(xmlStr.getBytes()), false);
 
             obj.getElement().appendChild(doc.createTextNode("\n"));
             obj.getElement()
@@ -262,8 +258,8 @@ public class CreateExclC14nInteropValues
             + "<included    xml:lang='de'>" + "\n" + "</included>"
             + "\n" + "</notIncluded>" + "\n" + "</notIncluded>"
             + "\n" + "</included>";
-            Document importDoc =
-                db.parse(new ByteArrayInputStream(xmlStr.getBytes()));
+
+            Document importDoc = XMLUtils.parse(new ByteArrayInputStream(xmlStr.getBytes()), false);
 
             obj.getElement().appendChild(doc.createTextNode("\n"));
             obj.getElement()
@@ -296,8 +292,8 @@ public class CreateExclC14nInteropValues
             + "<included                 >" + "\n" + "</included>"
             + "\n" + "</notIncluded>" + "\n" + "</included>"
             + "\n" + "</included>";
-            Document importDoc =
-                db.parse(new ByteArrayInputStream(xmlStr.getBytes()));
+
+            Document importDoc = XMLUtils.parse(new ByteArrayInputStream(xmlStr.getBytes()), false);
 
             obj.getElement().appendChild(doc.createTextNode("\n"));
             obj.getElement()
@@ -331,8 +327,8 @@ public class CreateExclC14nInteropValues
             + "\n" + "<included                 >" + "\n"
             + "</included>" + "\n" + "</notIncluded>" + "\n"
             + "</included>" + "\n" + "</included>";
-            Document importDoc =
-                db.parse(new ByteArrayInputStream(xmlStr.getBytes()));
+
+            Document importDoc = XMLUtils.parse(new ByteArrayInputStream(xmlStr.getBytes()), false);
 
             obj.getElement().appendChild(doc.createTextNode("\n"));
             obj.getElement()
@@ -366,8 +362,8 @@ public class CreateExclC14nInteropValues
             + "\n" + "<included>" + "\n" + "</included>" + "\n"
             + "</notIncluded>" + "\n" + "</included>" + "\n"
             + "</included>";
-            Document importDoc =
-                db.parse(new ByteArrayInputStream(xmlStr.getBytes()));
+
+            Document importDoc = XMLUtils.parse(new ByteArrayInputStream(xmlStr.getBytes()), false);
 
             obj.getElement().appendChild(doc.createTextNode("\n"));
             obj.getElement()

Modified: santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/org/apache/xml/security/test/dom/algorithms/DigestAlgorithmTest.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/org/apache/xml/security/test/dom/algorithms/DigestAlgorithmTest.java?rev=1832986&r1=1832985&r2=1832986&view=diff
==============================================================================
--- santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/org/apache/xml/security/test/dom/algorithms/DigestAlgorithmTest.java (original)
+++ santuario/xml-security-java/branches/2.0.x-fixes/src/test/java/org/apache/xml/security/test/dom/algorithms/DigestAlgorithmTest.java Wed Jun  6 08:24:42 2018
@@ -67,7 +67,7 @@ public class DigestAlgorithmTest extends
 
     @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);
@@ -85,7 +85,7 @@ public class DigestAlgorithmTest extends
 
     @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);
@@ -103,7 +103,7 @@ public class DigestAlgorithmTest extends
 
     @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);
@@ -121,7 +121,7 @@ public class DigestAlgorithmTest extends
 
     @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);
@@ -139,7 +139,7 @@ public class DigestAlgorithmTest extends
 
     @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);
@@ -157,7 +157,7 @@ public class DigestAlgorithmTest extends
 
     @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);
@@ -176,7 +176,7 @@ public class DigestAlgorithmTest extends
     @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);
@@ -195,7 +195,7 @@ public class DigestAlgorithmTest extends
     @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);
@@ -214,7 +214,7 @@ public class DigestAlgorithmTest extends
     @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);
@@ -233,7 +233,7 @@ public class DigestAlgorithmTest extends
     @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);
@@ -252,7 +252,7 @@ public class DigestAlgorithmTest extends
     @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);
@@ -271,7 +271,7 @@ public class DigestAlgorithmTest extends
     @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);