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

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

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

import jp.co.ntt.lms.xmf.actions.XmsAction;
import jp.co.ntt.lms.xms.framework.XmsBusinessAction;
import jp.co.ntt.lms.xms.framework.XmsInnerException;
import jp.co.ntt.lms.xms.framework.XmsRequest;
import jp.co.ntt.lms.xms.framework.XmsResponse;
import jp.co.ntt.lms.xms.framework.XmsScreenAction;
import jp.co.ntt.lms.xms.framework.XmsSystemException;
import jp.co.ntt.lms.xms.framework.XmsWarningException;

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

	/* (非 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){

		// レスポンスオブジェクトの生成
		XmsResponse xmsResponse = new XmsResponse();
		try {
			// リクエストオブジェクトの生成
			XmsRequest xmsRequest = new XmsRequest(request, response);
			
			// BusinessAction生成
			// 対象：jp.co.ntt.lms.xms.lumpfile.LumpFileRegistAction
			XmsBusinessAction bizAction = new jp.co.ntt.lms.xms.lumpfile.LumpFileRegistAction();
			
			// BusinessAction実行
			if ( bizAction != null ) {
				performXmsBusinessAction(bizAction, xmsRequest, xmsResponse);
			}
			
			// ScreenAction生成
			// 対象：BusinessStatus="nomail"の場合 -> jp.co.ntt.lms.xms.lumpfile.LumpFileNoMailEndAction
			XmsScreenAction scrAction = null;
			if ( xmsResponse.getBusinessStatus() == "nomail" ) {
				scrAction = new jp.co.ntt.lms.xms.lumpfile.LumpFileNoMailEndAction();
			}

			// ScreenAction実行
			if ( scrAction != null ) {
				performXmsScreenAction(scrAction, xmsRequest, xmsResponse);
			}

		} catch (XmsWarningException e) {
			return map.findForward("warning");
		} catch (XmsInnerException e) {
			return map.findForward("inner");
		} catch (XmsSystemException e) {
			return map.findForward("system");
		} catch (Throwable th) {
			return map.findForward("throwable");
		}

		String businessStatus = xmsResponse.getBusinessStatus();
		return map.findForward(businessStatus);
	}
}
