Author: ruchithf
Date: Tue Jun  5 08:18:43 2007
New Revision: 544514

URL: http://svn.apache.org/viewvc?view=rev&rev=544514
Log:
Created the Rampart-1.2 branch from the Rampart-1.2 tag and added a fix for the 
issue where we loose the processed flags of soap header blocks

Added:
    webservices/rampart/branches/java/
    webservices/rampart/branches/java/1_2/
      - copied from r544172, webservices/rampart/tags/java/1_2/
Modified:
    webservices/rampart/branches/java/1_2/modules/rampart-core/pom.xml
    
webservices/rampart/branches/java/1_2/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java
    webservices/rampart/branches/java/1_2/modules/rampart-mar/pom.xml
    webservices/rampart/branches/java/1_2/modules/rampart-policy/pom.xml
    webservices/rampart/branches/java/1_2/modules/rampart-tests/pom.xml
    webservices/rampart/branches/java/1_2/modules/rampart-trust-mar/pom.xml
    webservices/rampart/branches/java/1_2/modules/rampart-trust/pom.xml
    webservices/rampart/branches/java/1_2/pom.xml

Modified: webservices/rampart/branches/java/1_2/modules/rampart-core/pom.xml
URL: 
http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_2/modules/rampart-core/pom.xml?view=diff&rev=544514&r1=544172&r2=544514
==============================================================================
--- webservices/rampart/branches/java/1_2/modules/rampart-core/pom.xml 
(original)
+++ webservices/rampart/branches/java/1_2/modules/rampart-core/pom.xml Tue Jun  
5 08:18:43 2007
@@ -5,13 +5,13 @@
     <parent>
         <groupId>org.apache.rampart</groupId>
         <artifactId>rampart-project</artifactId>
-        <version>1.2</version>
+        <version>1.21</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
     <artifactId>rampart-core</artifactId>
     <packaging>jar</packaging>
-    <version>1.2</version>
+    <version>1.21</version>
     <name>Rampart - Core</name>
 
     <build>

Modified: 
webservices/rampart/branches/java/1_2/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_2/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java?view=diff&rev=544514&r1=544172&r2=544514
==============================================================================
--- 
webservices/rampart/branches/java/1_2/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java
 (original)
+++ 
webservices/rampart/branches/java/1_2/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java
 Tue Jun  5 08:18:43 2007
@@ -25,6 +25,8 @@
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axiom.soap.SOAPHeader;
+import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder;
 import org.apache.rampart.handler.WSSHandlerConstants;
 import org.apache.ws.security.WSSecurityException;
@@ -32,6 +34,7 @@
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
+import javax.xml.namespace.QName;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.stream.FactoryConfigurationError;
 import javax.xml.stream.XMLInputFactory;
