You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by we...@apache.org on 2006/01/11 15:57:57 UTC

svn commit: r368034 [1/2] - in /webservices/commons/trunk/policy/src/examples/secParser: ./ processors/

Author: werner
Date: Wed Jan 11 06:57:47 2006
New Revision: 368034

URL: http://svn.apache.org/viewcvs?rev=368034&view=rev
Log:
Another next step for a security policy processor - still imcomplete.

Added:
    webservices/commons/trunk/policy/src/examples/secParser/processors/
    webservices/commons/trunk/policy/src/examples/secParser/processors/AlgorithmSuiteProcessor.java
    webservices/commons/trunk/policy/src/examples/secParser/processors/AsymmetricBindingProcessor.java
    webservices/commons/trunk/policy/src/examples/secParser/processors/EncryptedPartsElementsProcessor.java
    webservices/commons/trunk/policy/src/examples/secParser/processors/EndorsingSupportingTokensProcessor.java
    webservices/commons/trunk/policy/src/examples/secParser/processors/InitiatorReceipientTokenProcessor.java
    webservices/commons/trunk/policy/src/examples/secParser/processors/LayoutProcessor.java
    webservices/commons/trunk/policy/src/examples/secParser/processors/SignEncProtectTokenProcessor.java
    webservices/commons/trunk/policy/src/examples/secParser/processors/SignedEndorsingSupportingTokensProcessor.java
    webservices/commons/trunk/policy/src/examples/secParser/processors/SignedPartsElementsProcessor.java
    webservices/commons/trunk/policy/src/examples/secParser/processors/SignedSupportingTokensProcessor.java
    webservices/commons/trunk/policy/src/examples/secParser/processors/SupportingTokensProcessor.java
    webservices/commons/trunk/policy/src/examples/secParser/processors/SymmetricBindingProcessor.java
    webservices/commons/trunk/policy/src/examples/secParser/processors/UsernameTokenProcessor.java
    webservices/commons/trunk/policy/src/examples/secParser/processors/X509TokenProcessor.java
Removed:
    webservices/commons/trunk/policy/src/examples/secParser/EncryptedPartsElementsProcessor.java
    webservices/commons/trunk/policy/src/examples/secParser/SignedPartsElementsProcessor.java
    webservices/commons/trunk/policy/src/examples/secParser/UsernameTokenProcessor.java
    webservices/commons/trunk/policy/src/examples/secParser/X509TokenProcessor.java
Modified:
    webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicy.java
    webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicyToken.java
    webservices/commons/trunk/policy/src/examples/secParser/SecurityProcessorContext.java
    webservices/commons/trunk/policy/src/examples/secParser/WSSPolicyProcessorFull.java

Modified: webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicy.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicy.java?rev=368034&r1=368033&r2=368034&view=diff
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicy.java (original)
+++ webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicy.java Wed Jan 11 06:57:47 2006
@@ -15,148 +15,146 @@
  */
 package examples.secParser;
 
