/////////////////////////////////////////////////////////////////
//Copyright (C) 2005 NTT CORPORATION.
//
//	LOOG[`FbNANVNX
//
//		ύX
//			2005.02.12  VK쐬  ~ _i
//
//	@\
//
//	̃NXLOOG[`FbÑANVNXłB
//
////////////////////////////////////////////////////////////////

package jp.co.ntt.lms.xmf.actions.xmo.lo.prerequisite;

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;

import jp.co.ntt.lms.xmf.common.CommonFunction;
import jp.co.ntt.lms.Common.status.prerequisite.*;

/**
 *  LOOG[`FbNNVNX
 * 
 *  ̃NXLOOG[`FbÑANVNXłB
 * 
 *  @author ~ _i
 *  @version 1.0
 */
public class LoPrerequisiteErrorCheckAction extends Action {

	/**
	 * execute\bh
	 * 
	 * @param ActionMapping ̃ANVIꂽƂɎgpꂽActionMapping
	 * @param ActionForm ̓tH[
	 * @param HttpServletRequest HTTPNGXg
	 * @param HttpServletResponse HTTPX|X
	 * @return ActionForward ANVtH[h
	 * @throws Exception 
	 */
public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {

		// bZ[W\[X擾
		MessageResources resources = getResources(request, "msg.xmf.xmo.Lo.Conclusion.MessageResources");

		//-------------------------------------------------------------------------
		// ϐ錾
		//-------------------------------------------------------------------------
		String strWkLOID 	= "";	//WorkpLOID
		String strErrMsg 	= "";	//\G[bZ[W
		String strErrChkRet = "";	//\G[`FbŇ(0:,1:\G[,2:VXeG[)
		boolean bInsMode    = false;

		//-------------------------------------------------------------------------
		// URLp[^̎擾
		//-------------------------------------------------------------------------
		String strParentID 		= CommonFunction.null2blank(request.getParameter("parentID"));
		String strLOID 			= CommonFunction.null2blank(request.getParameter("LoID"));
		String strLOType 		= CommonFunction.null2blank(request.getParameter("LoType"));
		String strPrerequisite 	= CommonFunction.null2blank(request.getParameter("hdnPrerequisite"));

		//-------------------------------------------------------------------------
		// Ή
		//-------------------------------------------------------------------------
		//strPrerequisite = CommonFunction.encodeSJIS(strPrerequisite);
		//̗[̃Xy[X菜
		strPrerequisite = strPrerequisite.trim();

		//-------------------------------------------------------------------------
		//LOID̔(VKo^FstrParentID\`FbNɂĎgp)
		//          (XVo^FstrLOID\`FbNɂĎgp)
		//-------------------------------------------------------------------------
		//VKo^̏ꍇ
		if (strLOID.equals(""))
		{
			strWkLOID = strParentID;
			bInsMode = true;

		}
		//XVo^̏ꍇ
		else
		{
			strWkLOID = strLOID;
			bInsMode = false;
		}

		//-------------------------------------------------------------------------
		// Ȍ̍\`FbNs
		// (NULL ܂""̏ꍇ̓`FbNȂ)
		//-------------------------------------------------------------------------
		if (! strPrerequisite.equals("") || strPrerequisite == null)
		{
			// OƑΏLOIDw肵āACX^X
			Prerequisite objPrerequisite = new Prerequisite( strPrerequisite, strWkLOID );
			// \`FbN
			try {
			    objPrerequisite.check(bInsMode);
				strErrChkRet = resources.getMessage("STR_ERROR_OK");
			}
			catch( PrerequisiteParseException pe ) {
			    // \O
			    strErrMsg = pe.getMessage();
				strErrChkRet = resources.getMessage("STR_ERROR_NG");
			}
			catch( PrerequisiteException ce ) {
			    // sO
			    // VXeG[ COm
				strErrChkRet = resources.getMessage("STR_ERROR_SYS");
			}
		}
		else
		{
			strErrChkRet = resources.getMessage("STR_ERROR_OK");
		}

		request.setAttribute("strPrerequisite", strPrerequisite);
		request.setAttribute("strErrChkRet", strErrChkRet);
		request.setAttribute("strErrMsg", strErrMsg);
		
		return mapping.findForward("success");
	}
}
