Author: ruchith
Date: Sat Feb 23 05:31:27 2008
New Revision: 14082

Log:

Added a util nodeToString method

Modified:
   
trunk/solutions/identity/modules/base/src/main/java/org/wso2/solutions/identity/util/IdentityUtil.java
   
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/saml/SAMLTokenConsumer.java

Modified: 
trunk/solutions/identity/modules/base/src/main/java/org/wso2/solutions/identity/util/IdentityUtil.java
==============================================================================
--- 
trunk/solutions/identity/modules/base/src/main/java/org/wso2/solutions/identity/util/IdentityUtil.java
      (original)
+++ 
trunk/solutions/identity/modules/base/src/main/java/org/wso2/solutions/identity/util/IdentityUtil.java
      Sat Feb 23 05:31:27 2008
@@ -1,10 +1,13 @@
 package org.wso2.solutions.identity.util;
 
-import java.security.MessageDigest;
-
+import org.apache.axiom.om.impl.dom.factory.OMDOMFactory;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.xml.security.utils.Base64;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+import java.security.MessageDigest;
 
 public class IdentityUtil {
 
@@ -15,6 +18,8 @@
             'F', 'G', 'H', 'J', 'K', 'M', 'N', 'P', 'R', 'S', 'T', 'U', 'V',
             'W', 'X', 'Y', 'Z' };
 
+    private static Document importerDoc = null;
+    
     public static String getPPIDDisplayValue(String value) throws Exception {
         log.info("Generating display value of PPID : " + value);
         byte[] rawPpid = Base64.decode(value);
@@ -35,4 +40,20 @@
         return sb.toString();
 
     }
+    
+    /**
+     * Serialize the given node to a String.
+     * @param node Node to be serialized.
+     * @return The serialized node as a java.lang.String instance.
+     */
+    public static String nodeToString(Node node) {
+
+        if(importerDoc == null) {
+            OMDOMFactory fac = new OMDOMFactory();
+            importerDoc = (Document)fac.createOMDocument();
+        }
+        //Import the node as an AXIOM-DOOM node and use toSting()
+        Node axiomNode = importerDoc.importNode(node, true);
+        return axiomNode.toString(); 
+    }
 }

Modified: 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/saml/SAMLTokenConsumer.java
==============================================================================
--- 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/saml/SAMLTokenConsumer.java
     (original)
+++ 
trunk/solutions/identity/modules/token-verifier-core/src/main/java/org/wso2/solutions/identity/relyingparty/saml/SAMLTokenConsumer.java
     Sat Feb 23 05:31:27 2008
@@ -1,16 +1,5 @@
 package org.wso2.solutions.identity.relyingparty.saml;
 
-import java.io.StringReader;
-import java.security.cert.X509Certificate;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map.Entry;
-
-import javax.servlet.ServletRequest;
-import javax.servlet.http.HttpServletRequest;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
-
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMDocument;
 import org.apache.axiom.om.OMElement;
@@ -21,7 +10,6 @@
 import org.apache.axiom.om.util.Base64;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.ws.security.util.DOM2Writer;
 import org.opensaml.DefaultBootstrap;
 import org.opensaml.xml.ConfigurationException;
 import org.w3c.dom.Document;
@@ -32,6 +20,18 @@
 import org.wso2.solutions.identity.relyingparty.RelyingPartyException;
 import org.wso2.solutions.identity.relyingparty.TokenVerifierConstants;
 import org.wso2.solutions.identity.relyingparty.servletfilter.RelyingPartyData;
+import org.wso2.solutions.identity.util.IdentityUtil;
+
+import javax.servlet.ServletRequest;
+import javax.servlet.http.HttpServletRequest;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamReader;
+
+import java.io.StringReader;
+import java.security.cert.X509Certificate;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map.Entry;
 
 public class SAMLTokenConsumer {
     
@@ -222,12 +222,7 @@
             omKeyInfo = null;
             if (keyInfo != null) {
                 
-                //Make sure we don't loose namespaces
-                OMDOMFactory fac = new OMDOMFactory();
-                OMDocument doc = fac.createOMDocument();
-                //Import the node as an AXIOM-DOOM node and use toSting()
-                Node node = ((Document)doc).importNode(keyInfo, true);
-                String value = node.toString();
+                String value = IdentityUtil.nodeToString(keyInfo);
                 XMLStreamReader parser = XMLInputFactory.newInstance()
                         .createXMLStreamReader(new StringReader(value));
                 StAXOMBuilder builder = new StAXOMBuilder(parser);

_______________________________________________
Identity-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/identity-dev

Reply via email to