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

svn commit: r1544623 - in /santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax: ext/ impl/processor/input/

Author: giger
Date: Fri Nov 22 18:05:02 2013
New Revision: 1544623

URL: http://svn.apache.org/r1544623
Log:
call to doFinal() should usually be the first statement in the input-processors doFinal() method so that
the processor order will be adhered.

Modified:
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/ProcessorChain.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractDecryptInputProcessor.java
    santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/ProcessorChain.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/ProcessorChain.java?rev=1544623&r1=1544622&r2=1544623&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/ProcessorChain.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/ProcessorChain.java Fri Nov 22 18:05:02 2013
@@ -37,6 +37,10 @@ public interface ProcessorChain {
 
     /**
      * Will finally be called when the whole document is processed
+     * Important note: Every processor in the chain has to call doFinal() in its own doFinal() method.
+     * InputProcessors should call it before doing other stuff to keep the processing order. Remember the
+     * input-chain is in principle processed in the reverse order since we "leech" the events through the chain.
+     * So that means that we should do the same for the doFinal method, otherwise we may run into troubles.
      *
      * @throws XMLStreamException   thrown when a streaming error occurs
      * @throws XMLSecurityException thrown when a Security failure occurs

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractDecryptInputProcessor.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractDecryptInputProcessor.java?rev=1544623&r1=1544622&r2=1544623&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractDecryptInputProcessor.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractDecryptInputProcessor.java Fri Nov 22 18:05:02 2013
@@ -527,6 +527,8 @@ public abstract class AbstractDecryptInp
 
     @Override
     public void doFinal(InputProcessorChain inputProcessorChain) throws XMLStreamException, XMLSecurityException {
+        inputProcessorChain.doFinal();
+
         //here we check if all references where processed.
         if (references != null) {
             Iterator<Map.Entry<String, ReferenceType>> refEntryIterator = this.references.entrySet().iterator();
@@ -537,7 +539,6 @@ public abstract class AbstractDecryptInp
                 }
             }
         }
-        inputProcessorChain.doFinal();
     }
 
     /**

Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java?rev=1544623&r1=1544622&r2=1544623&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java Fri Nov 22 18:05:02 2013
@@ -199,7 +199,6 @@ public abstract class AbstractSignatureR
 
     @Override
     public void doFinal(InputProcessorChain inputProcessorChain) throws XMLStreamException, XMLSecurityException {
-        //first call must be (order matters!):
         inputProcessorChain.doFinal();
 
         for (int i = 0; i < sameDocumentReferences.size(); i++) {