Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/IssuedTokenBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/IssuedTokenBuilder.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/IssuedTokenBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/IssuedTokenBuilder.java Fri Mar 15 22:00:23 2013 @@ -84,9 +84,9 @@ public class IssuedTokenBuilder implemen Policy policy = PolicyEngine.getPolicy(policyElement); policy = (Policy) policy.normalize(false); - for (Iterator iterator = policy.getAlternatives(); iterator + for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator .hasNext();) { - processAlternative((List) iterator.next(), issuedToken); + processAlternative(iterator.next(), issuedToken); break; // since there should be only one alternative .. } } @@ -98,12 +98,12 @@ public class IssuedTokenBuilder implemen return new QName[] { SP12Constants.ISSUED_TOKEN }; } - private void processAlternative(List assertions, IssuedToken parent) { + private void processAlternative(List<Assertion> assertions, IssuedToken parent) { Assertion assertion; QName name; - for (Iterator iterator = assertions.iterator(); iterator.hasNext();) { - assertion = (Assertion) iterator.next(); + for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) { + assertion = iterator.next(); name = assertion.getName(); if (SP12Constants.REQUIRE_DERIVED_KEYS.equals(name)) {
Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/LayoutBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/LayoutBuilder.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/LayoutBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/LayoutBuilder.java Fri Mar 15 22:00:23 2013 @@ -38,8 +38,8 @@ public class LayoutBuilder implements As Policy policy = PolicyEngine.getPolicy(element.getFirstElement()); policy = (Policy) policy.normalize(false); - for (Iterator iterator = policy.getAlternatives(); iterator.hasNext(); ) { - processAlternative((List) iterator.next(), layout); + for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext(); ) { + processAlternative(iterator.next(), layout); break; // there should be only one alternative } @@ -50,10 +50,10 @@ public class LayoutBuilder implements As return new QName[] {SP12Constants.LAYOUT}; } - public void processAlternative(List assertions, Layout parent) { + public void processAlternative(List<Assertion> assertions, Layout parent) { - for (Iterator iterator = assertions.iterator(); iterator.hasNext();) { - Assertion assertion = (Assertion) iterator.next(); + for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) { + Assertion assertion = iterator.next(); QName qname = assertion.getName(); if (SP12Constants.STRICT.equals(qname)) { Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/ProtectionTokenBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/ProtectionTokenBuilder.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/ProtectionTokenBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/ProtectionTokenBuilder.java Fri Mar 15 22:00:23 2013 @@ -39,8 +39,8 @@ public class ProtectionTokenBuilder impl Policy policy = PolicyEngine.getPolicy(element.getFirstElement()); policy = (Policy) policy.normalize(false); - for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) { - processAlternative((List) iterator.next(), protectionToken); + for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) { + processAlternative(iterator.next(), protectionToken); break; // since there should be only one alternative .. } @@ -51,7 +51,7 @@ public class ProtectionTokenBuilder impl return new QName[] {SP12Constants.PROTECTION_TOKEN}; } - private void processAlternative(List assertions, ProtectionToken parent) { + private void processAlternative(List<Assertion> assertions, ProtectionToken parent) { Object token = assertions.get(0); if (token instanceof Token) { Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/RecipientTokenBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/RecipientTokenBuilder.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/RecipientTokenBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/RecipientTokenBuilder.java Fri Mar 15 22:00:23 2013 @@ -40,8 +40,8 @@ public class RecipientTokenBuilder imple Policy policy = PolicyEngine.getPolicy(element.getFirstElement()); policy = (Policy) policy.normalize(false); - for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) { - processAlternative((List) iterator.next(), recipientToken); + for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) { + processAlternative(iterator.next(), recipientToken); /* * for the moment we will pick the first token specified in the policy @@ -52,11 +52,11 @@ public class RecipientTokenBuilder imple return recipientToken; } - private void processAlternative(List assertions, RecipientToken parent) { + private void processAlternative(List<Assertion> assertions, RecipientToken parent) { Assertion assertion; - for (Iterator iterator = assertions.iterator(); iterator.hasNext();) { + for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) { assertion = (Assertion) iterator.next(); if (assertion instanceof Token) { Added: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignatureTokenBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignatureTokenBuilder.java?rev=1457145&view=auto ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignatureTokenBuilder.java (added) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignatureTokenBuilder.java Fri Mar 15 22:00:23 2013 @@ -0,0 +1,46 @@ +package org.apache.ws.secpolicy12.builders; + +import java.util.Iterator; +import java.util.List; + +import javax.xml.namespace.QName; + +import org.apache.axiom.om.OMElement; +import org.apache.neethi.Assertion; +import org.apache.neethi.AssertionBuilderFactory; +import org.apache.neethi.Policy; +import org.apache.neethi.PolicyEngine; +import org.apache.neethi.builders.AssertionBuilder; +import org.apache.ws.secpolicy.SP12Constants; +import org.apache.ws.secpolicy.SPConstants; +import org.apache.ws.secpolicy.model.SignatureToken; +import org.apache.ws.secpolicy.model.Token; + +public class SignatureTokenBuilder implements AssertionBuilder<OMElement> { + + public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException { + SignatureToken sigToken = new SignatureToken(SPConstants.SP_V12); + + Policy policy = PolicyEngine.getPolicy(element.getFirstElement()); + policy = (Policy) policy.normalize(false); + + for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) { + processAlternative(iterator.next(), sigToken); + break; // since there should be only one alternative .. + } + + return sigToken; + } + + public QName[] getKnownElements() { + return new QName[] {SP12Constants.SIGNATURE_TOKEN}; + } + + private void processAlternative(List<Assertion> assertions, SignatureToken parent) { + Object token = assertions.get(0); + + if (token instanceof Token) { + parent.setToken((Token) token); + } + } +} Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedPartsBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedPartsBuilder.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedPartsBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedPartsBuilder.java Fri Mar 15 22:00:23 2013 @@ -45,7 +45,7 @@ public class SignedPartsBuilder implemen .booleanValue()); } - //presense of <sp:SignedParts/> enforces the requirement for sign body and all the header blocks + //Presence of <sp:SignedParts/> enforces the requirement for sign body and all the header blocks if(!element.getChildren().hasNext()){ signedEncryptedParts.setBody(true); signedEncryptedParts.setSignAllHeaders(true); Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SupportingTokensBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SupportingTokensBuilder.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SupportingTokensBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SupportingTokensBuilder.java Fri Mar 15 22:00:23 2013 @@ -78,8 +78,8 @@ public class SupportingTokensBuilder imp Policy policy = PolicyEngine.getPolicy(element.getFirstElement()); policy = (Policy) policy.normalize(false); - for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) { - processAlternative((List) iterator.next(), supportingToken); + for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) { + processAlternative(iterator.next(), supportingToken); /* * for the moment we will say there should be only one alternative */ @@ -101,11 +101,11 @@ public class SupportingTokensBuilder imp }; } - private void processAlternative(List assertions, SupportingToken supportingToken) { + private void processAlternative(List<Assertion> assertions, SupportingToken supportingToken) { - for (Iterator iterator = assertions.iterator(); iterator.hasNext();) { + for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) { - Assertion primitive = (Assertion) iterator.next(); + Assertion primitive = iterator.next(); QName qname = primitive.getName(); if (SP12Constants.ALGORITHM_SUITE.equals(qname)) { Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SymmetricBindingBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SymmetricBindingBuilder.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SymmetricBindingBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SymmetricBindingBuilder.java Fri Mar 15 22:00:23 2013 @@ -28,9 +28,12 @@ import org.apache.neethi.PolicyEngine; import org.apache.neethi.builders.AssertionBuilder; import org.apache.ws.secpolicy.SPConstants; import org.apache.ws.secpolicy.SP12Constants; +import org.apache.ws.secpolicy.WSSPolicyException; import org.apache.ws.secpolicy.model.AlgorithmSuite; +import org.apache.ws.secpolicy.model.EncryptionToken; import org.apache.ws.secpolicy.model.Layout; import org.apache.ws.secpolicy.model.ProtectionToken; +import org.apache.ws.secpolicy.model.SignatureToken; import org.apache.ws.secpolicy.model.SymmetricBinding; public class SymmetricBindingBuilder implements AssertionBuilder<OMElement> { @@ -41,8 +44,8 @@ public class SymmetricBindingBuilder imp Policy policy = PolicyEngine.getPolicy(element.getFirstElement()); policy = (Policy) policy.normalize(false); - for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) { - processAlternatives((List) iterator.next(), symmetricBinding); + for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) { + processAlternatives(iterator.next(), symmetricBinding); /* * since there should be only one alternative .. @@ -56,37 +59,47 @@ public class SymmetricBindingBuilder imp return new QName[] {SP12Constants.SYMMETRIC_BINDING}; } - private void processAlternatives(List assertions, SymmetricBinding symmetricBinding) { + private void processAlternatives(List<Assertion> assertions, SymmetricBinding symmetricBinding) { Assertion assertion; QName name; - - for (Iterator iterator = assertions.iterator(); iterator.hasNext();) { - assertion = (Assertion) iterator.next(); - name = assertion.getName(); - - if (SP12Constants.ALGORITHM_SUITE.equals(name)) { - symmetricBinding.setAlgorithmSuite((AlgorithmSuite) assertion); - - } else if (SP12Constants.LAYOUT.equals(name)) { - symmetricBinding.setLayout((Layout) assertion); - - } else if (SP12Constants.INCLUDE_TIMESTAMP.equals(name)) { - symmetricBinding.setIncludeTimestamp(true); - - } else if (SP12Constants.PROTECTION_TOKEN.equals(name)) { - symmetricBinding.setProtectionToken((ProtectionToken) assertion); - - } else if (SP12Constants.ENCRYPT_BEFORE_SIGNING.equals(name)) { - symmetricBinding.setProtectionOrder(SPConstants.ENCRYPT_BEFORE_SIGNING); - - } else if (SP12Constants.SIGN_BEFORE_ENCRYPTING.equals(name)) { - symmetricBinding.setProtectionOrder(SPConstants.SIGN_BEFORE_ENCRYPTING); - - } else if (SP12Constants.ONLY_SIGN_ENTIRE_HEADERS_AND_BODY.equals(name)) { - symmetricBinding.setEntireHeadersAndBodySignatures(true); - } else if (SP12Constants.ENCRYPT_SIGNATURE.equals(name)) { - symmetricBinding.setSignatureProtection(true); - } - } + try { + for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) { + assertion = iterator.next(); + name = assertion.getName(); + + if (SP12Constants.ALGORITHM_SUITE.equals(name)) { + symmetricBinding.setAlgorithmSuite((AlgorithmSuite) assertion); + + } else if (SP12Constants.LAYOUT.equals(name)) { + symmetricBinding.setLayout((Layout) assertion); + + } else if (SP12Constants.INCLUDE_TIMESTAMP.equals(name)) { + symmetricBinding.setIncludeTimestamp(true); + + } else if (SP12Constants.PROTECTION_TOKEN.equals(name)) { + symmetricBinding.setProtectionToken((ProtectionToken) assertion); + + } else if (SP12Constants.ENCRYPT_BEFORE_SIGNING.equals(name)) { + symmetricBinding.setProtectionOrder(SPConstants.ENCRYPT_BEFORE_SIGNING); + + } else if (SP12Constants.SIGN_BEFORE_ENCRYPTING.equals(name)) { + symmetricBinding.setProtectionOrder(SPConstants.SIGN_BEFORE_ENCRYPTING); + + } else if (SP12Constants.ONLY_SIGN_ENTIRE_HEADERS_AND_BODY.equals(name)) { + symmetricBinding.setEntireHeadersAndBodySignatures(true); + + } else if (SP12Constants.ENCRYPT_SIGNATURE.equals(name)) { + symmetricBinding.setSignatureProtection(true); + + } else if (SP12Constants.ENCRYPTION_TOKEN.equals(name)) { + symmetricBinding.setEncryptionToken((EncryptionToken) assertion); + + } else if (SP12Constants.SIGNATURE_TOKEN.equals(name)) { + symmetricBinding.setSignatureToken((SignatureToken) assertion); + } + } + } catch (WSSPolicyException e) { + throw new IllegalArgumentException(e); + } } } Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportBindingBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportBindingBuilder.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportBindingBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportBindingBuilder.java Fri Mar 15 22:00:23 2013 @@ -42,8 +42,8 @@ public class TransportBindingBuilder imp Policy policy = PolicyEngine.getPolicy(element.getFirstElement()); policy = (Policy) policy.normalize(false); - for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) { - processAlternative((List) iterator.next(), transportBinding, factory); + for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) { + processAlternative(iterator.next(), transportBinding, factory); /* * since there should be only one alternative @@ -58,11 +58,11 @@ public class TransportBindingBuilder imp return new QName[] {SP12Constants.TRANSPORT_BINDING}; } - private void processAlternative(List assertionList, TransportBinding parent, AssertionBuilderFactory factory) { + private void processAlternative(List<Assertion> assertionList, TransportBinding parent, AssertionBuilderFactory factory) { - for (Iterator iterator = assertionList.iterator(); iterator.hasNext(); ) { + for (Iterator<Assertion> iterator = assertionList.iterator(); iterator.hasNext(); ) { - Assertion primitive = (Assertion) iterator.next(); + Assertion primitive = iterator.next(); QName name = primitive.getName(); if (name.equals(SP12Constants.ALGORITHM_SUITE)) { Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportTokenBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportTokenBuilder.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportTokenBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportTokenBuilder.java Fri Mar 15 22:00:23 2013 @@ -37,8 +37,8 @@ public class TransportTokenBuilder imple Policy policy = PolicyEngine.getPolicy(element.getFirstElement()); policy = (Policy) policy.normalize(false); - for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) { - processAlternative((List) iterator.next(), transportToken); + for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) { + processAlternative(iterator.next(), transportToken); break; // since there should be only one alternative } @@ -49,8 +49,8 @@ public class TransportTokenBuilder imple return new QName[] {SP12Constants.TRANSPORT_TOKEN}; } - private void processAlternative(List assertions, TransportToken parent) { - for (Iterator iterator = assertions.iterator(); iterator.hasNext();) { + private void processAlternative(List<Assertion> assertions, TransportToken parent) { + for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) { Assertion primtive = (Assertion) iterator.next(); QName qname = primtive.getName(); if(SP12Constants.HTTPS_TOKEN.equals(qname)){ Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/UsernameTokenBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/UsernameTokenBuilder.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/UsernameTokenBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/UsernameTokenBuilder.java Fri Mar 15 22:00:23 2013 @@ -58,8 +58,8 @@ public class UsernameTokenBuilder implem Policy policy = PolicyEngine.getPolicy(element.getFirstElement()); policy = (Policy) policy.normalize(false); - for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) { - processAlternative((List) iterator.next(), usernameToken); + for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) { + processAlternative(iterator.next(), usernameToken); /* * since there should be only one alternative @@ -75,9 +75,9 @@ public class UsernameTokenBuilder implem return new QName[] {SP12Constants.USERNAME_TOKEN}; } - private void processAlternative(List assertions, UsernameToken parent) { + private void processAlternative(List<Assertion> assertions, UsernameToken parent) { - for (Iterator iterator = assertions.iterator(); iterator.hasNext();) { + for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) { Assertion assertion = (Assertion) iterator.next(); QName qname = assertion.getName(); Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/WSS10Builder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/WSS10Builder.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/WSS10Builder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/WSS10Builder.java Fri Mar 15 22:00:23 2013 @@ -40,8 +40,8 @@ public class WSS10Builder implements Ass Policy policy = PolicyEngine.getPolicy(element.getFirstElement()); policy = (Policy) policy.normalize(false); - for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) { - processAlternative((List) iterator.next(), wss10); + for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) { + processAlternative(iterator.next(), wss10); /* * since there should be only one alternative */ @@ -55,13 +55,13 @@ public class WSS10Builder implements Ass return new QName[] {SP12Constants.WSS10}; } - private void processAlternative(List assertions, Wss10 parent) { + private void processAlternative(List<Assertion> assertions, Wss10 parent) { Assertion assertion; QName name; - for (Iterator iterator = assertions.iterator(); iterator.hasNext(); ) { - assertion = (Assertion) iterator.next(); + for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext(); ) { + assertion = iterator.next(); name = assertion.getName(); if (SP12Constants.MUST_SUPPORT_REF_KEY_IDENTIFIER.equals(name)) { Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/WSS11Builder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/WSS11Builder.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/WSS11Builder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/WSS11Builder.java Fri Mar 15 22:00:23 2013 @@ -39,8 +39,8 @@ public class WSS11Builder implements Ass Policy policy = PolicyEngine.getPolicy(element.getFirstElement()); policy = (Policy) policy.normalize(false); - for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) { - processAlternative((List) iterator.next(), wss11); + for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) { + processAlternative(iterator.next(), wss11); /* * since there should be only one alternative */ @@ -54,13 +54,13 @@ public class WSS11Builder implements Ass return new QName[] {SP12Constants.WSS11}; } - private void processAlternative(List assertions, Wss11 parent) { + private void processAlternative(List<Assertion> assertions, Wss11 parent) { Assertion assertion; QName name; - for (Iterator iterator = assertions.iterator(); iterator.hasNext();) { - assertion = (Assertion) iterator.next(); + for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) { + assertion = iterator.next(); name = assertion.getName(); if (SP12Constants.MUST_SUPPORT_REF_KEY_IDENTIFIER.equals(name)) { Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/X509TokenBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/X509TokenBuilder.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/X509TokenBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/X509TokenBuilder.java Fri Mar 15 22:00:23 2013 @@ -79,9 +79,9 @@ public class X509TokenBuilder implements Policy policy = PolicyEngine.getPolicy(element.getFirstElement()); policy = (Policy) policy.normalize(false); - for (Iterator iterator = policy.getAlternatives(); iterator + for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator .hasNext();) { - processAlternative((List) iterator.next(), x509Token); + processAlternative(iterator.next(), x509Token); /* * since there should be only one alternative @@ -107,12 +107,12 @@ public class X509TokenBuilder implements return x509Token; } - private void processAlternative(List assertions, X509Token parent) { + private void processAlternative(List<Assertion> assertions, X509Token parent) { Assertion assertion; QName name; - for (Iterator iterator = assertions.iterator(); iterator.hasNext();) { - assertion = (Assertion) iterator.next(); + for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) { + assertion = iterator.next(); name = assertion.getName(); if (SP12Constants.REQUIRE_KEY_IDENTIFIRE_REFERENCE.equals(name)) { Modified: axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/rampart/AsymmetricBindingBuilderTest.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/rampart/AsymmetricBindingBuilderTest.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/rampart/AsymmetricBindingBuilderTest.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/rampart/AsymmetricBindingBuilderTest.java Fri Mar 15 22:00:23 2013 @@ -38,7 +38,7 @@ public class AsymmetricBindingBuilderTes MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - ArrayList list = new ArrayList(); + ArrayList<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); list.add(new QName(WSConstants.WSSE_NS, WSConstants.BINARY_TOKEN_LN)); @@ -59,7 +59,7 @@ public class AsymmetricBindingBuilderTes MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - ArrayList list = new ArrayList(); + ArrayList<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); list.add(new QName(WSConstants.SIG_NS, WSConstants.SIG_LN)); @@ -79,7 +79,7 @@ public class AsymmetricBindingBuilderTes MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - ArrayList list = new ArrayList(); + ArrayList<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); list.add(new QName(WSConstants.WSSE_NS, WSConstants.BINARY_TOKEN_LN)); @@ -102,7 +102,7 @@ public class AsymmetricBindingBuilderTes MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - ArrayList list = new ArrayList(); + ArrayList<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); list.add(new QName(WSConstants.WSSE_NS, WSConstants.BINARY_TOKEN_LN)); @@ -124,7 +124,7 @@ public class AsymmetricBindingBuilderTes MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - ArrayList list = new ArrayList(); + ArrayList<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN)); @@ -148,7 +148,7 @@ public class AsymmetricBindingBuilderTes MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - ArrayList list = new ArrayList(); + ArrayList<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN)); @@ -170,7 +170,7 @@ public class AsymmetricBindingBuilderTes MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - ArrayList list = new ArrayList(); + ArrayList<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN)); @@ -191,7 +191,7 @@ public class AsymmetricBindingBuilderTes MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - ArrayList list = new ArrayList(); + ArrayList<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); list.add(new QName(WSConstants.WSSE_NS,WSConstants.BINARY_TOKEN_LN)); Modified: axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/rampart/MessageBuilderTestBase.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/rampart/MessageBuilderTestBase.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/rampart/MessageBuilderTestBase.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/rampart/MessageBuilderTestBase.java Fri Mar 15 22:00:23 2013 @@ -116,7 +116,7 @@ public class MessageBuilderTestBase exte return PolicyEngine.getPolicy(builder.getDocumentElement()); } - protected void verifySecHeader(Iterator qnameList, SOAPEnvelope env) { + protected void verifySecHeader(Iterator<QName> qnameList, SOAPEnvelope env) { Iterator secHeaderChildren = env.getHeader(). getFirstChildWithName(new QName(WSConstants.WSSE_NS, Modified: axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/rampart/SymmetricBindingBuilderTest.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/rampart/SymmetricBindingBuilderTest.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/rampart/SymmetricBindingBuilderTest.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/rampart/SymmetricBindingBuilderTest.java Fri Mar 15 22:00:23 2013 @@ -17,7 +17,6 @@ package org.apache.rampart; import java.util.ArrayList; -import java.util.Vector; import javax.xml.namespace.QName; @@ -40,7 +39,7 @@ public class SymmetricBindingBuilderTest MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - ArrayList list = new ArrayList(); + ArrayList<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN)); @@ -89,7 +88,7 @@ public class SymmetricBindingBuilderTest MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - ArrayList list = new ArrayList(); + ArrayList<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN)); @@ -113,7 +112,7 @@ public class SymmetricBindingBuilderTest MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - ArrayList list = new ArrayList(); + ArrayList<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN)); @@ -137,7 +136,7 @@ public class SymmetricBindingBuilderTest MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - ArrayList list = new ArrayList(); + ArrayList<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN)); @@ -159,7 +158,7 @@ public class SymmetricBindingBuilderTest MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - ArrayList list = new ArrayList(); + ArrayList<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN)); Modified: axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/rampart/TransportBindingBuilderTest.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/rampart/TransportBindingBuilderTest.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/rampart/TransportBindingBuilderTest.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/rampart/TransportBindingBuilderTest.java Fri Mar 15 22:00:23 2013 @@ -38,7 +38,7 @@ public class TransportBindingBuilderTest MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - List list = new ArrayList(); + List<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); list.add(new QName(WSConstants.WSSE_NS, WSConstants.USERNAME_TOKEN_LN)); list.add(new QName(WSConstants.WSSE_NS, WSConstants.BINARY_TOKEN_LN)); @@ -57,7 +57,7 @@ public class TransportBindingBuilderTest MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - List list = new ArrayList(); + List<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); list.add(new QName(WSConstants.WSSE_NS, WSConstants.USERNAME_TOKEN_LN)); list.add(new QName(WSConstants.SIG_NS, WSConstants.SIG_LN)); @@ -75,7 +75,7 @@ public class TransportBindingBuilderTest MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - List list = new ArrayList(); + List<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); list.add(new QName(WSConstants.WSSE_NS, WSConstants.USERNAME_TOKEN_LN)); list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN)); @@ -97,7 +97,7 @@ public class TransportBindingBuilderTest MessageBuilder builder = new MessageBuilder(); builder.build(ctx); - List list = new ArrayList(); + List<QName> list = new ArrayList<QName>(); list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN)); this.verifySecHeader(list.iterator(), ctx.getEnvelope()); } Modified: axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/ws/secpolicy/model/SecpolicyModelTest.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/ws/secpolicy/model/SecpolicyModelTest.java?rev=1457145&r1=1457144&r2=1457145&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/ws/secpolicy/model/SecpolicyModelTest.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-tests/src/test/java/org/apache/ws/secpolicy/model/SecpolicyModelTest.java Fri Mar 15 22:00:23 2013 @@ -35,12 +35,12 @@ public class SecpolicyModelTest extends public void testSymmBinding() throws Exception { Policy p = this.getPolicy("test-resources/policy-symm-binding.xml"); - List assertions = (List)p.getAlternatives().next(); + List<Assertion> assertions = (List<Assertion>)p.getAlternatives().next(); boolean symmBindingFound = false; - for (Iterator iter = assertions.iterator(); iter.hasNext();) { - Assertion assertion = (Assertion) iter.next(); + for (Iterator<Assertion> iter = assertions.iterator(); iter.hasNext();) { + Assertion assertion = iter.next(); if(assertion instanceof SymmetricBinding) { symmBindingFound = true; SymmetricBinding binding = (SymmetricBinding)assertion; @@ -67,11 +67,22 @@ public class SecpolicyModelTest extends public void testAsymmBinding() throws Exception { this.getPolicy("test-resources/policy-asymm-binding.xml"); } - + public void testTransportBinding() throws Exception { this.getPolicy("test-resources/policy-transport-binding.xml"); } + public void testSymmBindingWithBothProtectionTokenAndEncryptionToken() throws Exception { + boolean exceptionThrown = false; + try { + this.getPolicy("test-resources/policy-symm-binding-fault1.xml"); + } catch (IllegalArgumentException e) { + exceptionThrown = true; + } + assertTrue("Policy cannot contain both ProtectionToken and EncryptionToken", + exceptionThrown); + } + private Policy getPolicy(String filePath) throws Exception { OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(new FileInputStream(filePath)); OMElement elem = builder.getDocumentElement(); Added: axis/axis2/java/rampart/trunk/modules/rampart-tests/test-resources/policy-symm-binding-fault1.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-tests/test-resources/policy-symm-binding-fault1.xml?rev=1457145&view=auto ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-tests/test-resources/policy-symm-binding-fault1.xml (added) +++ axis/axis2/java/rampart/trunk/modules/rampart-tests/test-resources/policy-symm-binding-fault1.xml Fri Mar 15 22:00:23 2013 @@ -0,0 +1,64 @@ +<wsp:Policy wsu:Id="3" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> + <wsp:ExactlyOne> + <wsp:All> + <sp:SymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> + <wsp:Policy> + <sp:ProtectionToken> + <wsp:Policy> + <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never"> + <wsp:Policy> + <sp:RequireDerivedKeys/> + <sp:RequireThumbprintReference/> + <sp:WssX509V3Token10/> + </wsp:Policy> + </sp:X509Token> + </wsp:Policy> + </sp:ProtectionToken> + <sp:EncryptionToken> + <wsp:Policy> + <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never"> + <wsp:Policy> + <sp:RequireDerivedKeys/> + <sp:RequireThumbprintReference/> + <sp:WssX509V3Token10/> + </wsp:Policy> + </sp:X509Token> + </wsp:Policy> + </sp:EncryptionToken> + <sp:AlgorithmSuite> + <wsp:Policy> + <sp:Basic128/> + </wsp:Policy> + </sp:AlgorithmSuite> + <sp:Layout> + <wsp:Policy> + <sp:Strict/> + </wsp:Policy> + </sp:Layout> + <sp:IncludeTimestamp/> + <sp:EncryptSignature/> + <sp:OnlySignEntireHeadersAndBody/> + </wsp:Policy> + </sp:SymmetricBinding> + <sp:EndorsingSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> + <wsp:Policy> + <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"> + <wsp:Policy> + <sp:RequireThumbprintReference/> + <sp:WssX509V3Token10/> + </wsp:Policy> + </sp:X509Token> + </wsp:Policy> + </sp:EndorsingSupportingTokens> + <sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> + <wsp:Policy> + <sp:MustSupportRefKeyIdentifier/> + <sp:MustSupportRefIssuerSerial/> + <sp:MustSupportRefThumbprint/> + <sp:MustSupportRefEncryptedKey/> + <sp:RequireSignatureConfirmation/> + </wsp:Policy> + </sp:Wss11> + </wsp:All> + </wsp:ExactlyOne> +</wsp:Policy>