/////////////////////////////////////////////////////////////////
//Copyright (C) 2005 NTT CORPORATION.
//
//	アサイン更新処理　メソッドのアサイン画面のメソッドツリーフレーム表示Actionクラス
//
//		変更履歴
//			2005.03.22  新規作成  氏名 石崎賢太郎
//
//	機能
//
//	メソッドのアサイン画面のメソッドツリーフレーム表示Actionクラスです。
//
/////////////////////////////////////////////////////////////////
package jp.co.ntt.lms.xmf.actions.lo.method.methodassignments;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.util.MessageResources;

/**
 * メソッドのアサイン画面のメソッドツリーフレーム表示Actionクラスです。
 * 
 * @author Kentaro Ishizaki (UNITEC)
 * @version 1.0
 */
public class MethodAssignmentsFrameMethodAction extends Action
{
	/**
	 * strutsフレームワークから呼ばれるメソッドです。
	 * 
	 * @param mapping マッピングオブジェクト。
	 * @param form アクションフォームオブジェクト。
	 * @param request リクエストオブジェクト。
	 * @param response レスポンスオブジェクト。
	 * @return ActionForward アクションフォワードオブジェクト。
	 * @throws Exception
	 */
	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception
	{
		// パラメータ取得
		String strSelectID = request.getParameter("selectID");	// 選択ID
		
		// 定数取得
		MessageResources constants = getResources(request, "CommonConstants");

		String strLoginUserID_o = (String)request.getSession().getAttribute(constants.getMessage("USER_ID"));		// ログインユーザID 

		// ログインユーザがスーパーユーザか普通の管理者かでルートのIDを切り分けます。
		String strTreeRoot_o = null;
		if (strLoginUserID_o == null)
		{
			// セッションが切れている場合はログイン画面にリダイレクト
			return mapping.findForward("loginRedirect");
		}
		else
		{
			if (strLoginUserID_o.equals(constants.getMessage("SUPER_USER")))
			{
				strTreeRoot_o = constants.getMessage("METHOD_ROOT");
			}
			else
			{
				strTreeRoot_o = constants.getMessage("LO_TREE_ROOT");
			}
		}

		// ツリーデータ取得用のアプレット
		String strServerName_o = request.getServerName();
		int intServerPort_o = request.getServerPort();
		String strContextPath_o = request.getContextPath();
		
		
		// リクエストに変数をセット
		request.setAttribute("strServerName_o", strServerName_o);
		request.setAttribute("intServerPort_o", new Integer(intServerPort_o));
		request.setAttribute("strContextPath_o", strContextPath_o);
		// 
		request.setAttribute("strSelectID", strSelectID);
		request.setAttribute("strTreeRoot_o", strTreeRoot_o);
		
		return mapping.findForward("success");
	}
}
