[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