ChangeLog
2009/04/16†
Seasar2.4.34 からの変更点は次のとおりです.
- Bug
- [CONTAINER-341] - [S2JDBC-Gen] Migrateで、ignoreEntityClassNamePatternの指定がSQLファイルに適用されない問題に対応しました[Seasar-user:16833]。
- [CONTAINER-344] - [S2JDBC-Gen] Gen-EntityをSQL Serverの環境で実行するとnchar型やntext型のカラムに対応するプロパティがBigDecimal型になる問題に対応しました[Seasar-user:16851]。
- [CONTAINER-345] - [S2Container] コンテナの初期化時に requestMap などの外部コンテキストが空の Map ではなく null を返す問題を修正しました.[Seasar-user:16981]
- [CONTAINER-347] - [S2JDBC] DBMS が Oracle の場合で,ソート順が不確定の場合にページングを行うと,行が重複したり欠落したりする問題を修正しました.[seasar-dev:1066]
- [CONTAINER-349] - [S2Container] FileUtil で新規のファイルにコピーができない問題を修正しました.
- Improvement
- [CONTAINER-342] - [S2JDBC-Gen] Gen-Entityで、DB2のIDENTITY情報を取得できるようにしました。
- [CONTAINER-343] - [S2JDBC-Gen] Gen-Entityで、Serializableを実装したエンティティクラスを生成するようにしました。
- [CONTAINER-346] - [S2Container] JBoss AS 5.0.0.GA での SMART deploy を可能にしました.[Seasar-user:16875]
- [CONTAINER-348] - [S2JDBC] JdbcManager#updateBySqlFile() メソッドおよび updateBatchBySql() メソッドで複数のバインド変数を指定する場合に Map を使えるようにしました.
- [CONTAINER-351] - [S2Container] HOT deploy で Http セッションから取得したオブジェクトを新しいクラスローダでロードする処理を,sessionScope の Map ではなく HttpSession で行うようにしました.
- [CONTAINER-352] - [S2Container] HOT deploy でクラスローダを破棄するタイミングを手動で制御できるようにしました.
- [CONTAINER-353] - [S2Container] NamingConvention に登録するルートパッケージを HOT deploy の対象にしないことを指定できるようにしました.
- [CONTAINER-354] - [S2JDBC-Gen] 生成したクラスにjavax.annotation.Generatedアノテーションを付与するようにしました。
- [CONTAINER-355] - [S2JDBC-Gen] 生成したクラスのJavaDocコメントの@authorに任意の値を指定できるようにしました。
- [CONTAINER-356] - [S2JDBC-Gen] Gen-Ddlで、DDLファイルやCSVファイルの名前に、テーブル名を囲むクォートを除いたものを使用するようにしました。
- [CONTAINER-357] - [S2Container] AbstractInterceptor の冗長なコードを削除しました.
- [CONTAINER-358] - [S2JDBC] valueOf/value() メソッドを用意したクラスが Serializable を実装している場合でもユーザ定義型となるようにしました.[Seasar-user:17238]
2009/01/29†
Seasar2.4.33 および S2JDBC-Gen 0.9.4 からの変更点は次のとおりです.
- Bug
- [CONTAINER-323] - [DbSession] Web アプリケーションをルートコンテキストにデプロイした場合に DB セッションのレプリケーションができない問題を修正しました.[Seasar-user:16484]
- [CONTAINER-326] - [S2Container] GenericUtl の getRawClass()/getActualClass() メソッドで,ワイルドカード型を扱えない問題に対応しました.
- [CONTAINER-327] - [S2JDBC-Gen]Gen-Ddlで、@Columnのprecisionの値がDDLに反映されない問題に対応しました。
- [CONTAINER-329] - [S2JDBC] BigInteger型のプロパティのマッピングが漏れていた問題に対応しました。[Seasar-user:16615]
- [CONTAINER-330] - [S2JDBC] SQLファイルを使用する場合に、@Temporalが注釈されたプロパティをOGNL式で正しく評価できない問題に対応しました。[Seasar-user:16618]
- [CONTAINER-332] - [S2JDBC-Gen] Gen-Ddlで、クラスに注釈された@SequenceGeneratorと@TableGeneratorに対応しました。
- [CONTAINER-333] - [S2JDBC] @GeneratedValueのgenerator要素でクラスに注釈した@SequenceGeneratorや@TableGeneratorを参照できない問題に対応しました。
- [CONTAINER-337] - [S2JDBC-Gen]MigrateするとPostgreSQLのserial型やbigserial型のデータの現在値が失われる問題に対応しました。[Seasar-user:16705]
- [CONTAINER-339] - [S2Container] JSONSerializer を deprecated にしました.代わりに JSONIC 等を使用してください.
- [CONTAINER-340] - [S2JDBC] JdbcManager#update() に渡したエンティティと AutoUpdate#changedFrom() に渡したエンティティに相違がなかった場合に,不正な SQL が実行される問題を修正しました.
- Improvement
- [CONTAINER-321] - [S2JDBC-Gen]Gen-Serviceで、ServiceクラスのjdbcManagerプロパティのsetterメソッドに@TransactionAttribute(TransactionAttributeType.SUPPORTS)を付与しました。
- [CONTAINER-328] - [S2JDBC-Gen]Gen-Ddlで、生成するシーケンスのデータ型の精度をプロパティに指定された@Columnのprecisionの値にあわせました。
- [CONTAINER-334] - [S2Container] 外部コンテキストの requestParameterMap や sessionMap が必要とされる度に新しいインスタンスを作成しないようにしました.
- [CONTAINER-335] - [S2JDBC] AutoSelect の getResultList() など,最後のメソッドを複数回呼び出した場合は例外をスローするようにしました.
- [CONTAINER-336] - [S2JDBC]S2JDBC-Genで生成されるDDL上でのカラムの並びがクラス上のプロパティの並びに合うことをより確実にしました。
- [CONTAINER-338] - [S2JDBC] JdbcManager#selectBySqlFile() メソッドで複数のバインド変数を指定する場合に Map を使えるようにしました.
- New Feature
- [CONTAINER-331] - [S2JDBC-Gen]Gen-Entityで、日付型カラムに対するプロパティの型をjava.sql.(Date|Time|Timestamp)としてエンティティを生成するようにしました。
- Task
- [CONTAINER-322] - [S2JTA] WAS7 用の jta-was7.dicon を追加しました.
- [CONTAINER-324] - [S2JDBC-Gen]配布するビルドファイルのgen-ddlターゲットから冗長なJavacタスクを除去しました。
- [CONTAINER-325] - [S2JDBC-Gen]pom.xmlで、tools.jarのdependencyをoptionalとしました。
2008/12/04†
2.4.32 からの変更点は次のとおりです.
- Bug
- [CONTAINER-299] - [S2JDBC] SimpleWhere や Operations の starts()/ends()/contains() で,Oracle ではワイルドカードになる全角の '%' や '_' がエスケープされない問題を修正しました.[Seasar-user:16239]
- [CONTAINER-300] - [S2BeanUtils] CharSequence型指定時にexcludesメソッドが利かない不具合を修正しました。
- [CONTAINER-302] - [JPA] Jar ファイル内の永続ユニットを扱うと FileNotFoundException が発生する問題を修正しました.[Seasar-user:16276]
- [CONTAINER-312] - [S2JDBC]ストアドでOUTパラメータを使わずに結果セットを戻せるRDBMSにおいて、ストアドの最初に更新処理を行うと結果セットが取得できない不具合を修正しました。
- [CONTAINER-315] - [S2JDBC] byte/Byte 型プロパティのマッピングが漏れていた問題を修正しました.[Seasar-user:16383]
- [CONTAINER-318] - [S2DBCP] XADataSource のユーザ名を指定しなかった場合にプロパティが反映されない問題を修正しました.
- Improvement
- [CONTAINER-319] - [S2JDBC] SimpleWhere や Operations で IN や NOT IN の条件に配列だけでなく Collection を渡せるようにしました.
- New Feature
- [CONTAINER-307] - [S2JDBC]スキーマ生成のツール(S2JDBC-Genなど)で外部キーの生成を制御できるようにするためのアノテーション@ReferentialConstraintを導入しました。
0.9.3 からの変更点は次のとおりです.
- Bug
- [CONTAINER-305] - Gen-Ddlで識別子の自動生成用テーブルのDDLを生成する場合にカラムのデータ型が正しくないという不具合に対処しました。
- [CONTAINER-309] - MS SQL Server用の方言(MssqlGenDialect)がGenDialectRegistryに登録されていない不具合に対処しました。
- [CONTAINER-311] - Gen-EntityでMS SQL Serverのidentityカラムのデータ型が不適切なJavaの型にマッピングされる問題に対処しました。
- [CONTAINER-314] - Oracleを使用している場合に、Gen-EntityでJDBCのメタデータから日本語テーブルの一意キーの情報を取得できない不具合に対処しました。
- [CONTAINER-316] - MigrateやLoad-DataのCSVファイルロード処理で、カンマの直後に改行コード(CR)が続くと値(null)を認識しない場合がある問題に対処しました。
- [CONTAINER-317] - PostgreSQLを使用している場合に、Gen-EntityでOID型に対応するJavaクラスがbyte[].classにならない問題に対応しました。
- [CONTAINER-320] - Gen-EntityでshowColumnDefinition属性にtrueを指定した場合に、自動生成される主キーカラムにデフォルト値の定義が出力されることがある問題に対処しました。
- Improvement
- [CONTAINER-298] - Gen-Serviceで、ServiceクラスのjdbcManagerプロパティのsetterメソッドに@TransactionAttribute(TransactionAttributeType.NEVER)を付与するようにしました。
- [CONTAINER-303] - Migrateタスクでバージョン番号を明示的に指定することなく1つ前のバージョンに戻れるようにしました。
- [CONTAINER-308] - Gen-EntityTest(旧Gen-Test)が生成するテストコードで名前クラスを利用するようにしました。
- [CONTAINER-310] - データベースのメタデータから想定外の型名が返された場合はJDBCのSQL型を利用してJavaの型へ変換するようにしました。
- [CONTAINER-313] - Load-Dataで、ロード前に既存のデータを削除できるようにしました。
- New Feature
- [CONTAINER-252] - SQLファイルのテストコードを生成するGen-SqlFileTestタスクを用意しました。
- [CONTAINER-265] - Gen-Ddlで、エンティティに対するリファクタリング内容をコメントとして入力できるようにしました。
- [CONTAINER-278] - サービスクラスのテストコードを出力するGen-ServiceTestタスクを用意しました。
- [CONTAINER-296] - Gen-Ddlで、エンティティやエンティティのプロパティに対するコメントをDDLに反映できるようにしました。
- [CONTAINER-297] - Gen-Entityで、テーブルやカラムに対するコメントをエンティティのJavaコードに反映できるようにしました。
- [CONTAINER-301] - テストコードを生成するタスクで、S2Unitを使うかS2JUnit4を使うかを選択できるようにしました。
- [CONTAINER-304] - Gen-Ddlで外部キーのDDL生成を抑制できるようにしました。
2008/10/30†
2.4.31 からの変更点は次のとおりです.
- Bug
- [CONTAINER-295] - [S2JDBC] SQL 自動生成の問い合わせで,AutoSelect#where(Map) に渡された Map のエントリが全て無効の場合に StringIndexOutOfBoundsException が発生する問題を修正しました.[Seasar-user:16184]
2008/10/29†
2.4.30 からの変更点は次のとおりです.
- Bug
- [CONTAINER-270] - [S2JDBC] 子のコンディションでendsまたはcontainsメソッドを呼ぶと親のエンティティのプレフィックス名が挿入されない問題を修正しました
- [CONTAINER-276] - [S2JDBC] PostgreSQL で @Lob 付きの String がバイト列として扱われてしまう問題を修正しました.
- [CONTAINER-284] - [S2Container] 継承元クラスと派生クラスに同名のフィールドがあると PropertyInterType で例外が発生する問題を修正しました.
- [CONTAINER-289] - [S2JTA] setRollbackOnly() が設定されたトランザクションを suspend/resume すると例外がスローされる問題を修正しました.[Seasar-user:16051]
- [CONTAINER-292] - [S2BeanUtils] java.util.Date同士のコピーで時分秒が抜け落ちてしまう問題を修正しました
- Improvement
- [CONTAINER-272] - [S2BeanUtils] 日付用のコンバータを指定しなかった場合にデフォルトのコンバータが適用されるようにしました
- [CONTAINER-279] - [S2JDBC] AutoSelect の forUpdate() や Auto(Batch)?(Insert|Update) の includes()/excludes() で指定するプロパティ名に S2JDBC-Gen が生成した XxxNames を使えるようにするため,引数型を String から CharSequence に変更しました.[Seasar-user:15998]
- [CONTAINER-294] - [S2BeanUtils] プロパティ名の型をCharSequenceに変更しました。
- New Feature
- [CONTAINER-286] - [S2JDBC] @Basic アノテーションでフェッチタイプに LAZY を指定されたプロパティは,SQL 自動生成の問い合わせ (AutoSelect) でフェッチしないようにしました.
0.9.2 からの変更点は次のとおりです.
- Bug
- [CONTAINER-273] - CSVファイルの読み込みで、改行を含む値や空文字を表す値を正しく処理できない問題に対処しました。
- [CONTAINER-275] - CSVファイルの読み込みで、読み込み用のバッファを複数ファイルで共有している不具合に対処しました。
- [CONTAINER-280] - Gen-Entityで、@GeneratedValueを使用していなくてもGeneratedValueがimportされる不具合に対処しました。
- [CONTAINER-281] - エンティティの識別子プロパティをBigIntegerとしている場合、Gen-Testで生成されるテスコードをコンパイルできない不具合に対処しました。
- [CONTAINER-282] - Gen-Entityで、数値型以外のプロパティに対しても@Versionが付与される不具合に対処しました。
- [CONTAINER-285] - Exec-SqlやMigrateなどで、Triggerの作成のDDLがSQLのブロックとして認識されない不具合に対処しました。
- [CONTAINER-287] - Exec-SqlやMigrateで実行されるSQLファイル中の1行に複数のSQLステートメントがある場合に最初の1つしか実行されない不具合に対処しました。
- [CONTAINER-288] - SQLファイルの読み込みと実行で、読み込み用のバッファを複数ファイルで共有している不具合に対処しました。
- [CONTAINER-290] - Gen-Entityの属性enititySuperclassNameのスペルミスを直しentitySuperclassNameとしました。
- [CONTAINER-293] - Loada-DataやMigrateで、存在しないテーブルのCSVファイルがありかつそのテーブルの主キーがIDENTITYの場合にエラーが発生する不具合に対処しました。
- Improvement
- [CONTAINER-264] - gen-entityで、テーブルAがテーブルBに対して複数の外部キーを持つ場合、関連プロパティ名をわかりやすく解決するようにしました。
- [CONTAINER-269] - gen-namesで生成するNameクラスでOperationsを継承しないようにしました。
- [CONTAINER-274] - CSVファイルの読み込みで、不正な値(ダブルクォテーションが閉じられていないなど)を厳密にチェックするようにしました。
- New Feature
- [CONTAINER-283] - ResourceSynchronizer プラグインを利用して Eclipse のワークスペースをリフレッシュする RefreshTask を追加しました.
- [CONTAINER-291] - Subversion を使っている環境では,Gen-Ddl タスクで新しいバージョンの元で生成されるファイルと同名のファイルが前のバージョンディレクトリに存在する場合にリビジョンを追跡できるようにしました.
2008/10/08†
2.4.29 からの変更点は次のとおりです.
- Bug
- [CONTAINER-244] - XlsReader で 65535 行まである Excel ファイルを読み込むと IndexOutOfBoundsException が発生する問題を修正しました.
- [CONTAINER-246] - S2Dxo がスレッドセーフになっていない問題を修正しました.[Seasar-user:15750]
- [CONTAINER-261] - S2JDBC で,@Id のないエンティティを対象に AutoSelect#iterate() を使用すると NullPointerException が発生する問題を修正しました.[Seasar-user:15886]
- [CONTAINER-266] - S2JDBC で,JVM の実装によっては引数に渡したクラスのフィールドの順番が定義順に取得できないためにストアドの呼び出しがエラーになる問題を修正しました.
- [CONTAINER-267] - S2DBCP と PostgreSQL の組み合わせで,setAutoCommit(true) したまま close() すると,次の getConnection() で例外が発生する問題を修正しました.[Seasar-user:15907]
- Improvement
- [CONTAINER-229] - S2JUnit4で外部コンテキストに登録されるコンポーネントのモックをフィールドバインディング可能にする。
- [CONTAINER-241] - S2JDBC の SQL 自動生成問い合わせ (AutoSelect) で,OrderBy 句を一つの文字列ではなく,プロパティ名と昇順・降順を個別に設定できるようにしました.
- [CONTAINER-242] - S2JDBC の SQL 自動生成問い合わせ (AutoSelect) で,where() メソッドで複数の Where オブジェクトを指定できるようにしました.
- [CONTAINER-245] - S2JDBC-Gen で生成するサービスクラスが join(), where(), orderBy() をタイプセーフに扱えるようにしました.
- [CONTAINER-255] - env.txt を Jar ファイルの中から読み込めるようにしました.[Seasar-user:15840]
- [CONTAINER-259] - S2AbstractServiceでクエリオブジェクトを返すメソッドをprotectedにしました
- [CONTAINER-260] - S2AbstractServiceで使うSQLファイルをMETA-INFの下におくようにしました
- [CONTAINER-268] - クラスパスに EJB3 の Jar がなくても @Resource アノテーションを使えるようにしました.
0.9.1 からの変更点は次のとおりです.
- Bug
- [CONTAINER-231] - エンティティの識別子プロパティに@Column(unique=true)があると、gen-ddlを実行した場合に主キー定義と一意キー定義の両方が生成されてしまう問題に対処しました。
- [CONTAINER-232] - gen-entityで数値型以外のプロパティに@GeneratedValueが付与される問題に対処しました。
- [CONTAINER-233] - migrateでアンダースコアを名前にもつテーブルのCSVファイルがロードされない問題に対処しました。
- [CONTAINER-249] - gen-ddlで@TableGeneratorに対応するID生成用テーブルのDDLが正しく出力されない問題に対処しました。
- [CONTAINER-253] - gen-ddlで@SequenceGeneratorに対応するシーケンスのDDLが正しく出力されない問題に対処しました。
- [CONTAINER-262] - gen-entityで、桁数によってはOralceのNUMBER型カラムがカラムに対応するJavaクラスに納まらないことがある問題に対処しました。
- [CONTAINER-263] - migrateの度にスキーマ情報テーブルをdrop/createすると、migrateに失敗した際に移行前のバージョン番号が失われリカバリしづらい問題に対処しました。
- Improvement
- [CONTAINER-227] - dump-dataでデフォルトのダンプ先をバージョン管理されたディレクトリとしました。
- [CONTAINER-228] - gen-ddlで生成するDDLファイルをテーブルごとに別ファイルにしました。
- [CONTAINER-230] - gen-ddlでバージョン1のcreate/dropのDDLファイルを生成する際、バージョン0のdropのDDLファイルも生成するようにしました。
- [CONTAINER-243] - gen-ddlなどでエンティティクラスを指定する場合にエンティティ名ではなくエンティティクラス名を使用するようにしました。
- [CONTAINER-250] - gen-ddlが生成するDDLで主キーのカラムを必ず先頭にもってくるようにしました。
- [CONTAINER-251] - gen-ddlやdump-dataでダンプデータを主キーの昇順で出力するようにしました。
- [CONTAINER-256] - gen-serviceで、抽象サービスクラスとサービスクラスに対し個別に上書き指定可能としました。
- New Feature
- [CONTAINER-216] - gen-entityでエンティティクラスに共通のスーパークラスを指定できるようにしました。
- [CONTAINER-220] - gen-testで結合を利用したテストケースを生成するようにしました。
- [CONTAINER-235] - gen-entityで@GeneratedValueのstrategyを選択できるようにしました。
- [CONTAINER-236] - gen-entityで@TableGeneratorや@SequenceGeneratorのinitialValueやallocationSizeを指定できるようにしました。
- [CONTAINER-237] - gen-ddlでdropする前のシーケンスの値をcreate sequenceの定義に反映させるようにしました。
- [CONTAINER-238] - DDLやCSVの入出力でファイルに環境名を適用するかどうかを選択できるようにしました。
- [CONTAINER-247] - gen-namesで、join()、where()、orderby()をタイプセーフで扱うことを可能にするクラスを生成するようにしました。
- [CONTAINER-248] - gen-entityでエンティティクラスにアクセサを持たせられるオプションをつけました。
- [CONTAINER-254] - 「jdbcManager」以外の名前のJdbcManagerを使用する場合、gen-serviceでそのJdbcManger用のsetterメソッドを持つサービスクラスを作成するようにしました。
- [CONTAINER-258] - すべてのタスクでCommand呼び出し前後に任意の処理を実行できるようにしました。
2008/09/05†
2.4.28 からの変更点は次のとおりです.
- Bug
- [CONTAINER-214] - S2BeanUtilsでコピー先がプリミティブ型の時にNullPointerExceptionになっていたのを修正しました
- [CONTAINER-215] - S2JDBC で,iterate() 中に SQL を 10 回以上実行すると,iterate() 中の PreparedStatement がクローズされてしまう問題を修正しました.[Seasar-user:15591]
- Improvement
- [CONTAINER-213] - S2JDBCで、DTOのプロパティにname属性の指定されていない@Columnが注釈されている場合を認めるようにしました。
0.9.0 からの変更点は次のとおりです.
- Bug
- [CONTAINER-219] - Oracle Databseからエンティティを生成するとVARCHAR2がStringではなくbyte配列にマッピングされてしまう問題に対処しました。
- [CONTAINER-222] - プロパティを新規に追加したエンティティに対しマイグレーションを実行するとエラーになる問題に対処しました。
- [CONTAINER-223] - Antのビルドファイルでターゲット内にS2JDBC-Genの同一タスクを複数記述した場合に正しくエラーを扱えない問題に対処しました。
- [CONTAINER-224] - ExecuteSqlTaskやMigrateTaskのhaltOnError属性が常にfalseとして扱われる問題に対処しました。
- Improvement
- New Feature
2008/08/26†
2.4.27 からの変更点は次のとおりです.
- Bug
- [CONTAINER-211] - RequestDispatcher#forward() や include() をした場合に,S2ContainerFilter が外部コンテキストの request/response を null にしてしまうため,後続の処理で request/response を参照すると NullPointerException が発生する問題を修正しました.[Seasar-user:15379]
- [CONTAINER-212] - WAS6.0 でクラスファイルが Jar ファイルにまとめられていると,ルートパッケージに対応するディレクトリエントリを見つけられない問題を修正しました.[Seasar-user:15310]
2008/08/12†
2.4.26 からの変更点は次のとおりです.
- Bug
- [CONTAINER-199] - S2JDBC で,Statement#getGeneratedKeys() をサポートした RDBMS で @GeneratedValue が指定されたエンティティを JdbcManager#insert(T) に渡した場合,PreparedStatement がクローズされない問題を修正しました.[Seasar-user:15022]
- [CONTAINER-201] - S2JDBC で,問い合わせのパラメータにメソッドを持つ列挙定数を渡すと Serializable として扱われてしまう問題を修正しました.[Seasar-user:15074]
- [CONTAINER-206] - S2JDBC で,DB2 用の Dialect が返す select 〜 for update 用の SQL が間違っていたのを修正しました.[Seasar-user:15148]
- [CONTAINER-209] - S2JDBCで同一トランザクション内における動的なデータソースの切り替えに対応しました。
- [CONTAINER-210] - S2JDBC で,トランザクションが開始されてない状態で @GeneratedValue が指定されたエンティティの挿入を行うと,コネクションが解放されない問題を修正しました.[Seasar-user:15322]
- Improvement
- [CONTAINER-98] - S2JUnit4へ@PostBindFields/@PreUnbindFieldsを導入しました
- [CONTAINER-200] - TimeConversionUtilでhh:mm:ddのパターンを考慮するようにしました
- [CONTAINER-202] - S2JDBC で,enum 型に対応する ValueType をカスタマイズ可能にしました.[Seasar-user:15093]
- [CONTAINER-203] - S2JDBC で,@Enumerated アノテーションに対応しました.
- [CONTAINER-204] - S2JDBC で,Enum 型のプロパティは名前 (Enum#name() の戻り値) ではなく,序数 (Enum#ordinal() の戻り値) で扱うようにしました.
- [CONTAINER-205] - S2BeanUtilsのConverterでTimestampやSqlDateをサポートしました
- [CONTAINER-207] - S2JDBC で,Oracle との組み合わせでバッチ更新した場合は Statement#getUpdateCount() で楽観的排他制御のチェックをするようにしました.[Seasar-user:15156]
- [CONTAINER-208] - S2JDBC の Map(List)?ResultSetHandler で,2.4.17 以前と同様にカラム名からアンダースコアを除去しない設定をできるようにしました.[Seasar-user:15305]
2008/07/03†
2.4.25 からの変更点は次のとおりです.
- Bug
- [CONTAINER-189] - S2JTA で,GlassFish および Sun Java System Application Server 9.0〜用の jta-sun9.dicon で,TransactionManager を取得するための JNDI 名が間違っていたのを修正しました.
- [CONTAINER-190] - JSONSerializer で Map を文字列化すると,キーがクオートされない問題を修正しました.[Seasar-user:14007]
- [CONTAINER-191] - NumberConversionUtilでbyte値の変換が行われないのを修正しました
- [CONTAINER-192] - S2JDBC で,ComplexWhere の and() を呼び出す前の条件が空の場合に不正な SQL となる問題を修正しました.[Seasar-user:14358]
- [CONTAINER-194] - S2BeanUtils で,Beansのprefixとexcludeの組み合わせで対象プロパティを正しく判定できるようにしました
- [CONTAINER-196] - S2JDBC で,Oracle で同名のプロパティを持つエンティティを結合して limit/offset を指定すると「ORA-00918: column ambiguously defined」が発生する問題を修正しました.[Seasar-user:14442]
- [CONTAINER-197] - S2DBCP で,S2Hibernate との組み合わせで,他のスレッドで取得されたコネクションをクローズしてしまう問題を修正しました.[Seasar-user:14873]
- Improvement
- [CONTAINER-193] - S2JTA で,Apache Geronimo サーバー用の S2JTA 設定ファイル jta-geronimo2.dicon を作成しました。
- New Feature
2008/04/18†
2.4.24 からの変更点は次のとおりです.
- Bug
- [CONTAINER-182] - S2JDBCで、NOT NULL制約エラーの場合にSEntityExistsExceptionがスローされないようにしました。[Seasar-user:13477]
- [CONTAINER-186] - S2JUnit4で、文字列のトリムをせずに読み取ったExcelの各セルがトリムされてアサートされる問題に対処しました。[Seasar-user:13720]
- [CONTAINER-187] - COOL deployのときもMessageBundleが毎回取得されているのを修正しました
- [CONTAINER-188] - XlsReader で,HSSFSheet#getRow(int) の引数を short にキャストして呼び出しているため,32767 行までしか扱えない問題を修正しました.[Seasar-user:13818]
- Improvement
- [CONTAINER-183] - BindingTypeDef をカスタマイズしやすくしました.[Seasar-user:13496]
- [CONTAINER-184] - S2JDBC の SimpleWhere で,starts()・ends()・contains() の検索文字列にワイルドカード文字 ('%', '_') を含むことができるようにしました.[Seasar-user:13596]
- [CONTAINER-185] - S2JDBC の SimpleWhere で,like() でエスケープ文字を指定できるようにしました.[Seasar-user:13596]
2008/03/28†
2.4.23 からの変更点は次のとおりです.
- Bug
- [CONTAINER-173] - S2JDBC で getCount() を呼び出した場合に生成される SQL が副問い合わせに別名を指定していないため,PostgreSQL でエラーとなる問題を修正しました.[Seasar-user:13024]
- [CONTAINER-179] - S2JDBC を DB2で使った場合に,Blob のデータ長が 0 だと例外が発生する問題を修正しました.[Seasar-user:13449]
- Improvement
- [CONTAINER-174] - コンテナの終了時や HOT deploy の後処理で Introspector#flushCaches() を呼び出すようにしました.[Seasar-user:13191]
- [CONTAINER-175] - SAX サポートクラスの final を外し,OGNL の処理中にクラスを読み込むのを Class#forName() から ClassLoader#loadClass() に変更しました.
- [CONTAINER-176] - S2JDBCでTableアノテーションとTableGeneratorアノテーションのcatalog属性に対応しました。
- [CONTAINER-177] - S2JDBC で,PostgreSQL8.1以降に対応した Dialect を追加しました.[Seasar-user:13308]
- [CONTAINER-178] - S2JDBC で,SQL ファイルの先頭に BOM (U+FEFF,ZERO WIDTH NO-BREAK SPACE) が付けられている場合は除去するようにしました.[Seasar-user:13197]
2008/02/22†
2.4.22 からの変更点は次のとおりです.
- Bug
- [CONTAINER-163] - 数値や日付の変換で空文字のときはnullに変換するようにしました
- [CONTAINER-170] - S2JDBC で Firebird を使用する場合,ID 自動生成の Strorategy に Sequence を使用すると例外が発生する問題を修正しました.[Seasar-user:12794]
- Improvement
- [CONTAINER-167] - S2JDBC で,結合条件を付加できるようにしました.[Seasar-user:12613]
- [CONTAINER-169] - S2JDBC の SQL (ファイル含む) を使った問い合わせで,一つの SQL で通常の問い合わせと SEELCT COUNT(*) による件数の取得との両方を実行できるようにしました.[Seasar-user:12683]
- [CONTAINER-172] - S2JUnit4をJUnit4.4に対応させました。
- Task
- [CONTAINER-168] - S2JDBC のチュートリアルに iterate() および getCount() の説明を追加しました.[Seasar-user:12612]
2008/01/25†
2.4.21 からの変更点は次のとおりです.
- Bug
- Improvement
- [CONTAINER-162] - S2Dxo および S2BeanUtils で,変換元の String 型のプロパティ値が空文字列の場合は,変換対象から除外することを指定できるようにしました.[Seasar-user:12599]
- [CONTAINER-164] - S2JDBCのSimpleWhereにexcludesWhitespace()を追加しました
- [CONTAINER-165] - S2BeanUtilsでincludesとexcludesを同時に使えるようにしました
- [CONTAINER-166] - S2JTA の TransactionSynchronizationRegistry を S2JTA に依存しないようにしました.
2008/01/18†
2.4.20 からの変更点は次のとおりです.
- Bug
- [CONTAINER-150] - S2Dxo で shallowCopy が true の場合,変換元のプロパティ型が Object[] で変換先のプロパティ型が Integer[] だと,代入不可にもかかわらず代入しようとして IllegalArgumentException が発生する問題を修正しました.[Seasar-user:12408]
- [CONTAINER-154] - PropertyDesc で,非 public フィールドと getter メソッドのみによる read only なプロパティの getValue() や,非 public フィールドと setter メソッドのみによる write only なプロパティの setValue() が例外にならない問題を修正しました.
- Improvement
- [CONTAINER-160] - S2JDBC の SQL を自動生成する更新・削除で,@Id アノテーションが指定されていないエンティティを指定された場合は例外をスローするようにしました.
- New Feature
- [CONTAINER-151] - S2JDBCで@MappedSuperclassに対応し、エンティティの親クラスに永続フィールドを持てるようにしました。
- [CONTAINER-152] - Teeda の RequestDumpFilter を移植しました.
- [CONTAINER-153] - S2JDBC で,問い合わせ結果を List で返すのではなく,1 件ずつコールバックする機能を追加しました.
- [CONTAINER-156] - S2JDBC の SQL 自動生成による問い合わせで,SELECT COUNT(*) の結果を取得する getCount() メソッドを追加しました.[Seasar-user:12500]
- [CONTAINER-157] - S2JDBC の SQL 自動生成による問い合わせで,ヒントをサポートしました.[Seasar-user:12491]
- [CONTAINER-158] - S2Dxo で,変換先プロパティ名に付与するプレフィックスを指定できるようにしました.[Seasar-user:12427]
- [CONTAINER-159] - S2BeanUtilsでコンバータの指定を可能にしました.
2008/01/04†
2.4.19 からの変更点は次のとおりです.
- Bug
- [CONTAINER-143] - PropertyDescでString以外のプロパティをStringのプロパティにセットできない問題を修正しました
- [CONTAINER-145] - S2JDBCですでに閉じられた論理的コネクションを取得してしまう問題に対処しました。
2007/12/21†
2.4.18 からの変更点は次のとおりです.
- Bug
- [CONTAINER-140] - 同一の EntityManagerFactory を持つ複数の TxScopedEntityManagerProxy が,トランザクション下で異なった EntityManager を作成してしまう問題を修正しました.
- [CONTAINER-142] - WAS5.1 用の jta.dicon で,WAS の TransactionManagerFactory のパッケージ名が間違っているのを修正しました.
- Improvement
- New Feature
2007/12/14†
2.4.18-rc4 からの変更点はありません.
2.3.23-rc1 からの変更点はありません.
2007/12/07†
2.4.18-rc3 からの変更点は次のとおりです.
- Bug
- [CONTAINER-131] - プロパティの型がインターフェースでなくてもコンテナに一つだけコンポーネントが登録されていれば自動バインディングするようにした修正を元に戻しました
- [CONTAINER-132] - S2JDBCでユーザー定義のValueTypeをEntityで使用できるようにしました.
- [CONTAINER-133] - Teeda (Portlet) と S2Axis2 を組み合わせると UnsupportedOperationException がスローされる問題を修正しました.[Seasar-user:11866]
- [CONTAINER-134] - BeanDescImpl#getMethodNoException() がメソッドが見つからない場合に例外をスローする問題を修正しました.
- [CONTAINER-135] - S2JDBC を WAS6 で使用すると,トランザクションのコミット時に NullPointerException が発生する問題を修正しました.[Seasar-user:11924]
- [CONTAINER-136] - S2JTA で,カレントスレッドにトランザクションが関連づけられた状態で Synchronization#afterCompletion() が呼び出される問題を修正しました.
- Improvement
- [CONTAINER-137] - JPA サポートが WAS でも動作するようにするため,TransactionManager に依存しないようにしました.
- Task
2007/11/30†
2.4.18-rc2 からの変更点は次のとおりです.
- Bug
- [CONTAINER-117] - S2Tx で,UserTransaction#setRollbackOnly() が既に呼び出されているトランザクションから例外がスローされると,SIllegalStateException (既にロールバックとしてマークされています) が発生する問題を修正しました.[Seasar-user:11630]
- [CONTAINER-125] - S2JUnit4のSimpleDataAccessorのreadXlsReplaceDbメソッドで誤ってreadXlsAllReplaceDbメソッドを呼び出している不具合を修正しました。
- [CONTAINER-126] - S2UnitやS2JUnit4のreloadOrReadDbメソッドでIndexOutOfBoundsExceptionが発生する不具合を修正しました。
- [CONTAINER-127] - S2JDBCのorderByメソッドでプロパティ名がカラム名に変換されない不具合を修正しました。
- Improvement
- [CONTAINER-112] - S2JDBC で,挿入系で一意制約違反になった場合は javax.persistence.EntityExistsException をスローするようにしました.
- [CONTAINER-116] - S2Dxo の変換カスタマイズの簡易指定で,変換元プロパティの位置に null リテラルを記述できるようにしました.[Seasar-user:11582]
- [CONTAINER-119] - S2DBCP で,RDBMS に接続するまでのタイムアウト時間を設定できるようにしました.[Seasar-user:11618]
- [CONTAINER-120] - S2JDBCでRDBMSの日付・時刻型をjava.util.Dateやjava.util.Calendarで扱えるようにしました。
- [CONTAINER-124] - S2JDBCのBinaryTypeでBLOBでないにも関わらず毎回BLOBとして扱われることがあるが、非効率なのでBLOBとBLOBでない場合で処理を分けるようにしました.
- [CONTAINER-128] - S2AOPで,pointcutが指定されなかった場合は Object.class に属していない public なメソッドが対象となるようにしました.
- [CONTAINER-129] - S2JDBCでSQLのログを出力する際、バインドする値ごとに適切な形式に変換するようにしました。
- [CONTAINER-130] - S2JDBC の AutoSelect で,join(String) メソッドの名前を leftOuterJoin(String) に変更し,innerJoin(String) メソッドを追加しました.
- New Feature
- [CONTAINER-115] - EJB3 の @TransactionAttribute アノテーションを POJO (非 EJB) に指定してトランザクション属性を設定可能にする TxAttributeCustomizer を追加しました.
- [CONTAINER-118] - S2JDBC で,select 〜 for update をサポートしました.
- [CONTAINER-121] - Commons-BeanUtilsの流れるようなインターフェース版を追加しました.
- [CONTAINER-122] - S2JDBCでユーザー定義のSerializableなオブジェクトをテーブルに格納できるようにしました.
- [CONTAINER-123] - S2JDBCのAutoSelectで主キーのみ、もしくは主キーとバージョン番号の組み合わせで簡単に検索できるようにしました.
2007/11/08†
2.4.18-rc1 からの変更点は次のとおりです.
- Bug
- [CONTAINER-101] - S2JDBC で,AutoSelect の where に new SimpleWhere().eq("employeeName", null) のような無効な条件しかない場合に不正な SELECT 文が生成される問題を修正しました.
- [CONTAINER-104] - S2JDBC で,1対多の関連をフェッチする問い合わせで getSingleResult() を呼び出した場合に,関連先のエンティティが複数あると NonUniqueResultException が発生する問題を修正しました.
- [CONTAINER-113] - ログ出力用SQLの組み立て時、バインド変数に対応する引数が足りない場合はIllegalBindArgSizeRuntimeExceptionをスローするようにしました。
- [CONTAINER-114] - S2JTA で,RestrictedTransactionImpl が WAS6 正しく動作しない問題を修正しました.[Seasar-user:11520]
- Improvement
- [CONTAINER-103] - S2JDBC で,SimpleWhere に渡された String 型のパラメータが空文字列または空白のみの文字列の場合は条件に追加しないようにしました.
- [CONTAINER-106] - S2Dxo で,変換元と変換先の型が同じ場合,変換元のオブジェクトをそのまま変換先オブジェクトとしていたが,String や Number 等の不変なオブジェクトを除いて,同値な別オブジェクトを変換先オブジェクトとするようにしました.
- [CONTAINER-107] - S2JDBC で,SQL ファイルを指定するパスを,ピリオド区切りからスラッシュ区切りに変更しました.
- [CONTAINER-108] - S2JDBC の更新系で,更新行数が 0 でも例外をスローしないことを指定できるようにしました.
- [CONTAINER-109] - S2JDBC の検索で getSingleResult() が呼ばれた場合に,取得行数が 0 なら例外をスローすることを指定できるようにしました.
- [CONTAINER-111] - S2JDBC で,バッチ更新時のバッチサイズを指定できるようにしました.
2007/10/23†
2.4.17 からの変更点は次のとおりです.
- Bug
- [CONTAINER-77] - S2Dxo で,convert(src) 形式のメソッドの引数に null が渡された場合は戻り値に null を返し,convert(src, dest) 形式のメソッドの引数に null が渡された場合は詳細なメッセージを含んだ例外をスローするようにしました.
- [CONTAINER-81] - ルートパッケージに 'web' が含まれている場合に,クラス名からコンポーネント名を正しく求められない問題を修正しました.[Seasar-user:10177]
- [CONTAINER-82] - InterType を使用すると HotdeployClassLoader が GC されない問題を修正しました.
- [CONTAINER-83] - BeanDesc において,setter/getter メソッドが共変戻り値を使っているクラスの場合,コンパイラによって作成されるブリッジメソッドを setter/getter と判断してしまう問題を修正しました.
- [CONTAINER-85] - HOT deploy 時に AOP を使用してエンハンスされたクラスを OGNL で使用すると,リクエストが終了しても HotdeployClassLoader および ClassPool が解放されない問題を修正しました.[Seasar-user:10398]
- [CONTAINER-90] - RemoveSessionInterceptor は,ドキュメントでは対象のメソッドが正常に終了した場合のみセッションから属性を削除することになっているが,実際には例外が発生した場合でも属性を削除してしまっていたのを修正しました.
- [CONTAINER-91] - HOT deploy 時に,AOP が適用されたクラスが HTTP セッションに格納されると,HotdeployClassLoader が GC されないため,Javassist 関連のリソースも解放されない問題を修正しました.
- [CONTAINER-93] - S2DBCPで,ConnectionPool の maxPoolSize プロパティを 0 (プールしない) に設定しても,トランザクションに関連づけられたコネクションがプールされてしまう問題を修正しました.
- [CONTAINER-96] - S2Dxo で @ConversionRule アノテーション (定数アノテーションも同様) を使った場合に,変換先プロパティに 1 文字のプロパティ名を指定すると変換されない問題を修正しました.
- Improvement
- [CONTAINER-74] - トランザクションが開始・終了する場合及びコネクションプールからコネクションが取得される際のメッセージにトランザクションを含めるようにしました.
- [CONTAINER-75] - S2Dxo の組み込みコンバータを dicon で設定できるようにしました.
- [CONTAINER-79] - ストアドプロシージャーに対応するためのメソッドをValueTypeに追加しました。
- [CONTAINER-84] - S2JUnit4のS2Assert#assertMapEqualsメソッドでジェネリクスのWildcardを使用するのをやめ実行しやすくしました
- [CONTAINER-86] - S2DBCP において,コネクションをクローズする前に自動コミットモードが無効なら明示的にトランザクションをロールバックするようにしました.
- [CONTAINER-87] - S2Dxo の変換ルール (非 OGNL 式) で,変換元のパス式の途中のプロパティが null だった場合に NullPointerException が発生しないようにしました.
- [CONTAINER-95] - Java5 環境の S2Dxo で,変換先 Bean のプロパティに List<T> や Set<T> が指定された場合,変換元のオブジェクトを T に変換するようにしました.
- [CONTAINER-97] - SQLコメントのバインド変数で名前がorderByの場合は、埋め込み変数に変換する
- [CONTAINER-99] - コンポーネントが規約に沿っているかのチェック時にミドルパッケージ名をすべて小文字に変換してチェックするようにしました.
- New Feature
- [CONTAINER-78] - WebSphere など,アプリケーションから TransactionManager を利用することがサポートされていない環境向けに,UserTransaction と TransactionSynchronizationRegistry を使用した TransactionManager の制限された実装を提供しました.
- [CONTAINER-88] - S2Tx で,WAS6 の UOW API をサポートしました.
- [CONTAINER-89] - インターセプタで HTTP セッションを破棄するための InvalidateSessionInterceptor を追加しました.
- [CONTAINER-92] - S2JUnit4で Java EE のAPIに依存しないDataAccessorの実装を用意しました。
- [CONTAINER-100] - S2JDBC 拡張機能を追加しました.
- Task
- [CONTAINER-76] - S2-Extension の pom.xml に定義されている POI の <dependency> で log4j を exclude するようにしました.[Seasar-user:9945]
2.3.22 からの変更点は次のとおりです.
- Improvement
- [CONTAINER-79] - ストアドプロシージャーに対応するためのメソッドをValueTypeに追加しました。
- [CONTAINER-86] - S2DBCP において,コネクションをクローズする前に自動コミットモードが無効なら明示的にトランザクションをロールバックするようにしました.
- Task
- [CONTAINER-76] - S2-Extension の pom.xml に定義されている POI の <dependency> で log4j を exclude するようにしました.[Seasar-user:9945]
2007/08/13†
2.4.16 からの変更点は次のとおりです.
- Bug
- [CONTAINER-68] - MockServletContextImpl#getResourcePaths(String) に /WEB-INF/lib/ のように複数階層のパスを渡すと,結果の Set に含まれるパスが不正となる問題を修正しました.
- [CONTAINER-71] - StringClobTypeでResultSet#getCharacterStreamがnullを返す場合に対応しました。
- [CONTAINER-73] - SqlLog#getBindArgTypes()の戻り値をオブジェクトの配列からクラスの配列に変更しました。
- Improvement
- [CONTAINER-69] - SQLのログをSqlLogRegistryから削除できるようにしました。
- [CONTAINER-72] - MessageResourceFactory の getBundle(String, Locale) および getNullableBundle(String, Locale) において,Locale の言語コードだけでなく国コードおよびバリアントコードも含めてリソースを検索するようにしました.[Seasar-user:9753]
- New Feature
- [CONTAINER-70] - public fieldのプロパティとして認識できるようにする
2.3.2 からの変更点は次のとおりです.
- Bug
- [CONTAINER-68] - MockServletContextImpl#getResourcePaths(String) に /WEB-INF/lib/ のように複数階層のパスを渡すと,結果の Set に含まれるパスが不正となる問題を修正しました.
- [CONTAINER-71] - StringClobTypeでResultSet#getCharacterStreamがnullを返す場合に対応しました。
- [CONTAINER-73] - SqlLog#getBindArgTypes()の戻り値をオブジェクトの配列からクラスの配列に変更しました。
- Improvement
- [CONTAINER-65] - S2JDBC に Statement#executeBatch() の結果である int[] を返す ReturningRowsBatchHandler を追加しました.[Seasar-user:9228]
- [CONTAINER-69] - SQLのログをSqlLogRegistryから削除できるようにしました。
2007/07/30†
2.4.15 からの変更点は次のとおりです.
- Bug
- [CONTAINER-67] - HOT deploy 時に,session および application スコープのコンポーネントを最初に取得した (インスタンスが作成された) 直後に取得すると,最初とは異なったインスタンスが返される問題を修正しました.[Seasar-user:9227]
- Improvement
- [CONTAINER-65] - S2JDBC に Statement#executeBatch() の結果である int[] を返す ReturningRowsBatchHandler を追加しました.[Seasar-user:9228]
- [CONTAINER-66] - S2FrameworkTestCase および S2Unit4 でコンテナ作成時に NamingConvention を自動登録しないよう設定可能にしました.[Seasar-user:9288]
2007/07/11†
2.4.14 からの変更点は次のとおりです.
- Bug
- [CONTAINER-54] - S2JUnit4でテストメソッドのフィルタやソートを有効にしました.
- [CONTAINER-55] - DataTableにカラム名を登録する際に、アンダースコアを除去しないようにしました.
- [CONTAINER-61] - NamingConventionにてviewRootPath設定の不具合を修正しました.
- [CONTAINER-64] - session スコープおよび application スコープのコンポーネントが初期化される際に,setter インジェクションおよび init メソッドインジェクションが呼び出されなくなっていた問題を修正しました.
- Improvement
- [CONTAINER-56] - XlsReaderでColumnTypeを判定するときに、nullでない行まで手繰って判定するようにしました。
- [CONTAINER-58] - S2JDBCで、SQLをログ出力するときのLoggerの引数にとるクラスを、setterで設定可能にしました。
- [CONTAINER-59] - XlsReaderとXlsWriterのフィールドとprivateメソッドをprotectedにしました。
- [CONTAINER-62] - S2Dxo 用に作成した独自コンバータをルートのコンテナから取得するようにしました.
- [CONTAINER-63] - CustomizerChain クラスに addAspectCustomizer(String interceptorName) 等のメソッドを追加しました.
- New Feature
- [CONTAINER-57] - S2JDBCでSQLのログを記録しアプリケーションからログを参照できるようにしました.
2.3.20 からの変更点は次のとおりです.
- Improvement
- [CONTAINER-58] - S2JDBCで、SQLをログ出力するときのLoggerの引数にとるクラスを、setterで設定可能にしました。
- [CONTAINER-60] - S2JDBCで,ConfigurableStatementFactoryにqueryTimeoutを追加しました.
- New Feature
- [CONTAINER-57] - S2JDBCでSQLのログを記録しアプリケーションからログを参照できるようにしました.
2007/06/29†
2.4.13 からの変更点は次のとおりです.
- Bug
- [CONTAINER-34] - Tomcat でコンテキストの再ロードを行うとヌルポが発生する問題を修正しました.[Seasar-user:7767]
- [CONTAINER-40] - 規約に外れたコンポーネントがSMART deployされてしまう問題を修正しました.
- [CONTAINER-42] - Transaction#commit() が呼び出されたがコミットできなかった場合に Synchronization#afterCompletion() が呼び出されない問題を修正しました.[Seasar-user:8402]
- [CONTAINER-44] - WARM deploy で複数のスレッドが同じ未登録コンポーネントを同時に要求した場合,それぞれのスレッドでコンポーネントが登録されてしまう問題を修正しました.[Seasar-user:8516]
- [CONTAINER-45] - OGNLでNullpointerExceptionが発生する現象を回避するため、パッチをあてたOGNLのjar(ognl-2.6.9-patch-20070624.jar)を利用するようにしました。[Seasar-user:8563]
- [CONTAINER-47] - MockServletContextImpl#getResourcePaths(String) が返す Set に含まれるパスを MockServletContextImpl#getResource(String) に渡すと null が返される問題を修正しました.[Seasar-user:8620]
- [CONTAINER-50] - Xerces 2.6.2 が使われている環境で javax.xml.parsers.ParserConfigurationException が発生する問題を修正しました.[Seasar-user:8711]
- [CONTAINER-51] - HOT deploy 時に request/session スコープのクラスが Serializable ではあるがデフォルトコンストラクタのない場合に InstantiationException がスローされる.[Seasar-user:8745]
- Improvement
- [CONTAINER-35] - POI のバージョンを 2.5.1 から 3.0 へ更新.
- [CONTAINER-38] - S2JDBCのMap系のResultSetHandlerで_付のカラムを_なしのプロパティに自動変換する
- [CONTAINER-39] - S2JUnit4でTxBehaviorにCOMMITが指定された場合、テストが成功する場合にのみトランザクションをコミットする
- [CONTAINER-46] - Enumを文字列から自動的に変換したい
- [CONTAINER-48] - S2JDBCでEnumに対応する
- [CONTAINER-49] - S2JDBCで基本型とユーザ定義型の自動変換を行う
- [CONTAINER-52] - S2JUnit4でテストデータの準備方法を簡単に選択できるようにする
- [CONTAINER-53] - ConfigurableStatementFactoryにqueryTimeoutを追加する
- New Feature
- [CONTAINER-37] - S2Junit4のExcelデータの読み込みにおいて、文字列に含まれる空白を取り除かない設定を可能にする。
- [CONTAINER-41] - S2Dxo でコピー元プロパティ名の prefix を指定できるようにしました.
2.3.19 からの変更点は次の通りです.
- Bug
- [CONTAINER-32] - ComponentAutoRegisterでClassPatternが二重巡回(類似問題)
- [CONTAINER-34] - Tomcat でコンテキストの再ロードを行うとヌルポが発生する問題を修正しました.[Seasar-user:7767]
- [CONTAINER-45] - OGNLでNullpointerExceptionが発生する現象を回避するため、パッチをあてたOGNLのjar(ognl-2.6.9-patch-20070624.jar)を利用するようにしました。[Seasar-user:8563]
- [CONTAINER-47] - MockServletContextImpl#getResourcePaths(String) が返す Set に含まれるパスを MockServletContextImpl#getResource(String) に渡すと null が返される問題を修正しました.[Seasar-user:8620]
- Improvement
- [CONTAINER-35] - POI のバージョンを 2.5.1 から 3.0 へ更新.
- New Feature
- [CONTAINER-20] - DestroyMethodアノテーションが欲しい
2007/05/22†
2.4.13-rc1 からの変更点は次の通りです.
- S2-Framework
- [Seasar-user:7523] S2FrameworkTestCaseで,ルートコンテナに読み込む dicon ファイルを getRootDicon() メソッドまたは getXxxRootDicon() メソッドの戻り値で指定できるようにしました (Xxx はテストメソッド testXxx() に対応).
- [Seasar-user:7523] HOT/WARM deploy において,ルート以外のコンテナからコンポーネントの取得が試みられた場合はコンポーネントの自動登録を行わないようにしました.
- [Seasar-user:7625] S2FrameworkTestCase で COOL deploy が有効にならない問題を修正しました.
- S2-Extension
- DBSession 機能を org.seasar.extension.dbsession パッケージから org.seasar.extension.httpsession パッケージに変更しました.
- DBSession において HttpServletRequst#getSession(boolean) が false で呼び出されたときに,常に HttpSession が作成されない問題を修正しました.
- [Seasar-user:7689] DbSession でセッションの更新時に同じ属性を INSERT してしまう問題を修正しました.
- [Seasar-user:7676] DbSession でバッチ更新しないよう設定できるようにしました.
- [Seasar-user:7568] XlsReader で文字列をダブルクオートで囲むことにより,文字列の両端の空白を維持することができるようにしました.S2TestCase からも利用できます.
- S2-Tiger
- [Seasar-user:7523] S2JUnit4で,ルートコンテナに読み込む dicon ファイルを @RootDicon アノテーションで指定できるようにしました.
2007/04/25†
2.4.12 からの変更点は次の通りです.
- S2-Framework
- ComponentAutoRegister でファイルシステムのクラスを自動登録する際に,クラスパターンを複数指定すると同じクラスが重複して登録されてしまう問題を修正しました.[CONTAINER-32]
- S2-Extension
- S2-Tiger
- EJB3 等の Jar がクラスパス上に存在しない場合には EJB3 関連の機能を使用しないようにしました.[Seasar-user:7357]
2007/04/09†
2.4.11 からの変更点は次の通りです.
- S2-Framework
- COOL deploy で NamingConvention に登録したインタフェース<->実装クラスのマッピングが反映されない問題を修正しました.[Seasarスレ9:712]
- 実行環境が Java5 の場合は Collections#synchronizedMap() でラップした HashMap の代わりに ConcurrentHashMap を使うようにしました.
- dicon に記述された式がリテラル (null,true,false) の場合は OGNL 式ではなく LiteralExpression として扱うようにしました.
- dicon に記述された式が単一のコンポーネント名を表す場合は OGNL 式ではなく ComponentNameExpression として扱うようにしました.
- S2AOP標準のトレースインターセプタにおいて,ログ出力レベルの DEBUG が有効でない場合はトレース文字列の組み立てを行わないようにしました.
- OC4JのjarのURLプロトコルであるcode-sourceに対応しました.
- SimplePathResovlerで特定の論理パスを特定の物理パスに置換できるようにしました.
- S2-Extension
- S2Dxo で DateFormat のインスタンスが複数のスレッドで共有されていたのを修正しました.
- S2Dxo で数値および文字列とenumとの相互変換をサポートしました (S2-Tiger が必要です).
- トランザクションがカレントスレッドから切り離される際に ThreadLocal に保持しているカレントトランザクションをクリアするようにしました.[Seasar-user:6672]
- S2JDBC で,SQL コメント中に ? が含まれていると例外が発生する問題を修正しました.[CONTAINER-31]
- S2JTA において,Synchronization#beforeCompletion() 内で例外が発生した場合はその例外ではなく RollbackExcetion をスローするようにしました.
- SQL Serverに対応したSqlWriterを追加しました.[Seasar-user:6635]
- S2-Tiger
- JavaEE5 関連のクラス・インタフェースは Geronimo の Jar ファイルを使用するようにして,自前で持っていたソースファイルは削除しました.
- JNDIからEntityManagerFactoryを取得するためのクラスJndiPersistenceUnitProviderを追加しました.
- JPAのマッピングファイルをdaoパッケージに置いた場合に対応しました.
- 同梱する JUnit4 のバージョンを 4.1 から 4.3.1 へ更新しました.
2.3.18 からの変更点は次の通りです.
- S2-Extension
- コンテナ終了時にコネクションプールのタイムアウトを監視するスレッドが終了しない問題を修正しました.[CONTAINER-28]
- トランザクションがカレントスレッドから切り離される際に ThreadLocal に保持しているカレントトランザクションをクリアするようにしました.[Seasar-user:6672]
- S2JDBC で,SQL コメント中に ? が含まれていると例外が発生する問題を修正しました.[CONTAINER-31]
2007/03/08†
2.4.10 からの変更点は次の通りです.
- S2Framework
- S2Unit を使った単体テストでは,環境名を env.txt ではなく,env_ut.txt から取得するようにしました.env_ut.txt が存在しない場合のデフォルトは "ut" となります.
- HOT/WARM deploy において,コンポーネント名を指定してコンポーネントを取得する際に,コンポーネント名の先頭の大文字・小文字が誤っていてもコンポーネントが取得できてしまう問題を修正しました.COOL deploy で見つけられない名前は HOT/WARM deploy でも見つからないようになりました.
- URL から InputStream を取得する際に,キャッシュしないように指定するようにしました.[Seasar-user:6403]
- SMART deploy で Jar ファイルがファイルシステム上にない場合 (Java Web Start など) に IOException が発生する問題を修正しました.[Seasar-user:6539]
- FileSystemAutoRegister で,ClassPattern のクラス名が別の ClassPattern のパッケージにも適用されてしまっていた問題を修正しました.[CONTAINER-29]
- S2FrameworkTestCase のインクルードで,指定されたパスが存在しない場合は無条件にパッケージ名に対応するパスを付加していたのを,パスを付加したファイルが実際に存在する場合のみ付加するようにしました.[seasar-dev:645]
- S2Extension
- 同梱する JTA のバージョンを 1.0.1B から 1.1 へ更新しました.
- TransactionSynchronizationRegistry の実装を追加しました.
- Web コンテナや AP サーバの提供する DataSource と S2JTA を連携するための DataSourceXADataSource を追加しました.[Seasar-user:6445]
- S2Tiger
- S2Unit4 を使った単体テストでは,環境名を env.txt ではなく,env_ut.txt から取得するようにしました.env_ut.txt が存在しない場合のデフォルトは "ut" となります.
2.3.17 からの変更点は次の通りです.
- S2Framework
- URL から InputStream を取得する際に,キャッシュしないように指定するようにしました.[Seasar-user:6403]
- FileSystemAutoRegister で,ClassPattern のクラス名が別の ClassPattern のパッケージにも適用されてしまっていた問題を修正しました.[CONTAINER-29]
- S2FrameworkTestCase のインクルードで,指定されたパスが存在しない場合は無条件にパッケージ名に対応するパスを付加していたのを,パスを付加したファイルが実際に存在する場合のみ付加するようにしました.[seasar-dev:645]
2007/02/19†
2.4.9からの変更点は次の通りです。
- S2Framework
- S2ContainerServlet でコンテナの情報を表示する際に,不正なパスを指定されるとヌルポになっていた問題を修正しました.
- コンテナの作成時及び HOT deploy の start/stop 時にデバッグメッセージを出力するようにしました.
- AspectCustomizer に useLookupAdapter プロパティを追加しました.インスタンス属性が singleton 以外 (request など) のインターセプタを利用する場合は,このプロパティを true にすることで,ターゲットコンポーネントのメソッドが呼び出される度にインターセプタがコンテナからルックアップされるようになります.
- RemoveSessionInterceptor の name プロパティの型を String から String[] に変更し,HTTPセッションから複数の属性を削除できるようにしました.[Seasar-user:6199]
- AbstractCustomizer に targetInterface プロパティを追加しました.このプロパティが設定された場合は,targetInterface を実装しているコンポーネントのみカスタマイズ対象となります.[Seasar-user:6166]
- S2Extension
- S2Dxoのパフォーマンスを改善しました.
- JTA トランザクションをコミットできなかった場合に RollbackException をスローするようにしました.[Seasar-user:6195]
- S2Tiger
- @RemoveSession アノテーションの name 要素の型を String から String[] に変更し,HTTPセッションから複数の属性を削除できるようにしました.[Seasar-user:6199]
2.3.16からの変更点は次の通りです。
- S2Framework
- 依存するjavassistのバージョンを3.0から3.4.gaへ上げました。
- S2Extension
- JTA トランザクションをコミットできなかった場合に RollbackException をスローするようにしました.[Seasar-user:6195]
2007/01/30†
2.4.8からの変更点は次の通りです.
- S2-Framework
- JDK5 で double から変換した BigDecimal の toString() メソッドが指数を含まないようにしました.
- BeanUtil クラスで,Bean から Bean へのプロパティのコピーができない問題を修正しました.
- MockHttpServletResponseから、出力されたストリームをassertできるようにしました。
- コンポーネントカスタマイザにカスタマイズ対象・非対象のクラスパターンを指定できるようにしました.
- S2-Extension
- コンテナ終了時にコネクションプールのタイムアウトを監視するスレッドが終了しない問題を修正しました.[CONTAINER-28]
- S2-Tiger
- キャスト無しでコンポーネントを取得できるSingletonS2Containerを追加しました。
2007/01/12†
2.4.7からの変更点は次の通りです。
- S2-Framework
- S2ContainerServlet からコンポーネント一覧等を返す場合にコンテントタイプを設定するようにしました.
- HotAwareDelegateInterceptor が移譲するコンポーネントを,ルートコンテナから取得するように変更しました.
- S2-Extension
- S2Dxo で Bean から型パラメータを指定した Map への変換の際に,Bean のプロパティが null だとヌルポになっていたのを修正しました.
- S2Dxoで Calendar から文字列に変換する際に ClassCastException が発生していた問題を修正しました.
- S2Dxo で Bean から Map へ変換する際に @ExcludeNull アノテーション/EXCLUDE_NULL 定数アノテーションが適用されるように修正しました.
- S2-Tiger
- EJB3 SessionBean のビジネスメソッドから Throwable および Error がスローされた場合にトランザクションがコミットされてしまうのを修正しました.
- S2EasyMockTestCase を S2TigerTestCase に名称変更して S2JUnit4 同様に @Mock/@Mocks をサポートしました.
2006/12/25†
2.4.6からの変更点は次の通りです。
- S2-Framework
- アスペクトを適用したメソッドから親クラスのメソッドを呼び出すためのヘルパーメソッドの名前がプロパティのsetter メソッドとして扱われてしまうのを回避するため,ヘルパーメソッドにプレフィックス ($$) を付けるよう修正しました.
- SMART deploy において,Service・Dao・Dxo を除き,デフォルトではインタフェース及び抽象クラスのコンポーネント定義を作成しないようにしました.
- creator.dicon の Creator の定義で enableInterface・enableAbstractClass プロパティを true にすることでインタフェース・抽象クラスのコンポーネント定義を作成することができます.
- customizer.dicon は非標準的な Customizer を定義することにし,標準的な Customizer は default-customizer.dicon をインクルードすることにしました.
- std-customizer.dicon のタグが不正だったのを修正しました.
- MetaCustomizer・InterTypeCustomizer を追加しました.
- HOT deploy に影響なく委譲するための HotAwareDelegateInterceptor を追加しました.
- AutoRegister で指定する ClassPattern のパッケージ名を "org.seasar" のように指定した場合に "org.seasar2" のようなパッケージもマッチしてしまうのを修正しました.[Seasar-user:5455]
- WebLogic で War ファイルのままデプロイした場合に War ファイルの中の Jar ファイルを扱えるように修正しました.[seasar-dev:633]
- 同梱する Javassist のバージョンを 3.3GA から 3.4GA に更新しました.
- S2-Extension
- Dxo インタフェースに @ExcludeNull アノテーションまたは EXCLUDE_NULL 定数アノテーションを指定することで,変換元のプロパティが null の場合は変換先に設定しないようにしました.
- S2-Tiger
- S2JUnit4 で @Mock アノテーションをサポートしました.
- EasyMock サポートを強化しました.
2.3.15からの変更点は次の通りです。
- AutoRegister で指定する ClassPattern のパッケージ名を "org.seasar" のように指定した場合に "org.seasar2" のようなパッケージもマッチしてしまうのを修正しました.[Seasar-user:5455]
2006/12/04†
2.4.5からの変更点は次の通りです。
- customizer.dicon が煩雑なのでデフォルトの Customizer を定義した default-customizer.dicon と std-customizer.dicon を追加し,customizer.dicon は標準と異なる設定のみ記述すればいいようにしました.
- NamingConventionImpl#fromPathToComponentName()において,作成されるコンポーネント名を capitalize するように修正しました.
- XmlS2ContainerBuilder に DTD のパブリック ID およびシステム ID を登録できるようにしました.
- ComponentInvoker で HOT deploy が適用されている場合の判定をするための ondemand プロパティを廃止して HotdeployUtil を使うように修正しました.
- S2Dxo で String から Number に型変換する際に,変換元が空文字列だとぬるぽになっていた問題を修正しました.[Seasar-user:5361]
- メソッドが呼ばれる度に SingletonS2ContainerFactory から取得した DataSource/TransactionManager に委譲する Proxy を追加しました.
- JPA の TemporalType と JDBC の SQL 型を相互変換するユーティリティクラスを追加しました.
- 同梱する JUnit4 のバージョンを 4.0 から 4.1 へ更新しました.
2006/11/27†
2.4.4からの変更点は次の通りです。
- 一つのインタフェースに複数の実装クラスがある場合に対応するため,コンポーネント名からクラス名を求める際に実装クラスから先に探すように修正しました.
- S2Dxoで変換先のオブジェクトが引数で渡された場合は,メソッドの仮引数の型ではなく,実際に渡されたオブジェクトの型を使ってプロパティを設定するように修正しました.
- S2Dxo の BeanToMap 変換で List<Map<String, String>> のように Map の値の型を指定できるようにしました.
- 引数型や戻り値型にプリミティブの配列が含まれる場合に TraceInterceptor で ClassCastException が発生していた問題を修正しました.
- components24.dtd の <components> 要素に initializeOnCreate 属性を追加しました.
- NamingConventionImpl で WebLogic で使われる zip: プロトコルの URL をサポートするように修正しました.
2006/11/17†
2.4.3からの変更点は次の通りです。
- S2-Tiger の enum InstanceType に APPLICATION を追加しました.[Seasar-user:5172]
- HOT deploy で application スコープのオブジェクトが ClassCastException になる問題を修正しました.
- convention.dicon でのルートパッケージの登録が WebLogic で IllegalArgumentException: URI is not hierarchical となる問題を修正しました.
- HotdeployFilter が適用されていても,HOT deploy モード以外のときは同期化しないで後続のフィルタを呼び出すように修正しました.
2006/11/16†
2.4.2からの変更点は次の通りです。
- AspectCustomizer を CustomizerChain で複数指定した場合に,Aspect の適用順が記述と逆になるのを修正しました.
- NamingConvention に設定した ignorePackageName を HotdeployClassLoader が認識しない問題を修正しました.
- S2Dxo の @ConversionRule アノテーションで指定されるキー名を case insensitive に扱うようにしました.
- Javassist のランタイムがコンテキストクラスローダーを使用するように javassist.runtime.Desc#useContextClassLoader フラグを true に設定するようにしました.[Seasar-user:5077]
- ResourceUtil#getBuildDir() がスペースを含むパス上の Jar ファイルを適切に扱えない問題を修正しました.
2006/11/14†
2.4.1からの変更点は次の通りです。
- [CONTAINER-19] - MockServletContextImpl#getRealPathが、リソースが無い場合に例外を返してしまう
- S2-Tiger の Jar にバンドルされていた jpa.dicon の名前を jpa-support.dicon に変更しました.
2006/11/11†
2.4.0からの変更点は次の通りです。
- S2Dao1.0.x系と組み合わせられるようにDatabaseMetaDataUtil#getColumnMap()を修正しました。
2.4.0-rc-2からの変更点は次の通りです。
- dicon ファイルで XInclude の サポートを追加しました.
- NamingConvention に無視するパッケージを指定できるようにしました.
- NamingConvention に特定のインタフェースと実装クラスの対応を登録できるようにしました.
- COOL/WARM deploy でコンポーネントとして登録したクラスをログに出力するようにしました.
- COOL deploy で内部クラスを対象としないように修正しました.
- cooldeploy.dicon を app.dicon ではなく s2container.dicon からインクルードするようにしました.
- warmdeploy.dicon を用意しました.
- WARM deploy で使用するための ThreadSafeS2ContainerImpl を追加しました.
- S2FrameworkTestCase および S2TestCase で WARM deploy がデフォルトで有効になるようにしました.
- WebSphere で実行時に CoolDeployAutoRegister が Jar の中のクラスを見つけられない問題を修正しました.
- ResourceAutoDetector で作成した InputStream を閉じていなかった問題を修正しました.
- S2DBCP 関連の実装クラスから final 修飾子を外しました.[Seasar-user:4921]
- S2DBCP の ConnectionPoolImpl に transactionIsolationLevel プロパティを追加しました.[Seasar-user:4921]
- Oracle9iでBlobを扱えるようにしました。
- Oracle でシノニムの使われている列名を取得できない問題に対処するため,XADataSourceImpl に addProperty() メソッドを追加しました.Oracle では addProperty("includeSynonyms", "true") してください.[CONTAINER-18]
- S2Dxo に MapToBean 変換のサポートを追加しました.
- S2Dxo の BeanToMap 変換で @ConversionRule が指定されていない場合は Bean の全てのプロパティをコピーするようにしました.
- S2Dxo で convert(src, dest) 形式の場合に,src から一時的に作成したオブジェクトに変換してそれを dest にコピーしていたのをやめて,直接 dest にコピーするようにしました.
- S2Dxo で変換先 Bean のプロパティ毎に Converter を指定できるようにしました.
- S2Dxo の @ConversionRule アノテーションで,変換先のプロパティ名をシングルクオートで囲まなくてもいいようにしました.ただし複雑な OGNL 式を使う場合は変換先のプロパティをシングルクオートで囲む必要があります.
2.3.14からの変更点は次の通りです。
- Oracle でシノニムの使われている列名を取得できない問題に対処するため,XADataSourceImpl に addProperty() メソッドを追加しました.Oracle では addProperty("includeSynonyms", "true") してください.[CONTAINER-18]
2006/10/31†
2.3.13からの変更点は次の通りです。
- BeanDesc で Boolean型(Wrapper)のプロパティに対応しました。
- Oracle9iでBlobを扱えるようにしました。
2.3.12からの変更点は次の通りです。
- S2DBCP 関連の実装クラスから final 修飾子を外しました.[Seasar-user:4921]
- S2DBCP の ConnectionPoolImpl に transactionIsolationLevel プロパティを追加しました.[Seasar-user:4921]
- S2ContainerServlet に S2Container の内容を HTML で表示する機能を追加しました.
2006/09/22†
2.3.11からの変更点は次の通りです。
- PreparedStatementWrapper#toStringで、オリジナルのPreparedStatementのtoStringへ委譲するようにしました。
- S2FrameworkTestCase で S2 コンテナから設定したフィールドをテストメソッドの実行後にクリアするようにしました.
- ToStringInterceptor を 2.4 系から移植しました.[CONTAINER-17]
- S2ContainerImplのsynchronizedをはずしました。S2ContainerBehaviour.SynchronizedProviderを使えば、synchronized版に切り替えることができます。
2006/09/21†
2.4.0-rc-1からの変更点は次の通りです。
- SimpleTraceInterceptor を追加しました.
- TraceInterceptor で引数が配列の場合にその要素を出力するようにしました.[CONTAINER-14]
- S2Dao の SQL 解析処理を S2 に統合しました.[CONTAINER-15]
- S2Dxo を S2 に統合しました.
- PreparedStatementWrapper#toStringで、オリジナルのPreparedStatementのtoStringへ委譲するようにしました。
- S2FrameworkTestCase で S2 コンテナから設定したフィールドをテストメソッドの実行後にクリアするようにしました.
- HOT & COOL deployのCreatorを統合して、container.creatorパッケージに移しました。インターフェースComponentCreatorは、containerパッケージにあります。
- HOT & COOL deployのrootPackageNameの指定をNamingConventionに移しました。
- ComponentCustomizerをcontainerパッケージに移しました。
- AspectCustomizer、CustomizerChainをcontainer.customizerパッケージに移しました。
- env.txtで改行があっても無視するようにしました。
- WARM deployを追加しました。
- HOT deploy対応のResourceBundleを追加しました。
- S2ContainerImplからsynchronizedを削除しました。
2006/08/16†
2.4.0-beta-4からの変更点は次の通りです。
- S2JDBCにてEntity側のchar・Character型プロパティを扱えるようにしました。[DAO-30]
- S2JDBCで、シングルクォートに囲まれた文字列に?が入っているSQL文を実行するとArrayIndexOutOfBoundsExceptionが発生していたのを修正しました。[CONTAINER-8]
- HOT deployで同じ方が登録されたときの振る舞いを、HOT deployでない場合と同じにしました。[CONTAINER-11]
- ForwardでもHOT deployができるようにしました。
- ComponentAutoRegisterにAutoNamingを復活させました。
- commons-logging を 1.0.4 から 1.1 へ変更しました.
2006/08/07†
2.3.10からの変更点は次の通りです。
- ConfigurableStatementFactoryを追加し、PreparedStatementのfetchSizeとmaxRowsをdiconから設定できるようにしました。[Seasar-user:3692][DAO-2]
- S2FrameworkTestCase でテストメソッドを実行するたびに ClassLoader を切り替えるようにしました.
- org.seasar.extension.dataset.types.ObjectTypeにて、比較対象がComparableな場合にはcompareToを使うようにしました。[CONTAINER-1]
- S2JDBCにてEntity側のchar・Character型プロパティを扱えるようにしました。[DAO-30]
- SingletonS2ContainerFactory や S2FrameworkTestCase で commons-logging のリソースを解放するようにしました.
- S2Container#findComponents の引数にクラスが指定された場合に,戻り値を Object[] ではなく,指定されたクラスの配列を返すようにしました.[CONTAINNER-2][CONTAINER-7]
- ComponentAutoRegister で WebSphere 独自の wsjar: URL を扱えるようにしました.
- S2JDBCで、シングルクォートに囲まれた文字列に?が入っているSQL文を実行するとArrayIndexOutOfBoundsExceptionが発生していたのを修正しました。[CONTAINER-8]
j2ee.diconが変更になります。
2006/07/26†
2.4.0-beta-3からの変更点は次の通りです。
- AbstractExternalContextMap#getAttributeNames()の戻り値型を Enumeration から Iterator に変更しました.
- S2FrameworkTestCase でテストメソッドを実行するたびに ClassLoader を切り替えるようにしました.
- @Resource の name 属性で複合名 ('/' で区切られた名前) を扱えなかった問題を修正しました.
- JPA エンティティクラスのメタデータを扱う EntityDesc を追加しました.
- setter自動インジェクションでインターフェースの配列をサポートしました。
- MapやCollectionに代入可能なインターフェースを自動バインディングの対象からはずしました。
- SingletonS2ContainerFactory や S2FrameworkTestCase で commons-logging のリソースを解放するようにしました.
- 外部バインディングで文字列以外もバインディングできるようにしました.
- 外部バインディングで配列や List 型のプロパティにリクエストパラメータやヘッダの配列をバインドできるようにしました.
- 外部バインディングできなかった場合に自動バインディングが行われるようにしました.
- @Interceptor メタアノテーションの付けられたアノテーションで特定のアスペクトを織り込めるようになりました.
- S2ContainerImpl#findComponents(Object) で,引数が Class 型の場合はそのクラスの配列を返すようにしました.
- S2Container に次のメソッドを追加しました.
- findAllComponents(Object)
- findAllComponentDefs(Object)
- findLocalComponents(Object)
- findLocalComponentDefs(Object)
- ResourceNotFoundRuntimeExceptionをorg.seasar.framework.utilからorg.seasar.framework.exceptionへパッケージ移動しました。
- コンテナの排他制御をルートコンテナに対して行うようにしました.
- BeanDescImpl からコンストラクタおよびメソッドの引数名をデバッグ情報から取得する機能を削除しました.
- org.seasar.extension.dataset.types.ObjectTypeにて、比較対象がComparableな場合にはcompareToを使うようにしました。[CONTAINER-1]
- COOL deployを追加しました。
- 環境による条件付includeを実装しました。
2006/06/15†
2.4.0-beta-2からの変更点は次の通りです。
- SelectableDataSourceProxy を追加しました。[Seasar-user:3660]
- nullのインジェクションでエラーにならないようにしました。[http://d.hatena.ne.jp/tanigon/20060523#p1]
- 名前によるAutoBindingで、パッケージ名つきのコンポーネント名の場合(ex:aaa_hoge)、パッケージ名を抜いた部分(hoge)が、プロパティ名と一致する場合に自動でバインディングするようにしました。
- セッターインジェクションとフィールドインジェクションを明示的に指定できるようにしました.
- @PersistenceContext・@PersistenceUnit・@Resource アノテーションをサポートしました.
- EJB3,JPA サポートのための javaee5.dicon を追加しました.
- @BInding アノテーションをフィールドに指定できるようにしました.
- j2ee.dicon,jta.dicon,ejbtx.dicon をs2-extension-x.y.z.jar に含めるようにしました.
- javaee5.dicon,ejb3tx.dicon,jpa.dicon をs2-tiger-x.y.z.jar に含めるようにしました.
- SSQLException#getMessageに原因となったSQL文を含めるようにしました。
- SSQLException#getSqlで原因となったSQL文を取得できるようにしました。
- ComponentAutoRegister を WebLogic 固有の zip URL に対応しました.[Seasar-user:3658]
- BeanDesc からメソッド及びコンストラクタの引数名を取得できるようにしました.
- ConfigurableStatementFactoryを追加し、PreparedStatementのfetchSizeとmaxRowsをdiconから設定できるようにしました。[Seasar-user:3692][DAO-2]
- ExternalContextの情報にMapでアクセスできるようにしました。
- Hotswapを廃止しました。
- requestのparamterやattributeの名前とプロパティ名が一致した場合に、自動で設定を行うexternalBinding機能を実装しました。
- Sessionで管理されているコンポーネントがHOT deployで変更された場合でも、コンポーネントの状態が引き継がれるようにしました。
- メッセージファイルに S2FrameworkMessages.properties のような長い名前を利用できるようにしました.
- EclipseUtil を削除しました.代わりに ResourceUtil#getBuildDir() を使用してください.
- S2Tx の requiredTx および requiresNewTx において,setRollbackOnly() が設定された場合でも commit() しようとして例外が発生していた問題を修正しました.
2006/06/05†
2.3.9からの変更点は次の通りです。
- AspectAutoRegister を使用するとパターンにマッチしないクラスに対してもアスペクトが適用されてしまう問題を修正しました.[Seasar-user:3761]
2006/06/02†
2.3.8からの変更点は次の通りです。
- S2AOPで、Genericな戻り値を持つメソッドにアスペクトを適用するとエラーが発生していた問題を修正しました。[Seasar-user:3293]
- MetaAutoRegisterを追加しました.[Seasar-user:3669]
- SelectableDataSourceProxy を追加しました.[Seasar-user:3660]
- nullのインジェクションでエラーにならないようにしました。[http://d.hatena.ne.jp/tanigon/20060523#p1]
- ComponentAutoRegister を WebLogic 固有の zip URL に対応しました.[Seasar-user:3658]
- BeanDesc からメソッド及びコンストラクタの引数名を取得できるようにしました.
- SSQLException#getMessageに原因となったSQL文を含めるようにしました。
- SSQLException#getSqlで原因となったSQL文を取得できるようにしました。
2006/05/09†
2.4.0-beta-1からの変更点は次の通りです。
- HOT deployを実装しました。
- S2AOPで、Genericな戻り値を持つメソッドにアスペクトを適用するとエラーが発生していた問題を修正しました。[Seasar-user:3293]
- S2TestCase継承クラスで、super.runTestの前後へ処理を加えられるようになりました。[Seasar-user:3403]
- HotSwapで、継承関係にある複数のクラスが同じインタフェースを実装している場合に発生していた問題を修正しました。[Seasar-user:3466]
- コンポーネント取得時のパフォーマンスを改善しました。
- AutoRegisterでAutoBindingModeを指定できるようになりました。
- S2TestCase#readXlsWriteDbでbooleanの扱いがおかしかったのを修正しました。[Seasar-user:3524]
2006/04/24†
2.3.7からの変更点は次の通りです。
- S2AOPで、Genericな戻り値を持つメソッドにアスペクトを適用するとエラーが発生していた問題を修正しました。
- S2TestCase継承クラスで、super.runTestの前後へ処理を加えられるようになりました。
- HotSwapで、継承関係にある複数のクラスが同じインタフェースを実装している場合に発生していた問題を修正しました。
- コンポーネント取得時のパフォーマンスを改善しました。
- AutoRegisterでAutoBindingModeを指定できるようになりました。
2006/03/27†
2.4では、次の通りに機能追加されました。
- EJB3の実装を追加しました。
- InterTypeを追加しました。
- Servlet用のjarファイルがなくても稼動できるようにしました。
2006/02/23†
2.3.6からの変更点は次の通りです。
- S2UnitでPostgreSQLを使う場合に、Excelにデータが定義されていなくて、
対象となるカラムの型がString以外の場合に、例外が発生していたのを修正しました。(Seasar-user:3182)
- interfaceへHotswapを適用した場合に、そのinterfaceがHotswapProxyから
抜けていた(親interfaceのみを対象にしていた)問題を修正しました。
2006/02/15†
2.3.5からの変更点は次の通りです。
- S2UnitでPostgreSQLを使う場合に、Excelにデータが定義されていなくて、
対象となるカラムの型がString以外の場合に、例外が発生していたのを修正しました。(Seasar-user:3182)
2006/02/13†
2.3.4からの変更点は次の通りです。
2005/12/02†
2.3.3からの変更点は次の通りです。
- *ComponentAutoRegisterを使ったときに、Aspectアノテーションが無効になる問題を修正しました。
- diconファイル中のognl式でクラスを参照するような式が書かれた場合に、
container生成時に指定されたクラスローダを見ずにognl.jarをロードしたクラスローダを見てしまう問題に対応しました。
- s2-frameworkに含まれるJDBC関連クラスをs2-extensionへ移しました。
connectionUtil, DatabaseMetaDataUtil, DataSourceUtilのパッケージ名がorg.seasar.extension.jdbc.utilへ変更になります。
- S2TestCaseにてsetUpAfterContainerInitメソッドとtearDownBeforeContainerDestroyメソッドにロジックを持つようになりました。
(今までは空実装)サブクラスでオーラーライドする場合はsuperの同メソッドを実行するようにしてください。
- Maven2のgroupId・artifactIdを変更しました。
2005/11/25†
2.3.2からの変更点は次の通りです。
- MockServletContextImplを変更しました。
- 機能面での変更はありません。
S2JSFでの単体テストに利用している箇所のみの変更ですので、2.3.2を利用されている方はバージョンアップの必要はありません。
2005/11/21†
2.3.1からの変更点は次の通りです。
- InitMethodアノテーションを追加しました。
- *AutoRegisterはInitMethodアノテーションを使うようになったので、diconファイルにregisterAllを記述する必要がなくなりました。
- S2JDBCでBINARYとBINARY_STREAMが逆になっていたのを修正しました。
2005/11/08†
2.3.0からの変更点は次の通りです。
- S2JDBCでInputStreamに対応しました。
- 自動登録系で、registAllメソッドをregisterAllに変更しました。
- 特定のインターフェースを実装したクラスにアスペクトを自動登録する機能を追加しました。