/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JFUFUSV012715ReqChk
*	ソースファイル名：JFUFUSV012715ReqChk.java
*	作成者			：FJ
*	日付			：2012年03月12日
*＜機能概要＞
*	オプションチャンネル重複一覧照会実行判定部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*   v3.00.00    2012/03/12   FJ）大野    新規作成:「案件番号： ANK-0281-01-00」【巻き取り@】【オプション重複チェック対応】
*
**********************************************************************/
package com.fujitsu.futurity.bp.custom.reqchk;

import java.util.ArrayList;
import java.util.HashMap;

import com.fujitsu.futurity.bp.x21.bpm.common.AbstractCustomReqChk;
import com.fujitsu.futurity.bp.x21.bpm.common.IConditionValue;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadOnly;
import com.fujitsu.futurity.bp.x21.bpm.reqchk.exception.ReqChkException;

/**
 * オプションチャンネル重複一覧照会実行判定部品
 * <BR>
 * @author 富士通
 */
public class JFUFUSV012715ReqChk extends AbstractCustomReqChk
{

	/** オプションチャンネル重複リスト */
	private static final String OPCH_CHFK_LIST = "opch_chfk_list";
	
	/** FUSV012707CC */
	private static final String FUSV012707CC = "FUSV012707CC";
	
	/**
	 * オプションチャンネル重複一覧照会実行判定部品
	 * <BR>
	 * FUSV012707CCのオプションチャンネル重複リストが取得できるかどうかの判定をします。
	 * <BR>
	 * @param  irp  リクエストパラメータ
	 * @param  conditionvalue  判定値格納クラス
	 * @return 取得したオプションチャンネル重複リストのリストサイズが0の場合、True。
	 * @throws ReqChkException
	 */
	@SuppressWarnings("unchecked")
	public boolean checkExecution(IRequestParameterReadOnly irp, IConditionValue conditionvalue) throws ReqChkException
	{
		// BP定義ツールで指定した値を取得する
		try
		{
			HashMap<String, Object> parentMap = null;
			parentMap = (HashMap<String, Object>)irp.getData(FUSV012707CC);
			ArrayList<HashMap<String, String>> cbsMsgList = (ArrayList<HashMap<String, String>>)parentMap.get(OPCH_CHFK_LIST);
			if (cbsMsgList.size() == 0)
			{
				return true;
			}
			else
			{
				return false;
			}
		}
		catch (RequestParameterException e)
		{
			return false;
		}
	}
}
