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

import java.net.URLEncoder;

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;

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

	/* (非 Javadoc)
	 * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
	 */
	public ActionForward execute(ActionMapping map, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {

		// メッセージリソース取得
		MessageResources msgResources = getResources(request, "msg.xmf.xmo.GroupAndPeople.GroupAndPeopleMessage");

		///////////////////////////////////////////
		// パラメータ取得
		// 	・returnURL	戻りページ		必須
		///////////////////////////////////////////
		String strReturnURL_o = request.getParameter("returnURL"); // 戻りページ
		String strXmoID_o = request.getParameter("xmo_id");

		///////////////////////////////////////////
		// パラメータチェック
		///////////////////////////////////////////
		if( strReturnURL_o == null || strReturnURL_o.equals( "" ) ) {
			String strMessage = msgResources.getMessage("M072001");
			String strDetail = msgResources.getMessage("D072001");
			return getParamErrForward(map, request, strMessage, null, strReturnURL_o );
		}

		strReturnURL_o = URLEncoder.encode(strReturnURL_o, "UTF-8" );

		if(strXmoID_o == null || strXmoID_o.equals(""))
		{
			String strMessage = msgResources.getMessage("M072004");
			String strDetail = msgResources.getMessage("D072004");
			return getParamErrForward(map, request, strMessage, null, strXmoID_o );
		}
		
		// XMOIDをセッションに格納する
		String strGapkouseiXmoID = msgResources.getMessage("GAPKOUSEI_XMO_ID");
		request.getSession().setAttribute(strGapkouseiXmoID, strXmoID_o);
		
		// 表示用データを格納
		request.setAttribute("strReturnURL_o", strReturnURL_o);

		return map.findForward("success");
	}

	private ActionForward getParamErrForward( ActionMapping map, HttpServletRequest request, String strMessage, String strDetail, String strReturnURL_o ) {
		if( strMessage != null ) {
			request.setAttribute("message", strMessage);
		}
		if( strDetail != null ) {
			request.setAttribute("detail", strDetail);
		}
		if( strReturnURL_o != null ) {
			request.setAttribute("returnURL", strReturnURL_o);
		}
		
		return map.findForward("paramError");
	}
}
