[jboss-cvs] Picketlink SVN: r223 - federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Apr 29 21:45:47 EDT 2010
Author: anil.saldhana at jboss.com
Date: 2010-04-29 21:45:47 -0400 (Thu, 29 Apr 2010)
New Revision: 223
Modified:
federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/PicketLinkSTS.java
federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/WSTrustUtil.java
Log:
PLFED-64: move the reading and writing of STSType to WSTrustUtil
Modified: federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/PicketLinkSTS.java
===================================================================
--- federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/PicketLinkSTS.java 2010-04-29 16:34:00 UTC (rev 222)
+++ federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/PicketLinkSTS.java 2010-04-30 01:45:47 UTC (rev 223)
@@ -25,7 +25,6 @@
import java.net.URL;
import javax.annotation.Resource;
-import javax.xml.bind.JAXBElement;
import javax.xml.transform.Source;
import javax.xml.transform.dom.DOMSource;
import javax.xml.ws.Service;
@@ -38,7 +37,6 @@
import org.picketlink.identity.federation.core.config.STSType;
import org.picketlink.identity.federation.core.exceptions.ConfigurationException;
import org.picketlink.identity.federation.core.saml.v2.common.SAMLDocumentHolder;
-import org.picketlink.identity.federation.core.util.JAXBUtil;
import org.picketlink.identity.federation.core.wstrust.wrappers.BaseRequestSecurityToken;
import org.picketlink.identity.federation.core.wstrust.wrappers.RequestSecurityToken;
import org.picketlink.identity.federation.core.wstrust.wrappers.RequestSecurityTokenCollection;
@@ -191,8 +189,7 @@
* </p>
*
* @return an instance of {@code STSConfiguration} containing the STS configuration properties.
- */
- @SuppressWarnings("unchecked")
+ */
protected STSConfiguration getConfiguration() throws ConfigurationException
{
// get the configuration file and parse it.
@@ -205,10 +202,9 @@
try
{
- String pkgName = "org.picketlink.identity.federation.core.config";
InputStream stream = configurationFile.openStream();
- JAXBElement<STSType> element = (JAXBElement<STSType>) JAXBUtil.getUnmarshaller(pkgName).unmarshal(stream);
- STSType stsConfig = element.getValue();
+ STSType stsConfig = WSTrustUtil.getSTSConfiguration(stream);
+
STSConfiguration configuration = new PicketLinkSTSConfiguration(stsConfig);
if(logger.isInfoEnabled())
logger.info("picketlink-sts.xml configuration file loaded");
@@ -219,4 +215,4 @@
throw new RuntimeException("Error parsing the configuration file:", e);
}
}
-}
+}
\ No newline at end of file
Modified: federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/WSTrustUtil.java
===================================================================
--- federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/WSTrustUtil.java 2010-04-29 16:34:00 UTC (rev 222)
+++ federation/trunk/picketlink-fed-core/src/main/java/org/picketlink/identity/federation/core/wstrust/WSTrustUtil.java 2010-04-30 01:45:47 UTC (rev 223)
@@ -21,6 +21,8 @@
*/
package org.picketlink.identity.federation.core.wstrust;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.net.URI;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
@@ -34,12 +36,16 @@
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
import javax.xml.namespace.QName;
import org.apache.log4j.Logger;
import org.apache.xml.security.encryption.EncryptedKey;
import org.apache.xml.security.encryption.XMLCipher;
+import org.picketlink.identity.federation.core.config.STSType;
import org.picketlink.identity.federation.core.saml.v2.util.DocumentUtil;
+import org.picketlink.identity.federation.core.util.JAXBUtil;
import org.picketlink.identity.federation.core.util.XMLEncryptionUtil;
import org.picketlink.identity.federation.core.wstrust.wrappers.Lifetime;
import org.picketlink.identity.federation.ws.addressing.AttributedURIType;
@@ -270,6 +276,37 @@
}
return secret;
}
+
+ /**
+ * <p>
+ * Given a stream of xml configuration (such as picketlink-sts.xml), return the {@code STSType}
+ * </p>
+ * @param stream
+ * @return {@code STSType}
+ * @throws JAXBException
+ */
+ public static STSType getSTSConfiguration( InputStream stream ) throws JAXBException
+ {
+ String pkgName = "org.picketlink.identity.federation.core.config";
+ JAXBElement<STSType> element = (JAXBElement<STSType>) JAXBUtil.getUnmarshaller(pkgName).unmarshal(stream);
+ return element.getValue();
+ }
+
+ /**
+ * <p>
+ * Marshall the {@code STSType} to an outputstream
+ * </p>
+ * @param stsConfiguration
+ * @param outputStream
+ * @throws JAXBException
+ */
+ public static void persistSTSConfiguration(STSType stsConfiguration, OutputStream outputStream ) throws JAXBException
+ {
+ String pkgName = "org.picketlink.identity.federation.core.config";
+ Marshaller marshaller = JAXBUtil.getMarshaller( pkgName );
+ org.picketlink.identity.federation.core.config.ObjectFactory objectFactory = new org.picketlink.identity.federation.core.config.ObjectFactory();
+ marshaller.marshal( objectFactory.createPicketLinkSTS(stsConfiguration), outputStream );
+ }
/**
* <p>
More information about the jboss-cvs-commits
mailing list