/////////////////////////////////////////////////////////////////
//Copyright (C) 2005 NTT CORPORATION.
//
//ポップアップメニュー情報を作成。
//
//		変更履歴
//			2005.01.31  新規作成  OGA
//
//	機能
//
//個別ログ参照画面のポップアップメニュー情報を作成します。
//
/////////////////////////////////////////////////////////////////

/*
 * 作成日: 2005/02/19
 *
 * TODO この生成されたファイルのテンプレートを変更するには次へジャンプ:
 * ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート
 */
package jp.co.ntt.lms.xmf.actions.lo.wbt.IndividualLog;

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 java.util.*;
import jp.co.ntt.lms.lo.WBT.WbtLoEnv;

/**
 * @author Administrator
 *
 * TODO この生成された型コメントのテンプレートを変更するには次へジャンプ:
 * ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート
 */
public class GetMenuAction extends Action{
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		////////////////////////////////////////////////////////////////
		// パラメータ取得
		// 	・loID			loID								必須
		// 	・structType	教材構造タイプ(セクションorAU）		必須
		// 	・auID			表示ツリーパス						必須
		// 	・selectID		G03で選択されたグループorユーザID	必須
		// 	・loType		G03で選択されたLoType(固定)			必須
		////////////////////////////////////////////////////////////////
		String strLoID = request.getParameter( "loID" ); 
		String strStType = request.getParameter( "structType" );
		String strAuID = request.getParameter( "auID" );
		String strUserID = request.getParameter( "selectID" );
		String strLoType = request.getParameter( "loType" );


		// 取得したパスから、LOIDのみを取得
		StringTokenizer objToken = new StringTokenizer( strLoID, "/" );
		if ( objToken.hasMoreTokens() ) {
			strLoID = objToken.nextToken();
		}

		///////////////////////////////////////////
		// パラメータチェック
		///////////////////////////////////////////
		if( strLoID == null || strStType == null || strUserID == null || 
			strAuID == null || strLoType == null) {
			request.setAttribute("message", "PARAMERR");
			request.setAttribute("detail", "");
			request.setAttribute("close", "on");

			return mapping.findForward("error");
		}

		String strMenuUrl = "?userId=" + strUserID + "&LoID=" + strLoID + "&LoType=" + strLoType + "&UID=" + strAuID ;
		
		try{
			WbtLoEnv objEnv = new WbtLoEnv();
			Vector vecWork = null;
		
			vecWork = objEnv.getUserProgressUrl();
			String strProgressUser = (String)vecWork.get(0) + "$" + (String)vecWork.get(1) + strMenuUrl+ "$_blank;";
			vecWork = objEnv.getGroupProgressUrl();
			String strProgressGroup = (String)vecWork.get(0) + "$" + (String)vecWork.get(1) + strMenuUrl+ "$_blank;";
			vecWork = objEnv.getUserReplystatusUrl();
			String strReplyUser = (String)vecWork.get(0) + "$" + (String)vecWork.get(1) + strMenuUrl+ "$_blank;";
			vecWork = objEnv.getGroupReplystatusUrl();
			String strReplyGroup = (String)vecWork.get(0) + "$" + (String)vecWork.get(1) + strMenuUrl+ "$_blank;";
			vecWork = objEnv.getResultAnalysisUrl();
			String strResultAnalysis = (String)vecWork.get(0) + "$" + (String)vecWork.get(1) + strMenuUrl+ "$_blank;";
			vecWork = objEnv.getCsvOutPutUrl();
			String strCsv = (String)vecWork.get(0) + "$" + (String)vecWork.get(1) + strMenuUrl+ "$_blank;";
		
			String strResult = "";
			if ( strUserID.startsWith("PE") ) {
				strResult = strProgressUser + strReplyUser ;
			}
			else{
				strResult = strProgressGroup + strReplyGroup + strResultAnalysis + strCsv;
			}
			
			request.setAttribute("strResult", strResult);

		}catch(Exception e){
			e.printStackTrace();
			request.setAttribute("message", "ERR");
			request.setAttribute("detail", "");
			request.setAttribute("close", "on");

			return mapping.findForward("error");
		}
		
		return mapping.findForward("success");
	}
}
