Author: ruchithf
Date: Fri May 25 09:11:25 2007
New Revision: 541708

URL: http://svn.apache.org/viewvc?view=rev&rev=541708
Log:
Committing the fix from RAMPART-38 and the testcase for both RAMPART-38 and 
RAMPART-40

Modified:
    
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
    
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
    webservices/rampart/trunk/java/modules/rampart-integration/pom.xml
    
webservices/rampart/trunk/java/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java
    
webservices/rampart/trunk/java/modules/rampart-integration/src/test/resources/rampart/services-11.xml

Modified: 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java?view=diff&rev=541708&r1=541707&r2=541708
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
 Fri May 25 09:11:25 2007
@@ -16,6 +16,18 @@
 
 package org.apache.rampart.builder;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.Vector;
+import java.util.Map.Entry;
+
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.UnsupportedCallbackException;
+
 import org.apache.axiom.om.OMElement;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -49,17 +61,6 @@
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.Vector;
-
 public abstract class BindingBuilder {
     private static Log log = LogFactory.getLog(BindingBuilder.class);
             
@@ -394,21 +395,25 @@
      * @throws RampartException
      */
     protected Vector addSignatureParts(HashMap tokenMap, Vector sigParts) 
throws RampartException {
-        
+       
         Set entrySet = tokenMap.entrySet();
         
         for (Iterator iter = entrySet.iterator(); iter.hasNext();) {
-            Object tempTok =  iter.next();
+            Object tempTok =  ((Entry)iter.next()).getValue();
             WSEncryptionPart part = null;
+            
             if(tempTok instanceof org.apache.rahas.Token) {
+               
                 part = new WSEncryptionPart(
                         ((org.apache.rahas.Token) tempTok).getId());
+                
             } else if(tempTok instanceof WSSecSignature) {
                 WSSecSignature tempSig = (WSSecSignature) tempTok;
                 if(tempSig.getBSTTokenId() != null) {
                     part = new WSEncryptionPart(tempSig.getBSTTokenId());
                 }
             } else {
+               
               throw new RampartException("UnsupportedTokenInSupportingToken"); 
 
             }
             sigParts.add(part);

Modified: 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java?view=diff&rev=541708&r1=541707&r2=541708
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
 Fri May 25 09:11:25 2007
@@ -520,16 +520,23 @@
         return (Element)secHeaderElem.appendChild(node);
     }
 
-    public static Element insertSiblingAfter(RampartMessageData rmd, Element 
child, Element sibling) {
-        if(child == null) {
+    public static Element insertSiblingAfter(RampartMessageData rmd,
+            Element child, Element sibling) {
+        if (child == null) {
             return appendChildToSecHeader(rmd, sibling);
         } else {
-            if(child.getOwnerDocument().equals(sibling.getOwnerDocument())) {
-                ((OMElement)child).insertSiblingAfter((OMElement)sibling);
+            if (child.getOwnerDocument().equals(sibling.getOwnerDocument())) {
+
+                if (child.getParentNode() == null
+                        && !child.getLocalName().equals("UsernameToken")) {
+                    rmd.getSecHeader().getSecurityHeader().appendChild(child);
+                }
+                ((OMElement) child).insertSiblingAfter((OMElement) sibling);
                 return sibling;
             } else {
-                Element newSib = 
(Element)child.getOwnerDocument().importNode(sibling, true);
-                ((OMElement)child).insertSiblingAfter((OMElement)newSib);
+                Element newSib = (Element) child.getOwnerDocument().importNode(
+                        sibling, true);
+                ((OMElement) child).insertSiblingAfter((OMElement) newSib);
                 return newSib;
             }
         }

Modified: webservices/rampart/trunk/java/modules/rampart-integration/pom.xml
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-integration/pom.xml?view=diff&rev=541708&r1=541707&r2=541708
==============================================================================
--- webservices/rampart/trunk/java/modules/rampart-integration/pom.xml 
(original)
+++ webservices/rampart/trunk/java/modules/rampart-integration/pom.xml Fri May 
25 09:11:25 2007
@@ -236,11 +236,17 @@
                                       
tofile="target/temp-ramp/META-INF/services.xml"/>
                                 <jar 
jarfile="target/test-resources/rampart_service_repo/services/SecureService9.aar"
                                      basedir="target/temp-ramp"/>
-                               <!-- Service 10 -->
+                                <!-- Service 10 -->
                                 <copy overwrite="yes"
                                       
file="src/test/resources/rampart/services-10.xml"
                                       
tofile="target/temp-ramp/META-INF/services.xml"/>
                                 <jar 
jarfile="target/test-resources/rampart_service_repo/services/SecureService10.aar"
+                                     basedir="target/temp-ramp"/>
+                               <!-- Service 11 -->
+                               <copy overwrite="yes"
+                                      
file="src/test/resources/rampart/services-11.xml"
+                                      
tofile="target/temp-ramp/META-INF/services.xml"/>
+                                <jar 
jarfile="target/test-resources/rampart_service_repo/services/SecureService11.aar"
                                      basedir="target/temp-ramp"/>
                                 <!-- Service SC-1 -->
                                 <copy overwrite="yes"

Modified: 
webservices/rampart/trunk/java/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java?view=diff&rev=541708&r1=541707&r2=541708
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java
 Fri May 25 09:11:25 2007
@@ -75,7 +75,7 @@
                         "Unlimited Strength Jurisdiction Policy !!!");
             }
             
-            for (int i = 1; i <= 10; i++) { //<-The number of tests we have
+            for (int i = 1; i <= 11; i++) { //<-The number of tests we have
                 if(!basic256Supported && (i == 3 || i == 4 || i ==5)) {
                     //Skip the Basic256 tests
                     continue;

Modified: 
webservices/rampart/trunk/java/modules/rampart-integration/src/test/resources/rampart/services-11.xml
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-integration/src/test/resources/rampart/services-11.xml?view=diff&rev=541708&r1=541707&r2=541708
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-integration/src/test/resources/rampart/services-11.xml
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-integration/src/test/resources/rampart/services-11.xml
 Fri May 25 09:11:25 2007
@@ -15,7 +15,7 @@
  ! See the License for the specific language governing permissions and
  ! limitations under the License.
  !-->
-<service name="SecureService10">
+<service name="SecureService11">
                <!--No timestamp test-->
        <module ref="addressing"/>
        <module ref="rampart"/>


Reply via email to