/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom, 2011
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKKMainSubKeiJudgeCC
*   ソースファイル名：JKKMainSubKeiJudgeCC.java
*   作成者          ：FJ）時見
*   日付            ：2015年10月20日
*＜機能概要＞
*   主従切替CCクラスです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v20.00.00   2015/10/20   FJ）時見    新規作成
*
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.HashMap;
import com.fujitsu.futurity.bp.x21.bpm.db.SessionHandle;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.cc.AbstractCommonComponent;
import com.fujitsu.futurity.common.x01.sc.SCControlMapKeys;

/**
 * 主従切替処理です。<p>
 * <br>
 * @author FJ
 */
public class JKKMainSubKeiJudgeCC extends AbstractCommonComponent
{
	
	/** サービスインタフェース呼び出しで使用するマッパー群 */
	private JKKMainSubKeiJudgeMapperCC mapper = null;

	/**
	 * 主従切替の初期処理です。
	 * 
	 * <br>
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return void
	 * @throws Throwable 
	 */
	private void init(IRequestParameterReadWrite param, String fixedText)
	throws Throwable
	{
		// マッパーの初期化
		if (null == this.mapper)
		{
			this.mapper = new JKKMainSubKeiJudgeMapperCC();
		}
		
		// コントロールマップのエラー情報を初期化
		param.setControlMapData(SCControlMapKeys.ERROR_INFO, new ArrayList<Object>());
	}

	/**
	 * 主従切替処理です。
	 * 
	 * パラメータのサービス契約番号よりＳＴＢ主従切替処理を実行します。
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 */
	public IRequestParameterReadWrite runMskj(SessionHandle handle, IRequestParameterReadWrite param, String fixedText)
	throws Throwable
	{

		// 初期処理
		init(param, fixedText);

		// リクエストパラメータの取得処理
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(fixedText);
		
		// 主従切替処理を呼び出す
		JKKBpCommon.runMainSubKeijudge(handle, param, inMap, fixedText);
		
		return param;
	}
}
