a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster/**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
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 *
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 * opensso/legal/CDDLv1.0.txt
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * See the License for the specific language governing
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * permission and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * When distributing Covered Code, include this CDDL
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Header Notice in each file and include the License file
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * at opensso/legal/CDDLv1.0.txt.
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 *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * $Id: FSSession.java,v 1.3 2008/06/25 05:46:56 qcheng Exp $
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpackage com.sun.identity.federation.services;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.shared.xml.XMLUtils;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.federation.common.*;
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 Fosterimport java.util.ArrayList;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.HashMap;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.Iterator;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.List;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.Map;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport org.w3c.dom.NodeList;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport org.w3c.dom.Document;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster/**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Class that encasulates federation session.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpublic class FSSession{
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private List sessionPartners = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private String sessionID = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private String sessionIndex = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private Map extraSessionAttributes = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private String authnContext = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private AttributeStatement statement = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private NodeList resourceOfferings = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private List securityAssertions = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private boolean oneTimeFederation = false;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private FSAccountFedInfo fedInfo = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private String userID = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private List attrStatements = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private AttributeStatement _autoFedStatement = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
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 */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public FSSession(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String sessionID,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster List sessionPartners
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster )
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.sessionID = sessionID;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.extraSessionAttributes = new HashMap();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (sessionPartners != null){
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.sessionPartners = sessionPartners;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.sessionPartners = new ArrayList();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Constructs a new <code>FSSession</code> object.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param sessionID authentication session ID
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public FSSession(String sessionID) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this( sessionID, null );
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns authentication context.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return authentication context
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setAuthnContext(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getAuthnContext() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return authnContext;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets authentication context.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param authnContext authentication context to be set
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getAuthnContext()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setAuthnContext(String authnContext) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.authnContext = authnContext;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns session index.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return session index.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setSessionIndex(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getSessionIndex() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return sessionIndex;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets session index.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param sessionIndex session index to be set
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getSessionIndex()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setSessionIndex(String sessionIndex) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.sessionIndex = sessionIndex;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns list of session partners.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return list of session partners
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public List getSessionPartners() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return sessionPartners;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Adds a session partner.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param sessionPartner session partner to be added
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void addSessionPartner(FSSessionPartner sessionPartner) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Iterator i = sessionPartners.iterator();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster while (i.hasNext()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (((FSSessionPartner)i.next()).equals(sessionPartner)){
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sessionPartners.add(sessionPartner);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
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 */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public FSSessionPartner getCurrentSessionPartner() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Iterator i = sessionPartners.iterator();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (i.hasNext()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return (FSSessionPartner)i.next();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Removes a session partner.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param sessionPartner session partner to be removed
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void removeSessionPartner(String sessionPartner) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Iterator i = sessionPartners.iterator();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster while (i.hasNext()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster FSSessionPartner oldSessionPartner =(FSSessionPartner)i.next();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (oldSessionPartner.isEquals(sessionPartner)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (FSUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster FSUtils.debug.message(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "FSSession.removeSessionPartner : Removing "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + sessionPartner);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster i.remove();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns session ID.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return authentication session ID
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getSessionID() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return sessionID;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
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 */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void addAttribute(String key, String value) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster extraSessionAttributes.put(key, value);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
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 */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getAttribute(String key) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return(String)extraSessionAttributes.get(key);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster boolean isEquals(String sessionId) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return this.sessionID.equals(sessionId);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster boolean equals(FSSession session) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return this.sessionID.equals(session.getSessionID());
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
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 */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public int hashCode() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return sessionID.hashCode();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the boot strap attribute statement.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param statement Boot strap attribute statement
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getBootStrapAttributeStatement()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setBootStrapAttributeStatement(AttributeStatement statement) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.statement = statement;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster try {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Document doc = XMLUtils.toDOMDocument(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster statement.toString(true, true), FSUtils.debug);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster org.w3c.dom.Element element = doc.getDocumentElement();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster resourceOfferings = element.getElementsByTagNameNS(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoConstants.DISCO_NS, "ResourceOffering");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } catch(Exception ex) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster FSUtils.debug.error("FSSession.setBootStrapAttributeStatement" +
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "Can not parse the attribute statement:" , ex);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets the boot strap attribute statement.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return Boot strap attribute statement
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setBootStrapAttributeStatement(AttributeStatement)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public AttributeStatement getBootStrapAttributeStatement() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return statement;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets Discovery Service Boot strap resource offerings.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return Bootstrap resoource offerings
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public NodeList getBootStrapResourceOfferings() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return resourceOfferings;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the bootstrap security credential assertion.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param assertions List of bootstrap security assertions.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getBootStrapCredential()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setBootStrapCredential(List assertions) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster securityAssertions = assertions;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
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 */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public List getBootStrapCredential() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return securityAssertions;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets AutoFederate Statement.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param autoFedStmt Auto Federate Statement.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getAutoFedStatement()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setAutoFedStatement(AttributeStatement autoFedStmt) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster _autoFedStatement = autoFedStmt;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets Auto Federate Statement.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return Auto Federate Statement.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setAutoFedStatement(AttributeStatement)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public AttributeStatement getAutoFedStatement() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return _autoFedStatement;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets Attribute Statements.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param attrStatements List of Attribute Statements.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getAttributeStatements()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setAttributeStatements(List attrStatements) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.attrStatements = attrStatements;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets Attribute Statements.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return List of Attribute Statements.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setAttributeStatements(List)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public List getAttributeStatements() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return attrStatements;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the flag for one time federation.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param oneTimeFlag flag for one time federation
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getOneTime()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setOneTime(boolean oneTimeFlag) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster oneTimeFederation = oneTimeFlag;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
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 */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public boolean getOneTime() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return oneTimeFederation;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets account federation info.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param fedInfo account federation info to be set
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getAccountFedInfo()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setAccountFedInfo(FSAccountFedInfo fedInfo) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.fedInfo = fedInfo;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns account federation info.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return <code>FSAccountFedInfo</code> object
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setAccountFedInfo(FSAccountFedInfo)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public FSAccountFedInfo getAccountFedInfo() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return fedInfo;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets user ID.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param userID user ID to be set
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getUserID()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setUserID(String userID) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (FSUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster FSUtils.debug.message("FSSession.setUserID : " + userID);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.userID = userID;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns user ID.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return user ID
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setUserID(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getUserID() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return userID;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster}