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