a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * The contents of this file are subject to the terms
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * of the Common Development and Distribution License
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * (the License). You may not use this file except in
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * compliance with the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * You can obtain a copy of the License at
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * https://opensso.dev.java.net/public/CDDLv1.0.html or
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * See the License for the specific language governing
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * permission and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * When distributing Covered Code, include this CDDL
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Header Notice in each file and include the License file
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * If applicable, add the following below the CDDL Header,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * with the fields enclosed by brackets [] replaced by
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * your own identifying information:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * "Portions Copyrighted [year] [name of copyright owner]"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * $Id: FSSession.java,v 1.3 2008/06/25 05:46:56 qcheng Exp $
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.federation.accountmgmt.FSAccountFedInfo;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.liberty.ws.disco.common.DiscoConstants;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.saml.assertion.AttributeStatement;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Class that encasulates federation session.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private AttributeStatement _autoFedStatement = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Constructs a new <code>FSSession</code>.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param sessionID authentication session ID
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param sessionPartners list of session partners
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Constructs a new <code>FSSession</code> object.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param sessionID authentication session ID
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns authentication context.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return authentication context
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setAuthnContext(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets authentication context.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param authnContext authentication context to be set
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getAuthnContext()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setAuthnContext(String authnContext) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns session index.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return session index.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setSessionIndex(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets session index.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param sessionIndex session index to be set
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getSessionIndex()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setSessionIndex(String sessionIndex) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns list of session partners.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return list of session partners
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Adds a session partner.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param sessionPartner session partner to be added
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void addSessionPartner(FSSessionPartner sessionPartner) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster while (i.hasNext()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (((FSSessionPartner)i.next()).equals(sessionPartner)){
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns the first session partner of the list of session partners.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return the first session partner of the list
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public FSSessionPartner getCurrentSessionPartner() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Removes a session partner.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param sessionPartner session partner to be removed
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void removeSessionPartner(String sessionPartner) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster while (i.hasNext()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster FSSessionPartner oldSessionPartner =(FSSessionPartner)i.next();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (oldSessionPartner.isEquals(sessionPartner)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "FSSession.removeSessionPartner : Removing "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns session ID.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return authentication session ID
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Adds attribute to the session.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param key name of the attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param value value of the attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void addAttribute(String key, String value) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns value of an attribute from the session.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param key name of the attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return value of the attribute
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return this.sessionID.equals(session.getSessionID());
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns a hash code for this session. The value is the hash code of
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * the session ID.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return a hash code value for this object
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the boot strap attribute statement.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param statement Boot strap attribute statement
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getBootStrapAttributeStatement()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setBootStrapAttributeStatement(AttributeStatement statement) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster statement.toString(true, true), FSUtils.debug);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster org.w3c.dom.Element element = doc.getDocumentElement();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster resourceOfferings = element.getElementsByTagNameNS(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster FSUtils.debug.error("FSSession.setBootStrapAttributeStatement" +
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "Can not parse the attribute statement:" , ex);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets the boot strap attribute statement.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return Boot strap attribute statement
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setBootStrapAttributeStatement(AttributeStatement)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public AttributeStatement getBootStrapAttributeStatement() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets Discovery Service Boot strap resource offerings.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return Bootstrap resoource offerings
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public NodeList getBootStrapResourceOfferings() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the bootstrap security credential assertion.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param assertions List of bootstrap security assertions.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getBootStrapCredential()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setBootStrapCredential(List assertions) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets the boot strap security credential assertion.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return List of Boot strap security assertion
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setBootStrapCredential(List)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets AutoFederate Statement.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param autoFedStmt Auto Federate Statement.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getAutoFedStatement()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setAutoFedStatement(AttributeStatement autoFedStmt) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets Auto Federate Statement.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return Auto Federate Statement.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setAutoFedStatement(AttributeStatement)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public AttributeStatement getAutoFedStatement() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets Attribute Statements.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param attrStatements List of Attribute Statements.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getAttributeStatements()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setAttributeStatements(List attrStatements) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets Attribute Statements.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return List of Attribute Statements.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setAttributeStatements(List)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the flag for one time federation.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param oneTimeFlag flag for one time federation
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getOneTime()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns the flag for one time federation.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return <code>true</code> if the session is for one time federation;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <code>false</code> otherwise.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets account federation info.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param fedInfo account federation info to be set
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getAccountFedInfo()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setAccountFedInfo(FSAccountFedInfo fedInfo) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns account federation info.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return <code>FSAccountFedInfo</code> object
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setAccountFedInfo(FSAccountFedInfo)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets user ID.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param userID user ID to be set
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getUserID()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster FSUtils.debug.message("FSSession.setUserID : " + userID);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns user ID.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return user ID
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setUserID(String)