You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by sa...@apache.org on 2006/09/26 11:38:17 UTC

svn commit: r449962 - in /webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy: ./ builders/ model/

Author: sanka
Date: Tue Sep 26 02:38:15 2006
New Revision: 449962

URL: http://svn.apache.org/viewvc?view=rev&rev=449962
Log:
Implemented the serialization.


Modified:
    webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/Constants.java
    webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/AsymmetricBindingBuilder.java
    webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/UsernameTokenBuilder.java
    webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AsymmetricBinding.java
    webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/HttpsToken.java
    webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/InitiatorToken.java
    webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/RecipientToken.java
    webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SignedEncryptedParts.java
    webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SupportingToken.java
    webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/TransportBinding.java
    webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/TransportToken.java
    webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/UsernameToken.java
    webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Wss10.java
    webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/X509Token.java

Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/Constants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/Constants.java?view=diff&rev=449962&r1=449961&r2=449962
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/Constants.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/Constants.java Tue Sep 26 02:38:15 2006
@@ -5,15 +5,15 @@
 public class Constants {
 
     public static final String P_NS = "http://schemas.xmlsoap.org/ws/2004/09/policy";
-    
+
     public static final String P_PREFIX = "wsp";
-    
-    public static final QName POLICY = new QName(P_NS, "Policy", P_PREFIX);    
-    
+
+    public static final QName POLICY = new QName(P_NS, "Policy", P_PREFIX);
+
     public final static String SP_NS = "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";
-    
+
     public final static String SP_PREFIX = "sp";
-    
+
     public final static String ATTR_INCLUDE_TOKEN = "IncludeToken";
 
     public final static String INCLUDE_NEVER = Constants.SP_NS
@@ -27,12 +27,15 @@
 
     public final static String INCLUDE_ALWAYS = Constants.SP_NS
             + "/IncludeToken/Always";
-    
+
     public final static int SUPPORTING_TOKEN_SUPPORTING = 1;
+
     public final static int SUPPORTING_TOKEN_ENDORSING = 2;
+
     public final static int SUPPORTING_TOKEN_SIGNED = 3;
+
     public final static int SUPPORTING_TOKEN_SIGNED_ENDORSING = 4;
-    
+
     /**
      * Security Header Layout : Strict
      */
@@ -52,7 +55,7 @@
      * Security Header Layout : LaxTimestampLast
      */
     public final static String LAYOUT_LAX_TIMESTAMP_LAST = "LaxTimestampLast";
-    
+
     /**
      * Protection Order : EncryptBeforeSigning
      */
@@ -62,55 +65,63 @@
      * Protection Order : SignBeforeEncrypting
      */
     public final static String SIGN_BEFORE_ENCRYPTING = "SignBeforeEncrypting";
-    
+
     public final static String ONLY_SIGN_ENTIRE_HEADERS_AND_BODY = "OnlySignEntireHeadersAndBody";
-    
-    
+
     public final static String WSS_X509_V1_TOKEN10 = "WssX509V1Token10";
-    
+
     public final static String WSS_X509_V3_TOKEN10 = "WssX509V3Token10";
-    
+
     public final static String WSS_X509_PKCS7_TOKEN10 = "WssX509Pkcs7Token10";
-    
-    public final static String WSS_X509_PKI_PATH_V1_TOKEN10 = 
-                                                    "WssX509PkiPathV1Token10";
-    
+
+    public final static String WSS_X509_PKI_PATH_V1_TOKEN10 = "WssX509PkiPathV1Token10";
+
     public final static String WSS_X509_V1_TOKEN11 = "WssX509V1Token11";
-    
+
     public final static String WSS_X509_V3_TOKEN11 = "WssX509V3Token11";
-    
+
     public final static String WSS_X509_PKCS7_TOKEN11 = "WssX509Pkcs7Token11";
-    
-    public final static String WSS_X509_PKI_PATH_V1_TOKEN11 = 
-                                                    "WssX509PkiPathV1Token11";
-    
-    ///
-    ///Algorithm Suites
-    ///
+
+    public final static String WSS_X509_PKI_PATH_V1_TOKEN11 = "WssX509PkiPathV1Token11";
+
+    // /
+    // /Algorithm Suites
+    // /
     public final static String ALGO_SUITE_BASIC256 = "Basic256";
+
     public final static String ALGO_SUITE_BASIC192 = "Basic192";
+
     public final static String ALGO_SUITE_BASIC128 = "Basic128";
+
     public final static String ALGO_SUITE_TRIPLE_DES = "TripleDes";
+
     public final static String ALGO_SUITE_BASIC256_RSA15 = "Basic256Rsa15";
+
     public final static String ALGO_SUITE_BASIC192_RSA15 = "Basic192Rsa15";
+
     public final static String ALGO_SUITE_BASIC128_RSA15 = "Basic128Rsa15";
+
     public final static String ALGO_SUITE_TRIPLE_DES_RSA15 = "TripleDesRsa15";
+
     public final static String ALGO_SUITE_BASIC256_SHA256 = "Basic256Sha256";
+
     public final static String ALGO_SUITE_BASIC192_SHA256 = "Basic192Sha256";
+
     public final static String ALGO_SUITE_BASIC128_SHA256 = "Basic128Sha256";
+
     public final static String ALGO_SUITE_TRIPLE_DES_SHA256 = "TripleDesSha256";
-    public final static String ALGO_SUITE_BASIC256_SHA256_RSA15 = 
-                                                        "Basic256Sha256Rsa15";
-    public final static String ALGO_SUITE_BASIC192_SHA256_RSA15 = 
-                                                        "Basic192Sha256Rsa15";
-    public final static String ALGO_SUITE_BASIC128_SHA256_RSA15 = 
-                                                        "Basic128Sha256Rsa15";
-    public final static String ALGO_SUITE_TRIPLE_DES_SHA256_RSA15 = 
-                                                        "TripleDesSha256Rsa15";
-    
-    ///
-    ///Algorithms
-    ///
+
+    public final static String ALGO_SUITE_BASIC256_SHA256_RSA15 = "Basic256Sha256Rsa15";
+
+    public final static String ALGO_SUITE_BASIC192_SHA256_RSA15 = "Basic192Sha256Rsa15";
+
+    public final static String ALGO_SUITE_BASIC128_SHA256_RSA15 = "Basic128Sha256Rsa15";
+
+    public final static String ALGO_SUITE_TRIPLE_DES_SHA256_RSA15 = "TripleDesSha256Rsa15";
+
+    // /
+    // /Algorithms
+    // /
     public final static String HMAC_SHA1 = "http://www.w3.org/2000/09/xmldsig#hmac-sha1";
 
     public final static String RSA_SHA1 = "http://www.w3.org/2000/09/xmldsig#rsa-sha1";
@@ -160,161 +171,243 @@
     public final static String SNT = "http://www.w3.org/TR/soap12-n11n";
 
     public final static String STRT10 = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform";
-    
-    ////////////////////////////////////////////////////////////////////////
-    
+
+    // //////////////////////////////////////////////////////////////////////
+
     public static final String INCLUSIVE_C14N = "InclusiveC14N";
-    
+
     public static final String SOAP_NORMALIZATION_10 = "SoapNormalization10";
-    
+
     public static final String STR_TRANSFORM_10 = "STRTransform10";
-    
+
     public static final String XPATH10 = "XPath10";
-    
-    public static final String XPATH_FILTER20 = "XPathFilter20"; 
-    
-    ///////////////////////////////////////////////////////////////////////
-    
-    
-    
-    public static final QName INCLUDE_TOKEN = new QName(SP_NS, "IncludeToken");
-    
-    public static final QName TRANSPORT_BINDING = new QName(SP_NS, "TransportBinding");
-    
-    public static final QName ALGORITHM_SUITE = new QName(SP_NS, "AlgorithmSuite", Constants.SP_PREFIX);
-        
+
+    public static final String XPATH_FILTER20 = "XPathFilter20";
+
+    // /////////////////////////////////////////////////////////////////////
+
+    public static final QName INCLUDE_TOKEN = new QName(SP_NS, "IncludeToken",
+            Constants.SP_PREFIX);
+
+    public static final QName TRANSPORT_BINDING = new QName(SP_NS,
+            "TransportBinding", Constants.SP_PREFIX);
+
+    public static final QName ALGORITHM_SUITE = new QName(SP_NS,
+            "AlgorithmSuite", Constants.SP_PREFIX);
+
     public static final QName LAYOUT = new QName(SP_NS, "Layout", SP_PREFIX);
-    
-    /////////////////////
-    
-    public static final QName STRICT = new QName(Constants.SP_NS, "Strict");
-    public static final QName LAX = new QName(Constants.SP_NS, "Lax");
-    public static final QName LAXTSFIRST = new QName(Constants.SP_NS, "LaxTsFirst");
-    public static final QName LAXTSLAST = new QName(Constants.SP_NS,"LaxTsLast");
-    
-    //////////////////
-    
-    public static final QName INCLUDE_TIMESTAMP = new QName(SP_NS, "IncludeTimestamp");
-    
-    public static final QName TRANSPORT_TOKEN = new QName(SP_NS, "TransportToken");
-        
-    public static final QName HTTPS_TOKEN = new QName(Constants.SP_NS, "HttpsToken");
-    
-    public static final QName SECURITY_CONTEXT_TOKEN = new QName(Constants.SP_NS, "SecurityContextToken");
-    
-    public static final QName SECURE_CONVERSATION_TOKEN = new QName(Constants.SP_NS, "SecureConversationToken");
-    
-    public static final QName SIGNATURE_TOKEN = new QName(Constants.SP_NS, "SignatureToken");
-        
-    public static final QName SIGNED_PARTS = new QName(Constants.SP_NS, "SignedParts");
-    
-    public static final QName USERNAME_TOKEN = new QName(Constants.SP_NS, "UsernameToken");
-    
-    public static final QName WSS_USERNAME_TOKEN10 = new QName(Constants.SP_NS, "WssUsernameToken10");
-    
-    public static final QName WSS_USERNAME_TOKEN11 = new QName(Constants.SP_NS, "WssUsernameToken11");
-    
-    public static final QName ENCRYPTED_PARTS = new QName(Constants.SP_NS, "EncryptedParts");
-    
-    public static final QName SIGNED_ELEMENTS = new QName(Constants.SP_NS, "SignedElements");
-    
-    public static final QName ENCRYPTED_ELEMENTS = new QName(Constants.SP_NS, "EncryptedElements");
-    
-    public static final QName ENCRYPTION_TOKEN = new QName(Constants.SP_NS, "EncryptionToken");
-        
-    public static final QName X509_TOKEN = new QName(Constants.SP_NS, "X509Token");
-    
-    public static final QName ISSUED_TOKEN = new QName(Constants.SP_NS, "IssuedToken");
-    
-    public static final QName SUPPORIING_TOKENS = new QName(Constants.SP_NS, "SupportingTokens");
-    
-    public static final QName SIGNED_SUPPORTING_TOKENS = new QName(Constants.SP_NS, "SignedSupportingTokens");
-    
-    public static final QName ENDORSING_SUPPORTING_TOKENS = new QName(Constants.SP_NS, "EndorsingSupportingTokens");
-    
-    public static final QName SIGNED_ENDORSING_SUPPORTING_TOKENS = new QName(Constants.SP_NS, "SignedEndorsingSupportingTokens");
-    
-    public static final QName PROTECTION_TOKEN = new QName(Constants.SP_NS, "ProtectionToken");
-    
-    public static final QName ASYMMETRIC_BINDING = new QName(Constants.SP_NS, "AsymmetricBinding");
-    
-    public static final QName SYMMETRIC_BINDING = new QName(Constants.SP_NS, "SymmetricBinding");
-    
-    public static final QName INITIATOR_TOKEN = new QName(Constants.SP_NS, "InitiatorToken");
-    
-    public static final QName RECIPIENT_TOKEN = new QName(Constants.SP_NS, "RecipientToken");
-    
-    public static final QName REQUIRE_KEY_IDENTIFIRE_REFERENCE = new QName(Constants.SP_NS, "RequireKeyIdentifireReference");
-    
-    public static final QName REQUIRE_ISSUER_SERIAL_REFERENCE = new QName(Constants.SP_NS, "RequireIssuerSerializerReference");
-    
-    public static final QName REQUIRE_EMBEDDED_TOKEN_REFERENCE = new QName(Constants.SP_NS, "RequireEmbeddedTokenReference");
-    
-    public static final QName REQUIRE_THUMBPRINT_REFERENCE = new QName(Constants.SP_NS, "RequireThumbprintReference");
-    
-    public static final QName WSS_X509_V1_TOKEN_10 = new QName(Constants.SP_NS, "WssX509V1Token10");
-    
-    public static final QName WSS_X509_V3_TOKEN_10 = new QName(Constants.SP_NS, "WssX509V3Token10");
-    
-    public static final QName WSS_X509_PKCS7_TOKEN_10 = new QName(Constants.SP_NS, "WssX509Pkcs7Token10");
-    
-    public static final QName WSS_X509_PKI_PATH_V1_TOKEN_10 = new QName(Constants.SP_NS, "WssX509PkiPathV1Token10");
-    
-    public static final QName WSS_X509_V1_TOKEN_11 = new QName(Constants.SP_NS, "WssX509V1Token11");
-    
-    public static final QName WSS_X509_V3_TOKEN_11 = new QName(Constants.SP_NS, "WssX509V3Token11");
-    
-    public static final QName WSS_X509_PKCS7_TOKEN_11 = new QName(Constants.SP_NS, "WssX509Pkcs7Token11");
-    
-    public static final QName WSS_X509_PKI_PATH_V1_TOKEN_11 = new QName(Constants.SP_NS, "WssX509PkiPathV1Token11");
-    
-    public static final QName MUST_SUPPORT_REF_KEY_IDENTIFIER = new QName(Constants.SP_NS, "MustSupportRefKeyIdentifier");
-    
-    public static final QName MUST_SUPPORT_REF_ISSUER_SERIAL = new QName(Constants.SP_NS, "MustSupportRefIssuerSerail");
-    
-    public static final QName MUST_SUPPORT_REF_EXTERNAL_URI = new QName(Constants.SP_NS, "MustSupportRefExternalURI");
-    
-    public static final QName MUST_SUPPORT_REF_EMBEDDED_TOKEN = new QName(Constants.SP_NS, "MustSupportRefEmbeddedToken");
-    
-    public static final QName WSS10 = new QName(Constants.SP_NS, "Wss10");
-    
-    public static final QName WSS11 = new QName(Constants.SP_NS, "Wss11");
-    
-    public static final QName TRUST_10 = new QName(Constants.SP_NS, "Trust10");
-    
-    public static final QName MUST_SUPPORT_REF_THUMBPRINT = new QName(Constants.SP_NS, "MustSupportRefThumbprint");
-    
-    public static final QName MUST_SUPPORT_REF_ENCRYPTED_KEY = new QName(Constants.SP_NS, "MustSupportRefEncryptedkey");
-    
-    public static final QName REQUIRE_SIGNATURE_CONFIRMATION = new QName(Constants.SP_NS, "RequireSignatureConfirmation");
- 
-    public static final QName MUST_SUPPORT_CLIENT_CHALLENGE = new QName(Constants.SP_NS, "MustSupportClientChanllenge");
-    
-    public static final QName MUST_SUPPORT_SERVER_CHALLENGE = new QName(Constants.SP_NS, "MustSupportServerChanllenge");
-    
-    public static final QName REQUIRE_CLIENT_ENTROPY = new QName(Constants.SP_NS, "RequireClientEntropy");
-    
-    public static final QName REQUIRE_SERVER_ENTROPY = new QName(Constants.SP_NS, "RequireServerEntropy");
-    
-    public static final QName MUST_SUPPORT_ISSUED_TOKENS = new QName(Constants.SP_NS, "MustSupportIssuedTokens");
-    
-    public static final QName ISSUER = new QName(Constants.SP_NS, "Issuer");
-    
-    public static final QName REQUIRE_DERIVED_KEYS = new QName(Constants.SP_NS, "RequireDerivedKeys");
-    
-    public static final QName REQUIRE_EXTERNAL_URI_REFERNCE = new QName(Constants.SP_NS, "RequireExternalUriReference");
-    
-    public static final QName REQUIRE_EXTERNAL_REFERNCE = new QName(Constants.SP_NS, "RequireExternalReference");
-    
-    public static final QName REQUIRE_INTERNAL_REFERNCE = new QName(Constants.SP_NS, "RequireInternalReference");
-    
-    public static final QName REQUEST_SECURITY_TOKEN_TEMPLATE = new QName(Constants.SP_NS, "RequestSecurityTokenTemplate");
-    
-    public static final QName SC10_SECURITY_CONTEXT_TOKEN = new QName(Constants.SP_NS, "SC10SecurityContextToken");
-    
-    public static final QName BOOTSTRAP_POLICY = new QName(Constants.SP_NS, "BootstrapPolicy");
-    
-    public static final QName RST_TEMPLATE = new QName(Constants.SP_NS, "RequestSecurityTokenTemplate");
-    
-    public final static QName REQUIRE_CLIENT_CERTIFICATE = new QName("RequireClientCertificate");
+
+    // ///////////////////
+
+    public static final QName STRICT = new QName(Constants.SP_NS, "Strict",
+            Constants.SP_PREFIX);
+
+    public static final QName LAX = new QName(Constants.SP_NS, "Lax",
+            Constants.SP_PREFIX);
+
+    public static final QName LAXTSFIRST = new QName(Constants.SP_NS,
+            "LaxTsFirst", Constants.SP_PREFIX);
+
+    public static final QName LAXTSLAST = new QName(Constants.SP_NS,
+            "LaxTsLast", Constants.SP_PREFIX);
+
+    // ////////////////
+
+    public static final QName INCLUDE_TIMESTAMP = new QName(SP_NS,
+            "IncludeTimestamp", Constants.SP_PREFIX);
+
+    public static final QName TRANSPORT_TOKEN = new QName(SP_NS,
+            "TransportToken", Constants.SP_PREFIX);
+
+    public static final QName HTTPS_TOKEN = new QName(Constants.SP_NS,
+            "HttpsToken", Constants.SP_PREFIX);
+
+    public static final QName SECURITY_CONTEXT_TOKEN = new QName(
+            Constants.SP_NS, "SecurityContextToken", Constants.SP_PREFIX);
+
+    public static final QName SECURE_CONVERSATION_TOKEN = new QName(
+            Constants.SP_NS, "SecureConversationToken", Constants.SP_PREFIX);
+
+    public static final QName SIGNATURE_TOKEN = new QName(Constants.SP_NS,
+            "SignatureToken", Constants.SP_PREFIX);
+
+    public static final QName SIGNED_PARTS = new QName(Constants.SP_NS,
+            "SignedParts", Constants.SP_PREFIX);
+
+    public static final QName USERNAME_TOKEN = new QName(Constants.SP_NS,
+            "UsernameToken", Constants.SP_PREFIX);
+
+    public static final QName WSS_USERNAME_TOKEN10 = new QName(Constants.SP_NS,
+            "WssUsernameToken10", Constants.SP_PREFIX);
+
+    public static final QName WSS_USERNAME_TOKEN11 = new QName(Constants.SP_NS,
+            "WssUsernameToken11", Constants.SP_PREFIX);
+
+    public static final QName ENCRYPTED_PARTS = new QName(Constants.SP_NS,
+            "EncryptedParts", Constants.SP_PREFIX);
+
+    public static final QName SIGNED_ELEMENTS = new QName(Constants.SP_NS,
+            "SignedElements", Constants.SP_PREFIX);
+
+    public static final QName ENCRYPTED_ELEMENTS = new QName(Constants.SP_NS,
+            "EncryptedElements", Constants.SP_PREFIX);
+
+    public static final QName ENCRYPTION_TOKEN = new QName(Constants.SP_NS,
+            "EncryptionToken", Constants.SP_PREFIX);
+
+    public static final QName X509_TOKEN = new QName(Constants.SP_NS,
+            "X509Token", Constants.SP_PREFIX);
+
+    public static final QName ISSUED_TOKEN = new QName(Constants.SP_NS,
+            "IssuedToken", Constants.SP_PREFIX);
+
+    public static final QName SUPPORIING_TOKENS = new QName(Constants.SP_NS,
+            "SupportingTokens", Constants.SP_PREFIX);
+
+    public static final QName SIGNED_SUPPORTING_TOKENS = new QName(
+            Constants.SP_NS, "SignedSupportingTokens", Constants.SP_PREFIX);
+
+    public static final QName ENDORSING_SUPPORTING_TOKENS = new QName(
+            Constants.SP_NS, "EndorsingSupportingTokens", Constants.SP_PREFIX);
+
+    public static final QName SIGNED_ENDORSING_SUPPORTING_TOKENS = new QName(
+            Constants.SP_NS, "SignedEndorsingSupportingTokens",
+            Constants.SP_PREFIX);
+
+    public static final QName PROTECTION_TOKEN = new QName(Constants.SP_NS,
+            "ProtectionToken", Constants.SP_PREFIX);
+
+    public static final QName ASYMMETRIC_BINDING = new QName(Constants.SP_NS,
+            "AsymmetricBinding", Constants.SP_PREFIX);
+
+    public static final QName SYMMETRIC_BINDING = new QName(Constants.SP_NS,
+            "SymmetricBinding", Constants.SP_PREFIX);
+
+    public static final QName INITIATOR_TOKEN = new QName(Constants.SP_NS,
+            "InitiatorToken", Constants.SP_PREFIX);
+
+    public static final QName RECIPIENT_TOKEN = new QName(Constants.SP_NS,
+            "RecipientToken", Constants.SP_PREFIX);
+
+    public static final QName ENCRYPT_SIGNATURE = new QName(Constants.SP_NS,
+            "EncryptSignature", Constants.SP_PREFIX);
+
+    public static final QName PROTECT_TOKENS = new QName(Constants.SP_NS,
+            "ProtectTokens", Constants.SP_PREFIX);
+
+    public static final QName REQUIRE_KEY_IDENTIFIRE_REFERENCE = new QName(
+            Constants.SP_NS, "RequireKeyIdentifireReference",
+            Constants.SP_PREFIX);
+
+    public static final QName REQUIRE_ISSUER_SERIAL_REFERENCE = new QName(
+            Constants.SP_NS, "RequireIssuerSerializerReference",
+            Constants.SP_PREFIX);
+
+    public static final QName REQUIRE_EMBEDDED_TOKEN_REFERENCE = new QName(
+            Constants.SP_NS, "RequireEmbeddedTokenReference",
+            Constants.SP_PREFIX);
+
+    public static final QName REQUIRE_THUMBPRINT_REFERENCE = new QName(
+            Constants.SP_NS, "RequireThumbprintReference", Constants.SP_PREFIX);
+
+    public static final QName WSS_X509_V1_TOKEN_10 = new QName(Constants.SP_NS,
+            "WssX509V1Token10", Constants.SP_PREFIX);
+
+    public static final QName WSS_X509_V3_TOKEN_10 = new QName(Constants.SP_NS,
+            "WssX509V3Token10", Constants.SP_PREFIX);
+
+    public static final QName WSS_X509_PKCS7_TOKEN_10 = new QName(
+            Constants.SP_NS, "WssX509Pkcs7Token10", Constants.SP_PREFIX);
+
+    public static final QName WSS_X509_PKI_PATH_V1_TOKEN_10 = new QName(
+            Constants.SP_NS, "WssX509PkiPathV1Token10", Constants.SP_PREFIX);
+
+    public static final QName WSS_X509_V1_TOKEN_11 = new QName(Constants.SP_NS,
+            "WssX509V1Token11", Constants.SP_PREFIX);
+
+    public static final QName WSS_X509_V3_TOKEN_11 = new QName(Constants.SP_NS,
+            "WssX509V3Token11", Constants.SP_PREFIX);
+
+    public static final QName WSS_X509_PKCS7_TOKEN_11 = new QName(
+            Constants.SP_NS, "WssX509Pkcs7Token11", Constants.SP_PREFIX);
+
+    public static final QName WSS_X509_PKI_PATH_V1_TOKEN_11 = new QName(
+            Constants.SP_NS, "WssX509PkiPathV1Token11", Constants.SP_PREFIX);
+
+    public static final QName MUST_SUPPORT_REF_KEY_IDENTIFIER = new QName(
+            Constants.SP_NS, "MustSupportRefKeyIdentifier", Constants.SP_PREFIX);
+
+    public static final QName MUST_SUPPORT_REF_ISSUER_SERIAL = new QName(
+            Constants.SP_NS, "MustSupportRefIssuerSerial", Constants.SP_PREFIX);
+
+    public static final QName MUST_SUPPORT_REF_EXTERNAL_URI = new QName(
+            Constants.SP_NS, "MustSupportRefExternalURI", Constants.SP_PREFIX);
+
+    public static final QName MUST_SUPPORT_REF_EMBEDDED_TOKEN = new QName(
+            Constants.SP_NS, "MustSupportRefEmbeddedToken", Constants.SP_PREFIX);
+
+    public static final QName WSS10 = new QName(Constants.SP_NS, "Wss10",
+            Constants.SP_PREFIX);
+
+    public static final QName WSS11 = new QName(Constants.SP_NS, "Wss11",
+            Constants.SP_PREFIX);
+
+    public static final QName TRUST_10 = new QName(Constants.SP_NS, "Trust10",
+            Constants.SP_PREFIX);
+
+    public static final QName MUST_SUPPORT_REF_THUMBPRINT = new QName(
+            Constants.SP_NS, "MustSupportRefThumbprint", Constants.SP_PREFIX);
+
+    public static final QName MUST_SUPPORT_REF_ENCRYPTED_KEY = new QName(
+            Constants.SP_NS, "MustSupportRefEncryptedkey", Constants.SP_PREFIX);
+
+    public static final QName REQUIRE_SIGNATURE_CONFIRMATION = new QName(
+            Constants.SP_NS, "RequireSignatureConfirmation",
+            Constants.SP_PREFIX);
+
+    public static final QName MUST_SUPPORT_CLIENT_CHALLENGE = new QName(
+            Constants.SP_NS, "MustSupportClientChanllenge", Constants.SP_PREFIX);
+
+    public static final QName MUST_SUPPORT_SERVER_CHALLENGE = new QName(
+            Constants.SP_NS, "MustSupportServerChanllenge", Constants.SP_PREFIX);
+
+    public static final QName REQUIRE_CLIENT_ENTROPY = new QName(
+            Constants.SP_NS, "RequireClientEntropy", Constants.SP_PREFIX);
+
+    public static final QName REQUIRE_SERVER_ENTROPY = new QName(
+            Constants.SP_NS, "RequireServerEntropy", Constants.SP_PREFIX);
+
+    public static final QName MUST_SUPPORT_ISSUED_TOKENS = new QName(
+            Constants.SP_NS, "MustSupportIssuedTokens", Constants.SP_PREFIX);
+
+    public static final QName ISSUER = new QName(Constants.SP_NS, "Issuer",
+            Constants.SP_PREFIX);
+
+    public static final QName REQUIRE_DERIVED_KEYS = new QName(Constants.SP_NS,
+            "RequireDerivedKeys", Constants.SP_PREFIX);
+
+    public static final QName REQUIRE_EXTERNAL_URI_REFERNCE = new QName(
+            Constants.SP_NS, "RequireExternalUriReference", Constants.SP_PREFIX);
+
+    public static final QName REQUIRE_EXTERNAL_REFERNCE = new QName(
+            Constants.SP_NS, "RequireExternalReference", Constants.SP_PREFIX);
+
+    public static final QName REQUIRE_INTERNAL_REFERNCE = new QName(
+            Constants.SP_NS, "RequireInternalReference", Constants.SP_PREFIX);
+
+    public static final QName REQUEST_SECURITY_TOKEN_TEMPLATE = new QName(
+            Constants.SP_NS, "RequestSecurityTokenTemplate",
+            Constants.SP_PREFIX);
+
+    public static final QName SC10_SECURITY_CONTEXT_TOKEN = new QName(
+            Constants.SP_NS, "SC10SecurityContextToken", Constants.SP_PREFIX);
+
+    public static final QName BOOTSTRAP_POLICY = new QName(Constants.SP_NS,
+            "BootstrapPolicy", Constants.SP_PREFIX);
+
+    public static final QName RST_TEMPLATE = new QName(Constants.SP_NS,
+            "RequestSecurityTokenTemplate", Constants.SP_PREFIX);
+
+    public final static QName REQUIRE_CLIENT_CERTIFICATE = new QName(
+            "RequireClientCertificate");
 }

Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/AsymmetricBindingBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/AsymmetricBindingBuilder.java?view=diff&rev=449962&r1=449961&r2=449962
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/AsymmetricBindingBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/AsymmetricBindingBuilder.java Tue Sep 26 02:38:15 2006
@@ -77,12 +77,18 @@
                 
             } else if (Constants.INCLUDE_TIMESTAMP.equals(name)) {
                 asymmetricBinding.setIncludeTimestamp(true);
-                
+
             } else if (Constants.ENCRYPT_BEFORE_SIGNING.equals(name.getLocalPart())) {
                 asymmetricBinding.setProtectionOrder(Constants.ENCRYPT_BEFORE_SIGNING);
                 
             } else if (Constants.SIGN_BEFORE_ENCRYPTING.equals(name.getLocalPart())) {
                 asymmetricBinding.setProtectionOrder(Constants.SIGN_BEFORE_ENCRYPTING);
+                
+            } else if (Constants.ENCRYPT_SIGNATURE.equals(name)) {
+                asymmetricBinding.setSignatureProtection(true);
+                
+            } else if (Constants.PROTECT_TOKENS.equals(name)) {
+                asymmetricBinding.setTokenProtection(true);
                 
             } else if (Constants.ONLY_SIGN_ENTIRE_HEADERS_AND_BODY.equals(name.getLocalPart())) {
                 asymmetricBinding.setEntireHeadersAndBodySignatures(true);

Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/UsernameTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/UsernameTokenBuilder.java?view=diff&rev=449962&r1=449961&r2=449962
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/UsernameTokenBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/builders/UsernameTokenBuilder.java Tue Sep 26 02:38:15 2006
@@ -78,7 +78,7 @@
             QName qname = assertion.getName();
             
             if (Constants.WSS_USERNAME_TOKEN10.equals(qname)) {
-                parent.setUseUTProfile11(false);
+                parent.setUseUTProfile10(true);
                 
             } else if (Constants.WSS_USERNAME_TOKEN11.equals(qname)) {
                 parent.setUseUTProfile11(true);

Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AsymmetricBinding.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AsymmetricBinding.java?view=diff&rev=449962&r1=449961&r2=449962
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AsymmetricBinding.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/AsymmetricBinding.java Tue Sep 26 02:38:15 2006
@@ -30,80 +30,185 @@
 import org.apache.ws.secpolicy.Constants;
 
 public class AsymmetricBinding extends SymmetricAsymmetricBindingBase {
-    
+
     private InitiatorToken initiatorToken;
-    
+
     private RecipientToken recipientToken;
-    
+
     /**
      * @return Returns the initiatorToken.
      */
     public InitiatorToken getInitiatorToken() {
         return initiatorToken;
     }
+
     /**
-     * @param initiatorToken The initiatorToken to set.
+     * @param initiatorToken
+     *            The initiatorToken to set.
      */
     public void setInitiatorToken(InitiatorToken initiatorToken) {
         this.initiatorToken = initiatorToken;
     }
+
     /**
      * @return Returns the recipientToken.
      */
     public RecipientToken getRecipientToken() {
         return recipientToken;
     }
+
     /**
-     * @param recipientToken The recipientToken to set.
+     * @param recipientToken
+     *            The recipientToken to set.
      */
     public void setRecipientToken(RecipientToken recipientToken) {
         this.recipientToken = recipientToken;
     }
-    
+
     public QName getName() {
         return Constants.ASYMMETRIC_BINDING;
     }
+
     public PolicyComponent normalize() {
-        
+
         if (isNormalized()) {
             return this;
         }
-        
+
         AlgorithmSuite algorithmSuite = getAlgorithmSuite();
         List configs = algorithmSuite.getConfigurations();
-        
+
         Policy policy = new Policy();
         ExactlyOne exactlyOne = new ExactlyOne();
-        
+
         policy.addPolicyComponent(exactlyOne);
-        
+
         All wrapper;
         AsymmetricBinding asymmetricBinding;
-        
+
         for (Iterator iterator = configs.iterator(); iterator.hasNext();) {
             wrapper = new All();
             asymmetricBinding = new AsymmetricBinding();
-            
-            asymmetricBinding.setAlgorithmSuite((AlgorithmSuite) iterator.next());
-            asymmetricBinding.setEntireHeadersAndBodySignatures(isEntireHeadersAndBodySignatures());
+
+            asymmetricBinding.setAlgorithmSuite((AlgorithmSuite) iterator
+                    .next());
+            asymmetricBinding
+                    .setEntireHeadersAndBodySignatures(isEntireHeadersAndBodySignatures());
             asymmetricBinding.setIncludeTimestamp(isIncludeTimestamp());
             asymmetricBinding.setInitiatorToken(getInitiatorToken());
             asymmetricBinding.setLayout(getLayout());
             asymmetricBinding.setProtectionOrder(getProtectionOrder());
             asymmetricBinding.setRecipientToken(getRecipientToken());
             asymmetricBinding.setSignatureProtection(isSignatureProtection());
-            asymmetricBinding.setSignedEndorsingSupportingTokens(getSignedEndorsingSupportingTokens());
+            asymmetricBinding
+                    .setSignedEndorsingSupportingTokens(getSignedEndorsingSupportingTokens());
             asymmetricBinding.setTokenProtection(isTokenProtection());
-            
+
             asymmetricBinding.setNormalized(true);
             wrapper.addPolicyComponent(wrapper);
         }
-        
-        return policy; 
-        
+
+        return policy;
+
     }
-    
+
     public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-        throw new UnsupportedOperationException();
+        String localname = Constants.ASYMMETRIC_BINDING.getLocalPart();
+        String namespaceURI = Constants.ASYMMETRIC_BINDING.getNamespaceURI();
+
+        String prefix = writer.getPrefix(namespaceURI);
+        if (namespaceURI == null) {
+            prefix = Constants.ASYMMETRIC_BINDING.getPrefix();
+        }
+
+        // <sp:AsymmetricBinding>
+        writer.writeStartElement(prefix, localname, namespaceURI);
+        writer.writeNamespace(prefix, namespaceURI);
+
+        String pPrefix = writer.getPrefix(Constants.POLICY.getNamespaceURI());
+        if (pPrefix == null) {
+            pPrefix = Constants.POLICY.getPrefix();
+            writer.setPrefix(pPrefix, Constants.POLICY.getNamespaceURI());
+        }
+
+        // <wsp:Policy>
+        writer.writeStartElement(pPrefix, Constants.POLICY.getLocalPart(),
+                Constants.POLICY.getNamespaceURI());
+
+        if (initiatorToken == null) {
+            throw new RuntimeException("InitiatorToken is not set");
+        }
+
+        // <sp:InitiatorToken>
+        initiatorToken.serialize(writer);
+        // </sp:InitiatorToken>
+
+        if (recipientToken == null) {
+            throw new RuntimeException("RecipientToken is not set");
+        }
+
+        // <sp:RecipientToken>
+        recipientToken.serialize(writer);
+        // </sp:RecipientToken>
+
+        AlgorithmSuite algorithmSuite = getAlgorithmSuite();
+        if (algorithmSuite == null) {
+            throw new RuntimeException("AlgorithmSuite is not set");
+        }
+
+        // <sp:AlgorithmSuite>
+        algorithmSuite.serialize(writer);
+        // </sp:AlgorithmSuite>
+
+        Layout layout = getLayout();
+        if (layout != null) {
+            // <sp:Layout>
+            layout.serialize(writer);
+            // </sp:Layout>
+        }
+
+        if (isIncludeTimestamp()) {
+            // <sp:IncludeTimestamp>
+            writer.writeStartElement(Constants.INCLUDE_TIMESTAMP.getPrefix(),
+                    Constants.INCLUDE_TIMESTAMP.getLocalPart(),
+                    Constants.INCLUDE_TIMESTAMP.getNamespaceURI());
+            writer.writeEndElement();
+            // </sp:IncludeTimestamp>
+        }
+
+        if (Constants.ENCRYPT_BEFORE_SIGNING.equals(getProtectionOrder())) {
+            // <sp:EncryptBeforeSign />
+            writer.writeStartElement(prefix, Constants.ENCRYPT_BEFORE_SIGNING,
+                    namespaceURI);
+            writer.writeEndElement();
+        }
+
+        if (isSignatureProtection()) {
+            // <sp:EncryptSignature />
+            // FIXME move the String constants to a QName
+            writer.writeStartElement(prefix, Constants.ENCRYPT_SIGNATURE
+                    .getLocalPart(), namespaceURI);
+            writer.writeEndElement();
+        }
+
+        if (isTokenProtection()) {
+            // <sp:ProtectTokens />
+            writer.writeStartElement(prefix, Constants.PROTECT_TOKENS
+                    .getLocalPart(), namespaceURI);
+            writer.writeEndElement();
+        }
+
+        if (isEntireHeadersAndBodySignatures()) {
+            // <sp:OnlySignEntireHeaderAndBody />
+            writer.writeStartElement(prefix,
+                    Constants.ONLY_SIGN_ENTIRE_HEADERS_AND_BODY, namespaceURI);
+            writer.writeEndElement();
+        }
+
+        // </wsp:Policy>
+        writer.writeEndElement();
+
+        // </sp:AsymmetircBinding>
+        writer.writeEndElement();
     }
 }

Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/HttpsToken.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/HttpsToken.java?view=diff&rev=449962&r1=449961&r2=449962
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/HttpsToken.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/HttpsToken.java Tue Sep 26 02:38:15 2006
@@ -24,7 +24,7 @@
 import org.apache.ws.secpolicy.Constants;
 
 /**
- *
+ * 
  * @author Ruchith Fernando (ruchith.fernando@gmail.com)
  */
 public class HttpsToken extends Token {
@@ -48,6 +48,26 @@
     }
 
     public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-        throw new UnsupportedOperationException();
+
+        String localname = Constants.HTTPS_TOKEN.getLocalPart();
+        String namespaceURI = Constants.HTTPS_TOKEN.getNamespaceURI();
+
+        String prefix = writer.getPrefix(namespaceURI);
+        if (prefix == null) {
+            prefix = Constants.HTTPS_TOKEN.getPrefix();
+            writer.setPrefix(prefix, namespaceURI);
+        }
+
+        // <sp:HttpsToken
+        writer.writeStartElement(prefix, localname, namespaceURI);
+
+        // RequireClientCertificate=".."
+        writer
+                .writeAttribute(Constants.REQUIRE_CLIENT_CERTIFICATE
+                        .getLocalPart(), Boolean
+                        .toString(isRequireClientCertificate()));
+
+        writer.writeEndElement();
+        // </sp:HttpsToken>
     }
 }

Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/InitiatorToken.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/InitiatorToken.java?view=diff&rev=449962&r1=449961&r2=449962
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/InitiatorToken.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/InitiatorToken.java Tue Sep 26 02:38:15 2006
@@ -41,9 +41,6 @@
         this.initiatorToken = initiatorToken;
     }
 
