EZServlet 2001.3.20 に追加された新機能 【注意事項】-------------------- com.ngMAT.HTML.ezscustomtag.ParameterEnumeration com.ngMAT.HTML.ezscustomtag.ParameterToHidden において、パラメタ名、値共にフィルタ処理対象になりました。(ver. 2001.3.15~) -------------------- java -jar ngmat-ezs.jarでバージョン、rev.及びビルド番号を確認できます。 -------------------- 修正されたバグ com.ngMAT.HTML.HTMLTemplate#setTagValue(String name, String value) com.ngMAT.HTML.InsertionTag#setInsertedString(String replace) value/replaceがnullの場合に何もしない。→ nullもセットされるように修正。 -------------------- 追加・修正された機能 com.ngMAT.Common.annocation 新規アノテーション : IsIgnorableIntWhenValueIs、PropIsEncrypted、ForceZenkaku、DefaultDateFormat、DefaultTimestampFormat com.ngMAT.Common.ArrayUtil 新規メソッド:toArray(Enumeration, T[])、concat、toString を追加。 com.ngMAT.Common.CoolProperties 新規システムプロパティ CoolProperties.DEBUG.FILEPATH で読み込み時にファイルパスを標準出力に表示する様にした。 新規メソッド getDSVProperty (String name, String default_dsv_string)、setTo(Object)、setCipherProcessor(CipherProcessor) com.ngMAT.Common.DSV 要素への名前付けを行うことで、名前を指定して要素にアクセス可能とした。parse(DSV,String)、setItemNames(DSV)、getItem(String)等。 新規メソッド toStringHashSet、toIntHashSet、toLongHashSet、setTo、addEmptyItems、toStringWithName を追加。 com.ngMAT.Common.DSVGenerator 要素名の後ろに"#nested:~"を付加することで、子要素の展開をする様にした。 com.ngMAT.Common.annotation.Format の付与されたフィールドについては、その書式を使用する様にした。 com.ngMAT.Common.annotation.IsIgnorableIntWhenValueIs の付与された数値系基本データ型項目について、アノテーションで指定される値を保持する場合値がないものとみなす様にした。 com.ngMAT.Common.annotation.ForceZenkaku の付与されたフィールドは、全角文字としてDSV出力する様にした。 新規プロパティ DSVGenerator.Data.AllEmptyWhenDataIsNull=trueとすることで、データがnullの場合に空要素で埋められたDSVインスタンスを返す。"#nested:~"指定された要素の子要素展開時はこの設定がtrueとして処理される。 com.ngMAT.Common.FileWatcher FileWatcher.Log.Line.Prefixでログ出力行のプレフィクスを指定可能とした。 com.ngMAT.Common.FixedLengthStringItemSplitter splitAsDSVで返されるDSVインスタンスが項目の名前を保持する様に修正。 新規メソッド getItemNames、getItemNamesAsDSVを追加。 com.ngMAT.Common.Log、FilterableLog 新規メソッド setLinePrefix、getLinePrefixを追加。optionsプロパティを指定するコンストラクタを追加(現時点ではLine.Prefixにのみ対応)。 com.ngMAT.Common.MultipartContent、MultipartParser、MultipartParserWithApacheCommons 新規クラス追加 com.ngMAT.Common.Number36 コマンドライン"-r"実行時に第3パラメタとしてlcase/ucase/mixedを指定可能にした。 com.ngMAT.Common.PooledDBConnection ログの標準出力対応、プレフィクス対応。 __expandPool() でcatchした例外情報をLowLevelExceptionに引き継ぐように変更。 com.ngMAT.Common.StringConstants 全角文字「ヮ」「ヰ」「ヱ」を含まない純粋な半角カタカナ文字定数 HANKAKU_KATAKANA2 を追加。 com.ngMAT.Common.StringConverter 新規メソッド decodeBase64(File,File) を追加。 com.ngMAT.Common.StringUtil 新規メソッド formatNumAsYM, formatNumAsYMD, isHankakuNumber(String), isHankakuAlpha(String), isHankakuAlnum(String) を追加。 新規内部クラス YMNumFormat, YMDNumFormat を追加。 com.ngMAT.Common.URLParameterHandler setTo (acceptor_class)をgenerics対応。 setTo内の文字列から対象フィールド値のセットする処理をObjectParser + FormatUtil に切り出し getFrom (Object) が @IsIgnorableIntWhenValueIs に対応。 setTo (Object) / getTo (Object) : 処理対象オブジェクトの日付系フォーマット指定クラスアノテーションの宣言を適用する様に修正、併せてsynchronizedに変更。 com.ngMAT.HTML.CustomTag 新規メソッド getBeginTag()、getOriginalString() を追加。 getInstance(InsertionTag ins_tag)でins_tag.getProperties()がnullを返す場合に、タグ属性で"#class"でクラス名が指定されていないとNullPointerExceptionがthrowされる。→ CustomTagNotDefinedExceptionがthrowされるように修正。 com.ngMAT.HTML.HTMLTemplate 新規メソッド:decode (InsertionTag tag, String code)、decode (String code_type, String code, boolean discard_on_decode_failure) #defineタグでテンプレート内の[[$~/]]で優先参照できるプロパティを定義できるようにした。 getLocalProperty(String)をpublicにした。 タグ属性として #format=#ymd、#format=#ym を指定したタグに数値を出力しようとした場合に、数値をyyyyMMddまたはyyyyMMを表すものとして、yyyy/MM/dd、yyyy/MM形式で出力可能とした。 com.ngMAT.HTML.InsertionTag 新規属性:#discard_on_decode_failure、#when-true 新規メソッド getBeginTag() を追加。 com.ngMAT.HTML.GroupedHTMLCompone Directionの指定値に NONE を追加。GroupedCheckbox、GroupedRadioで指定可能。 com.ngMAT.HTML.Decorator 新規インタフェース。 com.ngMAT.HTML.ezscustomtag.AbstractSelect name属性以外にdata_nameでもHTML name属性を指定可能に。 name or data_name属性が指定されていない場合にBadTemplateExceptionをthrowする様に修正。 com.ngMAT.HTML.ezscustomtag.ParameterToHidden 属性nameの代わりにparam_nameを使用可能とした。 com.ngMAT.HTML.form.DecoratedCheckbox, DecoratedRadio システムプロパティ HTMLComponent.Decorator.Type の値 LINEAR / WRAP によって ラベルを対象に並べるか囲むかを指定できるようにした。デフォルトはLINEAR。(@see Decorator)。GroupedCheckbox、GroupedRadioでDecoratedCheckbox, DecoratedRadioを使用しているので、GroupedCheckbox、GroupedRadioのラベルも同様に指定可能。 com.ngMAT.net.HttpCommunicator ログの標準出力対応、プレフィクス対応。 プロパティ HttpCommunicator.Content.LineSeparator の指定値で大文字小文字を区別しない様に変更。 com.ngMAT.servlet.EZDefaultFileHandler プロパティ EZDefaultFileHandler.MimeType.Text.AddCharset=true が指定されている場合、TextFile.Extention で指定されていないテキスト系ファイル(mimetypeが "text/"で始まるもの)についてもcharsetディレクティブを付加する様にした。 com.ngMAT.servlet.EZServletConfig プロパティApplication.LogFile.Line.Prefix、EZServlet.DEBUG_MODE.Log.Line.Prefixでそれぞれログ出力行のプレフィクスを指定可能とした。 プロパティEZServlet.DEBUG_MODE.Log.DumpResponse=trueでレスポンス文字列をログ出力指定可能とした。 プロパティEZServlet.DEBUG_MODE.Log.DebugPsessionidRenew=trueでprivate sessionid のrenew時にスタックトレースを出力可能とした。 プロパティEZServlet.DEBUG_MODE.Log.DebugPsessionAccess=trueでprivate session のset/get/removeイベントを記録可能とした。 com.ngMAT.servlet.EZServletContext private sessionid/private sessionid2のrenew時のログ出力文字列綴り誤りを修正。("renewd" → "renewed") sendRedirect、sendError時にもextra headersを送信する様にした。 isRequestOnSecureChannel:デバッグモード時にログ出力するようにした。 forward で大元のパラメタマップをattributeに保存する様にした。(attribute名は EZServletConstants.AN.ORIGINAL_PARAMETERS_MAP) デバッグログにgetProtocol()の内容を出力する様にした。 ACLチェック時にHOSTヘッダを取得できない場合はgetServerName()の値を使用する様にした。 新規メソッド:getOriginalParametersMap を追加。 com.ngMAT.servlet.EZSessionContainer Seializableを付加。 com.ngMAT.servlet.EZSessionManager EZSessionManager.DEBUG_MODE=trueが指定されていてEZServlet.DEBUG_MODE.Log.Filenameが指定されていない場合、ログ出力先を標準出力にするようにした。 com.ngMAT.tools.Bcp プロパティ Bcp.Out.WriteColumnHeader=true の指定で、bcp out時にヘッダ行としてカラム名を出力する様にした。 com.ngMAT.ClassUtil 新規メソッド : isPrimitiveNumericType、isPrimitiveNumericField を追加。 com.ngMAT.tools.FileUtil 新規メソッド appendTextToFile を追加。 com.ngMAT.tools.HTMLUtil 新規内部インタフェースHTMLTagAttributeModifier、内部クラスFilteringSetting追加 filterHTMLTagsのオーバロードメソッドを2つ追加 filterHTMLTagsの処理において、空行を再現するように修正。 com.ngMAT.HTML.CalendarDisplayHandler com.ngMAT.HTML.customtag.PropertyValueSiwtch 新規クラス。 -------------------- その他 com.ngMAT.tools.PeriodicalRoutineRunController クラスjavadocにおけるTimingCheckerに関する記述(プロパティキー)の誤りを訂正。 com.ngMAT.tools.prrtimingchecker.FlexibleTimeValueChecker クラスjavadocにおける記述(プロパティキー)の誤りを訂正。 com.ngMAT.tools.prrtimingchecker.TimeValueChecker クラスjavadocにおける記述(プロパティキー)の誤りを訂正。