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

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

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.conclusion.*;

/**
 *  LOIG[`FbNANVNX
 * 
 *  ̃NXLOIG[`FbÑANVNXłB
 * 
 *  @author ~ _i
 *  @version 1.0
 */
public class LoConclusionErrorCheckAction 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 strConclusion 	= CommonFunction.null2blank(request.getParameter("hdnConclusion"));

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

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

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

		//-------------------------------------------------------------------------
		// v̏̍\`FbNs
		// (NULL ܂""̏ꍇ̓`FbNȂ)
		//-------------------------------------------------------------------------
		if (! strConclusion.equals("") || strConclusion == null)
		{
			// vƑΏLOIDw肵āACX^X
			Conclusion objConclusion = new Conclusion( strConclusion, strWkLOID );

			// \`FbN
			try {
			    objConclusion.check(bInsMode);
				strErrChkRet = resources.getMessage("STR_ERROR_OK");
			}
			catch( ConclusionParseException pe ) {
			    // \O
			    strErrMsg = pe.getMessage();
				strErrChkRet = resources.getMessage("STR_ERROR_NG");
			}
			catch( ConclusionException ce ) {
			    // sO
			    // VXeG[ COm
				strErrChkRet = resources.getMessage("STR_ERROR_SYS");
			}
		}
		else
		{
			strErrChkRet = resources.getMessage("STR_ERROR_OK");
		}

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