-    /* (non-Javadoc)
-     * @see org.apache.ws.security.policy.TokenWrapper#setToken(org.apache.ws.security.policy.Token)
-     */
     public void setToken(Token tok) {
         this.setInitiatorToken(tok);
     }
@@ -57,6 +54,38 @@
     }
 
     public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-        throw new UnsupportedOperationException();
+        String localName = Constants.INITIATOR_TOKEN.getLocalPart();
+        String namespaceURI = Constants.INITIATOR_TOKEN.getNamespaceURI();
+
+        String prefix = writer.getPrefix(namespaceURI);
+
+        if (prefix == null) {
+            prefix = Constants.INITIATOR_TOKEN.getPrefix();
+            writer.setPrefix(prefix, namespaceURI);
+        }
+        
+        // <sp:InitiatorToken>
+        writer.writeStartElement(prefix, localName, namespaceURI);
+        
+        String pPrefix = writer.getPrefix(Constants.POLICY.getNamespaceURI());
+        if (pPrefix == null) {
+            pPrefix = Constants.POLICY.getPrefix();
+            writer.setPrefix(pPrefix, Constants.POLICY.getNamespaceURI());
+        }
+        
+        // <wsp:Policy>
+        writer.writeStartElement(pPrefix, Constants.POLICY.getLocalPart(), Constants.POLICY.getNamespaceURI());
+
+        Token token = getInitiatorToken();
+        if (token == null) {
+            throw new RuntimeException("InitiatorToken doesn't contain any token assertions");
+        }
+        token.serialize(writer);
+        
+        // </wsp:Policy>
+        writer.writeEndElement();
+        
+        // </sp:InitiatorToken>
+        writer.writeEndElement();
     }
 }

Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/RecipientToken.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/RecipientToken.java?view=diff&rev=449962&r1=449961&r2=449962
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/RecipientToken.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/RecipientToken.java Tue Sep 26 02:38:15 2006
@@ -57,6 +57,38 @@
     }
 
     public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-        throw new UnsupportedOperationException();
