/*
このファイルの中身は、NTT オープンソースライセンス　バージョン 1.0（「本
契約」という）の適用を受けます。
本契約を遵守しない限り、このファイルを使用してはなりません。
本契約のコピーは、次のＵＲＬから入手できます。
【配布サイトのURL】 http://www.oss.ecl.ntt.co.jp/lms/

本契約に基づき頒布されるソフトウェアは、現状のまま、明示又は黙示のあらゆ
る種類の保証なしで、頒布されます。本契約に基づく権利及び制限を律する特定
の文言については、本契約を参照してください。

「オリジナルコード」は、 NTT Cyber Space Laboratories Code です。 
「オリジナルコード」の「初期開発者」は、日本電信電話株式会社です。  
日本電信電話株式会社により創作された部分は、Copyright (C) 2004 
日本電信電話株式会社 です。
全ての権利が留保されます。 
「コントリビュータ」：_____________________________________ 


The contents of this file are subject to the NTT Opensource License
Version 1.0 (the License); you may not use this file except in
compliance with the License. You may obtain a copy of the License at
【配布サイトのURL】 http://www.oss.ecl.ntt.co.jp/lms/

Software distributed under the License is distributed on an AS IS
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
License for the specific language governing rights and limitations
under the License.

The Original Code is NTT Cyber Space Laboratories Code .

The Initial Developer of the Original Code is NIPPON TELEGRAPH AND 
TELEPHONE CORPORATION.
Portions created by the NIPPON TELEGRAPH AND TELEPHONE CORPORATION 
are Copyright (C) 2004 NIPPON TELEGRAPH AND TELEPHONE CORPORATION. 
All Rights Reserved.

Contributor(s) ______________________________________.
*/

//
// 期限、回数つきアサイン用定数クラス
// 
//
//	変更履歴
//	2004/01/08 新規作成	T.Nishiki 

package jp.co.ntt.lms.xms.assign;

import jp.co.ntt.lms.xmo.Environment;
import jp.co.ntt.lms.xmo.Mail.MailConst;
import jp.co.ntt.lms.xms.common.mail.MailTemplateConstant;
import jp.co.ntt.lms.xms.common.util.StringUtil;

/**
 * 期限回数付きアサイン共通定数クラス。
 * @author T.Nishiki
 */
public class CustomAssignConstant {

	/**
	 * セッション格納キー：入力情報。
	 */
	public static final String KEY_INPUT_BEAN;
	
	/**
	 * セッション格納キー：メール種別。
	 */
	public static final String KEY_MAIL_TYPE;
	
	/**
	 * セッション格納キー：送信ユーザ情報。
	 */
	public static final String KEY_SEND_USER;

	/**
	 * パラメータ名：教材ＩＤ。
	 */
	public static final String LO_ID;
	/**
	 * パラメータ名：教材親ＩＤ。
	 */
	public static final String PARENT_LO_ID;
	/**
	 * パラメータ名：グループ／人ＩＤ。
	 */
	public static final String PERSONNEL_ID;
	/**
	 * パラメータ名：グループ／人親ＩＤ。
	 */
	public static final String PARENT_GROUP_ID;
	/**
	 * パラメータ名：教材パス。
	 */
	public static final String PERSONNEL_PATH;
	/**
	 * パラメータ名：グループ／人パス。
	 */
	public static final String LO_PATH;

	/**
	 * ウィンドウタイトル。
	 */
	public static final String WINDOW_TITLE;
	/**
	 * ヘッダ画像パス。
	 */
	public static final String HEAD_IMAGE_PATH;
	/**
	 * ステータス：警告画面遷移用。
	 */
	public static final String STATUS_WARNING;
	
	/**
	 * ステータス：メール送信なし用。
	 */
	public static final String STATUS_NO_MAIL;

	/** 
	 * 警告メッセージキー：開始日時不正。
	 */
	public static final String KEY_MESSAGE_INVALID_START_DATE;
	/** 
	 * 警告メッセージキー：終了日時不正。
	 */
	public static final String KEY_MESSAGE_INVALID_END_DATE;
	/** 
	 * 警告メッセージキー：日時順序不正。
	 */
	public static final String KEY_MESSAGE_INVALID_DATE_ORDER;
	/** 
	 * 警告メッセージキー：学習回数不正。
	 */
	public static final String KEY_MESSAGE_INVALID_COUNT;
	
	/** 
	 * 警告メッセージキー：パラメータ不正。
	 */
	public static final String KEY_MESSAGE_INVALID_PARAMETER;

	/** 
	 * 警告メッセージキー：データあり。
	 */
	public static final String KEY_MESSAGE_ASSIGN_EXISTS;

	/** 
	 * 警告メッセージキー：データなし。
	 */
	public static final String KEY_MESSAGE_ASSIGN_NO_EXISTS;
	
