Release Note
Ver 2001.1.09 2003/07/28
FIXED BUGS
bug id tbs00026 サーブレットログにサーブレット名が出力されない。
new functions / modified functions
com.ngMAT.DSV
新規メソッド:setColumnDelimiter(String),getColumnDelimiter(),
setDontTrim(boolean),getDontTrim()。
com.ngMAT.Log
新規メソッド:clone()。
com.ngMAT.ngmObject
新規メソッド:getShortProperty (String),getShortProperty (String,short),
getIntProperty (String),getIntProperty (String,int),getLongProperty (String),
getLongProperty (String,long),getBooleanProperty (String),
getBooleanProperty (String,boolean),getProperty (String,String)。
com.ngMAT.servket.EZSPresetProperties
新規プリセットプロパティ"HTMLTemplate.CustomTag.cp_sym.Handler"を追加。
new classes
com.ngMAT.HTML.ezscustomtag.CellPhoneSymbol
ELIMINATED FUNCTIONS / CLASSES
etc.
Ver 2001.1.08 2003/07/15
FIXED BUGS
new functions / modified functions
com.ngMAT.Common.AttributeParser
値が"で囲まれている場合、\を"の手前に置くことでエスケープするが、さらにその手前に\
がある場合は、エスケープをエスケープするようにした。
新規メソッド:addSpaceChars (String)。
com.ngMAT.Common.CommonRuntimeException
コンストラクタCommonRuntimeException(Throwable)で生成された場合、スタック
トレースの際にネストした例外のスタックトレースも出力するようにした。
com.ngMAT.Common.CoolProperties
新規メソッド:getProperty (String,String), remove(String),removeProperty(String)。
#undefine keynameで定義済みプロパティをキャンセル可能とした。
com.ngMAT.Common.ngmDBObject
新規メソッド:getDBDateStringAsDate(java.sql.Date)。
com.ngMAT.Common.ngmDB2Object
新規メソッド:getDBDateStringAsDate(java.sql.Date)。
com.ngMAT.Common.ngmPGDBObject
新規メソッド:getDBDateStringAsDate(java.sql.Date)。
com.ngMAT.HTML.CustomTag
新規メソッド:getContentAsTemplate()。
com.ngMAT.HTML.EZSCustomTag
新規メソッド:getContentAsTemplate(EZServletContext)。
com.ngMAT.HTML.FileResource
新規メソッド:setLogicalFilename(String),getLogicalFilename(),getFile(),
setSetFilename()。
getFilename()は論理ファイル名がセットされている場合、論理ファイル名を、セット
されていない場合は物理ファイル名を返すように変更した。
プロパティ"EZServlet.FileResource.Filename.Charset"でファイル名のエンコーディング
タイプを指定可能とした。
com.ngMAT.HTML.HTMLComponent
新規メソッド:setParameters(CoolProperties),removeAllSubElements()。
com.ngMAT.HTML.HTMLElement
com.ngMAT.HTML.InsertionTag
[[tagname leader="" follower=""/]]の形式でタグの出力の前後に
自動的に付加する文字列を指定できるようにした。この例の場合:
tag value
のように出力される。なお、タグが出力する値を持たない場合、leader/follower共に
出力されない。
新規メソッド:getContentAsTemplate(),getContentAsTemplate(Properties),(EZServletContext)。
com.ngMAT.HTML.ParsedTable
新規メソッド:addRow(Row),setHeader(HTMLTemplate),setHeader(Row),getHeaderString(),getRowString()。
com.ngMAT.HTML.customtag.Empty
com.ngMAT.HTML.table.Cell
新規メソッド:parse(String),parse(String,ParsePosition),getSubElementAsTemplate()。
com.ngMAT.HTML.table.Row
新規メソッド:parse(String),parse(String,ParsePosition),addCellAt(Cell,int),addCell(Cell)。
com.ngMAT.servlet.EZServletContext
新規メソッド:setSessionBranchValue(String,String,Object), getSessionBranchValue(
String,String),getSessionBranch(String),createSessionBranch(),
createMultiPartContentHandler(),createMultiPartContentHandler(int)。
com.ngMAT.tools.Bcp
bcp in の際、BcpRecordProcessorの処理タイミングを指定可能とした。
new classes
com.ngMAT.servlet.MultiPartContentHandler
com.ngMAT.servlet.Part
ELIMINATED FUNCTIONS / CLASSES
etc.
com.ngMAT.tools
toolsパッケージ内のクラスのjavadocを追加した。
Ver 2001.1.07 2003/06/06
FIXED BUGS
new functions / modified functions
com.ngMAT.Common.StringConverter
新規メソッド:removeChars (String,String), replaceCRLF2BR (String), replaceSpace2NBSP (String)。
com.ngMAT.Common.CoolProperties
新規メソッド:getShortProperty (String), getShortProperty (String, short),
getIntProperty (String), getIntProperty (String, int),
getLongProperty (String), getLongProperty (String, long),
getBooleanProperty (String), getBooleanProperty (String, boolean)。
new classes
ELIMINATED FUNCTIONS / CLASSES
Ver 2001.1.06 2003/05/16
FIXED BUGS
bug id tbs00024 CoolProperties#put(String,String)で既に存在しているプロパティを更新すると、
ベクタイメージに2重に登録される。
bug id tbs00025 プロパティ"EZServlet.Request.Charset"をセットしていない状態で
EZServletContext#urlencode(String)を使用すると、NullPointerExceptionが
発生する。
new functions / modified functions
com.ngMAT.Common.CoolProperties()
新規メソッドsave(), save(String), save (PrintWriter), setProperty(String,String)を追加。
内部クラスFileTreeNodeをSerializableとした。
com.ngMAT.Common.ngmPGDBObject
SYSDATE_STRINGの値を"datetime('now'::abstime)"から"now()"に変更した。
com.ngMAT.servlet.EZServletConfig
新規メソッドgetServlet(String)を追加。
com.ngMAT.servlet.EZServletContext
新規メソッドgetInputStream()を追加。
com.ngMAT.tools.HttpPing
起動オプション-cを追加。-cを指定するとターゲットURLのレスポンスを標準出力にプリントする。
new classes
ELIMINATED FUNCTIONS / CLASSES
Ver 2001.1.05 2003/04/15
FIXED BUGS
bug id tbs00023 HTMLTemplateの内部のRepeatableElementインスタンスにテンプレートオブジェクトにフィルタの
設定が引き継がれない。
new functions / modified functions
com.ngMAT.servlet.EZServletContext / EZServletConfig
EZServlet.TargetServletSpecで2.3を指定可能とした。2.3ハンドラではServlet.Request.Charsetが指定されている
場合に、ServletRequest#setCharacterEncoding(String)でコンテナのコード変換を無効にする。
new classes
ELIMINATED FUNCTIONS / CLASSES
Ver 2001.1.04 2003/02/25
FIXED BUGS
new functions / modified functions
com.ngMAT.Bcp
新規メソッド:initBcpOut(), doBcpOut(), wrapupBcpOut(), initBcpIn(), doBcpIn(), wrapupBcpIn()。
新規メソッド:getAssignedConnection(), setBcpOutResultSet(ResultSet), setBcpOutWriter(PrintWriter),
getBcpOutResultSet(), getBcpOutWriter(), setBcpInReader(BufferedReader), getBcpInReader(),
createBcpOutSelectSQL(), openBcpOutFile(), closeBcpOutFile(), openBcpInFile(), closeBcpInFile().
新規メソッド:wrapup(), getApplicationName(), getTargetTableName(), getTargetFileName()。
com.ngMAT.PGBcp
timestamptz型もタイムスタンプとして処理するようにした。
com.ngMAT.DSV
パースする際、ダブルクォーテションで囲まれた項目中でダブルクォーテーションを連続させた場合に
エスケープとして扱うようにした。
com.ngMAT.servlet.EZServletContext
新規メソッドsetTemporaryData (String, Object), getTemporaryData (String)。
new classes
com.ngMAT.HTML.XMLHandler
com.ngMAT.HTML.XMLHandlerContainer
com.ngMAT.tools.BcpRecordProcessor
ELIMINATED FUNCTIONS / CLASSES
Ver 2001.1.03 2003/01/28
FIXED BUGS
bug id tbs00022 HTMLTemplate.createHTMLTemplateFromString(EZServletContext,String)で生成される
テンプレートオブジェクトにフィルタの設定が引き継がれない。
new functions / modified functions
com.ngMAT.Common.ngmObjectFunction
S_DOUBLE_QUOTATION, S_SINGLE_QUOTATION, C_DOUBLE_QUOTATION, C_SINGLE_QUOTATIONを追加。
com.ngMAT.Common.DSV
新規メソッドaddWithQuotation(String), addWithQuotation(int,String)
com.ngMAT.servlet.EZServlet
デバッグモードでのセッション情報ダンプ処理前にHttpSessionが割り当てられているかどうかをチェック
するようにした。
com.ngMAT.servlet.EZServletConfig
プロパティ"EZServlet.PropertiesWatcher.Config"を指定することで、設定の自動再読み込みを行えるようにした。
com.ngMAT.servlet.EZServletContext
新規メソッド hasSession()。
新規メソッド getTemplateWithoutPathTranslation(),getStringWithoutPathTranslation()。
new classes
com.ngMAT.Common.FileWatcher
com.ngMAT.Common.event.Event
com.ngMAT.Common.event.FileModifiedEvent
com.ngMAT.Common.listener.FileModifiedEventListener
ELIMINATED FUNCTIONS / CLASSES
Ver 2001.1.02 2003/01/10
FIXED BUGS
bug id tbs00021 ParsedTableの行テンプレート内のEZSCustomTagインスタンスが適切に処理されない。
new functions / modified functions
com.ngMAT.Common.CoolProperties
新規コンストラクタ CoolProperties(String filename, Properties init_value),
CoolProperties(String filename, KeyValuePackage[] init_value),
CoolProperties(KeyValuePackage[] init_value)。
com.ngMAT.Common.Log
同名のファイルに出力する場合、出力ファイルインスタンスをLogインスタンス間で共有する
ように変更。
com.ngMAT.HTML.EZSCustomTag
新規メソッド addHTMLTemplateEventListener (HTMLTemplateEventListener)。
com.ngMAT.HTML.HTMLTemplate
新規メソッドgetRepeatableElement(String)。
新規メソッドcreateHTMLTemplateFromString (EZServletContext context, String TemplateString)。
com.ngMAT.HTML.ParsedTable
RepeatableElementのサブクラスとした。
新規メソッドgetElementTemplate()。
com.ngMAT.servlet.EZServletConfig
プロパティEZServlet.TemplatePathHandlerでテンプレートパスハンドラを指定可能とした。
サーブレットインスタンス名をプロパティ"__SERVLET_INSTANCE_NAME__"とインスタンス変数
instance_nameで保持するようにした。
EZSPresetPropertiesに定義されたプリセット値をプロパティロード前にロードするようにした。
新規メソッドgetDebugLog()。
com.ngMAT.servlet.EZServletContext
新規メソッドgetRealTemplatePath (String name), getRealTemplatePath (String root_path, String name)。
getTemplate (String), getString (String)でgetRealTemplatePath (String name)を使用するように変更。
新規メソッドgetTemplate (String root_path, String name)を追加。
新規メソッドgetString (String root_path, String name)を追加。
新規メソッドsendRedirectWithUrlEncoding (String url)を追加。設定に関わらず、強制的に
HttpServletResponse#encodeRedirectUrl(String)を呼び出す。
新規メソッドisRequestedSessionIdFromCookie()。
新規メソッドgetServerName(), getServerPort(), getProtocol(), getScheme()。
新規メソッドgetCompleteRequestURL(), completeURL (String uri)。
new classes
com.ngMAT.Common.LogFile
ログファイルハンドラ。
com.ngMAT.HTML.EZSTemplateEventListener
ezs_loaded, ezs_fixなどのイベントリスナ。
com.ngMAT.HTML.RepeatableElement
テンプレート内の繰り返し可能項目を表現するコンポーネント。
com.ngMAT.HTML.ezscustomtag.Cookie
クッキーの文字列を生成するカスタムタグ。
com.ngMAT.HTML.ezscustomtag.Parameter
HTTPパラメタの文字列を生成するカスタムタグ。
com.ngMAT.HTML.ezscustomtag.JSessionID
jsessionidの文字列を生成するカスタムタグ。
com.ngMAT.HTML.ezscustomtag.Here
呼び出しURL文字列を生成するカスタムタグ。
com.ngMAT.HTML.customtag.Now
現在時刻文字列を生成するカスタムタグ。
com.ngMAT.servlet.EZRedirectorServlet, EZRedirectorServletConfig
リダイレクタサーブレット。
com.ngMAT.servlet.EZSPresetProperties
EZServletのプロパティプリセット値リスト。以下の値を保持する。
HTMLTemplate.CustomTag.cookie.Handler=com.ngMAT.HTML.ezscustomtag.Cookie
HTMLTemplate.CustomTag.param.Handler=com.ngMAT.HTML.ezscustomtag.Parameter
HTMLTemplate.CustomTag.jsessionid.Handler=com.ngMAT.HTML.ezscustomtag.JSessionID
HTMLTemplate.CustomTag.now.Handler=com.ngMAT.HTML.customtag.Now
HTMLTemplate.CustomTag.here.Handler=com.ngMAT.HTML.ezscustomtag.Here
com.ngMAT.servlet.TemplatePathHandler
テンプレートパスハンドラ。
com.ngMAT.servlet.templatepathhandler.DefaultPathHandler
デフォルトのテンプレートパスハンドラ。何も変換しない。
com.ngMAT.servlet.templatepathhandler.AgentSensitivePathHandler
UserAgentに応じてパスを変換するテンプレートパスハンドラ。
ELIMINATED FUNCTIONS / CLASSES
Ver 2001.1.01 2002/12/22
FIXED BUGS
bug id tbs00020 プロパティApplication.Tag.EscapeCharの指定が、HTMLTemplateから内部のParsedTableの
ヘッダ、行のテンプレートに引き継がれない。
new functions / modified functions
com.ngMAT.Common.DSV
新規コンストラクタ:DSV()、DSV(Properties)。
新規メソッド:add(String), add(int, String)。
com.ngMAT.Common.StringConverter
新規メソッド:static String convertText2HTMLStyle (String src)。
新規メソッド:static String replaceStringIgnoreCase (String src, String key, String value)。
com.ngMAT.servlet.EZServlet
ByteArrayComponentを返す際にもContent-Lengthヘッダをセットするようにした。
com.ngMAT.servlet.EZServletConfig
プロパティ"EZServlet.OrganizeCookie"でサーブレットコンテナ側のクッキー送出機構の使用を指示すること
を可能とした。デフォルトはこれまでどおりEZServletがクッキーヘッダを構成する。
com.ngMAT.servlet.EZServletContext
secureフラグを指定したaddCookie (...)を追加。
com.ngMAT.HTML.ParsedTable
コンストラクタParsedTable (String, int , int , Properties)を追加。
com.ngMAT.HTML.HTMLString
新規コンストラクタ:HTMLString(StringBuffer)。
com.ngMAT.HTML.HTMLTemplate
setTagValue (String name, StringBuffer buffer), convertText2HTMLStyle()を追加。
com.ngMAT.Mail.SimpleMailMessage
クラス変数の一部をインスタンス変数に変更。
Properties, EZServletConfig, EZServletContextをパラメタとする新しいコンストラクタを追加。
プロパティMail.AppendRecipientsでsetTo/setCc/setBccのアペンドモードを指定可能とした。
com.ngMAT.servlet.EZServletContext
新規メソッド:String urlencode (String value), String urlencode (String value, String enc_type)。
new classes
ELIMINATED FUNCTIONS / CLASSES
Ver 2001.1.00 2002/12/02
FIXED BUGS
bug id tbs00017 com.ngMAT.HTMLTemplate カスタムタグの名称、[[#table]]タグのname属性を大文字で
定義したテンプレートをEZServletContext#getTemplate(String)で取得する際に、
NullPointerExceptionが発生する。
bug id tbs00018 com.ngMAT.servlet.EZServlet プロパティファイルが見つからない場合に、適切な例外を
スローせず、NullPointerExceptionになってしまい、状況がわかりにくい。
bug id tns00019 com.ngMAT.Tools.BcpのbcpUpdate(..), loadDSVFile(..)でプロパティBcp.File.Encoding
を無視していた。
new functions / modified functions
com.ngMAT.Common.CoolProperties
新しいコンストラクタnew CoolProperties (Properties)を追加。
com.ngMAT.Common.ngmDBObject
getBooleanCondition (String column_name, boolean value)を追加。
com.ngMAT.Common.ngmPGDBObject
getBooleanCondition (String column_name, boolean value)を追加。
com.ngMAT.Common.DBConnection
removeConnection (Connection)を追加。
com.ngMAT.HTMLComponent
getLongParameter (String name), getLongParameter (String name, long default_value)
getIntParameter (String name), getIntParameter (String name, int default_value)
getBooleanParameter (String name), getBooleanParameter (String name, boolean default_value)
を追加。
com.ngMAT.HTML.ParsedTable
テンプレート中の[[#table...]]で指定した属性をgetParameter (String)などで取得可能とした。
com.ngMAT.servlet.EZServletContext
パラメタフィルタリング機能を追加。EZServlet.Filter.Parameter..Class属性および、
EZServlet.Filter.HTMLTemplateStringValue..Class属性で指定。
前者の場合、getParameter(String), getPrameterValues(String)でフィルタ処理される。フィルタなしで
パラメタを取得するために、別途getRawParameter(String), getRawParameterValues(String)を追加。
また、後者はEZServletContextから取得したHTMLTemplateのsetTagValue(String)でフィルタ処理される。
getString (String filename)を追加。指定されたファイルをHTMLStringオブジェクトとしてロードする。
com.ngMAT.servlet.EZServletConfig
getShortProperty (String name, short default_value)
getIntProperty (String name, int default_value)
getLongProperty (String name, long default_value)
getBooleanProperty (String name)
getBooleanProperty (String name, boolean default_value)
debug (Object o), _debug (Object o), debugPrintln (Object o)
を追加。
com.ngMAT.tools.Bcp
プロパティDSV.ColumnDelimiterをBcp.ColumnDelimiterの値で上書きするよう修正。結果的に
DSV.ColumnDelimiterの指定は不要となった。
new classes
com.ngMAT.EZCgiServlet
com.ngMAT.CGIのEZServlet版。
com.ngMAT.servlet.EZServletFilter
EZServletContextで使用するフィルタ。現バージョンではパラメタフィルタ、HTMLTemplateのString値
セット時のフィルタとして使用可能。
com.ngMAT.servlet.filter.EZSanitizer
&<>"'をエスケープするフィルタ。
com.ngMAT.servlet.filter.Text2Html
空白を 、改行(CR+LF, LF)を
に変換するフィルタ。
ELIMINATED FUNCTIONS / CLASSES
com.ngMAT.NullServlet - クラス廃止。
com.ngMAT.ShowHttpInfo - クラス廃止。
com.ngMAT.BaseCGIServlet - クラス廃止。
com.ngMAT.CGI - クラス廃止。
com.ngMAT.TemplateBasedServlet - クラス廃止。
com.ngMAT.HTML.HTMLTemplate
setInsertionTagValue (String name, class value) - 廃止。
com.ngMAT.HTML.HTMLString
addHTMLString (String) - 廃止。
Ver 2001.0.06 2002/10/25
FIXED BUGS
bug id tbs00015 com.ngMAT.tools.Bcp#bcpin(...)で、エラー発生時でもrollbackしない。
bug id tbs00016 EZServletで扱うレスポンス用HTMLTemplateの中で、com.ngMAT.HTML.EZSCustomTagの
サブクラスを使用した場合、送出されるContent-Lengthに、その長さが含まれない。
new functions / modified functions
com.ngMAT.Common.ngmObject / ngmObjectFunction
文字列定数、文字定数群をngmObjectからngmObjectFunctionに移動し利用可能範囲を拡大した。
com.ngMAT.Common.KeyValuePackage#toString()
新規。
com.ngMAT.Common.CoolProperties#put (KeyValuePackage)
新規。
com.ngMAT.HTML.InsertionTag
挿入タグパラメタの値をcom.ngMAT.Common.AttributeParserを使用してパースするようにした。パラメタの
値をダブルクォーテーションで囲むことが可能となった。"\"を前に置くことでエスケープされる。
これに伴い、ParsedTable, CustomTagの属性も同様のルールとなった。
com.ngMAT.HTML.form.Input
新規定数S_DISABLED、新規メソッドsetDisabled()を追加。サブクラスであるCheckbox、Radioなどでも使用可能。
com.ngMAT.HTML.HTMLString
文字列定数S_HTML_SPACE ( = " ")を追加。
新しいコンストラクタHTMLString(String str, int count)を追加。
com.ngMAT.servlet.EZServletContext
以下のメソッドを新規追加。
wrapup()
EZServlet#processApplication()の処理後に呼び出される。EZServletContextでは空実装。
getContextPath()
コンテキストパスを返す。
getRequestPath()
getRequestURI()の値からプロトコル、サーバ名部分を除いた値を返す。
getRelativeRequestPath()
getRequestPath()の値からコンテキストパスを除いた値を返す。
com.ngMAT.tools.Bcp
com.ngMAT.tools.PGBcp
プロパティBcp.CleanupCharsで指定された文字をin/out時に文字列フィールドから消去する機能を追加した。
new classes
com.ngMAT.Common.AttributeParser
属性文字列のパーサ。値はダブルクォーテーションで囲むことができる。"\"を前に置くことでエスケープ可能。
com.ngMAT.HTML.HTMLSpace
S_HTML_SPACEを扱うユーティリティクラス。
com.ngMAT.tools.HttpPing
HTTPレベルのpingを行うテストツール。指定されたURLへのアクセス可否をテストする。
Ver 2001.0.05a 2002/09/18
FIXED BUGS
none
new functions / modified functions
com.ngMAT.HTML.HTMLTemplate
タグエスケープ文字をプロパティ"Application.Tag.EscapeChar"で指定可能とした。デフォルトは
'\'。OpenCharなどと異なり、charとして扱うため1文字のみ指定可能。
Ver 2001.0.05 2002/09/16
FIXED BUGS
none
new functions / modified functions
com.ngMAT.servlet.EZServlet
EZServlet内で例外が発生した場合にもログ出力するよう修正した。
LineReaderComponent以外で、データ長を取得できる場合にContent-Lengthヘッダを出力するようにした。
com.ngMAT.servlet.EZServletConfig
EZServletでキャッチした例外をハンドリングするクラスの定義を可能とした。
EZServlet.ExceptionHandelr=
指定するクラスは、com.ngMAT.serlvet.ExceptionHandlerを実装している必要がある。
com.ngMAT.Common.DBConnection
接続済みのコネクションのヘルスチェック機能を追加。
removeConnection (int)において、Connection#close()で例外が発生しても、デバッグログに
情報を出力するだけで、基本的に無視するようにした。
getConnection (String)において、空き要素がない場合のリトライ中にも番犬が活動できるように
した。
com.ngMAT.Common.ngmObject
getGroupedProperties(String)を追加。但し、保有しているプロパティがCoolPropertiesのインスタンス
の場合のみ利用可能。
com.ngMAT.Common.PooledDBConnection
接続済みのコネクションのヘルスチェック機能を追加。
removeConnection (int)において、Connection#close()で例外が発生しても、デバッグログに
情報を出力するだけで、基本的に無視するようにした。
getConnection (String)において、空き要素がない場合のリトライ中にも番犬が活動できるように
した。
com.ngMAT.HTML.HTMLTemplate
カスタムタグ([[#$...]])パース機能を追加した。パースされたカスタムタグオブジェクトは
getCustomTag(String name)で取得可能。
タグ文字の直前に'\'を配置することでタグ文字をエスケープし通常の文字として扱えるようbにした。
new classes
com.ngMAT.servlet.ExceptionHandler
EZServletでキャッチした例外をハンドリングするクラス。
com.ngMAT.Common.DBConnectionHealthChecker
DBConnection / PooledDBConnectionにおける、接続済みコネクションのヘルスチェッカ。
com.ngMAT.Common.StandardOracleHealthChecker
Oracle用標準ヘルスチェッカ。"select 1 from dual"を実行し正常終了でOKとする。
com.ngMAT.Common.StandardPostgreSQLHealthChecker
PostgreSQL用標準ヘルスチェッカ。"select 1"を実行し正常終了でOKとする。
com.ngMAT.HTML.CustomTag
HTMLTemplate中で使用するカスタムタグハンドラクラスのベースクラス。
com.ngMAT.HTML.EZSCustomTag
EZServletで使用するためのCustomTag。
com.ngMAT.HTML.InputStreamResource
InputStreamをソースとするHTMLComponent。
com.ngMAT.HTML.FileResource
FileをソースとするHTMLComponent。
Ver 2001.0.04 2002/07/20
FIXED BUGS
bug id tbs00011 com.ngMAT.Common.ngmPGDBObject#getDBString(String)で"\"をエスケープするように修正。
bug id tbs00012 com.ngMAT.servlet.EZServletContect#init(..)において、HttpServletRequest#getCookies()
の結果がnullの場合にNullPointerExceptionが発生してしまう。
bug id tbs00013 com.ngMAT.tools.Bcp, com.ngMAT.tools.PGBcpで、Statement/ResultSetのcloseもれを修正。
bug id tbs00014 com.ngMAT.servlet.EZServletContext#createCookieTimestamp(..)において、クッキー有効
期限の時刻表記書式で"00"時となるべき時に"24"時となる。
new functions / modified functions
com.ngMAT.Mail.SimpleMailMessage
アドレスの個人名部分に日本語を使用可能とした。また、キャラクタセットをプロパティMail.Charsetで指定
可能とした。デフォルトはiso-2022-jp。アドレス表記例: つ∞たん佐藤 。
com.ngMAT.Common.Log
出力先ファイル切り替え単位時間にDAYLY以外に、HOURLYを追加。HOURLYでは毎時0分以降の出力
タイミングで新しいファイルに切り替わる。付加されるファイル拡張子はyyyyMMdd.HH形式。
com.ngMAT.Common.CoolProperties
getGroupedProperties (String)を追加。
com.ngMAT.HTML.ParsedTable
ヘッダ行、可変行共に、出力すべき内容がない場合、空のを出力しないよう修正。
com.ngMAT.HTML.HTMLTemplate
インクルードテンプレート読み込み時の例外のメッセージを分かりやすく修正。
printStackTrace(String tagname, Throwable t)を追加。
com.ngMAT.servlet.EZServletContext
cookie受信時のデコードの際、先頭の1文字が"%"でない場合、utf-8でURLデコードしないで、
リクエストパラメタと同じ文字セットを想定した変換を行うよう修正。ver. 2001.0.02より前
の環境から移行した際に発生し得る問題を完全ではないが防止する。
getCookies()がURLデコードする前のクッキーを返してしまってのを、デコード後のクッキーを
返すよう修正。代わりにクライアントから受け取った素の状態を取得できるように
getRawCookies()を追加。
getCookiesTable()を追加。クッキー名をキーとするHashtableを返す。
他のサーブレットにフォワードする、forward()を追加。
setStatus(int status_code)を追加。
getMethod()を追加。
com.ngMAT.servlet.EZServletConfig
EZServletContext#getErrorHTML (Thrownable)で使用する、例外発生時のメッセージ表示用テンプレートを
プロパティで指定可能とした。以下のいずれかで指定する。
EZServlet.ErrorTemplate : テンプレートファイル名を指定
EZServlet.ErrorHTML : テンプレートHTML文字列を指定
リクエスト処理後のストリームのflush/closeをそれぞれ抑止可能とした。
EZServlet.ForceStreamFlush=false
EZServlet.ForceStreamClose=false
デフォルトはいずれもtrueで、リクエスト処理完了毎にflush/closeする。
リダイレクト時のurl encodingを抑止可能とした。
EZServlet.ForceUrlEncodingOnRedirection=false
デフォルトはtrueでsendRedirectの内部で、HttpServletResponse#encodeRedirectUrl(..)する。
getTemplate(String)でIOExceptionをthrowしないよう修正。代わりにcom.ngMAT.Common.LowLevelException
をthrowすることとした。(EZServletContextとの対象性の確保)
new classes
Ver 2001.0.03 2001/09/14
FIXED BUGS
none
new functions / modified functions
com.ngMAT.servlet.EZServletContext
setSessionValue(...)/getSessionValue(...)/getSessionValueNames(...)/removeSessionValue(...)
において、JavaServletAPI2.0ベースのHttpSession#xxxValuexxx(...)とJavaServletAPI2.2ベースの
HttpSession#xxxAttributexxx(...)を設定により、切り替え可能とした。これは、BEA WebLogicServer 6
で、JavaServletAPI2.2ベースのメソッドでセッション値を扱わないと、クラスタリングに対応できない
などの制約に対応するための措置。プロパティにて
EZServlet.TargetServletSpec=2.2
と指定することで、上記メソッドは2.2対応となる。指定なしか、
EZServlet.TargetServletSpec=2.0
の場合は、これまでと同様に2.0ベースのメソッド呼び出しとなる。2.1は指定できない。
com.ngMAT.Common.CoolProperties
プロパティファイル内で、他のプロパティ値を参照可能とした。#VariableReference=enableを指定することで、
その行より後の
key=value
のvalueの中の{$keyname}をその行以前に登録されているkeynameに対応する値に置換する。
但し、"{{$keyname}"は、置換せず"{$keyname}"として処理する。(エスケープ)
ついでに、"{{{$keyname}"はエスケープをエスケープして、先頭の"{{"は"{"に、{$keyname}は値に置換する。
その後、#VariableReference=disableを指定した行より後は、{$keyname}を置換しない。
com.ngMAT.Common.CoolProperties#
ロード時にファイルの依存関係を標準出力に出力するようにした。また、newした後に、元ネタのファイル名
リストを取得するためのメソッドpublic Enumeration getFilenameList()を新規に追加。
com.ngMAT.Mail.SimpleMailMessage
getMessageID(), getTosArray()を追加。
new classes
Ver 2001.0.02 2001/08/21
FIXED BUGS
bug id tbs00009 com.ngMAT.EZServletで、プロパティServlet.Request.Charsetを指定しないで
使用した場合にNullPointerExceptionが発生。
bug id tbs00010 com.ngMAT.Common.DBConnection#getConnection(...)でプール要素が不足状態
の場合に、他のreleaseConnection(...)に処理を譲らずに待っているため、
結果的に、必ず接続の割り当てに失敗する。
new functions / modified functions
com.ngMAT.servlet.EZServletContext
cookieの送出をする際にutf8でURLエンコードし、受信時にはデコードするようにした。
new classes
none
Ver 2001.0.01 2001/08/15
FIXED BUGS
bug id tbs00008 Java 2 SDK 1.3においてnew com.ngMAT.Common.CoolProperties (filename)において
NullPointerExceptionが発生。
new functions
none
new classes
none
Ver 2001.0 2001/08/07
FIXED BUGS
bug id tbs00004 com.ngMAT.servlet.EZServletContext#sendRedirect (String)
の際に、クッキーが送信できない。
bug id tbs00005 com.ngMAT.HTML.form.Checkbox.setChecked()が効かない。
bug id tbs00006 com.ngMAT.HTML.form.Radio.setChecked()が効かない。
bug id tbs00007 com.ngMAT.Common.DSV のコンストラクタに空文字列を渡した場合要素数が1になる。
new functions
com.ngMAT.servlet.EZServlet
HTMLTemplate出力時に「変数タグ」置換機能を追加。
おまけヘッダ出力機能を追加。プロパティServlet.Header=で指定。
com.ngMAT.servlet.EZServletConfig
short getShortProperty (String name)を追加。
com.ngMAT.servlet.EZServletContext
addCookie (String name, String value, int max_age)を追加。
addCookie (String name, String value, String path)を追加。
addCookie (String name, String value, String path, int max_age)を追加。
long getLongCookieValue (String name)を追加。
removeSessionValue (String name)を追加。
short getShortParameter (String name)を追加。
short getShortParameter (String name, short default_value)を追加。
boolean getBooleanParameter (String name)を追加。
boolean getBooleanParameter (String name, short default_value)を追加。
int getIntParameter (String name, int default_value)を追加。
long getLongParameter (String name, long default_value)を追加。
boolean[] getBooleanParameterValues (String name)を追加。
short[] getShortParameterValues (String name)を追加。
int[] getIntParameterValues (String name)を追加。
long[] getLongParameterValues (String name)を追加。
String getRequestURI()を追加。
String getRequestURL()を追加。
void sendError (int status_code)を追加。
void sendError (int status_code, String message)を追加。
String getRemoteAddr()を追加。
HTMLTemplate getTemplate (String name)にifdef機能を追加。
setRadioCheckedWithParameter (HTMLTemplate, String),
setCheckboxCheckedWithParameter (HTMLTemplate, String)を追加。
com.ngMAT.Common.SmallCodeTable
add (String key, String value)を追加。
put (String key, String value)を追加。
add (int index, String key, String value)を追加。
com.ngMAT.Common.CoolProperties
インスタンス内にベクタイメージを保持するように機能追加。getVectorImage()で取得可能。
#EncodingType指定の際に、エンコーディング名の先頭に"#"を付けると、その項目が
プロパティの値に含まれないように修正。(ご意見感謝m(__)m)
com.ngMAT.Common.Log
setLineHeader (null)で行ヘッダの出力を抑制可能とした。
com.ngMAT.HTML.HTMLTemplate
同一テンプレート中の同一名称複数タグを扱えるよう修正。同じ名称のタグは
1度の、setTagValue(..)/setInsertionTagValue(..)で同じ値を持つようになる。
テンプレート変数([[$.../]])をプロパティで一括置換する、
setTemplateVariables (Properties)を追加。これを利用することで、
テンプレートの環境順応性を高めることが可能。
EZServletにおいては、EZServletContext#getTemplate (...)実行時に、
自動的にこの処理を行う。
setRadioChecked (String, String), setRadioChecked (String, long),
setCheckboxChecked (String, String), setCheckboxChecked (String, long)を追加。
初期化時のifdef判定を左右両端をtrimしてから行うように修正。
com.ngMAT.HTML.form.Select
Propertiesをパラメタとするコンストラクタで、Propertiesがcom.ngMAT.Common.CoolProperteis
のインスタンスの場合、そのベクタイメージを使用する様に変更。(ご意見感謝m(__)m)
com.ngMAT.tools.Bcp
Bcp.File.Encodingプロパティでファイル入出力文字エンコーディング指定可能に。
new classes
com.ngMAT.HTML.ByteArrayComponent
画像などHTML以外のコンテンツを返すときにどぞ。
com.ngMAT.HTML.LineReaderComponent
DBやファイルから大きめの内容を行単位で返したい時に使うとメモリ節約。
com.ngMAT.HTML.GroupedHTMLComponent
チェックボックスやラジオボタンのグループ化用クラス。
com.ngMAT.HTML.NullHTMLComponent
からっぽ。
com.ngMAT.HTML.ParsedTable
テンプレート中の<TABLE>タグをパースして、行テンプレートを生成する。
com.ngMAT.HTML.form.DecoratedCheckbox
com.ngMAT.HTML.form.DecoratedRadio
com.ngMAT.HTML.form.GroupedCheckbox
com.ngMAT.HTML.form.GroupedRadio
com.ngMAT.Common.PooledDBConnection
DBConnectionの機能拡張版。複数の接続先に対応。
com.ngMAT.Common.ngmPGDBObject
ngmDBObject(←Oracle用)のPostgreSQL版。
com.ngMAT.tools.PGBcp
Bcp(←Oracle用)のPostgreSQL版。
Ver 1.1.02 2000/11/04
FIXED BUGS
bug id tbs00003 com.ngMAT.Common.DBConnection#getConnection(...)
プロパティファイルでDBConnection.Retry.Countを1
以上に設定しないと、接続に失敗する。
Ver 1.1.01 2000/11/02
FIXED BUGS
bug id tbs00002 com.ngMAT.servlet.TemplateBasedServlet,
com.ngMAT.servlet.EZServletContextの
String[] getParameterValues(...)
をコールした後に、同じ名称のパラメタを
String getParameerValue(...)
で値を取得すると文字が化ける。
new functions
com.ngMAT.servlet.EZServlet
プロパティEZServlet.DEBUG_MODE=trueの指定で、デバッグ情報を出力する
機能を追加。
com.ngMAT.servlet.EZServletConfig
初期化の中でもテンプレートを取得できるよう、getTemplate (String)を追加。
com.ngMAT.servlet.EZServletContext
getParameterNames()を追加。
HTTPパラメタを使用して、テンプレートのタグを一括置換する
setTagValueWithParameters(...)を追加。入力値の妥当性確認後の再表示など
に利用可能。
com.ngMAT.HTML.HTMLTemplate
setInsertionTagValue(..)/setTagValue(..)/getInsertionTag(..)で、タグ名
の大文字小文字は無視するように修正。
com.ngMAT.Common.DBConnection
releaseConnection(..)において、強制的にrollback()を実行するよう修正。
プロパティ項目DBConnection.MaxConnextions, DBConnection.Retry.Interval,
DBConnection.Retry.Count(いずれもオプション)により、それぞれ、プール
内最大接続保持数(デフォルトは32)、割り当て可能なプール内要素を確保
できない場合の、リトライ間隔(デフォルトは1000msec)、リトライ回数(デフォ
ルトは0回)を指定可能とした。
com.ngMAT.tools.Bcp
updateモードを追加。
Ver 1.1.00 2000/10/12
new functions
com.ngMAT.Common.DBConnection
以下の項目をプロパティにて設定可能にした。デバッグモードでは、詳細の
アクションログが出力される。番犬の名前はパトラッシュ。あなたの好きな
名前にも変えられるよ!意味ないけど(-_-;)
WatchDog.Name
DBConnection.Log
DBConnection.DebugMode
com.ngMAT.Common.Log
サイクリックにファイル名を変更する機能を付加。とりあえず、今回は1日
に一度、日付が変わるタイミングで変更する"DAYLY"を用意した。パラメタで
指定したファイル名の後ろに、日付を示す文字列が付加される。デフォルト
で、このDAYLYが適用されるので、これまでのコードのままで、この新機能を
適用可能。また、ファイル名を継続的に同じする必要がある場合は、新しい
コンストラクタを使用して、NONEを指定する必要がある。
New Release
EZServlet
超お手軽サーブレットフレームワークいーぢーさーぶれっと登場!
TemplateBasedServletの部品の上に、最も標準的な処理フローを標準パターン
として提供。
設定の読み込みなどの初期化はxxxxConfig、ブラウザからの呼出し毎の処理に
必要なものは、xxxxContextに集約し、よりわかりやすい形式で提供。
Ver 1.0.01 2000/06/23
bug fix
bug id tbs00001 タグマークをプロパティで指定せず、デフォルトで使用すると
HTMLTemplate生成時にNullPointerExceptionが発生。
On constructing HTMLTemplate without specifying tag marks
in the properties file, NullPointerException is thrown.
Ver 1.0 2000/06/06
初期リリース
First production release