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: FSAccountUtils.java,v 1.3 2008/06/25 05:46:40 qcheng Exp $
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpackage com.sun.identity.federation.accountmgmt;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.federation.common.IFSConstants;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.federation.common.FSUtils;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.saml.assertion.NameIdentifier;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.saml.common.SAMLException;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * The utility class contains the helper functions used in
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * account management.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Attribute name to store Account's federation information key
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String USER_FED_INFO_KEY_ATTR =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "iplanet-am-user-federation-info-key";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Attribute name to store Account's federation information.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static final String USER_FED_INFO_ATTR =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "iplanet-am-user-federation-info";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private static final String FED_INFO_DELIM = "|";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Parses federation information string and put corresponding parts in
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * object fields.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param fedInfoString - String containg federation information.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return Account federation information object.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @throws FSAccountMgmtException if <code>fedInfoString</code> cannot be
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static FSAccountFedInfo stringToObject(String fedInfoString)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster StringTokenizer str = new StringTokenizer(fedInfoString,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // Local Name Identifier fields.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster FSUtils.debug.error("FSAccountUtils.stringToObject(): "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new FSAccountMgmtException(se.getMessage());
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // just ignore two tokens.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // Remote Name Identifier fields.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster FSUtils.debug.error("FSAccountUtils.stringToObject(): "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new FSAccountMgmtException(se.getMessage());
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // just ignore two tokens.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster fedInfoObject.setRemoteNameIdentifier(remoteNI);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster FSUtils.debug.error("FSAccountUtils.stringToObject():" +
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster " You have modified IDP/SP Role" +
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster " in iDS :: set it to IDPRole/SPRole ");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster IFSConstants.INVALID_ACT_FED_INFO_IN_IDS, null);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else if (token.equalsIgnoreCase("InActive")) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster FSUtils.debug.error("FSAccountUtils.stringToObject():" +
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster " You have modified Active/InActive in iDS ");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster IFSConstants.INVALID_ACT_FED_INFO_IN_IDS, null);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster token.equalsIgnoreCase(IFSConstants.AFFILIATED))
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "FSAccountUtils.stringToObject() : NoSuchElementException: ",
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new FSAccountMgmtException(nsee.getMessage());
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns string equalivent of <code>FSAccountFedInfo</code> object.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return Account Federation information.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param fedInfoObject federation info as an object.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @exception FSAccountMgmtException if <code>fedInfoObject</code> cannot
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * be converted to string.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public static String objectToInfoString(FSAccountFedInfo fedInfoObject)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster StringBuffer fedInfoSB = new StringBuffer(1000);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster fedInfoSB.append(fedInfoObject.getProviderID());
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster NameIdentifier lni = fedInfoObject.getLocalNameIdentifier();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster NameIdentifier rni = fedInfoObject.getRemoteNameIdentifier();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster FSUtils.debug.error("FSAccountUtils.objectToInfoString(): " +
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "both NameIdentifiers are null");
throw new FSAccountMgmtException(
throw new FSAccountMgmtException(
throws FSAccountMgmtException {
throw new FSAccountMgmtException(
throw new FSAccountMgmtException(
return fedKeyValue;
return str;
throws FSAccountMgmtException
throw new FSAccountMgmtException(
throw new FSAccountMgmtException(