	/** 
	 * 警告メッセージキー：挿入完了。
	 */
	public static final String KEY_MESSAGE_COMPLETE_INSERT;
	
	/** 
	 * 警告メッセージキー：更新完了。
	 */
	public static final String KEY_MESSAGE_COMPLETE_UPDATE;
	
	/**
	 * アクションＩＤ：登録エラ画面「戻る」ボタン押下時。
	 */
	public static final String ACTION_ID_REGIST_ERROR_COMEBACK;

	/**
	 * アクションＩＤ：他画面から最初に呼ばれるアクションID。
	 */
	public static final String ACTION_ID_FIRST;
	
	/**
	 * アクションＩＤ：閉じる際にアクションID。
	 */
	public static final String ACTION_ID_CLOSE;

	/**
	 * 項目名称：アサイン種別。<br>
	 */
	public static final String NAME_ASSORT;

	/**
	 * 項目名称：期間開始ラジオボタン。<br>
	 */
	public static final String NAME_START_LIMIT;

	/**
	 * 項目名称：期間終了ラジオボタン。<br>
	 */
	public static final String NAME_END_LIMIT;

	/**
	 * 項目名称：期間開始年。<br>
	 */
	public static final String NAME_START_YEAR;

	/**
	 * 項目名称：期間開始月。<br>
	 */
	public static final String NAME_START_MONTH;

	/**
	 * 項目名称：期間開始日。<br>
	 */
	public static final String NAME_START_DAY;

	/**
	 * 項目名称：期間開始時。<br>
	 */
	public static final String NAME_START_HOUR;

	/**
	 * 項目名称：期間開始分。<br>
	 */
	public static final String NAME_START_MINUTE;

	/**
	 * 項目名称：期間終了年。<br>
	 */
	public static final String NAME_END_YEAR;

	/**
	 * 項目名称：期間終了月。<br>
	 */
	public static final String NAME_END_MONTH;

	/**
	 * 項目名称：期間終了日。<br>
	 */
	public static final String NAME_END_DAY;

	/**
	 * 項目名称：期間終了時。<br>
	 */
	public static final String NAME_END_HOUR;

	/**
	 * 項目名称：期間終了分。<br>
	 */
	public static final String NAME_END_MINUTE;

	/**
	 * 項目名称：回数制限ラジオボタン。<br>
	 */
	public static final String NAME_COUNT_LIMIT;
	
	/**
	 * 項目名称：回数テキストボックス。<br>
	 */
	public static final String NAME_COUNT;
	
	/**
	 * 項目名称：メール送信チェックボックス。<br>
	 */
	public static final String NAME_SUBMIT_MAIL;
	
	/**
	 * 項目名称：新規／更新区別フラグ。<br>
	 */
	public static final String NAME_OPERATE;
	
	/**
	 * 項目名称：親ウィンドウリロードしないフラグ。<br>
	 */
	public static final String NAME_NO_RELOAD;

	/**
	 * 項目名称：メール使用フラグ。
	 */
	public static final String NAME_USABLE_MAIL;

	/**
	 * アサイン種別：学習。<br>
	 */
	public static final int ASSORT_TYPE_LEARN =0;
	
	/**
	 * アサイン種別：管理。<br>
	 */
	public static final int ASSORT_TYPE_MANAGE =1;
	
	/**
	 * アサイン種別：学習と管理。<br>
	 */
	public static final int ASSORT_TYPE_LEARN_MANAGE =2;

	/**
	 * 期間開始：制限なし。
	 */
	public static final int PERIOD_START_NO_LIMITED=0;
	
	/**
	 * 期間開始：制限あり。
	 */
	public static final int PERIOD_START_LIMITED=1;

	/**
	 * 期間終了：制限なし。
	 */
	public static final int PERIOD_END_NO_LIMITED = 0;
	
	/**
	 * 期間終了：制限あり。
	 */
	public static final int PERIOD_END_LIMITED = 1;

	/**
	 * 学習回数：制限なし。
	 */
	public static final int COUNT_NO_LIMITED = 0;
	
	/**
	 * 学習回数：制限あり。
	 */
	public static final int COUNT_LIMITED = 1;
	
	/**
	 * メール送信：送信する場合の値。
	 */
	public static final int SUBMIT_MAIL = 1;

	/**
	 * メール送信：送信しない場合の値。
	 */
	public static final int SUBMIT_NO_MAIL = 0;

	/**
	 * パラメータ：メール使用フラグ使用可。
	 */
	public static final int USABLE_MAIL_OK;

	/**
	 * パラメータ：メール使用フラグ使用不可。
	 */
	public static final int USABLE_MAIL_NG;

