/////////////////////////////////////////////////////////////////
//Copyright (C) 2005 NTT CORPORATION.
//
//	ユーザに割り当てられているXMOIDのリストを取得するクラス
//
//		変更履歴
//			2005.02.19  新規作成  村上 靖征
//
//	機能
//
//	このクラスはユーザに割り当てられているXMOIDのリストを取得するクラスです。
//
////////////////////////////////////////////////////////////////

package jp.co.ntt.lms.xmf.tools.xmo.Base;

import java.util.Vector;

import jp.co.ntt.lms.xmf.XmfException;
import jp.co.ntt.lms.xmo.RoleAssignments.RoleAssignmentsClient;

/**
 * ユーザに割り当てられているXMOIDのリストを取得するクラス
 * 
 * このクラスはユーザに割り当てられているXMOIDのリストを取得するクラスです。
 * 
 * @author 村上 靖征
 * @version 1.0
 */
public class GetAssignXmoList
{
    /**
     * ユーザに割り当てられているXMOIDのリストを取得します。
     * 
     * @param strUserID
     *            ユーザID
     * @return Vector XmoIDのリスト
     */
    public static Vector getAssignXmoList(String strUserID, String strSelectID) throws Exception
    {
        //選択されたものが人グループLO以外（教材構造）の場合、メニューをださない。
        if (strSelectID.indexOf("GR") == -1 && strSelectID.indexOf("PE") == -1
                && strSelectID.indexOf("LO") == -1)
        {
            return new Vector();
        }

        // 権限割当からユーザに割り当てられている権限を取得する
        RoleAssignmentsClient objRoleAss = new RoleAssignmentsClient();
        String strTargetID = new String(strSelectID);

        // 選択対象がLOの場合はnullを入力パラメータとする
        if (strSelectID != null && strSelectID.indexOf("LO") != -1
                || strSelectID != null && strSelectID.equals("") == true)
        {
            strTargetID = null;
        }

        if (!objRoleAss.searchXmoList(strUserID, strTargetID))
        {
            throw new XmfException(objRoleAss.getMessageData());
        }

        // 結果格納用ベクター
        Vector vecXmoList = new Vector();

        String[] strTemp = objRoleAss.getXmoList();
        for (int i = 0; i < strTemp.length; i++)
        {
            vecXmoList.add(strTemp[i]);
        }

        return vecXmoList;

    }
}