PMD ErrorProne work

git-svn-id: https://svn.apache.org/repos/asf/santuario/xml-security-java/trunk@1853789 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/etc/santuario-pmd-ruleset.xml b/etc/santuario-pmd-ruleset.xml
index ff94bd8..30995df 100644
--- a/etc/santuario-pmd-ruleset.xml
+++ b/etc/santuario-pmd-ruleset.xml
@@ -76,7 +76,38 @@
      <exclude name="UseUtilityClass" />
   </rule>
 
-  <!-- TODO <rule ref="category/java/errorprone.xml"> -->
+  <!-- TODO
+  <rule ref="category/java/errorprone.xml">
+     <exclude name="AssignmentInOperand" />
+     <exclude name="AssignmentToNonFinalStatic" />
+     <exclude name="AvoidBranchingStatementAsLastInLoop" />
+     <exclude name="AvoidAccessibilityAlteration" />
+     <exclude name="AvoidCatchingNPE" />
+     <exclude name="AvoidCatchingThrowable" />
+     <exclude name="AvoidDuplicateLiterals" />
+     <exclude name="AvoidFieldNameMatchingMethodName" />
+     <exclude name="AvoidLiteralsInIfCondition" />
+     <exclude name="BeanMembersShouldSerialize" />
+     <exclude name="CompareObjectsWithEquals" />
+     <exclude name="ConstructorCallsOverridableMethod" />
+     <exclude name="DataflowAnomalyAnalysis" />
+     <exclude name="DoNotCallGarbageCollectionExplicitly" />
+     <exclude name="DoNotCallSystemExit" />
+     <exclude name="EmptyCatchBlock" />
+     <exclude name="EmptyIfStmt" />
+     <exclude name="EmptySynchronizedBlock" />
+     <exclude name="InvalidSlf4jMessageFormat" />
+     <exclude name="JUnitSpelling" />
+     <exclude name="MissingBreakInSwitch" />
+     <exclude name="MissingSerialVersionUID" />
+     <exclude name="MoreThanOneLogger" />
+     <exclude name="NullAssignment" />
+     <exclude name="ReturnEmptyArrayRatherThanNull" />
+     <exclude name="TestClassWithoutTestCases" />
+     <exclude name="UseLocaleWithCaseConversions" />
+     <exclude name="UseProperClassLoader" />
+  </rule>
+  -->
 
   <rule ref="category/java/multithreading.xml">
      <exclude name="AvoidSynchronizedAtMethodLevel" />
diff --git a/src/main/java/org/apache/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java b/src/main/java/org/apache/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java
index 97cf82f..1b10d6d 100644
--- a/src/main/java/org/apache/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java
+++ b/src/main/java/org/apache/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java
@@ -53,7 +53,7 @@
 
     private static final org.slf4j.Logger LOG =
         org.slf4j.LoggerFactory.getLogger(ApacheCanonicalizer.class);
-    protected Canonicalizer apacheCanonicalizer;
+    protected Canonicalizer canonicalizer;
     private Transform apacheTransform;
     protected String inclusiveNamespaces;
     protected C14NMethodParameterSpec params;