	/**
	 * 操作種別：新規。
	 */
	public static final int OPERATION_NEW;

	/**
	 * 操作種別：更新。
	 */
	public static final int OPERATION_UPDATE;

	/**
	 * 学習回数：入力最大値。
	 */
	public static final int COUNT_MAX;

	/**
	 * 学習回数：入力最小値。
	 */
	public static final int COUNT_MIN;

	/**
	 * 学習回数：入力Textサイズ値。
	 */
	public static final int COUNT_MAXLENGTH;

	/**
	 * 期限回数つきアサインで利用するセッションキーの配列。
	 */
	public static final String[] KEYS_SESSION;

	/**
	 * 権限カラム値：権限なし。
	 */
	public static final String CULUMN_VALUE_NO_AUTH;
	/**
	 * 権限カラム値：権限あり。
	 */
	public static final String CULUMN_VALUE_AUTH;
	/**
	 * 権限カラム値：権限なし。
	 */
	public static final int CULUMN_VALUE_NO_AUTH_INT;
	/**
	 * 権限カラム値：権限あり。
	 */
	public static final int CULUMN_VALUE_AUTH_INT;

	/**
	 * メール種別：アサイン。
	 */
	public static final String MAIL_TYPE_ASSIGNMENT;	

	/**
	 * メール種別：アサイン。
	 */
	public static final int MAIL_TYPE_ASSIGNMENT_INT;	

	/**
	 * パラメータ値：仮想ルートコンテナを表す値。
	 */
	public static final String LO_ID_TREE_ROOT;

	/**
	 * パラメータ値：仮想ルートグループを表す値。
	 */
	public static final String GROUP_ID_TREE_ROOT;

	/**
	 * セッションキー：仮想ルートコンテナ／グループのIDを保持するオブジェクト。
	 */
	public static final String KEY_ASSIGN_ROOT_INFO;

