SANTUARIO-441 - Fixing backwards compatibility issues

git-svn-id: https://svn.apache.org/repos/asf/santuario/xml-security-java/trunk@1742958 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureDSA.java b/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureDSA.java
index 8aeccb3..f06f132 100644
--- a/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureDSA.java
+++ b/src/main/java/org/apache/xml/security/algorithms/implementations/SignatureDSA.java
@@ -35,10 +35,13 @@
 import org.apache.xml.security.signature.XMLSignature;
 import org.apache.xml.security.signature.XMLSignatureException;
 import org.apache.xml.security.utils.Base64;
+import org.apache.xml.security.utils.Constants;
 import org.apache.xml.security.utils.JavaUtils;
 
 public class SignatureDSA extends SignatureAlgorithmSpi {
 
+    public static final String URI = Constants.SignatureSpecNS + "dsa-sha1";
+    
     private static org.slf4j.Logger log =
         org.slf4j.LoggerFactory.getLogger(SignatureDSA.class);
 
diff --git a/src/main/java/org/apache/xml/security/c14n/CanonicalizationException.java b/src/main/java/org/apache/xml/security/c14n/CanonicalizationException.java
index a592436..e3303ae 100644
--- a/src/main/java/org/apache/xml/security/c14n/CanonicalizationException.java
+++ b/src/main/java/org/apache/xml/security/c14n/CanonicalizationException.java
@@ -72,6 +72,11 @@
     public CanonicalizationException(Exception originalException, String msgID) {
         super(originalException, msgID);
     }
+    
+    @Deprecated
+    public CanonicalizationException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
 
     /**
      * Constructor CanonicalizationException
@@ -85,4 +90,9 @@
     ) {
         super(originalException, msgID, exArgs);
     }
+    
+    @Deprecated
+    public CanonicalizationException(String msgID, Object exArgs[], Exception originalException) {
+        this(originalException, msgID, exArgs);
+    }
 }
diff --git a/src/main/java/org/apache/xml/security/c14n/InvalidCanonicalizerException.java b/src/main/java/org/apache/xml/security/c14n/InvalidCanonicalizerException.java
index e3d1bf4..ca3b9ae 100644
--- a/src/main/java/org/apache/xml/security/c14n/InvalidCanonicalizerException.java
+++ b/src/main/java/org/apache/xml/security/c14n/InvalidCanonicalizerException.java
@@ -63,6 +63,11 @@
     public InvalidCanonicalizerException(Exception originalException, String msgID) {
         super(originalException, msgID);
     }
+    
+    @Deprecated
+    public InvalidCanonicalizerException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
 
     /**
      * Constructor InvalidCanonicalizerException
@@ -76,4 +81,9 @@
     ) {
         super(originalException, msgID, exArgs);
     }
+    
+    @Deprecated
+    public InvalidCanonicalizerException(String msgID, Object[] exArgs, Exception originalException) {
+        this(originalException, msgID, exArgs);
+    }
 }
diff --git a/src/main/java/org/apache/xml/security/c14n/implementations/UtfHelpper.java b/src/main/java/org/apache/xml/security/c14n/implementations/UtfHelpper.java
index c1bf8f8..0f80add 100644
--- a/src/main/java/org/apache/xml/security/c14n/implementations/UtfHelpper.java
+++ b/src/main/java/org/apache/xml/security/c14n/implementations/UtfHelpper.java
@@ -118,6 +118,42 @@
         }
     }
 
+    @Deprecated
+    public static void writeCharToUtf8(final char c, final OutputStream out) throws IOException {       
+        if (c < 0x80) {
+            out.write(c);
+            return;
+        }
+        if (c >= 0xD800 && c <= 0xDBFF || c >= 0xDC00 && c <= 0xDFFF) {
+            //No Surrogates in sun java
+            out.write(0x3f);
+            return;
+        }
+        int bias;
+        int write;
+        char ch;
+        if (c > 0x07FF) {
+            ch = (char)(c>>>12);      
+            write = 0xE0;
+            if (ch > 0) {
+                write |= ch & 0x0F;
+            } 
+            out.write(write);
+            write = 0x80;
+            bias = 0x3F;        
+        } else {
+            write = 0xC0;
+            bias = 0x1F;
+        }
+        ch = (char)(c>>>6);
+        if (ch > 0) {
+            write |= ch & bias;
+        } 
+        out.write(write);
+        out.write(0x80 | ((c) & 0x3F));    
+
+    }
+    
     public static void writeStringToUtf8(
         final String str, final OutputStream out
     ) throws IOException {
diff --git a/src/main/java/org/apache/xml/security/encryption/XMLEncryptionException.java b/src/main/java/org/apache/xml/security/encryption/XMLEncryptionException.java
index 065a740..29b1839 100644
--- a/src/main/java/org/apache/xml/security/encryption/XMLEncryptionException.java
+++ b/src/main/java/org/apache/xml/security/encryption/XMLEncryptionException.java
@@ -66,6 +66,11 @@
         super(originalException, msgID);
 
     }
+    
+    @Deprecated
+    public XMLEncryptionException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
 
     /**
      * @param originalException
@@ -75,4 +80,9 @@
     public XMLEncryptionException(Exception originalException, String msgID, Object exArgs[]) {
         super(originalException, msgID, exArgs);
     }
+    
+    @Deprecated
+    public XMLEncryptionException(String msgID, Object[] exArgs, Exception originalException) {
+        this(originalException, msgID, exArgs);
+    }
 }
diff --git a/src/main/java/org/apache/xml/security/exceptions/AlgorithmAlreadyRegisteredException.java b/src/main/java/org/apache/xml/security/exceptions/AlgorithmAlreadyRegisteredException.java
index b57a757..93ebfce 100644
--- a/src/main/java/org/apache/xml/security/exceptions/AlgorithmAlreadyRegisteredException.java
+++ b/src/main/java/org/apache/xml/security/exceptions/AlgorithmAlreadyRegisteredException.java
@@ -60,6 +60,11 @@
     public AlgorithmAlreadyRegisteredException(Exception originalException, String msgID) {
         super(originalException, msgID);
     }
+    
+    @Deprecated
+    public AlgorithmAlreadyRegisteredException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
 
     /**
      * Constructor AlgorithmAlreadyRegisteredException
@@ -73,5 +78,10 @@
     ) {
         super(originalException, msgID, exArgs);
     }
+    
+    @Deprecated
+    public AlgorithmAlreadyRegisteredException(String msgID, Object[] exArgs, Exception originalException) {
+        this(originalException, msgID, exArgs);
+    }
 
 }
diff --git a/src/main/java/org/apache/xml/security/exceptions/Base64DecodingException.java b/src/main/java/org/apache/xml/security/exceptions/Base64DecodingException.java
index e01f0ba..61406ef 100644
--- a/src/main/java/org/apache/xml/security/exceptions/Base64DecodingException.java
+++ b/src/main/java/org/apache/xml/security/exceptions/Base64DecodingException.java
@@ -63,6 +63,11 @@
     public Base64DecodingException(Exception originalException, String msgID) {
         super(originalException, msgID);
     }
+    
+    @Deprecated
+    public Base64DecodingException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
 
     /**
      * Constructor Base64DecodingException
@@ -74,5 +79,10 @@
     public Base64DecodingException(Exception originalException, String msgID, Object exArgs[]) {
         super(originalException, msgID, exArgs);
     }
+    
+    @Deprecated
+    public Base64DecodingException(String msgID, Object[] exArgs, Exception originalException) {
+        this(originalException, msgID, exArgs);
+    }
 
 }
diff --git a/src/main/java/org/apache/xml/security/exceptions/XMLSecurityException.java b/src/main/java/org/apache/xml/security/exceptions/XMLSecurityException.java
index 4397b56..c7b9aa6 100644
--- a/src/main/java/org/apache/xml/security/exceptions/XMLSecurityException.java
+++ b/src/main/java/org/apache/xml/security/exceptions/XMLSecurityException.java
@@ -91,7 +91,7 @@
      * @param msgID
      * @param exArgs
      */
-    public XMLSecurityException(String msgID, Object exArgs[]) {
+    public XMLSecurityException(String msgID, Object[] exArgs) {
 
         super(MessageFormat.format(I18n.getExceptionMessage(msgID), exArgs));
 
@@ -119,7 +119,12 @@
 
         this.msgID = msgID;
     }
-
+    
+    @Deprecated
+    public XMLSecurityException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
+    
     /**
      * Constructor XMLSecurityException
      *
@@ -127,11 +132,17 @@
      * @param exArgs
      * @param originalException
      */
-    public XMLSecurityException(Exception originalException, String msgID, Object exArgs[]) {
+    public XMLSecurityException(Exception originalException, String msgID, Object[] exArgs) {
         super(MessageFormat.format(I18n.getExceptionMessage(msgID), exArgs), originalException);
 
         this.msgID = msgID;
     }
+    
+    @Deprecated
+    public XMLSecurityException(String msgID, Object[] exArgs, Exception originalException) {
+        this(originalException, msgID, exArgs);
+    }
+
 
     /**
      * Method getMsgID
diff --git a/src/main/java/org/apache/xml/security/keys/ContentHandlerAlreadyRegisteredException.java b/src/main/java/org/apache/xml/security/keys/ContentHandlerAlreadyRegisteredException.java
index 5f4e389..6a082a2 100644
--- a/src/main/java/org/apache/xml/security/keys/ContentHandlerAlreadyRegisteredException.java
+++ b/src/main/java/org/apache/xml/security/keys/ContentHandlerAlreadyRegisteredException.java
@@ -63,6 +63,11 @@
     public ContentHandlerAlreadyRegisteredException(Exception originalException, String msgID) {
         super(originalException, msgID);
     }
+    
+    @Deprecated
+    public ContentHandlerAlreadyRegisteredException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
 
     /**
      * Constructor ContentHandlerAlreadyRegisteredException
@@ -76,5 +81,10 @@
     ) {
         super(originalException, msgID, exArgs);
     }
+    
+    @Deprecated
+    public ContentHandlerAlreadyRegisteredException(String msgID, Object[] exArgs, Exception originalException) {
+        this(originalException, msgID, exArgs);
+    }
 
 }
diff --git a/src/main/java/org/apache/xml/security/keys/keyresolver/InvalidKeyResolverException.java b/src/main/java/org/apache/xml/security/keys/keyresolver/InvalidKeyResolverException.java
index 51e7cc2..a75760d 100644
--- a/src/main/java/org/apache/xml/security/keys/keyresolver/InvalidKeyResolverException.java
+++ b/src/main/java/org/apache/xml/security/keys/keyresolver/InvalidKeyResolverException.java
@@ -63,6 +63,11 @@
     public InvalidKeyResolverException(Exception originalException, String msgID) {
         super(originalException, msgID);
     }
+    
+    @Deprecated
+    public InvalidKeyResolverException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
 
     /**
      * Constructor InvalidKeyResolverException
@@ -74,4 +79,9 @@
     public InvalidKeyResolverException(Exception originalException, String msgID, Object exArgs[]) {
         super(originalException, msgID, exArgs);
     }
+    
+    @Deprecated
+    public InvalidKeyResolverException(String msgID, Object[] exArgs, Exception originalException) {
+        this(originalException, msgID, exArgs);
+    }
 }
diff --git a/src/main/java/org/apache/xml/security/keys/keyresolver/KeyResolverException.java b/src/main/java/org/apache/xml/security/keys/keyresolver/KeyResolverException.java
index 3e7cdab..c982225 100644
--- a/src/main/java/org/apache/xml/security/keys/keyresolver/KeyResolverException.java
+++ b/src/main/java/org/apache/xml/security/keys/keyresolver/KeyResolverException.java
@@ -67,6 +67,11 @@
     public KeyResolverException(Exception originalException, String msgID) {
         super(originalException, msgID);
     }
+    
+    @Deprecated
+    public KeyResolverException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
 
     /**
      * Constructor KeyResolverException
@@ -78,4 +83,9 @@
     public KeyResolverException(Exception originalException, String msgID, Object exArgs[]) {
         super(originalException, msgID, exArgs);
     }
+    
+    @Deprecated
+    public KeyResolverException(String msgID, Object[] exArgs, Exception originalException) {
+        this(originalException, msgID, exArgs);
+    }
 }
diff --git a/src/main/java/org/apache/xml/security/keys/storage/StorageResolverException.java b/src/main/java/org/apache/xml/security/keys/storage/StorageResolverException.java
index 58ce298..f0eff94 100644
--- a/src/main/java/org/apache/xml/security/keys/storage/StorageResolverException.java
+++ b/src/main/java/org/apache/xml/security/keys/storage/StorageResolverException.java
@@ -68,6 +68,11 @@
     public StorageResolverException(Exception originalException, String msgID) {
         super(originalException, msgID);
     }
+    
+    @Deprecated
+    public StorageResolverException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
 
     /**
      * Constructor StorageResolverException
@@ -79,4 +84,9 @@
     public StorageResolverException(Exception originalException, String msgID, Object exArgs[]) {
         super(originalException, msgID, exArgs);
     }
+    
+    @Deprecated
+    public StorageResolverException(String msgID, Object[] exArgs, Exception originalException) {
+        this(originalException, msgID, exArgs);
+    }
 }
diff --git a/src/main/java/org/apache/xml/security/signature/InvalidDigestValueException.java b/src/main/java/org/apache/xml/security/signature/InvalidDigestValueException.java
index 0d4b7b2..3aa4bb5 100644
--- a/src/main/java/org/apache/xml/security/signature/InvalidDigestValueException.java
+++ b/src/main/java/org/apache/xml/security/signature/InvalidDigestValueException.java
@@ -68,6 +68,11 @@
     public InvalidDigestValueException(Exception originalException, String msgID) {
         super(originalException, msgID);
     }
+    
+    @Deprecated
+    public InvalidDigestValueException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
 
     /**
      * Constructor InvalidDigestValueException
@@ -79,4 +84,9 @@
     public InvalidDigestValueException(Exception originalException, String msgID, Object exArgs[]) {
         super(originalException, msgID, exArgs);
     }
+    
+    @Deprecated
+    public InvalidDigestValueException(String msgID, Object[] exArgs, Exception originalException) {
+        this(originalException, msgID, exArgs);
+    }
 }
diff --git a/src/main/java/org/apache/xml/security/signature/InvalidSignatureValueException.java b/src/main/java/org/apache/xml/security/signature/InvalidSignatureValueException.java
index 76ab9df..0901ff1 100644
--- a/src/main/java/org/apache/xml/security/signature/InvalidSignatureValueException.java
+++ b/src/main/java/org/apache/xml/security/signature/InvalidSignatureValueException.java
@@ -67,6 +67,11 @@
     public InvalidSignatureValueException(Exception originalException, String msgID) {
         super(originalException, msgID);
     }
+    
+    @Deprecated
+    public InvalidSignatureValueException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
 
     /**
      * Constructor InvalidSignatureValueException
@@ -78,4 +83,9 @@
     public InvalidSignatureValueException(Exception originalException, String msgID, Object exArgs[]) {
         super(originalException, msgID, exArgs);
     }
+    
+    @Deprecated
+    public InvalidSignatureValueException(String msgID, Object[] exArgs, Exception originalException) {
+        this(originalException, msgID, exArgs);
+    }
 }
diff --git a/src/main/java/org/apache/xml/security/signature/MissingResourceFailureException.java b/src/main/java/org/apache/xml/security/signature/MissingResourceFailureException.java
index 94b82d7..8d3f9dd 100644
--- a/src/main/java/org/apache/xml/security/signature/MissingResourceFailureException.java
+++ b/src/main/java/org/apache/xml/security/signature/MissingResourceFailureException.java
@@ -47,6 +47,11 @@
 
         this.uninitializedReference = reference;
     }
+    
+    @Deprecated
+    public MissingResourceFailureException(String msgID, Reference reference) {
+        this(reference, msgID);
+    }
 
     /**
      * Constructor MissingResourceFailureException
@@ -61,6 +66,11 @@
 
         this.uninitializedReference = reference;
     }
+    
+    @Deprecated
+    public MissingResourceFailureException(String msgID, Object exArgs[], Reference reference) {
+        this(reference, msgID, exArgs);
+    }
 
     /**
      * Constructor MissingResourceFailureException
@@ -77,6 +87,13 @@
 
         this.uninitializedReference = reference;
     }
+    
+    @Deprecated
+    public MissingResourceFailureException(
+        String msgID, Exception originalException, Reference reference
+    ) {
+        this(originalException, reference, msgID);
+    }
 
     /**
      * Constructor MissingResourceFailureException
@@ -94,6 +111,13 @@
 
         this.uninitializedReference = reference;
     }
+    
+    @Deprecated
+    public MissingResourceFailureException(
+        String msgID, Object exArgs[], Exception originalException, Reference reference
+    ) {
+        this(originalException, reference, msgID, exArgs);
+    }
 
     /**
      * used to set the uninitialized {@link org.apache.xml.security.signature.Reference}
diff --git a/src/main/java/org/apache/xml/security/signature/ReferenceNotInitializedException.java b/src/main/java/org/apache/xml/security/signature/ReferenceNotInitializedException.java
index e1cb126..de3760f 100644
--- a/src/main/java/org/apache/xml/security/signature/ReferenceNotInitializedException.java
+++ b/src/main/java/org/apache/xml/security/signature/ReferenceNotInitializedException.java
@@ -71,6 +71,11 @@
     public ReferenceNotInitializedException(Exception originalException, String msgID) {
         super(originalException, msgID);
     }
+    
+    @Deprecated
+    public ReferenceNotInitializedException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
 
     /**
      * Constructor ReferenceNotInitializedException
@@ -82,4 +87,9 @@
     public ReferenceNotInitializedException(Exception originalException, String msgID, Object exArgs[]) {
         super(originalException, msgID, exArgs);
     }
+    
+    @Deprecated
+    public ReferenceNotInitializedException(String msgID, Object[] exArgs, Exception originalException) {
+        this(originalException, msgID, exArgs);
+    }
 }
diff --git a/src/main/java/org/apache/xml/security/signature/XMLSignatureException.java b/src/main/java/org/apache/xml/security/signature/XMLSignatureException.java
index 1d06b1e..bd9bcb9 100644
--- a/src/main/java/org/apache/xml/security/signature/XMLSignatureException.java
+++ b/src/main/java/org/apache/xml/security/signature/XMLSignatureException.java
@@ -73,6 +73,11 @@
     public XMLSignatureException(Exception originalException, String msgID) {
         super(originalException, msgID);
     }
+    
+    @Deprecated
+    public XMLSignatureException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
 
     /**
      * Constructor XMLSignatureException
@@ -84,4 +89,9 @@
     public XMLSignatureException(Exception originalException, String msgID, Object exArgs[]) {
         super(originalException, msgID, exArgs);
     }
+    
+    @Deprecated
+    public XMLSignatureException(String msgID, Object[] exArgs, Exception originalException) {
+        this(originalException, msgID, exArgs);
+    }
 }
diff --git a/src/main/java/org/apache/xml/security/stax/ext/ResourceResolver.java b/src/main/java/org/apache/xml/security/stax/ext/ResourceResolver.java
index efd7468..bb395d8 100644
--- a/src/main/java/org/apache/xml/security/stax/ext/ResourceResolver.java
+++ b/src/main/java/org/apache/xml/security/stax/ext/ResourceResolver.java
@@ -19,12 +19,11 @@
 package org.apache.xml.security.stax.ext;
 
 import org.apache.xml.security.exceptions.XMLSecurityException;
+
 import org.apache.xml.security.stax.ext.stax.XMLSecStartElement;
 
 import java.io.InputStream;
 
-import javax.xml.namespace.QName;
-
 /**
  * @author $Author$
  * @version $Revision$ $Date$
@@ -33,10 +32,7 @@
 
     boolean isSameDocumentReference();
 
-    @Deprecated
     boolean matches(XMLSecStartElement xmlSecStartElement);
     
-    boolean matches(XMLSecStartElement xmlSecStartElement, QName idAttributeNS);
-
     InputStream getInputStreamFromExternalReference() throws XMLSecurityException;
 }
diff --git a/src/main/java/org/apache/xml/security/stax/ext/XMLSecurityConfigurationException.java b/src/main/java/org/apache/xml/security/stax/ext/XMLSecurityConfigurationException.java
index 13705f0..35f4e7f 100644
--- a/src/main/java/org/apache/xml/security/stax/ext/XMLSecurityConfigurationException.java
+++ b/src/main/java/org/apache/xml/security/stax/ext/XMLSecurityConfigurationException.java
@@ -48,4 +48,9 @@
     public XMLSecurityConfigurationException(Exception originalException, String msgID) {
         super(originalException, msgID);
     }
+    
+    @Deprecated
+    public XMLSecurityConfigurationException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
 }
diff --git a/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java b/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java
index 8448b4f..0df75eb 100644
--- a/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java
+++ b/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java
@@ -46,6 +46,8 @@
 import javax.xml.stream.XMLStreamConstants;
 import javax.xml.stream.XMLStreamException;
 import java.io.*;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.security.NoSuchProviderException;
@@ -187,7 +189,30 @@
         List<ReferenceType> referenceTypes = Collections.emptyList();
         for (int i = 0; i < sameDocumentReferences.size(); i++) {
             KeyValue<ResourceResolver, ReferenceType> keyValue = sameDocumentReferences.get(i);
-            if (keyValue.getKey().matches(xmlSecStartElement, getSecurityProperties().getIdAttributeNS())) {
+
+            ResourceResolver resolver = keyValue.getKey();
+            boolean hasIdMatchesMethod = false;
+            try {
+                // A reflection hack to avoid breaking the ResourceResolver interface for SANTUARIO-407.
+                Method m = resolver.getClass().getMethod("matches", XMLSecStartElement.class, QName.class);
+                if (m != null) {
+                    hasIdMatchesMethod = true;
+                    if ((Boolean)m.invoke(resolver, xmlSecStartElement, getSecurityProperties().getIdAttributeNS())) {
+                        if (referenceTypes == Collections.<ReferenceType>emptyList()) {
+                            referenceTypes = new ArrayList<ReferenceType>();
+                        }
+                        referenceTypes.add(keyValue.getValue());
+                    }
+                }
+            } catch (NoSuchMethodException ex) {
+                // No need to report this
+            } catch (InvocationTargetException ex) {
+                // No need to report this
+            } catch (IllegalAccessException ex) {
+                // No need to report this
+            }
+            
+            if (!hasIdMatchesMethod && keyValue.getKey().matches(xmlSecStartElement)) {
                 if (referenceTypes == Collections.<ReferenceType>emptyList()) {
                     referenceTypes = new ArrayList<ReferenceType>();
                 }
diff --git a/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverFilesystem.java b/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverFilesystem.java
index 0924930..387a537 100644
--- a/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverFilesystem.java
+++ b/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverFilesystem.java
@@ -21,14 +21,11 @@
 import org.apache.xml.security.exceptions.XMLSecurityException;
 import org.apache.xml.security.stax.ext.ResourceResolver;
 import org.apache.xml.security.stax.ext.ResourceResolverLookup;
-import org.apache.xml.security.stax.ext.XMLSecurityConstants;
 import org.apache.xml.security.stax.ext.stax.XMLSecStartElement;
 
 import java.io.InputStream;
 import java.net.URI;
 
-import javax.xml.namespace.QName;
-
 /**
  * Resolver for local filesystem resources. Use the standard java security-manager to
  * restrict filesystem accesses.
@@ -72,11 +69,6 @@
 
     @Override
     public boolean matches(XMLSecStartElement xmlSecStartElement) {
-        return this.matches(xmlSecStartElement, XMLSecurityConstants.ATT_NULL_Id);
-    }
-    
-    @Override
-    public boolean matches(XMLSecStartElement xmlSecStartElement, QName idAttributeNS) {
         return false;
     }
 
diff --git a/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverHttp.java b/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverHttp.java
index ee91d7f..f983a42 100644
--- a/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverHttp.java
+++ b/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverHttp.java
@@ -21,7 +21,6 @@
 import org.apache.xml.security.exceptions.XMLSecurityException;
 import org.apache.xml.security.stax.ext.ResourceResolver;
 import org.apache.xml.security.stax.ext.ResourceResolverLookup;
-import org.apache.xml.security.stax.ext.XMLSecurityConstants;
 import org.apache.xml.security.stax.ext.stax.XMLSecStartElement;
 
 import java.io.IOException;
@@ -29,8 +28,6 @@
 import java.net.*;
 import java.util.regex.Pattern;
 
-import javax.xml.namespace.QName;
-
 /**
  * Resolver for external http[s] resources.
  *
@@ -80,11 +77,6 @@
 
     @Override
     public boolean matches(XMLSecStartElement xmlSecStartElement) {
-        return this.matches(xmlSecStartElement, XMLSecurityConstants.ATT_NULL_Id);
-    }
-    
-    @Override
-    public boolean matches(XMLSecStartElement xmlSecStartElement, QName idAttributeNS) {
         return false;
     }
 
diff --git a/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverSameDocument.java b/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverSameDocument.java
index 5bfca82..4553b24 100644
--- a/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverSameDocument.java
+++ b/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverSameDocument.java
@@ -74,7 +74,6 @@
         return this.matches(xmlSecStartElement, XMLSecurityConstants.ATT_NULL_Id);
     }
     
-    @Override
     public boolean matches(XMLSecStartElement xmlSecStartElement, QName idAttributeNS) {
         if (id.isEmpty()) {
             if (firstElementOccured) {
diff --git a/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverXPointer.java b/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverXPointer.java
index 891f7cf..05578ff 100644
--- a/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverXPointer.java
+++ b/src/main/java/org/apache/xml/security/stax/impl/resourceResolvers/ResolverXPointer.java
@@ -97,7 +97,6 @@
         return this.matches(xmlSecStartElement, XMLSecurityConstants.ATT_NULL_Id);
     }
     
-    @Override
     public boolean matches(XMLSecStartElement xmlSecStartElement, QName idAttributeNS) {
         //when id is null we have #xpointer(/) and then we just return true for the first start-element
         if (id == null) {
diff --git a/src/main/java/org/apache/xml/security/transforms/InvalidTransformException.java b/src/main/java/org/apache/xml/security/transforms/InvalidTransformException.java
index 9de8102..d9a2b6a 100644
--- a/src/main/java/org/apache/xml/security/transforms/InvalidTransformException.java
+++ b/src/main/java/org/apache/xml/security/transforms/InvalidTransformException.java
@@ -67,6 +67,11 @@
     public InvalidTransformException(Exception originalException, String msgId) {
         super(originalException, msgId);
     }
+    
+    @Deprecated
+    public InvalidTransformException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
 
     /**
      * Constructor InvalidTransformException
@@ -78,4 +83,9 @@
     public InvalidTransformException(Exception originalException, String msgId, Object exArgs[]) {
         super(originalException, msgId, exArgs);
     }
+    
+    @Deprecated
+    public InvalidTransformException(String msgID, Object[] exArgs, Exception originalException) {
+        this(originalException, msgID, exArgs);
+    }
 }
diff --git a/src/main/java/org/apache/xml/security/transforms/TransformationException.java b/src/main/java/org/apache/xml/security/transforms/TransformationException.java
index 4f97965..07c0fa9 100644
--- a/src/main/java/org/apache/xml/security/transforms/TransformationException.java
+++ b/src/main/java/org/apache/xml/security/transforms/TransformationException.java
@@ -70,6 +70,11 @@
     public TransformationException(Exception originalException, String msgID) {
         super(originalException, msgID);
     }
+    
+    @Deprecated
+    public TransformationException(String msgID, Exception originalException) {
+        this(originalException, msgID);
+    }
 
     /**
      * Constructor TransformationException
@@ -81,4 +86,9 @@
     public TransformationException(Exception originalException, String msgID, Object exArgs[]) {
         super(originalException, msgID, exArgs);
     }
+    
+    @Deprecated
+    public TransformationException(String msgID, Object[] exArgs, Exception originalException) {
+        this(originalException, msgID, exArgs);
+    }
 }
diff --git a/src/main/java/org/apache/xml/security/utils/resolver/ResourceResolverException.java b/src/main/java/org/apache/xml/security/utils/resolver/ResourceResolverException.java
index 3f5d25e..e0a5ac6 100644
--- a/src/main/java/org/apache/xml/security/utils/resolver/ResourceResolverException.java
+++ b/src/main/java/org/apache/xml/security/utils/resolver/ResourceResolverException.java
@@ -79,6 +79,12 @@
         this.uri = uri;
         this.baseURI = baseURI;
     }
+    
+    @Deprecated
+    public ResourceResolverException(String msgID, Exception originalException,
+                                     String uri, String baseURI) {
+        this(originalException, uri, baseURI, msgID);
+    }
 
     /**
      * Constructor ResourceResolverException
@@ -96,6 +102,13 @@
         this.uri = uri;
         this.baseURI = baseURI;
     }
+    
+    @Deprecated
+    public ResourceResolverException(String msgID, Object exArgs[],
+                                     Exception originalException, String uri,
+                                     String baseURI) {
+        this(originalException, uri, baseURI, msgID, exArgs);
+    }
 
     /**
      *