-import java.util.ArrayList;
-
 public class SecurityPolicy {
 
-	SecurityPolicyToken signedParts = new SecurityPolicyToken("SignedParts",
+	public static final SecurityPolicyToken signedParts = new SecurityPolicyToken("SignedParts",
 			SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicyToken header = new SecurityPolicyToken("Header",
+	public static final SecurityPolicyToken header = new SecurityPolicyToken("Header",
 			SecurityPolicyToken.SIMPLE_TOKEN, new String[] { "Name",
 					"Namespace" });
 
-	SecurityPolicyToken body = new SecurityPolicyToken("Body",
+	public static final SecurityPolicyToken body = new SecurityPolicyToken("Body",
 			SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken signedElements = new SecurityPolicyToken(
+	public static final SecurityPolicyToken signedElements = new SecurityPolicyToken(
 			"SignedElements", SecurityPolicyToken.COMPLEX_TOKEN,
 			new String[] { "XPathVersion" });
 
-	SecurityPolicyToken xPath = new SecurityPolicyToken(
+	public static final SecurityPolicyToken xPath = new SecurityPolicyToken(
 			"XPath",
 			SecurityPolicyToken.SIMPLE_TOKEN | SecurityPolicyToken.WITH_CONTENT,
 			null);
 
-	SecurityPolicyToken encryptedParts = new SecurityPolicyToken(
+	public static final SecurityPolicyToken encryptedParts = new SecurityPolicyToken(
 			"EncryptedParts", SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicyToken encryptedElements = new SecurityPolicyToken(
+	public static final SecurityPolicyToken encryptedElements = new SecurityPolicyToken(
 			"EncryptedElements", SecurityPolicyToken.COMPLEX_TOKEN,
 			new String[] { "XPathVersion" });
 
-	SecurityPolicyToken requiredElements = new SecurityPolicyToken(
+	public static final SecurityPolicyToken requiredElements = new SecurityPolicyToken(
 			"RequiredElements", SecurityPolicyToken.COMPLEX_TOKEN,
 			new String[] { "XPathVersion" });
 
-	SecurityPolicyToken usernameToken = new SecurityPolicyToken(
+	public static final SecurityPolicyToken usernameToken = new SecurityPolicyToken(
 			"UsernameToken", SecurityPolicyToken.COMPLEX_TOKEN,
 			new String[] { "IncludeToken" });
 
-	SecurityPolicyToken wssUsernameToken10 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssUsernameToken10 = new SecurityPolicyToken(
 			"WssUsernameToken10", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken wssUsernameToken11 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssUsernameToken11 = new SecurityPolicyToken(
 			"WssUsernameToken11", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken issuedToken = new SecurityPolicyToken("IssuedToken",
+	public static final SecurityPolicyToken issuedToken = new SecurityPolicyToken("IssuedToken",
 			SecurityPolicyToken.COMPLEX_TOKEN, new String[] { "IncludeToken" });
 
-	SecurityPolicyToken issuer = new SecurityPolicyToken(
+	public static final SecurityPolicyToken issuer = new SecurityPolicyToken(
 			"Issuer",
 			SecurityPolicyToken.SIMPLE_TOKEN | SecurityPolicyToken.WITH_CONTENT,
 			null);
 
-	SecurityPolicyToken requestSecurityTokenTemplate = new SecurityPolicyToken(
+	public static final SecurityPolicyToken requestSecurityTokenTemplate = new SecurityPolicyToken(
 			"RequestSecurityTokenTemplate", SecurityPolicyToken.COMPLEX_TOKEN
 					| SecurityPolicyToken.WITH_CONTENT,
 			new String[] { "TrustVersion" });
 
-	SecurityPolicyToken requireDerivedKeys = new SecurityPolicyToken(
+	public static final SecurityPolicyToken requireDerivedKeys = new SecurityPolicyToken(
 			"RequireDerivedKeys", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken requireExternalReference = new SecurityPolicyToken(
+	public static final SecurityPolicyToken requireExternalReference = new SecurityPolicyToken(
 			"RequireExternalReference", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken requireInternalReference = new SecurityPolicyToken(
+	public static final SecurityPolicyToken requireInternalReference = new SecurityPolicyToken(
 			"RequireInternalReference", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken x509Token = new SecurityPolicyToken("X509Token",
+	public static final SecurityPolicyToken x509Token = new SecurityPolicyToken("X509Token",
 			SecurityPolicyToken.COMPLEX_TOKEN, new String[] { "IncludeToken" });
 
-	SecurityPolicyToken requireKeyIdentifierReference = new SecurityPolicyToken(
+	public static final SecurityPolicyToken requireKeyIdentifierReference = new SecurityPolicyToken(
 			"RequireKeyIdentifierReference", SecurityPolicyToken.SIMPLE_TOKEN,
 			null);
 
-	SecurityPolicyToken requireIssuerSerialReference = new SecurityPolicyToken(
+	public static final SecurityPolicyToken requireIssuerSerialReference = new SecurityPolicyToken(
 			"RequireIssuerSerialReference", SecurityPolicyToken.SIMPLE_TOKEN,
 			null);
 
-	SecurityPolicyToken requireEmbeddedTokenReference = new SecurityPolicyToken(
+	public static final SecurityPolicyToken requireEmbeddedTokenReference = new SecurityPolicyToken(
 			"RequiredEmbeddedTokenReference", SecurityPolicyToken.SIMPLE_TOKEN,
 			null);
 
-	SecurityPolicyToken requireThumbprintReference = new SecurityPolicyToken(
+	public static final SecurityPolicyToken requireThumbprintReference = new SecurityPolicyToken(
 			"RequireThumbprintReference", SecurityPolicyToken.SIMPLE_TOKEN,
 			null);
 
-	SecurityPolicyToken wssX509V1Token10 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssX509V1Token10 = new SecurityPolicyToken(
 			"WssX509V1Token10", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken wssX509V3Token10 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssX509V3Token10 = new SecurityPolicyToken(
 			"WssX509V3Token10", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken wssX509Pkcs7Token10 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssX509Pkcs7Token10 = new SecurityPolicyToken(
 			"WssX509Pkcs7Token10", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken wssX509PkiPathV1Token10 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssX509PkiPathV1Token10 = new SecurityPolicyToken(
 			"WssX509PkiPathV1Token10", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken wssX509V1Token11 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssX509V1Token11 = new SecurityPolicyToken(
 			"WssX509V1Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken wssX509V3Token11 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssX509V3Token11 = new SecurityPolicyToken(
 			"WssX509V3Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken wssX509Pkcs7Token11 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssX509Pkcs7Token11 = new SecurityPolicyToken(
 			"WssX509Pkcs7Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken wssX509PkiPathV1Token11 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssX509PkiPathV1Token11 = new SecurityPolicyToken(
 			"WssX509PkiPathV1Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken kerberosToken = new SecurityPolicyToken(
+	public static final SecurityPolicyToken kerberosToken = new SecurityPolicyToken(
 			"KerberosToken", SecurityPolicyToken.COMPLEX_TOKEN,
 			new String[] { "IncludeToken" });
 
 	// requireDerivedKeys already defined for issuedToken
 	// requireKeyIdentifierReference already defined for x509Token
-	SecurityPolicyToken wssKerberosV5ApReqToken11 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssKerberosV5ApReqToken11 = new SecurityPolicyToken(
 			"WssKerberosV5ApReqToken11", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken wssGssKerberosV5ApReqToken11 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssGssKerberosV5ApReqToken11 = new SecurityPolicyToken(
 			"WssGssKerberosV5ApReqToken11", SecurityPolicyToken.SIMPLE_TOKEN,
 			null);
 
-	SecurityPolicyToken spnegoContextToken = new SecurityPolicyToken(
+	public static final SecurityPolicyToken spnegoContextToken = new SecurityPolicyToken(
 			"SpnegoContextToken", SecurityPolicyToken.COMPLEX_TOKEN,
 			new String[] { "IncludeToken" });
 
 	// issuer already defined for issuedToken
 	// requireDerivedKeys already defined for issuedToken
 
-	SecurityPolicyToken securityContextToken = new SecurityPolicyToken(
+	public static final SecurityPolicyToken securityContextToken = new SecurityPolicyToken(
 			"SecurityContextToken", SecurityPolicyToken.COMPLEX_TOKEN,
 			new String[] { "IncludeToken" });
 
 	// requireDerivedKeys already defined for issuedToken
-	SecurityPolicyToken requireExternalUriReference = new SecurityPolicyToken(
+	public static final SecurityPolicyToken requireExternalUriReference = new SecurityPolicyToken(
 			"RequireExternalUriReference", SecurityPolicyToken.SIMPLE_TOKEN,
 			null);
 
-	SecurityPolicyToken sc10SecurityContextToken = new SecurityPolicyToken(
+	public static final SecurityPolicyToken sc10SecurityContextToken = new SecurityPolicyToken(
 			"SC10SecurityContextToken", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken secureConversationToken = new SecurityPolicyToken(
+	public static final SecurityPolicyToken secureConversationToken = new SecurityPolicyToken(
 			"SecureConversationToken", SecurityPolicyToken.COMPLEX_TOKEN,
 			new String[] { "IncludeToken" });
 
@@ -164,251 +162,251 @@
 	// requireDerivedKeys already defined for issuedToken
 	// requireExternalUriReference is already defined for SecurityContextToken
 	// sc10SecurityContextToken is already defined for SecurityContextToken
-	SecurityPolicyToken bootstrapPolicy = new SecurityPolicyToken(
+	public static final SecurityPolicyToken bootstrapPolicy = new SecurityPolicyToken(
 			"BootstrapPolicy", SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicyToken samlToken = new SecurityPolicyToken("SamlToken",
+	public static final SecurityPolicyToken samlToken = new SecurityPolicyToken("SamlToken",
 			SecurityPolicyToken.COMPLEX_TOKEN, new String[] { "IncludeToken" });
 
 	// requireDerivedKeys already defined for issuedToken
 	// requireKeyIdentifierReference already defined for x509Token
-	SecurityPolicyToken wssSamlV10Token10 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssSamlV10Token10 = new SecurityPolicyToken(
 			"WssSamlV10Token10", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken wssSamlV11Token10 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssSamlV11Token10 = new SecurityPolicyToken(
 			"WssSamlV11Token10", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken wssSamlV10Token11 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssSamlV10Token11 = new SecurityPolicyToken(
 			"WssSamlV10Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken wssSamlV11Token11 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssSamlV11Token11 = new SecurityPolicyToken(
 			"WssSamlV11Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken wssSamlV20Token11 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssSamlV20Token11 = new SecurityPolicyToken(
 			"WssSamlV20Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken relToken = new SecurityPolicyToken("RelToken",
+	public static final SecurityPolicyToken relToken = new SecurityPolicyToken("RelToken",
 			SecurityPolicyToken.COMPLEX_TOKEN, new String[] { "IncludeToken" });
 
 	// requireDerivedKeys already defined for issuedToken
 	// requireKeyIdentifierReference already defined for x509Token
-	SecurityPolicyToken wssRelV10Token10 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssRelV10Token10 = new SecurityPolicyToken(
 			"WssRelV10Token10", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken wssRelV20Token10 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssRelV20Token10 = new SecurityPolicyToken(
 			"WssRelV20Token10", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken wssRelV10Token11 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssRelV10Token11 = new SecurityPolicyToken(
 			"WssRelV10Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken wssRelV20Token11 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken wssRelV20Token11 = new SecurityPolicyToken(
 			"WssRelV20Token11", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken httpsToken = new SecurityPolicyToken("RelToken",
+	public static final SecurityPolicyToken httpsToken = new SecurityPolicyToken("RelToken",
 			SecurityPolicyToken.COMPLEX_TOKEN,
 			new String[] { "RequireClientCertificate" });
 
-	SecurityPolicyToken algorithmSuite = new SecurityPolicyToken("RelToken",
+	public static final SecurityPolicyToken algorithmSuite = new SecurityPolicyToken("RelToken",
 			SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicyToken basic256 = new SecurityPolicyToken("Basic256",
+	public static final SecurityPolicyToken basic256 = new SecurityPolicyToken("Basic256",
 			SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken basic192 = new SecurityPolicyToken("Basic192",
+	public static final SecurityPolicyToken basic192 = new SecurityPolicyToken("Basic192",
 			SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken basic128 = new SecurityPolicyToken("Basic128",
+	public static final SecurityPolicyToken basic128 = new SecurityPolicyToken("Basic128",
 			SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken tripleDes = new SecurityPolicyToken("TripleDes",
+	public static final SecurityPolicyToken tripleDes = new SecurityPolicyToken("TripleDes",
 			SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken basic256Rsa15 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken basic256Rsa15 = new SecurityPolicyToken(
 			"Basic256Rsa15", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken basic192Rsa15 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken basic192Rsa15 = new SecurityPolicyToken(
 			"Basic192Rsa15", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken basic128Rsa15 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken basic128Rsa15 = new SecurityPolicyToken(
 			"Basic128Rsa15", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken tripleDesRsa15 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken tripleDesRsa15 = new SecurityPolicyToken(
 			"TripleDesRsa15", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken basic256Sha256 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken basic256Sha256 = new SecurityPolicyToken(
 			"Basic256Sha256", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken basic192Sha256 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken basic192Sha256 = new SecurityPolicyToken(
 			"Basic192Sha256", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken basic128Sha256 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken basic128Sha256 = new SecurityPolicyToken(
 			"Basic128Sha256", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken tripleDesSha256 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken tripleDesSha256 = new SecurityPolicyToken(
 			"TripleDesSha256", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken basic256Sha256Rsa15 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken basic256Sha256Rsa15 = new SecurityPolicyToken(
 			"Basic256Sha256Rsa15", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken basic192Sha256Rsa15 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken basic192Sha256Rsa15 = new SecurityPolicyToken(
 			"Basic192Sha256Rsa15", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken basic128Sha256Rsa15 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken basic128Sha256Rsa15 = new SecurityPolicyToken(
 			"Basic128Sha256Rsa15", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken tripleDesSha256Rsa15 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken tripleDesSha256Rsa15 = new SecurityPolicyToken(
 			"TripleDesSha256Rsa15", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken inclusiveC14N = new SecurityPolicyToken(
+	public static final SecurityPolicyToken inclusiveC14N = new SecurityPolicyToken(
 			"InclusiveC14N", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken soapNormalization10 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken soapNormalization10 = new SecurityPolicyToken(
 			"SoapNormalization10", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken strTransform10 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken strTransform10 = new SecurityPolicyToken(
 			"StrTransform10", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken xPath10 = new SecurityPolicyToken("XPath10",
+	public static final SecurityPolicyToken xPath10 = new SecurityPolicyToken("XPath10",
 			SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken xPathFilter20 = new SecurityPolicyToken(
+	public static final SecurityPolicyToken xPathFilter20 = new SecurityPolicyToken(
 			"XPathFilter20", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken layout = new SecurityPolicyToken("Layout",
+	public static final SecurityPolicyToken layout = new SecurityPolicyToken("Layout",
 			SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicyToken strict = new SecurityPolicyToken("Strict",
+	public static final SecurityPolicyToken strict = new SecurityPolicyToken("Strict",
 			SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken lax = new SecurityPolicyToken("Lax",
+	public static final SecurityPolicyToken lax = new SecurityPolicyToken("Lax",
 			SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken laxTsFirst = new SecurityPolicyToken("LaxTsFirst",
+	public static final SecurityPolicyToken laxTsFirst = new SecurityPolicyToken("LaxTsFirst",
 			SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken laxTsLast = new SecurityPolicyToken("LaxTsLast",
+	public static final SecurityPolicyToken laxTsLast = new SecurityPolicyToken("LaxTsLast",
 			SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken transportBinding = new SecurityPolicyToken(
+	public static final SecurityPolicyToken transportBinding = new SecurityPolicyToken(
 			"TransportBinding", SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicyToken transportToken = new SecurityPolicyToken(
+	public static final SecurityPolicyToken transportToken = new SecurityPolicyToken(
 			"TransportToken", SecurityPolicyToken.COMPLEX_TOKEN, null);
 
 	// algorithmSuite and layout see above
-	SecurityPolicyToken includeTimestamp = new SecurityPolicyToken(
+	public static final SecurityPolicyToken includeTimestamp = new SecurityPolicyToken(
 			"IncludeTimestamp", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken symmetricBinding = new SecurityPolicyToken(
+	public static final SecurityPolicyToken symmetricBinding = new SecurityPolicyToken(
 			"SymmetricBinding", SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicyToken encryptionToken = new SecurityPolicyToken(
+	public static final SecurityPolicyToken encryptionToken = new SecurityPolicyToken(
 			"EncryptionToken", SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicyToken signatureToken = new SecurityPolicyToken(
+	public static final SecurityPolicyToken signatureToken = new SecurityPolicyToken(
 			"SignatureToken", SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicyToken protectionToken = new SecurityPolicyToken(
+	public static final SecurityPolicyToken protectionToken = new SecurityPolicyToken(
 			"ProtectionToken", SecurityPolicyToken.COMPLEX_TOKEN, null);
 
 	// algorithmSuite and layout see above
 	// includeTimestamp already defined for transport binding
-	SecurityPolicyToken encryptBeforeSigning = new SecurityPolicyToken(
+	public static final SecurityPolicyToken encryptBeforeSigning = new SecurityPolicyToken(
 			"EncryptBeforeSigning", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken encryptSignature = new SecurityPolicyToken(
+	public static final SecurityPolicyToken encryptSignature = new SecurityPolicyToken(
 			"EncryptSignature", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken protectTokens = new SecurityPolicyToken(
+	public static final SecurityPolicyToken protectTokens = new SecurityPolicyToken(
 			"ProtectTokens", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken onlySignEntireHeadersAndBody = new SecurityPolicyToken(
+	public static final SecurityPolicyToken onlySignEntireHeadersAndBody = new SecurityPolicyToken(
 			"OnlySignEntireHeadersAndBody", SecurityPolicyToken.SIMPLE_TOKEN,
 			null);
 
-	SecurityPolicyToken asymmetricBinding = new SecurityPolicyToken(
+	public static final SecurityPolicyToken asymmetricBinding = new SecurityPolicyToken(
 			"AsymmetricBinding", SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicyToken initiatorToken = new SecurityPolicyToken(
+	public static final SecurityPolicyToken initiatorToken = new SecurityPolicyToken(
 			"InitiatorToken", SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicyToken receipientToken = new SecurityPolicyToken(
+	public static final SecurityPolicyToken receipientToken = new SecurityPolicyToken(
 			"ReceipientToken", SecurityPolicyToken.COMPLEX_TOKEN, null);
 
 	// all other tokens for asymmetric already defined above
 
-	SecurityPolicyToken supportingTokens = new SecurityPolicyToken(
+	public static final SecurityPolicyToken supportingTokens = new SecurityPolicyToken(
 			"SupportingTokens", SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicyToken signedSupportingTokens = new SecurityPolicyToken(
+	public static final SecurityPolicyToken signedSupportingTokens = new SecurityPolicyToken(
 			"SignedSupportingTokens", SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicyToken endorsingSupportingTokens = new SecurityPolicyToken(
+	public static final SecurityPolicyToken endorsingSupportingTokens = new SecurityPolicyToken(
 			"EndorsingSupportingTokens", SecurityPolicyToken.COMPLEX_TOKEN,
 			null);
 
-	SecurityPolicyToken signedEndorsingSupportingTokens = new SecurityPolicyToken(
+	public static final SecurityPolicyToken signedEndorsingSupportingTokens = new SecurityPolicyToken(
 			"SignedEndorsingSupportingTokens",
 			SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicyToken wss10 = new SecurityPolicyToken("wss10",
+	public static final SecurityPolicyToken wss10 = new SecurityPolicyToken("wss10",
 			SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicyToken mustSupportRefKeyIdentifier = new SecurityPolicyToken(
+	public static final SecurityPolicyToken mustSupportRefKeyIdentifier = new SecurityPolicyToken(
 			"MustSupportRefKeyIdentifier", SecurityPolicyToken.SIMPLE_TOKEN,
 			null);
 
-	SecurityPolicyToken mustSupportRefIssuerSerial = new SecurityPolicyToken(
+	public static final SecurityPolicyToken mustSupportRefIssuerSerial = new SecurityPolicyToken(
 			"MustSupportRefIssuerSerial", SecurityPolicyToken.SIMPLE_TOKEN,
 			null);
 
-	SecurityPolicyToken mustSupportRefExternalUri = new SecurityPolicyToken(
+	public static final SecurityPolicyToken mustSupportRefExternalUri = new SecurityPolicyToken(
 			"MustSupportRefExternalUri", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken mustSupportRefEmbeddedToken = new SecurityPolicyToken(
+	public static final SecurityPolicyToken mustSupportRefEmbeddedToken = new SecurityPolicyToken(
 			"MustSupportRefEmbeddedToken", SecurityPolicyToken.SIMPLE_TOKEN,
 			null);
 
-	SecurityPolicyToken wss11 = new SecurityPolicyToken("wss11",
+	public static final SecurityPolicyToken wss11 = new SecurityPolicyToken("wss11",
 			SecurityPolicyToken.COMPLEX_TOKEN, null);
 
 	// all from wss10
-	SecurityPolicyToken mustSupportRefKeyThumbprint = new SecurityPolicyToken(
+	public static final SecurityPolicyToken mustSupportRefKeyThumbprint = new SecurityPolicyToken(
 			"mustSupportRefKeyThumbprint", SecurityPolicyToken.SIMPLE_TOKEN,
 			null);
 
-	SecurityPolicyToken mustSupportRefKeyEncryptedKey = new SecurityPolicyToken(
+	public static final SecurityPolicyToken mustSupportRefKeyEncryptedKey = new SecurityPolicyToken(
 			"mustSupportRefKeyEncryptedKey", SecurityPolicyToken.SIMPLE_TOKEN,
 			null);
 
-	SecurityPolicyToken requireSignatureConfirmation = new SecurityPolicyToken(
+	public static final SecurityPolicyToken requireSignatureConfirmation = new SecurityPolicyToken(
 			"requireSignatureConfirmation", SecurityPolicyToken.SIMPLE_TOKEN,
 			null);
 
-	SecurityPolicyToken trust10 = new SecurityPolicyToken("trust10",
+	public static final SecurityPolicyToken trust10 = new SecurityPolicyToken("trust10",
 			SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicyToken mustSupportClientChallenge = new SecurityPolicyToken(
+	public static final SecurityPolicyToken mustSupportClientChallenge = new SecurityPolicyToken(
 			"mustSupportClientChallenge", SecurityPolicyToken.SIMPLE_TOKEN,
 			null);
 
-	SecurityPolicyToken mustSupportServerChallenge = new SecurityPolicyToken(
+	public static final SecurityPolicyToken mustSupportServerChallenge = new SecurityPolicyToken(
 			"mustSupportServerChallenge", SecurityPolicyToken.SIMPLE_TOKEN,
 			null);
 
-	SecurityPolicyToken requireClientEntropy = new SecurityPolicyToken(
+	public static final SecurityPolicyToken requireClientEntropy = new SecurityPolicyToken(
 			"requireClientEntropy", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken requireServerEntropy = new SecurityPolicyToken(
+	public static final SecurityPolicyToken requireServerEntropy = new SecurityPolicyToken(
 			"requireServerEntropy", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	SecurityPolicyToken mustSupportIssuedTokens = new SecurityPolicyToken(
+	public static final SecurityPolicyToken mustSupportIssuedTokens = new SecurityPolicyToken(
 			"mustSupportIssuedTokens", SecurityPolicyToken.SIMPLE_TOKEN, null);
 
-	String includeNever = "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never";
+	public static final String includeNever = "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never";
 
-	String includeOnce = "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Once";
+	public static final String includeOnce = "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Once";
 
-	String includeAlways = "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always";
+	public static final String includeAlways = "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always";
 
 }

Modified: webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicyToken.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicyToken.java?rev=368034&r1=368033&r2=368034&view=diff
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicyToken.java (original)
+++ webservices/commons/trunk/policy/src/examples/secParser/SecurityPolicyToken.java Wed Jan 11 06:57:47 2006
@@ -200,6 +200,23 @@
 	}
 
 	/**
+	 * Remove a named child token,
+	 * 
+	 * @param sptName
+	 *            The token name to remove
+	 */
+	public void removeChildToken(String sptName) {
+		Iterator it = childTokens.iterator();
+		while (it.hasNext()) {
+			SecurityPolicyToken tmpSpt = (SecurityPolicyToken) it.next();
+			if (sptName.equals(tmpSpt.getTokenName())) {
+				childTokens.remove(tmpSpt);
+				return;
+			}
+		}
+	}
+
+	/**
 	 * Copy this SecurityPolicyToken and return the copy.
 	 * 
 	 * Produce a copy of this SPT. The imutable fields (token name, token type,

Modified: webservices/commons/trunk/policy/src/examples/secParser/SecurityProcessorContext.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/SecurityProcessorContext.java?rev=368034&r1=368033&r2=368034&view=diff
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/SecurityProcessorContext.java (original)
+++ webservices/commons/trunk/policy/src/examples/secParser/SecurityProcessorContext.java Wed Jan 11 06:57:47 2006
@@ -51,10 +51,10 @@
 	/**
 	 * Sets to action to perform in the processing method.
 	 * 
-	 * @param action The actio to set. Either NONE, START, COMMIT, or ABORT
+	 * @param act The actio to set. Either NONE, START, COMMIT, or ABORT
 	 */
-	public void setAction(int action) {
-		this.action = action;
+	public void setAction(int act) {
+		this.action = act;
 	}
 	/**
 	 * Get the current assertion that is being processed.
@@ -72,10 +72,10 @@
 	 * 
 	 * This is always a primitive assertion.
 	 * 
-	 * @param assertion The assertion to set
+	 * @param asrt The assertion to set
 	 */
-	public void setAssertion(PrimitiveAssertion assertion) {
-		this.assertion = assertion;
+	public void setAssertion(PrimitiveAssertion asrt) {
+		this.assertion = asrt;
 	}
 
 	/**

Modified: webservices/commons/trunk/policy/src/examples/secParser/WSSPolicyProcessorFull.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/WSSPolicyProcessorFull.java?rev=368034&r1=368033&r2=368034&view=diff
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/WSSPolicyProcessorFull.java (original)
+++ webservices/commons/trunk/policy/src/examples/secParser/WSSPolicyProcessorFull.java Wed Jan 11 06:57:47 2006
@@ -16,6 +16,9 @@
 
 package examples.secParser;
 
+import examples.secParser.processors.SignedPartsElementsProcessor;
+import examples.secParser.processors.EncryptedPartsElementsProcessor;
+
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -46,8 +49,6 @@
 	SecurityPolicyToken topLevel = new SecurityPolicyToken("_TopLevel_",
 			SecurityPolicyToken.COMPLEX_TOKEN, null);
 
-	SecurityPolicy secPolicy = null;
-
 	SecurityProcessorContext secProcessorContext = null;
 
 	public static void main(String[] args) throws Exception {
@@ -66,36 +67,29 @@
 	boolean setup() throws NoSuchMethodException {
 		prdr = PolicyFactory.getPolicyReader(PolicyFactory.OM_POLICY_READER);
 
-		secPolicy = new SecurityPolicy();
-
 		/*
 		 * Initialize the top level security policy token.
 		 */
 		SecurityPolicyToken spt = null;
 
 		SignedPartsElementsProcessor spep = new SignedPartsElementsProcessor();
-		spt = secPolicy.signedParts.copy();
+		spt = SecurityPolicy.signedParts.copy();
 		spt.setProcessTokenMethod(spep);
 		topLevel.setChildToken(spt);
 		
-		spt = secPolicy.signedElements.copy();
+		spt = SecurityPolicy.signedElements.copy();
 		spt.setProcessTokenMethod(spep);		
 		topLevel.setChildToken(spt);
 
 		EncryptedPartsElementsProcessor epep = new EncryptedPartsElementsProcessor();
-		spt = secPolicy.encryptedParts.copy();
+		spt = SecurityPolicy.encryptedParts.copy();
 		spt.setProcessTokenMethod(epep);
 		topLevel.setChildToken(spt);
 		
-		spt = secPolicy.encryptedElements.copy();
+		spt = SecurityPolicy.encryptedElements.copy();
 		spt.setProcessTokenMethod(epep);
 		topLevel.setChildToken(spt);
 		
-//		X509TokenProcessor x509t = new X509TokenProcessor();
-//		spt = secPolicy.x509Token.copy();
-//		spt.setProcessTokenMethod(x509t);
-//		topLevel.setChildToken(spt);
-//
 //		UsernameTokenProcessor unt = new UsernameTokenProcessor();
 //		spt = secPolicy.usernameToken.copy();
 //		spt.setProcessTokenMethod(unt);
@@ -282,8 +276,8 @@
 	}
 
 	public void abortPolicyTransaction(PrimitiveAssertion prim) {
-		System.out.println("Aborting Policy transaction "
-				+ prim.getName().getLocalPart());
+//		System.out.println("Aborting Policy transaction "
+//				+ prim.getName().getLocalPart());
 		secProcessorContext.setAction(SecurityProcessorContext.ABORT);
 		SecurityPolicyToken currentToken = secProcessorContext
 				.readCurrentSecurityToken();

Added: webservices/commons/trunk/policy/src/examples/secParser/processors/AlgorithmSuiteProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/processors/AlgorithmSuiteProcessor.java?rev=368034&view=auto
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/processors/AlgorithmSuiteProcessor.java (added)
+++ webservices/commons/trunk/policy/src/examples/secParser/processors/AlgorithmSuiteProcessor.java Wed Jan 11 06:57:47 2006
@@ -0,0 +1,320 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package examples.secParser.processors;
+
+import examples.secParser.SecurityPolicy;
+import examples.secParser.SecurityPolicyToken;
+import examples.secParser.SecurityProcessorContext;
+
+import org.apache.ws.policy.PrimitiveAssertion;
+
+/**
+ * @author Werner Dittmann (werner@apache.org)
+ * 
+ */
+public class AlgorithmSuiteProcessor {
+	private boolean initializedAlgorithmSuite = false;
+
+	/**
+	 * Intialize the AlgorithmSuite complex token.
+	 * 
+	 * This method creates a copy of the AlgorithmSuite token and sets the
+	 * handler object to the copy. Then it creates copies of the child tokens
+	 * that are allowed for AlgorithmSuite. These tokens are:
+	 * 
+	 * These copies are also initialized with the handler object and then set as
+	 * child tokens of AlgorithmSuite.
+	 * 
+	 * <p/> The handler object that must contain the methods
+	 * <code>doAlgorithmSuite</code>.
+	 * 
+	 * @param spt
+	 *            The token that will hold the child tokens.
+	 * @throws NoSuchMethodException
+	 */
+
+	private void initializeAlgorithmSuite(SecurityPolicyToken spt)
+			throws NoSuchMethodException {
+
+		SecurityPolicyToken tmpSpt;
+
+		tmpSpt = SecurityPolicy.basic256.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.basic192.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.basic128.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.tripleDes.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.basic256Rsa15.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.basic192Rsa15.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.basic128Rsa15.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.tripleDesRsa15.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.basic256Sha256.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.basic192Sha256.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.basic128Sha256.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.tripleDesSha256.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.basic256Sha256Rsa15.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.basic192Sha256Rsa15.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.basic128Sha256Rsa15.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.tripleDesSha256Rsa15.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.inclusiveC14N.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.soapNormalization10.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.strTransform10.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.xPath10.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.xPathFilter20.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+	}
+
+	public Object doAlgorithmSuite(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+
+		SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+		switch (spc.getAction()) {
+
+		case SecurityProcessorContext.START:
+			if (!initializedAlgorithmSuite) {
+				try {
+					initializeAlgorithmSuite(spt);
+					initializedAlgorithmSuite = true;
+				} catch (NoSuchMethodException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+					return new Boolean(false);
+				}
+			}
+			System.out.println(spt.getTokenName());
+			PrimitiveAssertion pa = spc.getAssertion();
+			String text = pa.getStrValue();
+			if (text != null) {
+				text = text.trim();
+				System.out.println("Value: '" + text.toString() + "'");
+			}
+		case SecurityProcessorContext.COMMIT:
+			break;
+		case SecurityProcessorContext.ABORT:
+			break;
+		}
+		return new Boolean(true);
+	}
+
+	public Object doBasic256(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doBasic192(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doBasic128(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doTripleDes(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doBasic256Rsa15(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doBasic192Rsa15(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doBasic128Rsa15(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doTripleDesRsa15(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doBasic256Sha256(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doBasic192Sha256(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doBasic128Sha256(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doTripleDesSha256(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doBasic256Sha256Rsa15(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doBasic192Sha256Rsa15(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doBasic128Sha256Rsa15(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doTripleDesSha256Rsa15(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doInclusiveC14N(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doSoapNormalization10(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doStrTransform10(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doXPath10(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doXPathFilter20(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+}

Added: webservices/commons/trunk/policy/src/examples/secParser/processors/AsymmetricBindingProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/processors/AsymmetricBindingProcessor.java?rev=368034&view=auto
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/processors/AsymmetricBindingProcessor.java (added)
+++ webservices/commons/trunk/policy/src/examples/secParser/processors/AsymmetricBindingProcessor.java Wed Jan 11 06:57:47 2006
@@ -0,0 +1,163 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package examples.secParser.processors;
+
+import examples.secParser.SecurityPolicy;
+import examples.secParser.SecurityPolicyToken;
+import examples.secParser.SecurityProcessorContext;
+
+/**
+ * @author Werner Dittmann (werner@apache.org)
+ * 
+ */
+public class AsymmetricBindingProcessor {
+	private boolean initializedSymmetricBinding = false;
+
+	/**
+	 * Intialize the SymmetricBinding complex token.
+	 * 
+	 * This method creates a copy of the SymmetricBinding token and sets the
+	 * handler object to the copy. Then it creates copies of the child tokens
+	 * that are allowed for SymmetricBinding. These tokens are:
+	 * 
+	 * These copies are also initialized with the handler object and then set as
+	 * child tokens of SymmetricBinding.
+	 * 
+	 * @param spt
+	 *            The token that will hold the child tokens.
+	 * @throws NoSuchMethodException
+	 */
+	private void initializeSymmetricBinding(SecurityPolicyToken spt)
+			throws NoSuchMethodException {
+
+		InitiatorReceipientTokenProcessor irt = new InitiatorReceipientTokenProcessor();
+		SecurityPolicyToken tmpSpt = SecurityPolicy.initiatorToken.copy();
+		tmpSpt.setProcessTokenMethod(irt);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.receipientToken.copy();
+		tmpSpt.setProcessTokenMethod(irt);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.algorithmSuite.copy();
+		tmpSpt.setProcessTokenMethod(new AlgorithmSuiteProcessor());
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.layout.copy();
+		tmpSpt.setProcessTokenMethod(new LayoutProcessor());
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.supportingTokens.copy();
+		tmpSpt.setProcessTokenMethod(new SupportingTokensProcessor());
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.signedSupportingTokens.copy();
+		tmpSpt.setProcessTokenMethod(new SignedSupportingTokensProcessor());
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.endorsingSupportingTokens.copy();
+		tmpSpt.setProcessTokenMethod(new EndorsingSupportingTokensProcessor());
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.signedEndorsingSupportingTokens.copy();
+		tmpSpt.setProcessTokenMethod(new SignedEndorsingSupportingTokensProcessor());
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.includeTimestamp.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.encryptBeforeSigning.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.encryptSignature.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.protectTokens.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.onlySignEntireHeadersAndBody.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+	}
+
+	public Object doSymmetricBinding(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+
+		switch (spc.getAction()) {
+
+		case SecurityProcessorContext.START:
+			if (!initializedSymmetricBinding) {
+				try {
+					initializeSymmetricBinding(spt);
+					initializedSymmetricBinding = true;
+				} catch (NoSuchMethodException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+					return new Boolean(false);
+				}
+			}
+			break;
+		case SecurityProcessorContext.COMMIT:
+			break;
+		case SecurityProcessorContext.ABORT:
+			break;
+		}
+		return new Boolean(true);
+	}
+
+	public Object doIncludeTimestamp(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doEncryptBeforeSigning(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doEncryptSignature(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doProtectTokens(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doOnlySignEntireHeadersAndBody(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+}

Added: webservices/commons/trunk/policy/src/examples/secParser/processors/EncryptedPartsElementsProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/processors/EncryptedPartsElementsProcessor.java?rev=368034&view=auto
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/processors/EncryptedPartsElementsProcessor.java (added)
+++ webservices/commons/trunk/policy/src/examples/secParser/processors/EncryptedPartsElementsProcessor.java Wed Jan 11 06:57:47 2006
@@ -0,0 +1,168 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package examples.secParser.processors;
+
+import examples.secParser.SecurityPolicy;
+import examples.secParser.SecurityPolicyToken;
+import examples.secParser.SecurityProcessorContext;
+
+import org.apache.ws.policy.PrimitiveAssertion;
+
+/**
+ * @author Werner Dittmann (werner@apache.org)
+ */
+
+public class EncryptedPartsElementsProcessor {
+
+	private boolean initializedEncryptedParts = false;
+
+	private boolean initializedEncryptedElements = false;
+
+	/**
+	 * Intialize the EncryptedParts complex token.
+	 * 
+	 * This method creates copies of the child tokens that are allowed for
+	 * SignedParts. These tokens are Body and Header. These copies are
+	 * initialized with handler object and then set as child tokens of
+	 * EncryptedParts. <p/> The handler object must define the methods
+	 * <code>doSignedParts, doBody, doHeader</code>.
+	 * 
+	 * @param spt
+	 *            The token that will hold the child tokens.
+	 * @throws NoSuchMethodException
+	 */
+	private void initializeEncryptedParts(SecurityPolicyToken spt)
+			throws NoSuchMethodException {
+		SecurityPolicyToken tmpSpt = SecurityPolicy.body.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.header.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+	}
+
+	/**
+	 * Intialize the EncryptedElements complex token.
+	 * 
+	 * This method creates a copy of the child token that is allowed for
+	 * EncryptedElements. The token is XPath. This copy is initialized with a
+	 * handler object and then set as child token of EncryptedElements. <p/> The
+	 * handler object must define the method <code>doXPath</code>.
+	 * 
+	 * @param spt
+	 *            The token that will hold the child tokens.
+	 * @throws NoSuchMethodException
+	 */
+	private void initializeEncryptedElements(SecurityPolicyToken spt)
+			throws NoSuchMethodException {
+		SecurityPolicyToken tmpSpt = SecurityPolicy.xPath.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+	}
+
+	public Object doEncryptedParts(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+
+		SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+		switch (spc.getAction()) {
+
+		case SecurityProcessorContext.START:
+			if (!initializedEncryptedParts) {
+				try {
+					initializeEncryptedParts(spt);
+					initializedEncryptedParts = true;
+				} catch (NoSuchMethodException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+					return new Boolean(false);
+				}
+			}
+			System.out.println(spt.getTokenName());
+			PrimitiveAssertion pa = spc.getAssertion();
+			String text = pa.getStrValue();
+			if (text != null) {
+				text = text.trim();
+				System.out.println("Value: '" + text.toString() + "'");
+			}
+		case SecurityProcessorContext.COMMIT:
+			break;
+		case SecurityProcessorContext.ABORT:
+			break;
+		}
+		return new Boolean(true);
+	}
+
+	public Object doEncryptedElements(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+
+		SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+		switch (spc.getAction()) {
+
+		case SecurityProcessorContext.START:
+			if (!initializedEncryptedElements) {
+				try {
+					initializeEncryptedElements(spt);
+					initializedEncryptedElements = true;
+				} catch (NoSuchMethodException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+					return new Boolean(false);
+				}
+			}
+			System.out.println(spt.getTokenName());
+			PrimitiveAssertion pa = spc.getAssertion();
+			String text = pa.getStrValue();
+			if (text != null) {
+				text = text.trim();
+				System.out.println("Value: '" + text.toString() + "'");
+			}
+		case SecurityProcessorContext.COMMIT:
+			break;
+		case SecurityProcessorContext.ABORT:
+			break;
+		}
+		return new Boolean(true);
+	}
+
+	public Object doBody(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doHeader(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doXPath(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+}

Added: webservices/commons/trunk/policy/src/examples/secParser/processors/EndorsingSupportingTokensProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/processors/EndorsingSupportingTokensProcessor.java?rev=368034&view=auto
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/processors/EndorsingSupportingTokensProcessor.java (added)
+++ webservices/commons/trunk/policy/src/examples/secParser/processors/EndorsingSupportingTokensProcessor.java Wed Jan 11 06:57:47 2006
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package examples.secParser.processors;
+
+import examples.secParser.SecurityPolicy;
+import examples.secParser.SecurityPolicyToken;
+import examples.secParser.SecurityProcessorContext;
+
+/**
+ * @author Werner Dittmann (werner@apache.org)
+ * 
+ */
+public class EndorsingSupportingTokensProcessor {
+	private boolean initializedEndorsingSupportingTokens = false;
+
+	/**
+	 * Intialize the EndorsingSupportingTokens complex token.
+	 * 
+	 * This method creates a copy of the EndorsingSupportingTokens token and sets the
+	 * handler object to the copy. Then it creates copies of the child tokens
+	 * that are allowed for EndorsingSupportingTokens. These tokens are:
+	 * 
+	 * These copies are also initialized with the handler object and then set as
+	 * child tokens of EndorsingSupportingTokens.
+	 * 
+	 * @param spt
+	 *            The token that will hold the child tokens.
+	 * @throws NoSuchMethodException
+	 */
+	private void initializeEndorsingSupportingTokens(SecurityPolicyToken spt)
+			throws NoSuchMethodException {
+		SecurityPolicyToken tmpSpt = SecurityPolicy.x509Token.copy();
+		tmpSpt.setProcessTokenMethod(new X509TokenProcessor());
+		spt.setChildToken(tmpSpt);
+		
+		tmpSpt = SecurityPolicy.usernameToken.copy();
+		tmpSpt.setProcessTokenMethod(new UsernameTokenProcessor());
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.algorithmSuite.copy();
+		tmpSpt.setProcessTokenMethod(new AlgorithmSuiteProcessor());
+		spt.setChildToken(tmpSpt);
+
+		SignedPartsElementsProcessor spep = new SignedPartsElementsProcessor();
+		tmpSpt = SecurityPolicy.signedParts.copy();
+		tmpSpt.setProcessTokenMethod(spep);
+		spt.setChildToken(tmpSpt);
+		
+		tmpSpt = SecurityPolicy.signedElements.copy();
+		tmpSpt.setProcessTokenMethod(spep);		
+		spt.setChildToken(tmpSpt);
+
+		EncryptedPartsElementsProcessor epep = new EncryptedPartsElementsProcessor();
+		tmpSpt = SecurityPolicy.encryptedParts.copy();
+		tmpSpt.setProcessTokenMethod(epep);
+		spt.setChildToken(tmpSpt);
+		
+		tmpSpt = SecurityPolicy.encryptedElements.copy();
+		tmpSpt.setProcessTokenMethod(epep);
+		spt.setChildToken(tmpSpt);
+
+	}
+
+	public Object doEndorsingSupportingTokens(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+
+		switch (spc.getAction()) {
+
+		case SecurityProcessorContext.START:
+			if (!initializedEndorsingSupportingTokens) {
+				try {
+					initializeEndorsingSupportingTokens(spt);
+					initializedEndorsingSupportingTokens = true;
+				} catch (NoSuchMethodException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+					return new Boolean(false);
+				}
+			}
+			break;
+		case SecurityProcessorContext.COMMIT:
+			break;
+		case SecurityProcessorContext.ABORT:
+			break;
+		}
+		return new Boolean(true);
+	}
+
+}

Added: webservices/commons/trunk/policy/src/examples/secParser/processors/InitiatorReceipientTokenProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/processors/InitiatorReceipientTokenProcessor.java?rev=368034&view=auto
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/processors/InitiatorReceipientTokenProcessor.java (added)
+++ webservices/commons/trunk/policy/src/examples/secParser/processors/InitiatorReceipientTokenProcessor.java Wed Jan 11 06:57:47 2006
@@ -0,0 +1,129 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package examples.secParser.processors;
+
+import examples.secParser.SecurityPolicy;
+import examples.secParser.SecurityPolicyToken;
+import examples.secParser.SecurityProcessorContext;
+
+/**
+ * @author Werner Dittmann (werner@apache.org)
+ * 
+ */
+public class InitiatorReceipientTokenProcessor {
+	private boolean initializedInitiatorToken = false;
+
+	private boolean initializedReceipientToken = false;
+
+
+	/**
+	 * Intialize the InitiatorToken complex token.
+	 * 
+	 * This method creates a copy of the InitiatorToken token and sets the
+	 * handler object to the copy. Then it creates copies of the child tokens
+	 * that are allowed for InitiatorToken. These tokens are:
+	 * 
+	 * These copies are also initialized with the handler object and then set as
+	 * child tokens of InitiatorToken.
+	 * 
+	 * @param spt
+	 *            The token that will hold the child tokens.
+	 * @throws NoSuchMethodException
+	 */
+	private void initializeInitiatorToken(SecurityPolicyToken spt)
+			throws NoSuchMethodException {
+		SecurityPolicyToken tmpSpt = SecurityPolicy.x509Token.copy();
+		tmpSpt.setProcessTokenMethod(new X509TokenProcessor());
+		spt.setChildToken(tmpSpt);
+	}
+
+	/**
+	 * Intialize the ReceipientToken complex token.
+	 * 
+	 * This method creates a copy of the ReceipientToken token and sets the
+	 * handler object to the copy. Then it creates copies of the child tokens
+	 * that are allowed for ReceipientToken. These tokens are:
+	 * 
+	 * These copies are also initialized with the handler object and then set as
+	 * child tokens of ReceipientToken.
+	 * 
+	 * @param spt
+	 *            The token that will hold the child tokens.
+	 * @throws NoSuchMethodException
+	 */
+	private void initializeReceipientToken(SecurityPolicyToken spt)
+			throws NoSuchMethodException {
+		SecurityPolicyToken tmpSpt = SecurityPolicy.x509Token.copy();
+		tmpSpt.setProcessTokenMethod(new X509TokenProcessor());
+		spt.setChildToken(tmpSpt);
+	}
+
+
+	public Object doInitiatorToken(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+
+		switch (spc.getAction()) {
+
+		case SecurityProcessorContext.START:
+			if (!initializedInitiatorToken) {
+				try {
+					initializeInitiatorToken(spt);
+					initializedInitiatorToken = true;
+				} catch (NoSuchMethodException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+					return new Boolean(false);
+				}
+			}
+			break;
+		case SecurityProcessorContext.COMMIT:
+			break;
+		case SecurityProcessorContext.ABORT:
+			break;
+		}
+		return new Boolean(true);
+	}
+
+	public Object doReceipientToken(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+		switch (spc.getAction()) {
+
+		case SecurityProcessorContext.START:
+			if (!initializedReceipientToken) {
+				try {
+					initializeReceipientToken(spt);
+					initializedReceipientToken = true;
+				} catch (NoSuchMethodException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+					return new Boolean(false);
+				}
+			}
+			break;
+		case SecurityProcessorContext.COMMIT:
+			break;
+		case SecurityProcessorContext.ABORT:
+			break;
+		}
+		return new Boolean(true);
+	}
+}

Added: webservices/commons/trunk/policy/src/examples/secParser/processors/LayoutProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/processors/LayoutProcessor.java?rev=368034&view=auto
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/processors/LayoutProcessor.java (added)
+++ webservices/commons/trunk/policy/src/examples/secParser/processors/LayoutProcessor.java Wed Jan 11 06:57:47 2006
@@ -0,0 +1,129 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package examples.secParser.processors;
+
+import examples.secParser.SecurityPolicy;
+import examples.secParser.SecurityPolicyToken;
+import examples.secParser.SecurityProcessorContext;
+
+import org.apache.ws.policy.PrimitiveAssertion;
+
+/**
+ * @author Werner Dittmann (werner@apache.org)
+ * 
+ */
+public class LayoutProcessor {
+	private boolean initializedLayout = false;
+
+	/**
+	 * Intialize the Layout complex token.
+	 * 
+	 * This method creates a copy of the Layout token and sets the handler
+	 * object to the copy. Then it creates copies of the child tokens that are
+	 * allowed for Layout. These tokens are:
+	 * 
+	 * These copies are also initialized with the handler object and then set as
+	 * child tokens of Layout.
+	 * 
+	 * <p/> The handler object that must contain the methods
+	 * <code>doLayout</code>.
+	 * 
+	 * @param spt
+	 *            The token that will hold the child tokens.
+	 * @throws NoSuchMethodException
+	 */
+	private void initializeLayout(SecurityPolicyToken spt)
+			throws NoSuchMethodException {
+
+		SecurityPolicyToken tmpSpt = SecurityPolicy.strict.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.lax.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.laxTsFirst.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.laxTsLast.copy();
+		tmpSpt.setProcessTokenMethod(this);
+		spt.setChildToken(tmpSpt);
+	}
+
+	public Object doLayout(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+
+		SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+		switch (spc.getAction()) {
+
+		case SecurityProcessorContext.START:
+			if (!initializedLayout) {
+				try {
+					initializeLayout(spt);
+					initializedLayout = true;
+				} catch (NoSuchMethodException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+					return new Boolean(false);
+				}
+			}
+			System.out.println(spt.getTokenName());
+			PrimitiveAssertion pa = spc.getAssertion();
+			String text = pa.getStrValue();
+			if (text != null) {
+				text = text.trim();
+				System.out.println("Value: '" + text.toString() + "'");
+			}
+		case SecurityProcessorContext.COMMIT:
+			break;
+		case SecurityProcessorContext.ABORT:
+			break;
+		}
+		return new Boolean(true);
+	}
+
+	public Object doStrict(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doLax(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doLaxTsFirst(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+
+	public Object doLaxTsLast(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		return new Boolean(true);
+	}
+}

Added: webservices/commons/trunk/policy/src/examples/secParser/processors/SignEncProtectTokenProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/processors/SignEncProtectTokenProcessor.java?rev=368034&view=auto
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/processors/SignEncProtectTokenProcessor.java (added)
+++ webservices/commons/trunk/policy/src/examples/secParser/processors/SignEncProtectTokenProcessor.java Wed Jan 11 06:57:47 2006
@@ -0,0 +1,177 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package examples.secParser.processors;
+
+import examples.secParser.SecurityPolicy;
+import examples.secParser.SecurityPolicyToken;
+import examples.secParser.SecurityProcessorContext;
+
+/**
+ * @author Werner Dittmann (werner@apache.org)
+ * 
+ */
+public class SignEncProtectTokenProcessor {
+	private boolean initializedSignatureToken = false;
+
+	private boolean initializedEncryptionToken = false;
+
+	private boolean initializedProtectionToken = false;
+
+	/**
+	 * Intialize the SignatureToken complex token.
+	 * 
+	 * This method creates a copy of the SignatureToken token and sets the
+	 * handler object to the copy. Then it creates copies of the child tokens
+	 * that are allowed for SignatureToken. These tokens are:
+	 * 
+	 * These copies are also initialized with the handler object and then set as
+	 * child tokens of SignatureToken.
+	 * 
+	 * @param spt
+	 *            The token that will hold the child tokens.
+	 * @throws NoSuchMethodException
+	 */
+	private void initializeSignatureToken(SecurityPolicyToken spt)
+			throws NoSuchMethodException {
+		SecurityPolicyToken tmpSpt = SecurityPolicy.x509Token.copy();
+		tmpSpt.setProcessTokenMethod(new X509TokenProcessor());
+		spt.setChildToken(tmpSpt);
+	}
+
+	/**
+	 * Intialize the EncryptionToken complex token.
+	 * 
+	 * This method creates a copy of the EncryptionToken token and sets the
+	 * handler object to the copy. Then it creates copies of the child tokens
+	 * that are allowed for EncryptionToken. These tokens are:
+	 * 
+	 * These copies are also initialized with the handler object and then set as
+	 * child tokens of SignatureToken.
+	 * 
+	 * @param spt
+	 *            The token that will hold the child tokens.
+	 * @throws NoSuchMethodException
+	 */
+	private void initializeEncryptionToken(SecurityPolicyToken spt)
+			throws NoSuchMethodException {
+		SecurityPolicyToken tmpSpt = SecurityPolicy.x509Token.copy();
+		tmpSpt.setProcessTokenMethod(new X509TokenProcessor());
+		spt.setChildToken(tmpSpt);
+	}
+
+	/**
+	 * Intialize the ProtectionToken complex token.
+	 * 
+	 * This method creates a copy of the ProtectionToken token and sets the
+	 * handler object to the copy. Then it creates copies of the child tokens
+	 * that are allowed for ProtectionToken. These tokens are:
+	 * 
+	 * These copies are also initialized with the handler object and then set as
+	 * child tokens of ProtectionToken.
+	 * 
+	 * @param spt
+	 *            The token that will hold the child tokens.
+	 * @throws NoSuchMethodException
+	 */
+	private void initializeProtectionToken(SecurityPolicyToken spt)
+			throws NoSuchMethodException {
+		SecurityPolicyToken tmpSpt = SecurityPolicy.x509Token.copy();
+		tmpSpt.setProcessTokenMethod(new X509TokenProcessor());
+		spt.setChildToken(tmpSpt);
+	}
+
+	public Object doSignatureToken(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+
+		switch (spc.getAction()) {
+
+		case SecurityProcessorContext.START:
+			if (!initializedSignatureToken) {
+				try {
+					initializeSignatureToken(spt);
+					initializedSignatureToken = true;
+				} catch (NoSuchMethodException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+					return new Boolean(false);
+				}
+			}
+			break;
+		case SecurityProcessorContext.COMMIT:
+			break;
+		case SecurityProcessorContext.ABORT:
+			break;
+		}
+		return new Boolean(true);
+	}
+
+	public Object doEncryptionToken(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+		switch (spc.getAction()) {
+
+		case SecurityProcessorContext.START:
+			if (!initializedEncryptionToken) {
+				try {
+					initializeEncryptionToken(spt);
+					initializedEncryptionToken = true;
+				} catch (NoSuchMethodException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+					return new Boolean(false);
+				}
+			}
+			break;
+		case SecurityProcessorContext.COMMIT:
+			break;
+		case SecurityProcessorContext.ABORT:
+			break;
+		}
+		return new Boolean(true);
+	}
+
+	public Object doProtectionToken(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+		switch (spc.getAction()) {
+
+		case SecurityProcessorContext.START:
+			if (!initializedProtectionToken) {
+				try {
+					initializeProtectionToken(spt);
+					initializedProtectionToken = true;
+				} catch (NoSuchMethodException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+					return new Boolean(false);
+				}
+			}
+			break;
+		case SecurityProcessorContext.COMMIT:
+			break;
+		case SecurityProcessorContext.ABORT:
+			break;
+		}
+		return new Boolean(true);
+	}
+}

Added: webservices/commons/trunk/policy/src/examples/secParser/processors/SignedEndorsingSupportingTokensProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/src/examples/secParser/processors/SignedEndorsingSupportingTokensProcessor.java?rev=368034&view=auto
==============================================================================
--- webservices/commons/trunk/policy/src/examples/secParser/processors/SignedEndorsingSupportingTokensProcessor.java (added)
+++ webservices/commons/trunk/policy/src/examples/secParser/processors/SignedEndorsingSupportingTokensProcessor.java Wed Jan 11 06:57:47 2006
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package examples.secParser.processors;
+
+import examples.secParser.SecurityPolicy;
+import examples.secParser.SecurityPolicyToken;
+import examples.secParser.SecurityProcessorContext;
+
+/**
+ * @author Werner Dittmann (werner@apache.org)
+ * 
+ */
+public class SignedEndorsingSupportingTokensProcessor {
+	private boolean initializedSignedEndorsingSupportingTokens = false;
+
+	/**
+	 * Intialize the SignedEndorsingSupportingTokens complex token.
+	 * 
+	 * This method creates a copy of the SignedEndorsingSupportingTokens token and sets the
+	 * handler object to the copy. Then it creates copies of the child tokens
+	 * that are allowed for SignedEndorsingSupportingTokens. These tokens are:
+	 * 
+	 * These copies are also initialized with the handler object and then set as
+	 * child tokens of SignedEndorsingSupportingTokens.
+	 * 
+	 * @param spt
+	 *            The token that will hold the child tokens.
+	 * @throws NoSuchMethodException
+	 */
+	private void initializeSignedEndorsingSupportingTokens(SecurityPolicyToken spt)
+			throws NoSuchMethodException {
+		SecurityPolicyToken tmpSpt = SecurityPolicy.x509Token.copy();
+		tmpSpt.setProcessTokenMethod(new X509TokenProcessor());
+		spt.setChildToken(tmpSpt);
+		
+		tmpSpt = SecurityPolicy.usernameToken.copy();
+		tmpSpt.setProcessTokenMethod(new UsernameTokenProcessor());
+		spt.setChildToken(tmpSpt);
+
+		tmpSpt = SecurityPolicy.algorithmSuite.copy();
+		tmpSpt.setProcessTokenMethod(new AlgorithmSuiteProcessor());
+		spt.setChildToken(tmpSpt);
+
+		SignedPartsElementsProcessor spep = new SignedPartsElementsProcessor();
+		tmpSpt = SecurityPolicy.signedParts.copy();
+		tmpSpt.setProcessTokenMethod(spep);
+		spt.setChildToken(tmpSpt);
+		
+		tmpSpt = SecurityPolicy.signedElements.copy();
+		tmpSpt.setProcessTokenMethod(spep);		
+		spt.setChildToken(tmpSpt);
+
+		EncryptedPartsElementsProcessor epep = new EncryptedPartsElementsProcessor();
+		tmpSpt = SecurityPolicy.encryptedParts.copy();
+		tmpSpt.setProcessTokenMethod(epep);
+		spt.setChildToken(tmpSpt);
+		
+		tmpSpt = SecurityPolicy.encryptedElements.copy();
+		tmpSpt.setProcessTokenMethod(epep);
+		spt.setChildToken(tmpSpt);
+
+	}
+
+	public Object doSignedEndorsingSupportingTokens(SecurityProcessorContext spc) {
+		System.out.println("Processing "
+				+ spc.readCurrentSecurityToken().getTokenName() + ": "
+				+ SecurityProcessorContext.ACTION_NAMES[spc.getAction()]);
+		SecurityPolicyToken spt = spc.readCurrentSecurityToken();
+
+		switch (spc.getAction()) {
+
+		case SecurityProcessorContext.START:
+			if (!initializedSignedEndorsingSupportingTokens) {
+				try {
+					initializeSignedEndorsingSupportingTokens(spt);
+					initializedSignedEndorsingSupportingTokens = true;
+				} catch (NoSuchMethodException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+					return new Boolean(false);
+				}
+			}
+			break;
+		case SecurityProcessorContext.COMMIT:
+			break;
+		case SecurityProcessorContext.ABORT:
+			break;
+		}
+		return new Boolean(true);
+	}
+
+}