/////////////////////////////////////////////////////////////////
//Copyright (C) 2005 NTT CORPORATION.
//
//	検索機能画面（基本フレームセット)表示Actionクラス
//
//		変更履歴
//			2005.02.16  新規作成  氏名 石崎賢太郎
//			2005.05.26	seart_window_type	パラメタ追加	koji
//
//	機能
//
//	検索機能画面（基本フレームセット）表示Actionクラスです。
//
/////////////////////////////////////////////////////////////////
package jp.co.ntt.lms.xmf.actions.xmo.Search;

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;

/**
 * 検索機能画面（基本フレームセット）表示Actionクラスです。
 * 
 * @author Kentaro Ishizaki (UNITEC)
 * @version 1.0
 */
public class SearchFramesetAction extends Action
{
	/**
	 * ユーザIDのセッションキー文字列。
	 */
	public final String USER_ID = "userId";
	/**
	 * 学習者の判断用キー文字列定数。
	 */ 
	public final String LEANER = "learner";
	
	/**
	 * 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
	{
		///////////////////////////////////////////
		// セッション変数の取得
		// ・userID		ユーザID	必須
		// ・isLeaner	学習者種別	任意
		///////////////////////////////////////////
		String strUserID = (String)request.getSession().getAttribute( USER_ID );
		String strLearner = (String)request.getSession().getAttribute( LEANER );

		///////////////////////////////////////////
		// セッション変数のチェック
		///////////////////////////////////////////
		if( strLearner == null ) {
			request.setAttribute("message", "");
			request.setAttribute("detail", "");
			request.setAttribute("close", "on");
			request.setAttribute("errorurl", "../Com/ComLoginRedirector.vm");
			return mapping.findForward("error");
		}

		////////////////////////////////////////////////////////////////
		// パラメータ取得
		// 	・tree_view_type	ツリータイプ		必須
		// 	・ini_menu			初期メニュー		必須
		////////////////////////////////////////////////////////////////
		String strTreeViewType = request.getParameter("tree_view_type" ); 	// ツリータイプ
		if (strTreeViewType == null)
		{
			strTreeViewType = "";
		}

		String strIniMenu      = request.getParameter( "ini_menu" );		// 初期メニュー
		if (strIniMenu == null)
		{
			strIniMenu = "";
		}

		String strSearchWinType = request.getParameter("search_window_type" );
		if (strSearchWinType == null)
		{
			strSearchWinType = "";
		}

		//URLパラメータ連結
		String strParamGet = "SearchFlg=&tree_view_type=" + strTreeViewType + "&ini_menu=" + strIniMenu;

		
		// リクエストに変数をセット
		request.setAttribute("strParamGet", strParamGet);

		if (strSearchWinType.equals("method"))
		{
			return mapping.findForward("method");
		}
		else
		{
			return mapping.findForward("success");
		}
	}
}
