Validator実装サービス jp.ossc.nimbus.service.validator.MasterValidatorService

jp.ossc.nimbus.service.validator.MasterValidatorServiceは、オブジェクトがマスタに含まれているかを検証するValidator実装サービスです。

このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。

下位サービスインタフェース用途
jp.ossc.nimbus.service.connection.ConnectionFactoryJDBCコネクションを取得する。
jp.ossc.nimbus.service.connection.PersistentManagerデータベースからマスタを読み込む。
jp.ossc.nimbus.service.codemaster.CodeMasterFinderコードマスタを取得する。
jp.ossc.nimbus.service.context.ThreadContextServiceコードマスタを取得する。

以下に検証の都度データベースに問い合わせて検証するサービス定義を示します。

  1. <?xml version="1.0" encoding="Shift_JIS"?>
  2. <!DOCTYPE server PUBLIC
  3. "-//Nimbus//DTD Nimbus 1.0//JA"
  4. "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
  5. <server>
  6. <manager>
  7. <!-- マスタに含まれているかを検証するValidatorサービス -->
  8. <service name="Validator"
  9. code="jp.ossc.nimbus.service.validator.MasterValidatorService">
  10. <!-- ConnectionFactoryサービスのサービス名を設定する -->
  11. <attribute name="ConnectionFactoryServiceName">#ConnectionFactory</attribute>
  12. <!-- PersistentManagerサービスのサービス名を設定する -->
  13. <attribute name="PersistentManagerServiceName">#PersistentManager</attribute>
  14. <!-- マスタ問い合わせクエリを設定する -->
  15. <attribute name="Query">select count(1) from USER_MST where ID=?</attribute>
  16. <depends>ConnectionFactory</depends>
  17. <depends>PersistentManager</depends>
  18. </service>
  19. <!-- JDBCドライバ経由でConnectionを取得するConnectionFactoryサービス -->
  20. <service name="ConnectionFactory"
  21. code="jp.ossc.nimbus.service.connection.JDBCConnectionFactoryService">
  22. <attribute name="DriverName">org.hsqldb.jdbcDriver</attribute>
  23. <attribute name="ConnectionURL">jdbc:hsqldb:./localDB</attribute>
  24. <attribute name="UserName">sa</attribute>
  25. <attribute name="Password"></attribute>
  26. </service>
  27. <!-- Java BeansとデータベースをO/R MappingするPersistentManagerサービス -->
  28. <service name="PersistentManager"
  29. code="jp.ossc.nimbus.service.connection.DefaultPersistentManagerService"/>
  30. </manager>
  31. </server>

以下にコードマスタを使って検証するサービス定義を示します。

  1. <?xml version="1.0" encoding="Shift_JIS"?>
  2. <!DOCTYPE server PUBLIC
  3. "-//Nimbus//DTD Nimbus 1.0//JA"
  4. "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
  5. <server>
  6. <manager>
  7. <!-- マスタに含まれているかを検証するValidatorサービス -->
  8. <service name="Validator"
  9. code="jp.ossc.nimbus.service.validator.MasterValidatorService">
  10. <!-- CodeMasterFinderサービスのサービス名を設定する -->
  11. <attribute name="CodeMasterFinderServiceName">#CodeMasterFinder</attribute>
  12. <!-- マスタ問い合わせクエリを設定する -->
  13. <attribute name="CodeMasterName">codemaster/USER_MST</attribute>
  14. <depends>CodeMasterFinder</depends>
  15. </service>
  16. <!-- マスターを取得するCodeMasterFinderサービス -->
  17. <service name="CodeMasterFinder"
  18. code="jp.ossc.nimbus.service.codemaster.CodeMasterService">
  19. <attribute name="BeanFlowInvokerFactoryServiceName">#BeanFlowInvokerFactory</attribute>
  20. <attribute name="MasterNames">
  21. codemaster/USER_MST
  22. </attribute>
  23. <depends>BeanFlowInvokerFactory</depends>
  24. </service>
  25. <!-- 業務フローを生成するBeanFlowInvokerFactoryサービス -->
  26. <service name="BeanFlowInvokerFactory"
  27. code="jp.ossc.nimbus.service.beancontrol.DefaultBeanFlowInvokerFactoryService">
  28. <attribute name="DirPaths">flow</attribute>
  29. <attribute name="BeanFlowInvokerAccessClass">jp.ossc.nimbus.service.beancontrol.BeanFlowInvokerAccessImpl2</attribute>
  30. <attribute name="Validate">true</attribute>
  31. </service>
  32. </manager>
  33. </server>


検証/Validator