/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：JKKBackyardBodyMessage
 *   モジュール名    ：JKKBackyardBodyMessage
 *   ソースファイル名：JKKBackyardBodyMessage.java
 *   作成者          ：富士通
 *   日付            ：2011年4月11日
 *＜機能概要＞
 *   完了画面の共通メッセージ出力を行う共通部品です。
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *   v3.00.00    2011/5/1     FJ)森本     新規作成
 *
 **********************************************************************/

package eo.web.webview.common;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;

import javax.servlet.http.HttpSession;
import javax.servlet.jsp.JspException;

import com.fujitsu.futurity.web.x33.X33VCustomTagBase;

/**
 * 完了画面の共通メッセージ出力タグハンドラクラス
 * <br>
 * @author 富士通
 *
 */
@SuppressWarnings("serial")
public class JKKBackyardBodyMessage extends X33VCustomTagBase
{
	/**メッセージリストのテンプレートID*/
	public static final String TEMPLATE_ID = "TagTemplate001";
	
	/**画面ID*/
	public static final String SCREEN_ID = "NEXT_SCREEN_ID";
	
	/**
	 * 完了画面の共通メッセージ出力処理を行う。
	 * <br>
	 * @return SKIP_BODY BODY部をスキップする。
	 * @throws JspException JSPエラー
	 */
	@Override
	public int doStartTag() throws JspException
	{
		//共有フォームBeanの遷移先画面ＩＤ
		String screenid = getSFBeanData_String(TEMPLATE_ID , SCREEN_ID);
		
		//セッション情報を取得するためのサービス契約情報オブジェクトのキーを生成
		StringBuffer keyBuf = new StringBuffer();
		keyBuf.append(screenid);
		keyBuf.append("_Message_Body");

		// セッション情報の取得
		HttpSession sessionInfo = super.pageContext.getSession();

		
		//セッション情報取得
		ArrayList<HashMap<String, String>> messageBodyInfoObj = 
			(ArrayList<HashMap<String, String>>) sessionInfo.getAttribute("MessageBodyInfo");

		// メッセージ表示領域組立処理
		StringBuffer sb = new StringBuffer();
		sb.append("<br>");
		sb.append("<div class=\"MessageBody\" id=\"messagebody\">");
		if(messageBodyInfoObj != null)
		{
			for (int i = 0; i < messageBodyInfoObj.size(); i++) {
				 sb.append(messageBodyInfoObj.get(i).get("MSG_BODY"));
				 sb.append("<br>");
			}
		}
		sb.append("</div>");
		
		//HTML出力
		outputHtml(sb.toString());
		
		if(messageBodyInfoObj != null)
		{
			// セッション情報の破棄
			messageBodyInfoObj.clear();
		}

		return SKIP_BODY;
	}
}
