/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：TELvision･eo-netフォンMYページログイン
*   ソースファイル名：FUW09801SFLogic.java
*   作成者          ：富士通
*   日付            ：2012年01月12日
*＜機能概要＞
*  TELvision･eo-netフォンMYページログインのビューロジッククラスです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2012/01/12   FJ）垣本    新規作成
*
**********************************************************************/
package eo.web.webview.FUW09801SF;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;

import com.fujitsu.futurity.web.x00.JCCBusinessException;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;

import eo.common.constant.JFUStrConst;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * TELvision･eo-netフォンMYページログインのビューロジッククラスです。<p>
 * <BR>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class FUW09801SFLogic extends JCCWebBusinessLogic
{

	/**
	 * 初期表示処理
	 * 
	 * @return 処理結果
	 * @throws Exception 例外
	 */
	public boolean init() throws Exception
	{

		// サービスフォームBean保持
		X31SDataBeanAccess serviceFormBean = getServiceFormBean();
		// 共有フォームBean保持
		X31SDataBeanAccess commonInfoBean = getCommonInfoBean();

		// 画面情報を取得し、サービスフォームBeanに設定
		JFUWebCommon.getScreenInfo(this);
		// サービスフォームBean.ユーザーＩＤ
		String strUser_id = serviceFormBean.sendMessageString(FUW09801SFConst.USER_ID, X31CWebConst.DATABEAN_GET_VALUE);
		// サービスフォームBean.遷移元画面ＩＤ
		String strGamen_id = serviceFormBean.sendMessageString(FUW09801SFConst.PRE_GAMEN_ID, X31CWebConst.DATABEAN_GET_VALUE);

		// -------------------------------------------------
		// 共有フォームBean情報の取得
		// -------------------------------------------------
		// SSO情報情報取得
		X31SDataBeanAccess ssoInfoBean = JFUWebCommon.getDataBeanTypeByPath(commonInfoBean, JFUWebCommon.SSO_INFO);
		// サービス契約番号取得
		String svcKeiNo = ssoInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_21, X31CWebConst.DATABEAN_GET_VALUE);
		// サービスフォームBean.サービス契約番号
		serviceFormBean.sendMessageString(FUW09801SFConst.SVC_KEI_NO, X31CWebConst.DATABEAN_SET_VALUE, svcKeiNo);

		// サービスフォームBeanのユーザーＩＤ= ""(空白)の場合
		if (JFUStrConst.EMPTY.equals(strUser_id))
		{
			DEBUG_LOG.info("★TELvision･eo-netフォン ユーザーＩＤが取得できませんでした");
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// 遷移元画面ＩＤ="FUW04201"(TELvisionユーザー情報変更/照会メニュー)、
		// または、遷移元画面ＩＤ="FUW04202"(TELvisionユーザー情報照会の場合、
		// TELvisionユーザー情報の各種登録画面URLを設定する
		String strUrl = JFUStrConst.EMPTY;
		if (JFUScreenConst.SCREEN_ID_FUW04201.equals(strGamen_id) || JFUScreenConst.SCREEN_ID_FUW04202.equals(strGamen_id))
		{
			strUrl = JFUWebCommon.getApplicationConst(JFUStrConst.FU_C_API_IF_TELVISION_MYPAGE_URL);
		}

		serviceFormBean.sendMessageString(FUW09801SFConst.NEXT_URL, X31CWebConst.DATABEAN_SET_VALUE, strUrl);

		// css_path情報の取得
		String pathData = JFUWebCommon.getApplicationConst(JFUStrConst.C_CSS_PATH);
		// パス格納用
		String path = JFUStrConst.EMPTY;
		String[] temp = pathData.split(";");
		path = getPath(temp[0]);
		serviceFormBean.sendMessageString(FUW09801SFConst.CSS_PATH, X31CWebConst.DATABEAN_SET_VALUE, path);

		// 遷移先画面ＩＤ
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_ID_FUW09801);
		// 遷移先画面名称
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW09801);

		return true;
	}

	/**
	 * 引数の後ろにファイルセパレータを付与して返却する。
	 * @param str パス生成のもとになる文字列
	 * @return 処理後のパス
	 */
	private String getPath(final String str)
	{
		String path = str.trim();
		if (!JFUStrConst.SLASH.equals(path.substring(path.length() - 1)))
		{
			return path + JFUStrConst.SLASH;
		}
		return path;
	}

}
