You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by na...@apache.org on 2008/01/28 10:50:04 UTC

svn commit: r615837 - /webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/X509Token.java

Author: nandana
Date: Mon Jan 28 01:50:03 2008
New Revision: 615837

URL: http://svn.apache.org/viewvc?rev=615837&view=rev
Log:
rampart-policy related changes to support WS Security Policy 1.2

Modified:
    webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/X509Token.java

Modified: webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/X509Token.java
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/X509Token.java?rev=615837&r1=615836&r2=615837&view=diff
==============================================================================
--- webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/X509Token.java (original)
+++ webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/X509Token.java Mon Jan 28 01:50:03 2008
@@ -21,7 +21,9 @@
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.neethi.PolicyComponent;
-import org.apache.ws.secpolicy.Constants;
+import org.apache.ws.secpolicy.SP11Constants;
+import org.apache.ws.secpolicy.SP12Constants;
+import org.apache.ws.secpolicy.SPConstants;
 
 public class X509Token extends Token {
 
@@ -35,6 +37,10 @@
     
     private String tokenVersionAndType;
     
+    public X509Token(int version) {
+        setVersion(version);
+    }
+    
     /**
      * @return Returns the requireEmbeddedTokenReference.
      */
@@ -108,7 +114,11 @@
     }
 
     public QName getName() {
-        return Constants.X509_TOKEN;
+        if ( version == SPConstants.SP_V12) {
+            return SP12Constants.X509_TOKEN;
+        } else {
+            return SP11Constants.X509_TOKEN;
+        }      
     }
 
     public PolicyComponent normalize() {
@@ -116,57 +126,62 @@
     }
 
     public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-        String localName = Constants.X509_TOKEN.getLocalPart();
-        String namespaceURI = Constants.X509_TOKEN.getNamespaceURI();
+        String localName = getName().getLocalPart();
+        String namespaceURI = getName().getNamespaceURI();
 
         String prefix = writer.getPrefix(namespaceURI);
 
         if (prefix == null) {
-            prefix = Constants.X509_TOKEN.getPrefix();
+            prefix = getName().getPrefix();
             writer.setPrefix(prefix, namespaceURI);
         }
             
         // <sp:X509Token> 
         writer.writeStartElement(prefix, localName, namespaceURI);
         
-        String inclusion = getInclusion();
+        String inclusion;
+        
+        if (version == SPConstants.SP_V12) {
+            inclusion = SP12Constants.getAttributeValueFromInclusion(getInclusion());
+        } else {
+            inclusion = SP11Constants.getAttributeValueFromInclusion(getInclusion()); 
+        }
         
         if (inclusion != null) {
-            writer.writeAttribute(prefix, namespaceURI, Constants.INCLUDE_TOKEN
-                    .getLocalPart(), inclusion);
+            writer.writeAttribute(prefix, namespaceURI, SPConstants.ATTR_INCLUDE_TOKEN , inclusion);
         }
         
         
-        String pPrefix = writer.getPrefix(Constants.POLICY.getNamespaceURI());
+        String pPrefix = writer.getPrefix(SPConstants.POLICY.getNamespaceURI());
         if (pPrefix == null) {
-            pPrefix = Constants.POLICY.getPrefix();
-            writer.setPrefix(pPrefix, Constants.POLICY.getNamespaceURI());
+            pPrefix = SPConstants.POLICY.getPrefix();
+            writer.setPrefix(pPrefix, SPConstants.POLICY.getNamespaceURI());
         }
         
         // <wsp:Policy>
-        writer.writeStartElement(pPrefix, Constants.POLICY.getLocalPart(), Constants.POLICY.getNamespaceURI());
+        writer.writeStartElement(pPrefix, SPConstants.POLICY.getLocalPart(), SPConstants.POLICY.getNamespaceURI());
         
         if (isRequireKeyIdentifierReference()) {
             // <sp:RequireKeyIdentifierReference />
-            writer.writeStartElement(prefix, Constants.REQUIRE_KEY_IDENTIFIRE_REFERENCE.getLocalPart(), namespaceURI);
+            writer.writeStartElement(prefix, SPConstants.REQUIRE_KEY_IDENTIFIRE_REFERENCE, namespaceURI);
             writer.writeEndElement();
         }
         
         if (isRequireIssuerSerialReference()) {
             // <sp:RequireIssuerSerialReference />
-            writer.writeStartElement(prefix, Constants.REQUIRE_ISSUER_SERIAL_REFERENCE.getLocalPart(), namespaceURI);
+            writer.writeStartElement(prefix, SPConstants.REQUIRE_ISSUER_SERIAL_REFERENCE, namespaceURI);
             writer.writeEndElement();
         }
         
         if (isRequireEmbeddedTokenReference()) {
             // <sp:RequireEmbeddedTokenReference />
-            writer.writeStartElement(prefix, Constants.REQUIRE_EMBEDDED_TOKEN_REFERENCE.getLocalPart(), namespaceURI);
+            writer.writeStartElement(prefix, SPConstants.REQUIRE_EMBEDDED_TOKEN_REFERENCE, namespaceURI);
             writer.writeEndElement();
         }
         
         if (isRequireThumbprintReference()) {
             // <sp:RequireThumbprintReference />
-            writer.writeStartElement(prefix, Constants.REQUIRE_THUMBPRINT_REFERENCE.getLocalPart(), namespaceURI);
+            writer.writeStartElement(prefix, SPConstants.REQUIRE_THUMBPRINT_REFERENCE, namespaceURI);
             writer.writeEndElement();
         }
         
@@ -178,7 +193,7 @@
         
         if(isDerivedKeys()) {
             // <sp:RequireDerivedKeys/>
-            writer.writeStartElement(prefix, Constants.REQUIRE_DERIVED_KEYS.getLocalPart(), namespaceURI);
+            writer.writeStartElement(prefix, SPConstants.REQUIRE_DERIVED_KEYS, namespaceURI);
             writer.writeEndElement();
         }