/////////////////////////////////////////////////////////////////
//Copyright (C) 2005 NTT CORPORATION.
//
//	ATCXV@M[URLIꂽƂɃOCIɍsActionNX
//
//		ύX
//			2005.02.16  VK쐬   ΍茫Y
//
//	@\
//
//	M[URLIꂽƂɃOCsActionNXłB
//
/////////////////////////////////////////////////////////////////
package jp.co.ntt.lms.xmf.actions.lo.method.methodassignments;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import jp.co.ntt.lms.xmf.XmfOperateSession;
import jp.co.ntt.lms.xms.common.user.User;
import jp.co.ntt.lms.xms.framework.XmsRequest;
import jp.co.ntt.lms.xms.framework.XmsResponse;
import jp.co.ntt.lms.xms.framework.XmsWarningException;
import jp.co.ntt.lms.xms.login.assignments.AssignLoginAction;
import jp.co.ntt.lms.xms.login.base.OperateSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
 * M[URLIꂽƂɃOCsActionNXłB
 * 
 * @author Kentaro Ishizaki (UNITEC)
 * @version 1.0
 */
public class MethodAssignmentsRegOpenAction extends Action
{
	/**
	 * strutst[[NĂ΂郁\bhłB
	 * 
	 * @param mapping }bsOIuWFNgB
	 * @param form ANVtH[IuWFNgB
	 * @param request NGXgIuWFNgB
	 * @param response X|XIuWFNgB
	 * @return ActionForward ANVtH[hIuWFNgB
	 * @throws Exception
	 */
	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception
	{
		String warningMessage = null;
		
		// ATC[OCBeañCX^X
		AssignLoginAction AssignLoginObject = new AssignLoginAction();
		XmsRequest xmsRequest = new XmsRequest(request, response);
		XmsResponse xmsResponse = new XmsResponse();
		try {

			// OC
			AssignLoginObject.perform( xmsRequest, xmsResponse );
			
			User user = (User)request.getSession().getAttribute(OperateSession.USER_SESSION);
			XmfOperateSession.setUserInfo(request.getSession(), user);

			// ԋplIuWFNg玟URL擾A_CNg
			request.setAttribute("message", "");
			request.setAttribute("detail", "");
			request.setAttribute("close", "on");
			request.setAttribute("errorurl", xmsResponse.getUrl());
			return mapping.findForward("error");
		}
		catch( XmsWarningException xwe ) {

			// G[bZ[W擾
			warningMessage = xwe.getMessage();
			// G[bZ[Wi[Ăꍇ
			// URL login.html ݒ肳Ă̂Ń_CNg
			// A[gŃbZ[W̕\s
		}
		

		// NGXgɕϐZbg
		request.setAttribute("strWarningMessage", warningMessage);
		request.setAttribute("strURL", AssignLoginObject.getUrl());
		
		return mapping.findForward("success");
	}

}