+        String localName = Constants.RECIPIENT_TOKEN.getLocalPart();
+        String namespaceURI = Constants.RECIPIENT_TOKEN.getNamespaceURI();
+
+        String prefix = writer.getPrefix(namespaceURI);
+
+        if (prefix == null) {
+            prefix = Constants.RECIPIENT_TOKEN.getPrefix();
+            writer.setPrefix(prefix, namespaceURI);
+        }
+        
+        // <sp:RecipientToken>
+        writer.writeStartElement(prefix, localName, namespaceURI);
+        
+        String pPrefix = writer.getPrefix(Constants.POLICY.getNamespaceURI());
+        if (pPrefix == null) {
+            pPrefix = Constants.POLICY.getPrefix();
+            writer.setPrefix(pPrefix, Constants.POLICY.getNamespaceURI());
+        }
+        
+        // <wsp:Policy>
+        writer.writeStartElement(pPrefix, Constants.POLICY.getLocalPart(), Constants.POLICY.getNamespaceURI());
+
+        Token token = getReceipientToken();
+        if (token == null) {
+            throw new RuntimeException("RecipientToken doesn't contain any token assertions");
+        }
+        token.serialize(writer);
+        
+        // </wsp:Policy>
+        writer.writeEndElement();
+        
+        // </sp:RecipientToken>
+        writer.writeEndElement();
     }    
 }

Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SignedEncryptedParts.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SignedEncryptedParts.java?view=diff&rev=449962&r1=449961&r2=449962
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SignedEncryptedParts.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SignedEncryptedParts.java Tue Sep 26 02:38:15 2006
@@ -17,6 +17,7 @@
 package org.apache.ws.secpolicy.model;
 
 import java.util.ArrayList;
