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

//===========================================================================
// import
//===========================================================================
// Java core API
import java.util.*;
import java.text.*;
import org.apache.commons.logging.*;

// DB API
import jp.gr.java_conf.bugslife.db.*;

// Util API
import jp.gr.java_conf.bugslife.util.*;
import jp.gr.java_conf.bugslife.user.*;
//import jp.gr.java_conf.bugslife.system.*;


/**
 *<PRE>
 * 
 * InfoBugクラス
 * 
 *</PRE>
 * @version	0.0, 2001/09/10
 * @author	鰐川　正寛
 */
//===========================================================================
public class InfoBug extends Bug
{
//===========================================================================
// attributes
//===========================================================================
	/**
	 *	機能名
	 */
	private String m_functionLabel = null;
	/**
	 * Log
	 */
	private Log log = LogFactory.getLog(this.getClass().getName());
//===========================================================================
// methods
//===========================================================================
	/**
	 *	デフォルトコンストラクタ
	 *
	 */
	public InfoBug()
	{
		
	}
//======================================
// Property
//======================================
	/**
	 * 最終更新日の取得
	 * 
	 * @return 最終更新日
	 */
	public String getUpdateDateString()
	{
		Date date = getUpdateDate();
		return Converter.getDateString(date, Converter.MMDDHHMM);
	}
	/**
	 * 最終更新日のセット
	 * 
	 * @param date 最終更新日
	 */
	public void setUpdateDateString(String date)
	{
		//
	}
	/**
	 * 機能名称の取得
	 * 
	 * @return 機能名称
	 */
	public String getFunctionLabel()
	{
		return m_functionLabel;
	}
	/**
	 * 機能名称のセット
	 * 
	 * @param functionLabel 機能名称
	 */
	public void setFunctionLabel(String functionLabel)
	{
		m_functionLabel = functionLabel;
	}
//===========================================================================
// methods
//===========================================================================
	/**
	 *	クラス情報
	 */
	public String toString()
	{
		StringBuffer sb = new StringBuffer();
		sb.append("--- [InfoBug] --- \n");
		sb.append("bno   : " + getBnoString() + "\n");
		sb.append("title : " + getTitle() + "\n");
		sb.append("status: " + getStatusString() + "\n");
		sb.append("update: " + getUpdateDateString() + "\n");
		sb.append("fucntion  : " + m_functionLabel + "\n");
		sb.append("Compo     : " + getComponentString() + "\n");
		sb.append("dispatch  : " + getDispatchName() + "\n");
		sb.append("--- [InfoBug] --- \n");
		return sb.toString();
	}
	/**
	 *	テストメイン
	 */
	public static void main(String[] args)
	{
		System.out.println("------- << InfoBug Test Start >> -----------");
		unitTest1();	//検索テスト
		System.out.println("------- << InfoBug Test End >> -----------");
	}
	
	/**
	 *	unitTest1
	 *
	 * 新規作成テスト
	 *
	 */
	public static void unitTest1()
	{
		System.out.println("------- unitTest1 -----------");
		Calendar cal = Calendar.getInstance();
		cal.add(Calendar.DATE, -7);
		
		Collection list = BugFinder.findUpdateBug(cal.getTime());
		//表示
		display(list);
		
	}
	/**
	 * リストの表示
	 *
	 */
	private static void display(Collection list)
	{
		Iterator ite = list.iterator();
		
		while(ite.hasNext()) {
			InfoBug InfoBug = (InfoBug)ite.next();
			
			System.out.println(InfoBug.toString());
		}
	}
}