/////////////////////////////////////////////////////////////////
//Copyright (C) 2005 NTT CORPORATION.
//
//WBT個別ログ　演習成績分析
//
//		変更履歴
//			2005.01.31  新規作成  OGA
//
//	機能
//
//この画面は演習成績分析画面を表示します
//
/////////////////////////////////////////////////////////////////
//------------------------------------------------
//入力値
//strLoID_o		STRING			LoID
//strUserID_o		STRING			ユーザーID
//strLoType_o		STRING			Loタイプ
//strUID_o		STRING			UID
//------------------------------------------------
//
/*
 * 作成日: 2005/02/20
 *
 * TODO この生成されたファイルのテンプレートを変更するには次へジャンプ:
 * ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート
 */
package jp.co.ntt.lms.xmf.actions.lo.wbt.IndividualLog;

import java.util.Vector;
import java.lang.Object;
import java.lang.Float;
import jp.co.ntt.lms.lo.WBT.IndividualLog.*;
import jp.co.ntt.lms.xmf.actions.lo.wbt.IndividualLog.inc.IndividualLogComFunc_inc;
import jp.co.ntt.lms.xmf.actions.lo.wbt.IndividualLog.inc.IndividualLogCommon_inc;
import jp.co.ntt.lms.xmf.actions.lo.wbt.IndividualLog.inc.IndividualLogMessga_inc;
import jp.co.ntt.lms.xmf.actions.lo.wbt.IndividualLog.inc.IndividualStub_inc;
import jp.co.ntt.lms.Common.RDF.*;

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;

/**
 * @author Administrator
 *
 * TODO この生成された型コメントのテンプレートを変更するには次へジャンプ:
 * ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート
 */
public class ResultAnalysisAction  extends Action{
	private IndividualLogMessga_inc IndividualLogMessga_inc = new IndividualLogMessga_inc();
	private IndividualLogCommon_inc IndividualLogCommon_inc = new IndividualLogCommon_inc();
	private IndividualStub_inc IndividualStub_inc = new IndividualStub_inc();
	private IndividualLogComFunc_inc IndividualLogComFunc_inc = new IndividualLogComFunc_inc();

	
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		///////////////////////////////////////////
		// パラメータ取得
		// 	・LoID		LoID		// 必須
		// 	・userId	ユーザーID	// 必須
		// 	・LoType	Loタイプ	// 必須
		// 	・UID		UID			// 必須
		///////////////////////////////////////////
		///////////////////////////////////////////
		// パラメータ取得
		// 	・LoID		LoID		// 必須
		// 	・userId	ユーザーID	// 必須
		// 	・LoType	Loタイプ	// 必須
		// 	・UID		UID			// 必須
		///////////////////////////////////////////
		String strLoID_o         = request.getParameter( IndividualLogCommon_inc.STR_LOID_o );          // LoID
		String strUserID_o       = request.getParameter( IndividualLogCommon_inc.STR_USERID_o );        // ユーザーID
		String strLoType_o       = request.getParameter( IndividualLogCommon_inc.STR_LOTYPE_o );        // Loタイプ
		String strUID_o          = request.getParameter( IndividualLogCommon_inc.STR_UID_o );           // UID

		// RealLOID取得
		///////////////////////////////////////////

		///////////////////////////////////////////
		// パラメータチェック
		///////////////////////////////////////////
		
		// LoIDの入力チェック
		if( strLoID_o == null || strLoID_o.equals( "" ) ) {
			request.setAttribute("message", IndividualLogMessga_inc.M072001);
			request.setAttribute("detail", IndividualLogMessga_inc.D072001);
			request.setAttribute("close", "on");

			return mapping.findForward("error");
		}
		// ユーザーIDの入力チェック
		if( strUserID_o == null || strUserID_o.equals( "" ) ) {
			request.setAttribute("message", IndividualLogMessga_inc.M072002);
			request.setAttribute("detail", IndividualLogMessga_inc.D072002);
			request.setAttribute("close", "on");

			return mapping.findForward("error");
		}
		// Loタイプの入力チェック
		if( strLoType_o == null || strLoType_o.equals( "" ) ) {
			request.setAttribute("message", IndividualLogMessga_inc.M072003);
			request.setAttribute("detail", IndividualLogMessga_inc.D072003);
			request.setAttribute("close", "on");

			return mapping.findForward("error");
		}
		// UIDの入力チェック
		if( strUID_o == null || strUID_o.equals( "" ) ) {
			request.setAttribute("message", IndividualLogMessga_inc.M072004);
			request.setAttribute("detail", IndividualLogMessga_inc.D072004);
			request.setAttribute("close", "on");

			return mapping.findForward("error");
		}

		///////////////////////////////////////////
		// RDFNodeの取得
		// ・strUID_o	UID			必須
		///////////////////////////////////////////
		RDFNode objNode = (RDFNode)IndividualStub_inc.getTargetRDFNode( strUID_o , strLoID_o , request.getSession() );
		if( objNode == null ){
			request.setAttribute("message", "getTargetRDFNode is null");
			request.setAttribute("detail", "");
			request.setAttribute("close", "on");

			return mapping.findForward("error");
		}

		////////////////////////
		// データの取得
		////////////////////////
		IndividualLogResultStoreData objStoreData = new IndividualLogResultStoreData( strLoID_o, strUserID_o, strLoType_o , objNode);
		if( objStoreData.makeStoreData() != true ){
			request.setAttribute("message", IndividualLogCommon_inc.MSG_MAKE_STOREDATA_o);
			request.setAttribute("detail", "");
			request.setAttribute("close", "on");

			return mapping.findForward("error");
		}

		// データがない場合
		if( objStoreData.getMaxData() == 0 ){
			request.setAttribute("message", IndividualLogCommon_inc.MSG_DATA_ZERO_o);
			request.setAttribute("detail", "");
			request.setAttribute("close", "on");

			return mapping.findForward("error");
		}
		
		/////////////////////////////////////////////
		// html編集
		/////////////////////////////////////////////

		Vector vecStoreData = (Vector)objStoreData.getStoreData( 0 );

		// １件目だけAUIDを取得
		String	strAU	= (String)vecStoreData.get( IndividualLogCommon_inc.DEF_RA_AU_ID_o );

		// 問題数
		int intNum = 1;
		
		request.setAttribute("IndividualLogCommon_inc",	IndividualLogCommon_inc);
		request.setAttribute("objStoreData", objStoreData);
		
		return mapping.findForward("success");
	}
}