@@ -112,11 +112,11 @@
     public Data canonicalize(Data data, XMLCryptoContext xc, OutputStream os)
         throws TransformException
     {
-        if (apacheCanonicalizer == null) {
+        if (canonicalizer == null) {
             try {
-                apacheCanonicalizer = Canonicalizer.getInstance(getAlgorithm());
+                canonicalizer = Canonicalizer.getInstance(getAlgorithm());
                 boolean secVal = Utils.secureValidation(xc);
-                apacheCanonicalizer.setSecureValidation(secVal);
+                canonicalizer.setSecureValidation(secVal);
                 LOG.debug("Created canonicalizer for algorithm: {}", getAlgorithm());
             } catch (InvalidCanonicalizerException ice) {
                 throw new TransformException
@@ -126,9 +126,9 @@
         }
 
         if (os != null) {
-            apacheCanonicalizer.setWriter(os);
+            canonicalizer.setWriter(os);
         } else {
-            apacheCanonicalizer.setWriter(new ByteArrayOutputStream());
+            canonicalizer.setWriter(new ByteArrayOutputStream());
         }
 
         try {
@@ -139,29 +139,29 @@
                 if (in.isElement()) {
                     if (inclusiveNamespaces != null) {
                         return new OctetStreamData(new ByteArrayInputStream
-                            (apacheCanonicalizer.canonicalizeSubtree
+                            (canonicalizer.canonicalizeSubtree
                                 (in.getSubNode(), inclusiveNamespaces)));
                     } else {
                         return new OctetStreamData(new ByteArrayInputStream
-                            (apacheCanonicalizer.canonicalizeSubtree
+                            (canonicalizer.canonicalizeSubtree
                                 (in.getSubNode())));
                     }
                 } else if (in.isNodeSet()) {
                     nodeSet = in.getNodeSet();
                 } else {
                     return new OctetStreamData(new ByteArrayInputStream(
-                        apacheCanonicalizer.canonicalize(
+                        canonicalizer.canonicalize(
                             Utils.readBytesFromStream(in.getOctetStream()))));
                 }
             } else if (data instanceof DOMSubTreeData) {
                 DOMSubTreeData subTree = (DOMSubTreeData)data;
                 if (inclusiveNamespaces != null) {
                     return new OctetStreamData(new ByteArrayInputStream
-                        (apacheCanonicalizer.canonicalizeSubtree
+                        (canonicalizer.canonicalizeSubtree
                          (subTree.getRoot(), inclusiveNamespaces)));
                 } else {
                     return new OctetStreamData(new ByteArrayInputStream
-                        (apacheCanonicalizer.canonicalizeSubtree
+                        (canonicalizer.canonicalizeSubtree
                          (subTree.getRoot())));
                 }
             } else if (data instanceof NodeSetData) {
@@ -173,17 +173,17 @@
                 LOG.debug("Canonicalizing {} nodes", nodeSet.size());
             } else {
                 return new OctetStreamData(new ByteArrayInputStream(
-                    apacheCanonicalizer.canonicalize(
+                    canonicalizer.canonicalize(
                         Utils.readBytesFromStream(
                         ((OctetStreamData)data).getOctetStream()))));
             }
             if (inclusiveNamespaces != null) {
                 return new OctetStreamData(new ByteArrayInputStream(
-                    apacheCanonicalizer.canonicalizeXPathNodeSet
+                    canonicalizer.canonicalizeXPathNodeSet
                         (nodeSet, inclusiveNamespaces)));
             } else {
                 return new OctetStreamData(new ByteArrayInputStream(
-                    apacheCanonicalizer.canonicalizeXPathNodeSet(nodeSet)));
+                    canonicalizer.canonicalizeXPathNodeSet(nodeSet)));
             }
         } catch (Exception e) {
             throw new TransformException(e);
diff --git a/src/main/java/org/apache/jcp/xml/dsig/internal/dom/ApacheTransform.java b/src/main/java/org/apache/jcp/xml/dsig/internal/dom/ApacheTransform.java
index 1c634cd..6c2d1ec 100644
--- a/src/main/java/org/apache/jcp/xml/dsig/internal/dom/ApacheTransform.java
+++ b/src/main/java/org/apache/jcp/xml/dsig/internal/dom/ApacheTransform.java
@@ -54,7 +54,7 @@
 
     private static final org.slf4j.Logger LOG =
         org.slf4j.LoggerFactory.getLogger(ApacheTransform.class);
-    private Transform apacheTransform;
+    private Transform transform;
     protected Document ownerDoc;
     protected Element transformElem;
     protected TransformParameterSpec params;
@@ -132,13 +132,13 @@
             throw new TransformException("transform must be marshalled");
         }
 
-        if (apacheTransform == null) {
+        if (transform == null) {
             try {
-                apacheTransform =
+                transform =
                     new Transform(ownerDoc, getAlgorithm(), transformElem.getChildNodes());
-                apacheTransform.setElement(transformElem, xc.getBaseURI());
+                transform.setElement(transformElem, xc.getBaseURI());
                 boolean secVal = Utils.secureValidation(xc);
-                apacheTransform.setSecureValidation(secVal);
+                transform.setSecureValidation(secVal);
                 LOG.debug("Created transform for algorithm: {}", getAlgorithm());
             } catch (Exception ex) {
                 throw new TransformException("Couldn't find Transform for: " +
@@ -186,12 +186,12 @@
 
         try {
             if (os != null) {
-                in = apacheTransform.performTransform(in, os);
+                in = transform.performTransform(in, os);
                 if (!in.isNodeSet() && !in.isElement()) {
                     return null;
                 }
             } else {
-                in = apacheTransform.performTransform(in);
+                in = transform.performTransform(in);
             }
             if (in.isOctetStream()) {
                 return new ApacheOctetStreamData(in);
diff --git a/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java b/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java
index 9188048..457c020 100644
--- a/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java
+++ b/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java
@@ -64,9 +64,9 @@
             DOMSubTreeData subTree = (DOMSubTreeData) data;
             if (subTree.excludeComments()) {
                 try {
-                    apacheCanonicalizer = Canonicalizer.getInstance(C14N_11);
+                    canonicalizer = Canonicalizer.getInstance(C14N_11);
                     boolean secVal = Utils.secureValidation(xc);
-                    apacheCanonicalizer.setSecureValidation(secVal);
+                    canonicalizer.setSecureValidation(secVal);
                 } catch (InvalidCanonicalizerException ice) {
                     throw new TransformException
                         ("Couldn't find Canonicalizer for: " +
diff --git a/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java b/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java
index f9adcf2..fa7ad4b 100644
--- a/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java
+++ b/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java
@@ -60,10 +60,10 @@
             DOMSubTreeData subTree = (DOMSubTreeData) data;
             if (subTree.excludeComments()) {
                 try {
-                    apacheCanonicalizer = Canonicalizer.getInstance
+                    canonicalizer = Canonicalizer.getInstance
                         (CanonicalizationMethod.INCLUSIVE);
                     boolean secVal = Utils.secureValidation(xc);
-                    apacheCanonicalizer.setSecureValidation(secVal);
+                    canonicalizer.setSecureValidation(secVal);
                 } catch (InvalidCanonicalizerException ice) {
                     throw new TransformException
                         ("Couldn't find Canonicalizer for: " +
diff --git a/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java b/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java
index 20d155e..ac0a61e 100644
--- a/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java
+++ b/src/main/java/org/apache/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java
@@ -141,10 +141,10 @@
             DOMSubTreeData subTree = (DOMSubTreeData)data;
             if (subTree.excludeComments()) {
                 try {
-                    apacheCanonicalizer = Canonicalizer.getInstance
+                    canonicalizer = Canonicalizer.getInstance
                         (CanonicalizationMethod.EXCLUSIVE);
                     boolean secVal = Utils.secureValidation(xc);
-                    apacheCanonicalizer.setSecureValidation(secVal);
+                    canonicalizer.setSecureValidation(secVal);
                 } catch (InvalidCanonicalizerException ice) {
                     throw new TransformException
                         ("Couldn't find Canonicalizer for: " +
diff --git a/src/main/java/org/apache/xml/security/algorithms/SignatureAlgorithm.java b/src/main/java/org/apache/xml/security/algorithms/SignatureAlgorithm.java
index 16d980b..36716923 100644
--- a/src/main/java/org/apache/xml/security/algorithms/SignatureAlgorithm.java
+++ b/src/main/java/org/apache/xml/security/algorithms/SignatureAlgorithm.java
@@ -54,7 +54,7 @@
         new ConcurrentHashMap<>();
 
     /** Field signatureAlgorithm */
-    private final SignatureAlgorithmSpi signatureAlgorithm;
+    private final SignatureAlgorithmSpi signatureAlgorithmSpi;
 
     private final String algorithmURI;
 
@@ -69,8 +69,8 @@
         super(doc, algorithmURI);
         this.algorithmURI = algorithmURI;
 
-        signatureAlgorithm = getSignatureAlgorithmSpi(algorithmURI);
-        signatureAlgorithm.engineGetContextFromElement(getElement());
+        signatureAlgorithmSpi = getSignatureAlgorithmSpi(algorithmURI);
+        signatureAlgorithmSpi.engineGetContextFromElement(getElement());
     }
 
     /**
@@ -87,11 +87,11 @@
         super(doc, algorithmURI);
         this.algorithmURI = algorithmURI;
 
-        signatureAlgorithm = getSignatureAlgorithmSpi(algorithmURI);
-        signatureAlgorithm.engineGetContextFromElement(getElement());
+        signatureAlgorithmSpi = getSignatureAlgorithmSpi(algorithmURI);
+        signatureAlgorithmSpi.engineGetContextFromElement(getElement());
 
-        signatureAlgorithm.engineSetHMACOutputLength(hmacOutputLength);
-        ((IntegrityHmac)signatureAlgorithm).engineAddContextToElement(getElement());
+        signatureAlgorithmSpi.engineSetHMACOutputLength(hmacOutputLength);
+        ((IntegrityHmac)signatureAlgorithmSpi).engineAddContextToElement(getElement());
     }
 
     /**
@@ -131,8 +131,8 @@
             throw new XMLSecurityException("signature.signatureAlgorithm", exArgs);
         }
 
-        signatureAlgorithm = getSignatureAlgorithmSpi(algorithmURI);
-        signatureAlgorithm.engineGetContextFromElement(getElement());
+        signatureAlgorithmSpi = getSignatureAlgorithmSpi(algorithmURI);
+        signatureAlgorithmSpi.engineGetContextFromElement(getElement());
     }
 
     /**
@@ -164,7 +164,7 @@
      * @throws XMLSignatureException
      */
     public byte[] sign() throws XMLSignatureException {
-        return signatureAlgorithm.engineSign();
+        return signatureAlgorithmSpi.engineSign();
     }
 
     /**
@@ -174,7 +174,7 @@
      * @return the result of the {@link java.security.Signature#getAlgorithm} method
      */
     public String getJCEAlgorithmString() {
-        return signatureAlgorithm.engineGetJCEAlgorithmString();
+        return signatureAlgorithmSpi.engineGetJCEAlgorithmString();
     }
 
     /**
@@ -183,7 +183,7 @@
      * @return The Provider of this Signature Algorithm
      */
     public String getJCEProviderName() {
-        return signatureAlgorithm.engineGetJCEProviderName();
+        return signatureAlgorithmSpi.engineGetJCEProviderName();
     }
 
     /**
@@ -194,7 +194,7 @@
      * @throws XMLSignatureException
      */
     public void update(byte[] input) throws XMLSignatureException {
-        signatureAlgorithm.engineUpdate(input);
+        signatureAlgorithmSpi.engineUpdate(input);
     }
 
     /**
@@ -205,7 +205,7 @@
      * @throws XMLSignatureException
      */
     public void update(byte input) throws XMLSignatureException {
-        signatureAlgorithm.engineUpdate(input);
+        signatureAlgorithmSpi.engineUpdate(input);
     }
 
     /**
@@ -218,7 +218,7 @@
      * @throws XMLSignatureException
      */
     public void update(byte[] buf, int offset, int len) throws XMLSignatureException {
-        signatureAlgorithm.engineUpdate(buf, offset, len);
+        signatureAlgorithmSpi.engineUpdate(buf, offset, len);
     }
 
     /**
@@ -229,7 +229,7 @@
      * @throws XMLSignatureException
      */
     public void initSign(Key signingKey) throws XMLSignatureException {
-        signatureAlgorithm.engineInitSign(signingKey);
+        signatureAlgorithmSpi.engineInitSign(signingKey);
     }
 
     /**
@@ -242,7 +242,7 @@
      * @throws XMLSignatureException
      */
     public void initSign(Key signingKey, SecureRandom secureRandom) throws XMLSignatureException {
-        signatureAlgorithm.engineInitSign(signingKey, secureRandom);
+        signatureAlgorithmSpi.engineInitSign(signingKey, secureRandom);
     }
 
     /**
@@ -256,7 +256,7 @@
     public void initSign(
         Key signingKey, AlgorithmParameterSpec algorithmParameterSpec
     ) throws XMLSignatureException {
-        signatureAlgorithm.engineInitSign(signingKey, algorithmParameterSpec);
+        signatureAlgorithmSpi.engineInitSign(signingKey, algorithmParameterSpec);
     }
 
     /**
@@ -268,7 +268,7 @@
      * @throws XMLSignatureException
      */
     public void setParameter(AlgorithmParameterSpec params) throws XMLSignatureException {
-        signatureAlgorithm.engineSetParameter(params);
+        signatureAlgorithmSpi.engineSetParameter(params);
     }
 
     /**
@@ -279,7 +279,7 @@
      * @throws XMLSignatureException
      */
     public void initVerify(Key verificationKey) throws XMLSignatureException {
-        signatureAlgorithm.engineInitVerify(verificationKey);
+        signatureAlgorithmSpi.engineInitVerify(verificationKey);
     }
 
     /**
@@ -292,7 +292,7 @@
      * @throws XMLSignatureException
      */
     public boolean verify(byte[] signature) throws XMLSignatureException {
-        return signatureAlgorithm.engineVerify(signature);
+        return signatureAlgorithmSpi.engineVerify(signature);
     }
 
     /**
diff --git a/src/main/java/org/apache/xml/security/stax/securityToken/SecurityTokenFactory.java b/src/main/java/org/apache/xml/security/stax/securityToken/SecurityTokenFactory.java
index 871e137..54cdbdb 100644
--- a/src/main/java/org/apache/xml/security/stax/securityToken/SecurityTokenFactory.java
+++ b/src/main/java/org/apache/xml/security/stax/securityToken/SecurityTokenFactory.java
@@ -31,10 +31,10 @@
  */
 public abstract class SecurityTokenFactory {
 
-    private static SecurityTokenFactory securityTokenFactory;
+    private static SecurityTokenFactory instance;
 
     public static synchronized SecurityTokenFactory getInstance() throws XMLSecurityException {
-        if (securityTokenFactory == null) {
+        if (instance == null) {
             String stf = ConfigurationProperties.getProperty("securityTokenFactory");
             if (stf == null) {
                 throw new XMLSecurityException("algorithm.ClassDoesNotExist",
@@ -49,7 +49,7 @@
                 @SuppressWarnings("unchecked")
                 Class<SecurityTokenFactory> securityTokenFactoryClass =
                         (Class<SecurityTokenFactory>) ClassLoaderUtils.loadClass(stf, callingClass);
-                securityTokenFactory = securityTokenFactoryClass.newInstance();
+                instance = securityTokenFactoryClass.newInstance();
             } catch (ClassNotFoundException e) {
                 throw new XMLSecurityException(e, "algorithm.ClassDoesNotExist", new Object[]{stf});
             } catch (InstantiationException e) {
@@ -58,7 +58,7 @@
                 throw new XMLSecurityException(e, "algorithm.ClassDoesNotExist", new Object[]{stf});
             }
         }
-        return securityTokenFactory;
+        return instance;
     }
 
     public abstract InboundSecurityToken getSecurityToken(
diff --git a/src/main/java/org/apache/xml/security/transforms/Transforms.java b/src/main/java/org/apache/xml/security/transforms/Transforms.java
index d915e70..64aaabd 100644
--- a/src/main/java/org/apache/xml/security/transforms/Transforms.java
+++ b/src/main/java/org/apache/xml/security/transforms/Transforms.java
@@ -99,7 +99,7 @@
     private static final org.slf4j.Logger LOG =
         org.slf4j.LoggerFactory.getLogger(Transforms.class);
 
-    private Element[] transforms;
+    private Element[] transformsElement;
 
     protected Transforms() { }
 
@@ -296,7 +296,7 @@
      */
     public int getLength() {
         initTransforms();
-        return transforms.length;
+        return transformsElement.length;
     }
 
     /**
@@ -310,15 +310,15 @@
     public Transform item(int i) throws TransformationException {
         try {
             initTransforms();
-            return new Transform(transforms[i], this.baseURI);
+            return new Transform(transformsElement[i], this.baseURI);
         } catch (XMLSecurityException ex) {
             throw new TransformationException(ex);
         }
     }
 
     private void initTransforms() {
-        if (transforms == null) {
-            transforms = XMLUtils.selectDsNodes(getFirstChild(), "Transform");
+        if (transformsElement == null) {
+            transformsElement = XMLUtils.selectDsNodes(getFirstChild(), "Transform");
         }
     }
 
diff --git a/src/test/java/javax/xml/crypto/test/dsig/SecureXSLTTest.java b/src/test/java/javax/xml/crypto/test/dsig/SecureXSLTTest.java
index 330c8c4..d9d3146 100644
--- a/src/test/java/javax/xml/crypto/test/dsig/SecureXSLTTest.java
+++ b/src/test/java/javax/xml/crypto/test/dsig/SecureXSLTTest.java
@@ -30,6 +30,7 @@
 import javax.xml.crypto.test.KeySelectors;
 
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.fail;
 
 
 public class SecureXSLTTest {
@@ -101,7 +102,7 @@
         } finally {
             if (f.exists()) {
                 f.delete(); // cleanup file. comment out when debugging
-                throw new Exception("Test FAILED: doc.xml was successfully created");
+                fail("Test FAILED: doc.xml was successfully created");
             }
         }
     }