+import java.util.Iterator;
 
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
@@ -84,6 +85,44 @@
     }
 
     public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-        throw new UnsupportedOperationException();
+        String localName = getName().getLocalPart();
+        String namespaceURI = getName().getNamespaceURI();
+
+        String prefix = writer.getPrefix(namespaceURI);
+
+        if (prefix == null) {
+            prefix = getName().getPrefix();
+            writer.setPrefix(prefix, namespaceURI);
+        }
+            
+        // <sp:SignedParts> | <sp:EncryptedParts> 
+        writer.writeStartElement(prefix, localName, namespaceURI);
+        
+        writer.writeNamespace(prefix, namespaceURI);
+        
+        if (isBody()) {
+            // <sp:Body />
+            // FIXME : move 'Body' to Constants
+            writer.writeStartElement(prefix, "Body", namespaceURI);
+            writer.writeEndElement();
+        }
+        
+        Header header;        
+        for (Iterator iterator = headers.iterator(); iterator.hasNext();) {
+            header = (Header) iterator.next();
+            // <sp:Header Name=".." Namespace=".." />
+            // FIXME move 'Header' to Constants
+            writer.writeStartElement(prefix, "Header", namespaceURI);
+            
+            writer.writeAttribute("Name", header.getName());
+            writer.writeAttribute("Namespace", header.getNamespace());
+            
+            writer.writeEndElement();
+        }
+        
+        // </sp:SignedParts> | </sp:EncryptedParts>
+        writer.writeEndElement();
     }    
