Package nablarch.test.core.db
Class MasterDataRestorer
java.lang.Object
nablarch.test.event.TestEventListener.Template
nablarch.test.core.db.MasterDataRestorer
- All Implemented Interfaces:
- TestEventListener
マスタデータ復旧クラス。
 
 テスト内でマスタデータの書き換えが発生した場合、その復旧を行う。
 テスト実行中、MasterDataRestorer.SqlLogWatchingFormatterから発行されたSQL文の通知を受ける。
 マスタデータの書き換えが発生していた場合、次のテストメソッドが実行される前に、
 マスタデータテーブルの復旧をTableDuplicatorに依頼する。
 事前に準備されたマスタデータ復旧用のスキーマからデータをコピーすることにより、
 マスタデータの復旧を行う。
 マスタデータを復旧する順序はテーブルの依存関係(FK)に則り行われるが、
 コンポーネント定義にnablarch.suppress-table-sortというキーで
 真偽値trueが設定されていた場合はtablesTobeWatchedに設定された順序でマスタデータのインサート、逆順でデリートを行う。
 
更新SQLかどうかの判定するために厳密なSQL解析は行っていない。 更新SQLと見做せる条件のうちいずれかを満たしていればマスタデータ復旧を行う。 これは以下の理由による。
- 厳密なSQL解析はコストが高くテスト実行速度を低下させる。
- マスタデータが更新されることは稀であり、誤検知による復旧が発生してもコストが低い。
- Author:
- T.Kawasaki
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic class発行されたSQL文を監視するSqlLogFormatterサブクラスNested classes/interfaces inherited from interface nablarch.test.event.TestEventListenerTestEventListener.Template
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidテストメソッド実行後に呼び出されるコールバックvoidsetBackupSchema(String backupSchema) バックアップスキーマを設定する。voidsetTablesTobeWatched(List<String> tablesTobeWatched) 監視対象テーブル名を設定する。voidsetUpdateSqlKeywords(List<String> updateSqlKeywords) 更新とみなされるSQLキーワードを設定する。 SQLキーワード文字列末尾には半角スペースが付与される。Methods inherited from class nablarch.test.event.TestEventListener.TemplateafterTestClass, beforeTestClass, beforeTestMethod, beforeTestSuite
- 
Constructor Details- 
MasterDataRestorerpublic MasterDataRestorer()
 
- 
- 
Method Details- 
afterTestMethodpublic void afterTestMethod()テストメソッド実行後に呼び出されるコールバック 実行されたSQLでマスタデータを更新するものがあれば、 マスタデータ復旧を行う。- Specified by:
- afterTestMethodin interface- TestEventListener
- Overrides:
- afterTestMethodin class- TestEventListener.Template
 
- 
setTablesTobeWatched監視対象テーブル名を設定する。- Parameters:
- tablesTobeWatched- 監視対象テーブル
 
- 
setBackupSchemaバックアップスキーマを設定する。- Parameters:
- backupSchema- バックアップスキーマを設定する。
 
- 
setUpdateSqlKeywords更新とみなされるSQLキーワードを設定する。 SQLキーワード文字列末尾には半角スペースが付与される。- Parameters:
- updateSqlKeywords- 更新とみなされるSQLキーワード
 
 
-