//===========================================================================
// package
//===========================================================================
package jp.gr.java_conf.bugslife.form;

//===========================================================================
// import
//===========================================================================
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.commons.logging.*;

import org.apache.struts.validator.ValidatorForm;

import java.io.UnsupportedEncodingException;

import jp.gr.java_conf.bugslife.action.SessionControl;
import jp.gr.java_conf.bugslife.bug.AddText;
import jp.gr.java_conf.bugslife.selections.Sysconf;
import jp.gr.java_conf.bugslife.user.UserInfo;
import jp.gr.java_conf.bugslife.util.*;
/**
 *<PRE>
 * SysconfFormクラス
 *
 *</PRE>
 * @author 鰐川　正寛
 * @version 1.0.0
 */
public class SysconfEditForm extends ActionForm {
//===========================================================================
// attributes
//===========================================================================
	/**
	 * action
	 */
	private String m_action;
	/**
	 * システムID
	 */
	private String m_sysid;
	/**
	 * システム名称
	 */
	private String m_sysname;
	/**
	 * カレント工程
	 */
	private String m_currentPno;
	/**
	 * デフォルトＡＰバージョン
	 */
	private String m_currentAppver;
	/**
	 * デフォルトＤＢバージョン
	 */
	private String m_currentDbver;
	/**
	 * デフォルトＨＴＭＬバージョン
	 */
	private String m_currentHtmlver;
	/**
	 * デフォルト機能バージョン
	 */
	private String m_currentSpecver;
	/**
	 * お知らせ
	 */
	private String m_sysinfo;
	/**
	 * 添付ファイルパス
	 */
	private String m_attachPath;
	/**
	 * SMTPアドレス
	 */
	private String m_smtpAdress;
	/**
	 * FROMアドレス
	 */
	private String m_fromAdress;
	// 石田　2007/10/16 insert start
	/**
	 * メールの状態
	 */
//	public int DISABLE_MAIL = 0;//メール有効
//	public int ENABLE_MAIL = 1;//メール無効
//	public int m_disableMail;//=// sysconf.ENABLE_MAIL;
	public boolean m_disableMail2;//=// sysconf.ENABLE_MAIL;
	public boolean DISABLE_MAIL2 = false;//メール有効
	public boolean ENABLE_MAIL2 = true;//メール無効
	// 石田　2007/10/16 insert end
	/**
	 * Log
	 */
	private Log log = LogFactory.getLog(this.getClass().getName());
//===========================================================================
// methods
//===========================================================================
	/**
	 * アクションの取得
	 * 
	 * @return アクション
	 */
	public String getAction()
	{
		return m_action;
	}
	/**
	 * アクションのセット
	 * 
	 * @param action アクション
	 */
	public void setAction(String action)
	{
		m_action = action;
	}
	/**
	 * システムIDの取得
	 * 
	 * @return システムID
	 */
	public String getSysid()
	{
		return m_sysid;
	}
	/**
	 * システムIDのセット
	 * 
	 * @param sysid システムID
	 */
	public void setSysid(String sysid)
	{
		m_sysid = sysid;
	}
	/**
	 * システム名称の取得
	 * 
	 * @return システム名称
	 */
	public String getSysname()
	{
		return m_sysname;
	}
	/**
	 * システム名称のセット
	 * 
	 * @param sysname システム名称
	 */
	public void setSysname(String sysname)
	{
		m_sysname = sysname;
	}
	/**
	 * カレント工程の取得
	 * 
	 * @return カレント工程
	 */
	public String getCurrentPno()
	{
		return m_currentPno;
	}
	/**
	 * カレント工程のセット
	 * 
	 * @param currentPno カレント工程
	 */
	public void setCurrentPno(String currentPno)
	{
		m_currentPno = currentPno;
	}
	/**
	 * デフォルトＡＰバージョンの取得
	 * 
	 * @return デフォルトＡＰバージョン
	 */
	public String getCurrentAppver()
	{
		return m_currentAppver;
	}
	/**
	 * デフォルトＡＰバージョンのセット
	 * 
	 * @param currentAppver デフォルトＡＰバージョン
	 */
	public void setCurrentAppver(String currentAppver)
	{
		m_currentAppver = currentAppver;
	}
	/**
	 * デフォルトＤＢバージョンの取得
	 * 
	 * @return デフォルトＤＢバージョン
	 */
	public String getCurrentDbver()
	{
		return m_currentDbver;
	}
	/**
	 * デフォルトＤＢバージョンのセット
	 * 
	 * @param currentDbver デフォルトＤＢバージョン
	 */
	public void setCurrentDbver(String currentDbver)
	{
		m_currentDbver = currentDbver;
	}
	/**
	 * デフォルトＨＴＭＬバージョンの取得
	 * 
	 * @return デフォルトＨＴＭＬバージョン
	 */
	public String getCurrentHtmlver()
	{
		return m_currentHtmlver;
	}
	/**
	 * デフォルトＨＴＭＬバージョンのセット
	 * 
	 * @param currentHtmlver デフォルトＨＴＭＬバージョン
	 */
	public void setCurrentHtmlver(String currentHtmlver)
	{
		m_currentHtmlver = currentHtmlver;
	}
	/**
	 * デフォルト機能バージョンの取得
	 * 
	 * @return デフォルト機能バージョン
	 */
	public String getCurrentSpecver()
	{
		return m_currentSpecver;
	}
	/**
	 * デフォルト機能バージョンのセット
	 * 
	 * @param currentSpecver デフォルト機能バージョン
	 */
	public void setCurrentSpecver(String currentSpecver)
	{
		m_currentSpecver = currentSpecver;
	}
	/**
	 * お知らせの取得
	 * 
	 * @return お知らせ
	 */
	public String getSysinfo()
	{
		return m_sysinfo;
	}
	/**
	 * お知らせのセット
	 * 
	 * @param sysinfo お知らせ
	 */
	public void setSysinfo(String sysinfo)
	{
		m_sysinfo = sysinfo;
	}
	/**
	 * 添付ファイルパスの取得
	 * 
	 * @return 添付ファイルパス
	 */
	public String getAttachPath()
	{
		return m_attachPath;
	}
	/**
	 * 添付ファイルパスのセット
	 * 
	 * @param attachPath 添付ファイルパス
	 */
	public void setAttachPath(String attachPath)
	{
		m_attachPath = attachPath;
	}
	/**
	 * SMTPアドレスの取得
	 * 
	 * @return SMTPアドレス
	 */
	public String getSmtpAdress()
	{
		return m_smtpAdress;
	}
	/**
	 * SMTPアドレスのセット
	 * 
	 * @param smtpAdress SMTPアドレス
	 */
	public void setSmtpAdress(String smtpAdress)
	{
		m_smtpAdress = smtpAdress;
	}
	/**
	 * FROMアドレスの取得
	 * 
	 * @return FROMアドレス
	 */
	public String getFromAdress()
	{
		return m_fromAdress;
	}
	/**
	 * FROMアドレスのセット
	 * 
	 * @param fromAdress FROMアドレス
	 */
	public void setFromAdress(String fromAdress)
	{
		m_fromAdress = fromAdress;
	}
//	 石田　2007/10/16 insert start
	/**
	 * メール状態のセット
	 * 
	 * @param memo メモ
	 */
//	public void setDisableMail(int disableMail) {
//		m_disableMail = disableMail;
//	}
//	/**
//	 * メール状態の取得
//	 * 
//	 * @return メモ
//	 */
//	public int getDisableMail() {
//		return m_disableMail;
//	}
	/**
	 * メール状態のセット
	 * 
	 * @param memo メモ
	 */
	public void setDisableMail2(boolean disableMail2) {
		m_disableMail2 = disableMail2;
	}
	/**
	 * メール状態の取得
	 * 
	 * @return メモ
	 */
	public boolean getDisableMail2() {
		return m_disableMail2;
	}
	// 石田　2007/10/16 insert end
//===========================================================================
// Debugging Methods
//===========================================================================
	/**
	 * toString
	 */
	public String toString() {
		
		StringBuffer sb = new StringBuffer();
		sb.append("action    :"  + m_action + "\n");
		sb.append("sysid     :"  + m_sysid + "\n");
		sb.append("sysname   :"  + m_sysname + "\n");
		sb.append("Pno       :"  + m_currentPno + "\n");
		sb.append("Appver    :"  + m_currentAppver + "\n");
		sb.append("Dbver     :"  + m_currentDbver + "\n");
		sb.append("Htmlver   :"  + m_currentHtmlver + "\n");
		sb.append("sysinfo   :"  + m_sysinfo + "\n");
		sb.append("attachPath:"  + m_attachPath + "\n");
		sb.append("smtpAdress:"  + m_smtpAdress + "\n");
		sb.append("fromAdress:"  + m_fromAdress + "\n");
//		sb.append("disableMail:"  + m_disableMail + "\n");
		return new String(sb);
	}
//===========================================================================
// Public Methods
//===========================================================================
	/**
	* リセット
	*
	* @param mapping The mapping used to select this instance
	* @param request The servlet request we are processing
	*/
	public void reset(ActionMapping mapping, HttpServletRequest request) {
		
		//debug
		log.debug("reset");
		//encodeing セット
		try {
			request.setCharacterEncoding("SJIS");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		
		m_action = null;
		m_sysid = null;
		m_sysname = null;
		m_currentPno = null;
		m_currentAppver = null;
		m_currentDbver = null;
		m_currentHtmlver = null;
		m_currentSpecver = null;
		m_sysinfo = null;
		m_attachPath = null;
		m_smtpAdress = null;
		m_fromAdress = null;
//		m_disableMail = 0;
		m_disableMail2 = false;
	}
	/**
	* 値の検証(Validate) 
	*
	* @param mapping The mapping used to select this instance
	* @param request The servlet request we are processing
	*/
	public ActionErrors validate(ActionMapping mapping,
								 HttpServletRequest request) {
		//debnug
		log.debug("validate");
		ActionErrors errors = new ActionErrors();
		Sysconf sysconf = Sysconf.getSysconf();
		//action
		Varidater.checkRequired(m_action, "action", errors);
		//sysid
		Varidater.checkRequired(m_sysid, "sysid", errors);

//任意		
//		//sysname
//		Varidater.checkRequired(m_sysname, "sysname", errors);
		
		//currentPno
		Varidater.checkRequired(m_currentPno, "currentPno", errors);

//		任意		
//		//currentAppver
//		Varidater.checkRequired(m_currentAppver, "currentAppver", errors);
//		//currentDbver
//		Varidater.checkRequired(m_currentDbver, "currentDbver", errors);
//		//currentHtmlver
//		Varidater.checkRequired(m_currentHtmlver, "currentHtmlver", errors);
//		//currentSpecver
//		Varidater.checkRequired(m_currentSpecver, "currentSpecver", errors);
//		//sysinfo
//		Varidater.checkRequired(m_sysinfo, "sysinfo", errors);

		//attachPath
		Varidater.checkRequired(m_attachPath, "attachPath", errors);
		//smtpAdress
		Varidater.checkRequired(m_smtpAdress, "smtpAdress", errors);
		//fromAdress
		Varidater.checkRequired(m_fromAdress, "fromAdress", errors);

		return errors;
	}
}