+    
+    
 }

Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SupportingToken.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SupportingToken.java?view=diff&rev=449962&r1=449961&r2=449962
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SupportingToken.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/SupportingToken.java Tue Sep 26 02:38:15 2006
@@ -17,6 +17,7 @@
 package org.apache.ws.secpolicy.model;
 
 import java.util.ArrayList;
+import java.util.Iterator;
 
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
@@ -26,8 +27,8 @@
 import org.apache.neethi.PolicyComponent;
 import org.apache.ws.secpolicy.Constants;
 
-public class SupportingToken extends AbstractSecurityAssertion
-        implements AlgorithmWrapper, TokenWrapper {
+public class SupportingToken extends AbstractSecurityAssertion implements
+        AlgorithmWrapper, TokenWrapper {
 
     /**
      * Type of SupportingToken
@@ -171,6 +172,8 @@
 
     public QName getName() {
         switch (type) {
+        case Constants.SUPPORTING_TOKEN_SUPPORTING:
+            return Constants.SUPPORIING_TOKENS;
         case Constants.SUPPORTING_TOKEN_SIGNED:
             return Constants.SIGNED_SUPPORTING_TOKENS;
         case Constants.SUPPORTING_TOKEN_ENDORSING:
@@ -191,6 +194,70 @@
     }
 
     public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-        throw new UnsupportedOperationException("not yet implemented");
+        String namespaceURI = Constants.SUPPORIING_TOKENS.getNamespaceURI();
+
+        String prefix = writer.getPrefix(namespaceURI);
+        if (prefix == null) {
+            prefix = Constants.SUPPORIING_TOKENS.getPrefix();
+            writer.setPrefix(prefix, namespaceURI);
+        }
+
+        String localname = null;
+
+        switch (getTokenType()) {
+        case Constants.SUPPORTING_TOKEN_SUPPORTING:
+            localname = Constants.SUPPORIING_TOKENS.getLocalPart();
+            break;
+        case Constants.SUPPORTING_TOKEN_SIGNED:
+            localname = Constants.SIGNED_SUPPORTING_TOKENS.getLocalPart();
+            break;
+        case Constants.SUPPORTING_TOKEN_ENDORSING:
+            localname = Constants.ENDORSING_SUPPORTING_TOKENS.getLocalPart();
+            break;
+        case Constants.SUPPORTING_TOKEN_SIGNED_ENDORSING:
+            localname = Constants.SIGNED_ENDORSING_SUPPORTING_TOKENS
+                    .getLocalPart();
+            break;
+        default:
+            throw new RuntimeException("Invalid SupportingTokenType");
+        }
+
+        // <sp:SupportingToken>
+        writer.writeStartElement(prefix, localname, namespaceURI);
+
+        String pPrefix = writer.getPrefix(Constants.POLICY.getNamespaceURI());
+        if (pPrefix == null) {
+            pPrefix = Constants.POLICY.getPrefix();
+            writer.setPrefix(pPrefix, Constants.POLICY.getNamespaceURI());
+        }
+        // <wsp:Policy>
+        writer.writeStartElement(pPrefix, Constants.POLICY.getLocalPart(),
+                Constants.POLICY.getNamespaceURI());
+
+        Token token;
+        for (Iterator iterator = getTokens().iterator(); iterator.hasNext();) {
+            // [Token Assertion] +
+            token = (Token) iterator.next();
+            token.serialize(writer);
+        }
+
+        
+        if (signedParts != null) {
+            signedElements.serialize(writer);
+            
+        } else if (signedElements != null) {
+            signedElements.serialize(writer);
+            
+        } else if (encryptedParts != null) {
+            encryptedParts.serialize(writer);
+            
+        } else if (encryptedElements != null) {
+            encryptedElements.serialize(writer);
+        }
+        // </wsp:Policy>
+        writer.writeEndElement();
+
+        writer.writeEndElement();
+        // </sp:SupportingToken>
     }
 }

Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/TransportBinding.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/TransportBinding.java?view=diff&rev=449962&r1=449961&r2=449962
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/TransportBinding.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/TransportBinding.java Tue Sep 26 02:38:15 2006
@@ -31,11 +31,11 @@
 import org.apache.ws.secpolicy.Constants;
 
 public class TransportBinding extends Binding {
-    
+
     private TransportToken transportToken;
-    
+
     private List transportBindings;
-    
+
     /**
      * @return Returns the transportToken.
      */
@@ -44,23 +44,24 @@
     }
 
     /**
-     * @param transportToken The transportToken to set.
+     * @param transportToken
+     *            The transportToken to set.
      */
     public void setTransportToken(TransportToken transportToken) {
         this.transportToken = transportToken;
     }
-    
+
     public List getConfigurations() {
         return transportBindings;
     }
-    
+
     public TransportBinding getDefaultConfiguration() {
         if (transportBindings != null) {
             return (TransportBinding) transportBindings.get(0);
         }
         return null;
     }
-    
+
     public void addConfiguration(TransportBinding transportBinding) {
         if (transportBindings == null) {
             transportBindings = new ArrayList();
@@ -76,43 +77,108 @@
         if (isNormalized()) {
             return this;
         }
-        
+
         AlgorithmSuite algorithmSuite = getAlgorithmSuite();
         List configurations = algorithmSuite.getConfigurations();
-        
+
         if (configurations != null && configurations.size() == 1) {
             setNormalized(true);
             return this;
         }
-        
+
         Policy policy = new Policy();
         ExactlyOne exactlyOne = new ExactlyOne();
-        
+
         All wrapper;
         TransportBinding transportBinding;
-        
+
         for (Iterator iterator = configurations.iterator(); iterator.hasNext();) {
             wrapper = new All();
             transportBinding = new TransportBinding();
-            
+
             algorithmSuite = (AlgorithmSuite) iterator.next();
             transportBinding.setAlgorithmSuite(algorithmSuite);
             transportBinding.setIncludeTimestamp(isIncludeTimestamp());
             transportBinding.setLayout(getLayout());
-            transportBinding.setSignedEndorsingSupportingTokens(getSignedEndorsingSupportingTokens());
-            transportBinding.setSignedSupportingToken(getSignedSupportingToken());
+            transportBinding
+                    .setSignedEndorsingSupportingTokens(getSignedEndorsingSupportingTokens());
+            transportBinding
+                    .setSignedSupportingToken(getSignedSupportingToken());
             transportBinding.setTransportToken(getTransportToken());
-            
+
             wrapper.addPolicyComponent(transportBinding);
             exactlyOne.addPolicyComponent(wrapper);
         }
-        
+
         policy.addPolicyComponent(exactlyOne);
         return policy;
     }
-    
+
     public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-        throw new UnsupportedOperationException();
+        String localName = Constants.TRANSPORT_BINDING.getLocalPart();
+        String namespaceURI = Constants.TRANSPORT_BINDING.getNamespaceURI();
+
+        String prefix = writer.getPrefix(namespaceURI);
+
+        if (prefix == null) {
+            prefix = Constants.TRANSPORT_BINDING.getPrefix();
+            writer.setPrefix(prefix, namespaceURI);
+        }
+
+        // <sp:TransportBinding>
+        writer.writeStartElement(prefix, localName, namespaceURI);
+        writer.writeNamespace(prefix, namespaceURI);
+        
+        String pPrefix = writer.getPrefix(Constants.POLICY.getNamespaceURI());
+        if (pPrefix == null) {
+            pPrefix = Constants.POLICY.getPrefix();
+            writer.setPrefix(pPrefix, Constants.POLICY.getNamespaceURI());
+        }
+        
+        // <wsp:Policy>
+        writer.writeStartElement(pPrefix, Constants.POLICY.getLocalPart(), Constants.POLICY.getNamespaceURI());
+        
+
+        if (transportToken == null) {
+            // TODO more meaningful exception
+            throw new RuntimeException("no TransportToken found");
+        }
+
+        // <sp:TransportToken>
+        transportToken.serialize(writer);
+        // </sp:TransportToken>
+
+        AlgorithmSuite algorithmSuite = getAlgorithmSuite();
+        if (algorithmSuite == null) {
+            throw new RuntimeException("no AlgorithmSuite found");
+        }
+
+        // <sp:AlgorithmSuite>
+        algorithmSuite.serialize(writer);
+        // </sp:AlgorithmSuite>
+
+        Layout layout = getLayout();
+        if (layout != null) {
+            // <sp:Layout>
+            layout.serialize(writer);
+            // </sp:Layout>
+        }
+
+        if (isIncludeTimestamp()) {
+            // <sp:IncludeTimestamp>
+            writer.writeStartElement(Constants.INCLUDE_TIMESTAMP.getPrefix(),
+                    Constants.INCLUDE_TIMESTAMP.getLocalPart(),
+                    Constants.INCLUDE_TIMESTAMP.getNamespaceURI());
+            writer.writeEndElement();
+            // </sp:IncludeTimestamp>
+        }
+        
+        // </wsp:Policy>
+        writer.writeEndElement();
+
+        // </sp:TransportBinding>
+        writer.writeEndElement();
+
     }
 
 }

Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/TransportToken.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/TransportToken.java?view=diff&rev=449962&r1=449961&r2=449962
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/TransportToken.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/TransportToken.java Tue Sep 26 02:38:15 2006
@@ -79,8 +79,24 @@
     }
 
     public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-        throw new UnsupportedOperationException();
         
