You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by na...@apache.org on 2008/01/29 15:30:44 UTC
svn commit: r616339 -
/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyBuilder.java
Author: nandana
Date: Tue Jan 29 06:30:42 2008
New Revision: 616339
URL: http://svn.apache.org/viewvc?rev=616339&view=rev
Log:
rampart-policy related changes to support WS Security Policy 1.2
Modified:
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyBuilder.java
Modified: webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyBuilder.java
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyBuilder.java?rev=616339&r1=616338&r2=616339&view=diff
==============================================================================
--- webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyBuilder.java (original)
+++ webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyBuilder.java Tue Jan 29 06:30:42 2008
@@ -23,11 +23,13 @@
import org.apache.ws.secpolicy.WSSPolicyException;
import org.apache.ws.secpolicy.model.AsymmetricBinding;
import org.apache.ws.secpolicy.model.Binding;
+import org.apache.ws.secpolicy.model.ContentEncryptedElements;
import org.apache.ws.secpolicy.model.EncryptionToken;
import org.apache.ws.secpolicy.model.Header;
import org.apache.ws.secpolicy.model.InitiatorToken;
import org.apache.ws.secpolicy.model.ProtectionToken;
import org.apache.ws.secpolicy.model.RecipientToken;
+import org.apache.ws.secpolicy.model.RequiredElements;
import org.apache.ws.secpolicy.model.SignatureToken;
import org.apache.ws.secpolicy.model.SignedEncryptedElements;
import org.apache.ws.secpolicy.model.SignedEncryptedParts;
@@ -95,7 +97,11 @@
rpd);
} else if (assertion instanceof SignedEncryptedParts) {
processSignedEncryptedParts((SignedEncryptedParts) assertion, rpd);
- } else if (assertion instanceof SupportingToken) {
+ } else if ( assertion instanceof RequiredElements) {
+ processRequiredElements((RequiredElements)assertion, rpd);
+ } else if (assertion instanceof ContentEncryptedElements) {
+ processContentEncryptedElements((ContentEncryptedElements) assertion, rpd);
+ }else if (assertion instanceof SupportingToken) {
processSupportingTokens((SupportingToken) assertion, rpd);
} else if (assertion instanceof Trust10) {
processTrust10((Trust10)assertion, rpd);
@@ -224,19 +230,40 @@
Iterator it = sep.getHeaders().iterator();
if (sep.isSignedParts()) {
rpd.setSignBody(sep.isBody());
+ rpd.setSignAttachments(sep.isAttachments());
while (it.hasNext()) {
Header header = (Header) it.next();
rpd.addSignedPart(header.getNamespace(), header.getName());
}
} else {
rpd.setEncryptBody(sep.isBody());
+ rpd.setEncryptAttachments(sep.isAttachments());
while (it.hasNext()) {
Header header = (Header) it.next();
rpd.setEncryptedParts(header.getNamespace(), header.getName(),"Header");
}
}
}
+
+ private static void processContentEncryptedElements(ContentEncryptedElements cee,
+ RampartPolicyData rpd) {
+
+ Iterator it = cee.getXPathExpressions().iterator();
+ while (it.hasNext()) {
+ rpd.setContentEncryptedElements((String) it.next());
+ }
+ rpd.addDeclaredNamespaces(cee.getDeclaredNamespaces());
+ }
+ private static void processRequiredElements(RequiredElements req,
+ RampartPolicyData rpd) {
+
+ Iterator it = req.getXPathExpressions().iterator();
+ while (it.hasNext()) {
+ rpd.setRequiredElements((String) it.next());
+ }
+ rpd.addDeclaredNamespaces(req.getDeclaredNamespaces());
+ }
/**
* Evaluate policy data that is common to all bindings.
*