@@ -39,6 +42,9 @@
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
 
 /**
  * Utility class for the Axis2-WSS4J Module
@@ -92,6 +98,16 @@
                 if (firstElement != null) {
                     firstElement.build();
                 }
+                
+                //Get processed headers
+                Iterator headerBlocs = env.getHeader().getChildElements();
+                ArrayList processedHeaderQNames = new ArrayList();
+                while (headerBlocs.hasNext()) {
+                    SOAPHeaderBlock element = (SOAPHeaderBlock) 
headerBlocs.next();
+                    if(element.isProcessed()) {
+                        processedHeaderQNames.add(element.getQName());
+                    }
+                }
 
                 // Check the namespace and find SOAP version and factory
                 String nsURI = null;
@@ -110,7 +126,18 @@
                 SOAPEnvelope envelope = (stAXSOAPModelBuilder)
                         .getSOAPEnvelope();
                 ((OMNode) envelope.getParent()).build();
-
+                
+                //Set the processed flag of the processed headers
+                SOAPHeader header = envelope.getHeader();
+                for (Iterator iter = processedHeaderQNames.iterator(); iter
+                        .hasNext();) {
+                    QName name = (QName) iter.next();
+                    Iterator omKids = header.getChildrenWithName(name);
+                    if(omKids.hasNext()) {
+                        ((SOAPHeaderBlock)omKids.next()).setProcessed();
+                    }
+                }
+                
                 Element envElem = (Element) envelope;
                 return envElem.getOwnerDocument();
             } else {
@@ -135,11 +162,34 @@
 
         if(useDoom) {
             try {
+                //Get processed headers
+                SOAPEnvelope env = (SOAPEnvelope)doc.getDocumentElement(); 
+                Iterator headerBlocs = env.getHeader().getChildElements();
+                ArrayList processedHeaderQNames = new ArrayList();
+                while (headerBlocs.hasNext()) {
+                    SOAPHeaderBlock element = (SOAPHeaderBlock) 
headerBlocs.next();
+                    if(element.isProcessed()) {
+                        processedHeaderQNames.add(element.getQName());
+                    }
+                }
+                
                 XMLStreamReader reader = ((OMElement) doc.getDocumentElement())
                         .getXMLStreamReader();
                 StAXSOAPModelBuilder stAXSOAPModelBuilder = new 
StAXSOAPModelBuilder(
                         reader, null);
                 SOAPEnvelope envelope = stAXSOAPModelBuilder.getSOAPEnvelope();
+                
+                //Set the processed flag of the processed headers
+                SOAPHeader header = envelope.getHeader();
+                for (Iterator iter = processedHeaderQNames.iterator(); iter
+                        .hasNext();) {
+                    QName name = (QName) iter.next();
+                    Iterator omKids = header.getChildrenWithName(name);
+                    if(omKids.hasNext()) {
+                        ((SOAPHeaderBlock)omKids.next()).setProcessed();
+                    }
+                }
+                
                 envelope.build();
                 return envelope;
 
@@ -196,3 +246,4 @@
     }
     
 }
+

Modified: webservices/rampart/branches/java/1_2/modules/rampart-mar/pom.xml
URL: 
http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_2/modules/rampart-mar/pom.xml?view=diff&rev=544514&r1=544172&r2=544514
==============================================================================
--- webservices/rampart/branches/java/1_2/modules/rampart-mar/pom.xml (original)
+++ webservices/rampart/branches/java/1_2/modules/rampart-mar/pom.xml Tue Jun  
5 08:18:43 2007
@@ -7,7 +7,7 @@
     <groupId>org.apache.rampart</groupId>
     <artifactId>rampart</artifactId>
     <packaging>mar</packaging>
-    <version>1.2</version>
+    <version>1.21</version>
     <name>Rampart - Mar</name>
 
     <scm>

Modified: webservices/rampart/branches/java/1_2/modules/rampart-policy/pom.xml
URL: 
http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_2/modules/rampart-policy/pom.xml?view=diff&rev=544514&r1=544172&r2=544514
==============================================================================
--- webservices/rampart/branches/java/1_2/modules/rampart-policy/pom.xml 
(original)
+++ webservices/rampart/branches/java/1_2/modules/rampart-policy/pom.xml Tue 
Jun  5 08:18:43 2007
@@ -5,13 +5,13 @@
     <parent>
         <groupId>org.apache.rampart</groupId>
         <artifactId>rampart-project</artifactId>
-        <version>1.2</version>
+        <version>1.21</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
     <artifactId>rampart-policy</artifactId>
     <packaging>jar</packaging>
-    <version>1.2</version>
+    <version>1.21</version>
     <name>Rampart - Policy</name>
 
     <build>

Modified: webservices/rampart/branches/java/1_2/modules/rampart-tests/pom.xml
URL: 
http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_2/modules/rampart-tests/pom.xml?view=diff&rev=544514&r1=544172&r2=544514
==============================================================================
--- webservices/rampart/branches/java/1_2/modules/rampart-tests/pom.xml 
(original)
+++ webservices/rampart/branches/java/1_2/modules/rampart-tests/pom.xml Tue Jun 
 5 08:18:43 2007
@@ -5,13 +5,13 @@
     <parent>
         <groupId>org.apache.rampart</groupId>
         <artifactId>rampart-project</artifactId>
-        <version>1.2</version>
+        <version>1.21</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
     <artifactId>rampart-tests</artifactId>
     <packaging>jar</packaging>
-    <version>1.2</version>
+    <version>1.21</version>
     <name>Rampart - Test Suite</name>
 
     <build>

Modified: 
webservices/rampart/branches/java/1_2/modules/rampart-trust-mar/pom.xml
URL: 
http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_2/modules/rampart-trust-mar/pom.xml?view=diff&rev=544514&r1=544172&r2=544514
==============================================================================
--- webservices/rampart/branches/java/1_2/modules/rampart-trust-mar/pom.xml 
(original)
+++ webservices/rampart/branches/java/1_2/modules/rampart-trust-mar/pom.xml Tue 
Jun  5 08:18:43 2007
@@ -7,7 +7,7 @@
     <groupId>org.apache.rampart</groupId>
     <artifactId>rahas</artifactId>
     <packaging>mar</packaging>
-    <version>1.2</version>
+    <version>1.21</version>
     <name>Rampart - Trust-Mar</name>
 
     <scm>

Modified: webservices/rampart/branches/java/1_2/modules/rampart-trust/pom.xml
URL: 
http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_2/modules/rampart-trust/pom.xml?view=diff&rev=544514&r1=544172&r2=544514
==============================================================================
--- webservices/rampart/branches/java/1_2/modules/rampart-trust/pom.xml 
(original)
+++ webservices/rampart/branches/java/1_2/modules/rampart-trust/pom.xml Tue Jun 
 5 08:18:43 2007
@@ -5,13 +5,13 @@
     <parent>
         <groupId>org.apache.rampart</groupId>
         <artifactId>rampart-project</artifactId>
-        <version>1.2</version>
+        <version>1.21</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
     <artifactId>rampart-trust</artifactId>
     <packaging>jar</packaging>
-    <version>1.2</version>
+    <version>1.21</version>
     <name>Rampart - Trust</name>
 
     <build>

Modified: webservices/rampart/branches/java/1_2/pom.xml
URL: 
http://svn.apache.org/viewvc/webservices/rampart/branches/java/1_2/pom.xml?view=diff&rev=544514&r1=544172&r2=544514
==============================================================================
--- webservices/rampart/branches/java/1_2/pom.xml (original)
+++ webservices/rampart/branches/java/1_2/pom.xml Tue Jun  5 08:18:43 2007
@@ -8,7 +8,7 @@
     <packaging>pom</packaging>
     <description>WS-Security, WS-Trust and WS-SecureConversation implementaion 
for Apache
         Axis2</description>
-    <version>1.2</version>
+    <version>1.21</version>
     <name>Apache Rampart</name>
     <url>http://ws.apache.org/rampart</url>
 


Reply via email to