+        String localName = Constants.TRANSPORT_TOKEN.getLocalPart();
+        String namespaceURI = Constants.TRANSPORT_TOKEN.getNamespaceURI();
+        
+        String prefix = writer.getPrefix(namespaceURI);
+        if (prefix == null) {
+            writer.setPrefix(prefix, namespaceURI);
+        }
+        
+        // <sp:TransportToken>
+        
+        writer.writeStartElement(prefix, localName, namespaceURI);
+        
+        // serialization of the token ..
+        transportToken.serialize(writer);
+        
+        writer.writeEndElement();
+        // </sp:TransportToken>
     }
     
     

Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/UsernameToken.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/UsernameToken.java?view=diff&rev=449962&r1=449961&r2=449962
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/UsernameToken.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/UsernameToken.java Tue Sep 26 02:38:15 2006
@@ -24,8 +24,10 @@
 import org.apache.ws.secpolicy.Constants;
 
 public class UsernameToken extends Token {
-    
-    private boolean useUTProfile11;
+
+    private boolean useUTProfile10 = false;
+
+    private boolean useUTProfile11 = false;
 
     /**
      * @return Returns the useUTProfile11.
@@ -35,12 +37,21 @@
     }
 
     /**
-     * @param useUTProfile11 The useUTProfile11 to set.
+     * @param useUTProfile11
+     *            The useUTProfile11 to set.
      */
     public void setUseUTProfile11(boolean useUTProfile11) {
         this.useUTProfile11 = useUTProfile11;
     }
-    
+
+    public boolean isUseUTProfile10() {
+        return useUTProfile10;
+    }
+
+    public void setUseUTProfile10(boolean useUTProfile10) {
+        this.useUTProfile10 = useUTProfile10;
+    }
+
     public QName getName() {
         return Constants.USERNAME_TOKEN;
     }
@@ -50,6 +61,57 @@
     }
 
     public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-        throw new UnsupportedOperationException();