	/**
	 * スタティック・イニシャライザ。<br>
	 */
	static {
		// 環境変数取得用
		Environment environment = null;
	
		// リソースルート一時取得用
		String resourceRoot = null;
		try {
			// 環境変数取得インスタンス生成
			environment  = new Environment();
			// リソースルートを取得
			resourceRoot = environment.getProperty("RESOURCE_ROOT");
		} catch (Exception e) {
			// 例外発生時はデフォルト値
			resourceRoot = "/xms2";
		} finally {
		}


		// パラメータ名：教材ＩＤ。
		LO_ID="loid";
		// パラメータ名：教材親ＩＤ。
		PARENT_LO_ID="parentlold";
		// パラメータ名：グループ／人ＩＤ。
		PERSONNEL_ID="personnelid";
		// パラメータ名：グループ／人親ＩＤ。
		PARENT_GROUP_ID="parentgroupid";
		// パラメータ名：教材パス。
		PERSONNEL_PATH="personnelpath";
		// パラメータ名：グループ／人パス。
		LO_PATH="lopath";

		// セッション格納キー：入力情報。
		KEY_INPUT_BEAN = "ASM_CA_FormData";

	 	// メール種別セッション格納キー。
		KEY_MAIL_TYPE = MailConst.SKEY_MAILTYPE;
		// 送信ユーザ情報セッション格納キー。
		KEY_SEND_USER = MailConst.SKEY_SENDUSER;
		// ウィンドウタイトル
		WINDOW_TITLE   = "アサイン更新（詳細）画面";
		// ヘッダ画像パス。
		HEAD_IMAGE_PATH = resourceRoot + "/image/xmo/Base/jpn/cp_tit1_assign.gif";
		// ステータス：メール送信なし用。
		STATUS_WARNING = "warn";
		// ステータス：警告画面遷移用。
		STATUS_NO_MAIL = "nomail";
		
		// 警告メッセージキー：開始日時不正。
		KEY_MESSAGE_INVALID_START_DATE = "assign.w.customize.invalidstartdate";
		// 警告メッセージキー：終了日時不正。
		KEY_MESSAGE_INVALID_END_DATE   = "assign.w.customize.invalidenddate";
		// 警告メッセージキー：日時順序不正。
		KEY_MESSAGE_INVALID_DATE_ORDER = "assign.w.customize.invaliddateorder";
		// 警告メッセージキー：学習回数不正。
		KEY_MESSAGE_INVALID_COUNT      = "assign.w.customize.invalidcount";
		// 警告メッセージキー：パラメータ不正。
		KEY_MESSAGE_INVALID_PARAMETER  = "assign.w.customize.invalidparameter";
		// 警告メッセージキー：データあり。
		KEY_MESSAGE_ASSIGN_EXISTS      = "assign.w.customize.assignexists";
		// 警告メッセージキー：データなし。
		KEY_MESSAGE_ASSIGN_NO_EXISTS   = "assign.w.customize.assignnoexists";
		// 警告メッセージキー：挿入完了。
		KEY_MESSAGE_COMPLETE_INSERT    = "assign.i.customize.complete.insert";
		// 警告メッセージキー：更新完了。
		KEY_MESSAGE_COMPLETE_UPDATE    = "assign.i.customize.complete.update";
	
		
	 	// アクションＩＤ：登録エラ画面「戻る」ボタン押下時。
		ACTION_ID_REGIST_ERROR_COMEBACK = "CustomAssign.frameset.warningcomeback";
	 	// アクションＩＤ：他画面から最初に呼ばれるアクションID。
		ACTION_ID_FIRST ="CustomAssign.frameset";
		// アクションＩＤ：閉じる際のアクションID。
		ACTION_ID_CLOSE = "CustomAssign.close";

		// 操作種別。新規
		OPERATION_NEW = 0;
		// 操作種別。更新
		OPERATION_UPDATE = 1;
		// 学習回数：入力最大値。
		COUNT_MAX = 99;
		// 学習回数：入力最小値。
		COUNT_MIN = 0;
		// 学習回数：入力Textサイズ値。
		COUNT_MAXLENGTH = 2;

		// パラメータ：メール使用フラグ使用可。
		USABLE_MAIL_OK = 1;
		// パラメータ：メール使用フラグ使用不可。
		USABLE_MAIL_NG = 0;

		// 項目名称：アサイン種別。
		NAME_ASSORT = "assort";
		
		// 項目名称：期間開始ラジオボタン。
		NAME_START_LIMIT = "start";
		
		// 項目名称：期間終了ラジオボタン。
		NAME_END_LIMIT = "end";
		
		// 項目名称：期間開始年。
		NAME_START_YEAR = "syear";
		
		// 項目名称：期間開始月。
		NAME_START_MONTH = "smonth";
		
		// 項目名称：期間開始日。
		NAME_START_DAY = "sday";
		
		// 項目名称：期間開始時。
		NAME_START_HOUR = "shour";
	
		// 項目名称：期間開始分。
		NAME_START_MINUTE = "sminute";
		
		// 項目名称：期間終了年。
		NAME_END_YEAR = "eyear";
		
		// 項目名称：期間終了月。
		NAME_END_MONTH = "emonth";
		
		// 項目名称：期間終了日。
		NAME_END_DAY = "eday";
		
		// 項目名称：期間終了時。
		NAME_END_HOUR = "ehour";
	
		// 項目名称：期間終了分。
		NAME_END_MINUTE = "eminute";
		
		// 項目名称：回数制限ラジオボタン。
		NAME_COUNT_LIMIT = "climit";
		
		// 項目名称：回数テキストボックス。
		NAME_COUNT = "count";
		
		// 項目名称：メール送信チェックボックス。
		NAME_SUBMIT_MAIL = "submitmail";

		// 項目名称：新規／更新区別。
		NAME_OPERATE = "operate";

		// 項目名称：親ウィンドウリロードフラグ。
		NAME_NO_RELOAD = "reload";
		// 項目名称：メール使用可能フラグ
		NAME_USABLE_MAIL = "usablemail";

		// 期限回数つきアサインで利用するセッションキーの配列。
		KEYS_SESSION = new String[]{
			// エラー情報
			MailTemplateConstant.KEY_ERROR_INFO
			// メールテンプレート情報
			,MailTemplateConstant.KEY_MAIL_BEAN
			// アサイン入力情報
			,KEY_INPUT_BEAN
			// メール種別
			,KEY_MAIL_TYPE
		};

		// 権限カラム値：権限なし。
		CULUMN_VALUE_NO_AUTH = "0";
		// 権限カラム値：権限あり。
		CULUMN_VALUE_AUTH = "1";
		// 権限カラム値：権限なし。
		CULUMN_VALUE_NO_AUTH_INT = 0;
		// 権限カラム値：権限あり。
		CULUMN_VALUE_AUTH_INT = 1;

		// メール種別：アサイン。
		MAIL_TYPE_ASSIGNMENT = MailConst.TYPE_ASSIGNMENTS;

		// メール種別：アサイン。
		MAIL_TYPE_ASSIGNMENT_INT = StringUtil.parseInt(MAIL_TYPE_ASSIGNMENT,0);	

		// パラメータ値：仮想ルートコンテナを表す値。
		LO_ID_TREE_ROOT = "lotreeroot";

		// パラメータ値：仮想ルートグループを表す値。
		GROUP_ID_TREE_ROOT = "grouptreeroot";

		// セッションキー：仮想ルートコンテナ／グループのIDを保持するオブジェクト。
		KEY_ASSIGN_ROOT_INFO = "assignrootinfo";
	}
}