-    }       
+        String localname = Constants.USERNAME_TOKEN.getLocalPart();
+        String namespaceURI = Constants.USERNAME_TOKEN.getNamespaceURI();
+
+        String prefix = writer.getPrefix(namespaceURI);
+        if (prefix == null) {
+            prefix = Constants.USERNAME_TOKEN.getPrefix();
+            writer.setPrefix(prefix, namespaceURI);
+        }
+
+        // <sp:UsernameToken
+        writer.writeStartElement(prefix, localname, namespaceURI);
+
+        writer.writeNamespace(prefix, namespaceURI);
+
+        String inclusion = getInclusion();
+        if (inclusion != null) {
+            writer.writeAttribute(prefix, namespaceURI, Constants.INCLUDE_TOKEN
+                    .getLocalPart(), inclusion);
+        }
+
+        if (isUseUTProfile10() || isUseUTProfile11()) {
+            String pPrefix = writer.getPrefix(Constants.POLICY
+                    .getNamespaceURI());
+            if (pPrefix == null) {
+                writer.setPrefix(Constants.POLICY.getPrefix(), Constants.POLICY
+                        .getNamespaceURI());
+            }
+
+            // <wsp:Policy>
+            writer.writeStartElement(prefix, Constants.POLICY.getLocalPart(),
+                    Constants.POLICY.getNamespaceURI());
+
+            // CHECKME
+            if (isUseUTProfile10()) {
+                // <sp:WssUsernameToken10 />
+                writer.writeStartElement(prefix, Constants.WSS_USERNAME_TOKEN10
+                        .getLocalPart(), namespaceURI);
+            } else {
+                // <sp:WssUsernameToken11 />
+                writer.writeStartElement(prefix, Constants.WSS_USERNAME_TOKEN11
+                        .getLocalPart(), namespaceURI);
+            }
+            writer.writeEndElement();
+
+            // </wsp:Policy>
+            writer.writeEndElement();
+
+        }
+
+        writer.writeEndElement();
+        // </sp:UsernameToken>
+
+    }
 }

Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Wss10.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Wss10.java?view=diff&rev=449962&r1=449961&r2=449962
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Wss10.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/Wss10.java Tue Sep 26 02:38:15 2006
@@ -88,6 +88,57 @@
     }
     
     public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-        throw new UnsupportedOperationException("not yet implemented");
+        String localname = Constants.WSS10.getLocalPart();
+        String namespaceURI = Constants.WSS10.getNamespaceURI();
+
+        String prefix = writer.getPrefix(namespaceURI);
+        if (prefix == null) {
+            prefix = Constants.WSS10.getPrefix();
+            writer.setPrefix(prefix, namespaceURI);
+        }
+
+        // <sp:Wss10>
+        writer.writeStartElement(prefix, localname, namespaceURI);
+        
+        String pPrefix = writer.getPrefix(Constants.POLICY.getNamespaceURI());
+        if (pPrefix == null) {
+            writer.setPrefix(Constants.POLICY.getPrefix(), Constants.POLICY.getNamespaceURI());
+        }
+        
+        // <wsp:Policy>
+        writer.writeStartElement(prefix, Constants.POLICY.getLocalPart(), Constants.POLICY.getNamespaceURI());
+        
+        if (isMustSupportRefKeyIdentifier()) {
+            // <sp:MustSupportRefKeyIdentifier />
+            writer.writeStartElement(prefix, Constants.MUST_SUPPORT_REF_KEY_IDENTIFIER.getLocalPart(), namespaceURI);
+            writer.writeEndElement();
+        }
+        
+        if (isMustSupportRefIssuerSerial()) {
+            // <sp:MustSupportRefIssuerSerial />
+            writer.writeStartElement(prefix, Constants.MUST_SUPPORT_REF_ISSUER_SERIAL.getLocalPart(), namespaceURI);
+            writer.writeEndElement();
+        }
+        
+        if (isMustSupportRefExternalURI()) {
+            // <sp:MustSupportRefExternalURI />
+            writer.writeStartElement(prefix, Constants.MUST_SUPPORT_REF_EXTERNAL_URI.getLocalPart(), namespaceURI);
+            writer.writeEndElement();
+        }
+        
+        if (isMustSupportRefEmbeddedToken()) {
+            // <sp:MustSupportRefEmbeddedToken />
+            writer.writeStartElement(prefix, Constants.MUST_SUPPORT_REF_EMBEDDED_TOKEN.getLocalPart(), namespaceURI);
+            writer.writeEndElement();
+
+            
+        }
+        
+        // </wsp:Policy>
+        writer.writeEndElement();
+        
+        // </sp:Wss10>
+        writer.writeEndElement();
+
     }
 }

Modified: webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/X509Token.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/X509Token.java?view=diff&rev=449962&r1=449961&r2=449962
==============================================================================
--- webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/X509Token.java (original)
+++ webservices/axis2/trunk/java/modules/secpolicy/src/org/apache/ws/secpolicy/model/X509Token.java Tue Sep 26 02:38:15 2006
@@ -116,7 +116,71 @@
     }
 
     public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-        throw new UnsupportedOperationException();
+        String localName = Constants.X509_TOKEN.getLocalPart();
+        String namespaceURI = Constants.X509_TOKEN.getNamespaceURI();
+
+        String prefix = writer.getPrefix(namespaceURI);
+
+        if (prefix == null) {
+            prefix = Constants.X509_TOKEN.getPrefix();
+            writer.setPrefix(prefix, namespaceURI);
+        }
+            
+        // <sp:X509Token> 
+        writer.writeStartElement(prefix, localName, namespaceURI);
+        
+        String inclusion = getInclusion();
+        
+        if (inclusion != null) {
+            writer.writeAttribute(prefix, namespaceURI, Constants.INCLUDE_TOKEN
+                    .getLocalPart(), inclusion);
+        }
+        
+        
+        String pPrefix = writer.getPrefix(Constants.POLICY.getNamespaceURI());
+        if (pPrefix == null) {
+            pPrefix = Constants.POLICY.getPrefix();
+            writer.setPrefix(pPrefix, Constants.POLICY.getNamespaceURI());
+        }
+        
+        // <wsp:Policy>
+        writer.writeStartElement(pPrefix, Constants.POLICY.getLocalPart(), Constants.POLICY.getNamespaceURI());
+        
+        if (isRequireKeyIdentifierReference()) {
+            // <sp:RequireKeyIdentifierReference />
+            writer.writeStartElement(prefix, Constants.REQUIRE_KEY_IDENTIFIRE_REFERENCE.getLocalPart(), namespaceURI);
+            writer.writeEndElement();
+        }
+        
+        if (isRequireIssuerSerialReference()) {
+            // <sp:RequireIssuerSerialReference />
+            writer.writeStartElement(prefix, Constants.REQUIRE_ISSUER_SERIAL_REFERENCE.getLocalPart(), namespaceURI);
+            writer.writeEndElement();
+        }
+        
+        if (isRequireEmbeddedTokenReference()) {
+            // <sp:RequireEmbeddedTokenReference />
+            writer.writeStartElement(prefix, Constants.REQUIRE_EMBEDDED_TOKEN_REFERENCE.getLocalPart(), namespaceURI);
+            writer.writeEndElement();
+        }
+        
+        if (isRequireThumbprintReference()) {
+            // <sp:RequireThumbprintReference />
+            writer.writeStartElement(prefix, Constants.REQUIRE_THUMBPRINT_REFERENCE.getLocalPart(), namespaceURI);
+            writer.writeEndElement();
+        }
+        
+        if (tokenVersionAndType != null) {
+            // <sp:WssX509V1Token10 /> | ..
+            writer.writeStartElement(prefix, tokenVersionAndType, namespaceURI);
+            writer.writeEndElement();
+        }
+        
+        // </wsp:Policy>
+        writer.writeEndElement();
+        
+        // </sp:X509Token>
+        writer.writeEndElement();
     }
        
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org