nimbus (1.2.4) | 2018-01-25 20:02 |
nimbus-sample (1.2.4) | 2018-01-26 17:06 |
jp.ossc.nimbus.service.validator.MasterValidatorServiceは、オブジェクトがマスタに含まれているかを検証するValidator実装サービスです。
このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。
下位サービスインタフェース | 用途 |
jp.ossc.nimbus.service.connection.ConnectionFactory | JDBCコネクションを取得する。 |
jp.ossc.nimbus.service.connection.PersistentManager | データベースからマスタを読み込む。 |
jp.ossc.nimbus.service.codemaster.CodeMasterFinder | コードマスタを取得する。 |
jp.ossc.nimbus.service.context.ThreadContextService | コードマスタを取得する。 |
以下に検証の都度データベースに問い合わせて検証するサービス定義を示します。
- <?xml version="1.0" encoding="Shift_JIS"?>
- <!DOCTYPE server PUBLIC
- "-//Nimbus//DTD Nimbus 1.0//JA"
- "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
- <server>
- <manager>
- <!-- マスタに含まれているかを検証するValidatorサービス -->
- <service name="Validator"
- code="jp.ossc.nimbus.service.validator.MasterValidatorService">
- <!-- ConnectionFactoryサービスのサービス名を設定する -->
- <attribute name="ConnectionFactoryServiceName">#ConnectionFactory</attribute>
- <!-- PersistentManagerサービスのサービス名を設定する -->
- <attribute name="PersistentManagerServiceName">#PersistentManager</attribute>
- <!-- マスタ問い合わせクエリを設定する -->
- <attribute name="Query">select count(1) from USER_MST where ID=?</attribute>
- <depends>ConnectionFactory</depends>
- <depends>PersistentManager</depends>
- </service>
- <!-- JDBCドライバ経由でConnectionを取得するConnectionFactoryサービス -->
- <service name="ConnectionFactory"
- code="jp.ossc.nimbus.service.connection.JDBCConnectionFactoryService">
- <attribute name="DriverName">org.hsqldb.jdbcDriver</attribute>
- <attribute name="ConnectionURL">jdbc:hsqldb:./localDB</attribute>
- <attribute name="UserName">sa</attribute>
- <attribute name="Password"></attribute>
- </service>
- <!-- Java BeansとデータベースをO/R MappingするPersistentManagerサービス -->
- <service name="PersistentManager"
- code="jp.ossc.nimbus.service.connection.DefaultPersistentManagerService"/>
- </manager>
- </server>
以下にコードマスタを使って検証するサービス定義を示します。
- <?xml version="1.0" encoding="Shift_JIS"?>
- <!DOCTYPE server PUBLIC
- "-//Nimbus//DTD Nimbus 1.0//JA"
- "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
- <server>
- <manager>
- <!-- マスタに含まれているかを検証するValidatorサービス -->
- <service name="Validator"
- code="jp.ossc.nimbus.service.validator.MasterValidatorService">
- <!-- CodeMasterFinderサービスのサービス名を設定する -->
- <attribute name="CodeMasterFinderServiceName">#CodeMasterFinder</attribute>
- <!-- マスタ問い合わせクエリを設定する -->
- <attribute name="CodeMasterName">codemaster/USER_MST</attribute>
- <depends>CodeMasterFinder</depends>
- </service>
- <!-- マスターを取得するCodeMasterFinderサービス -->
- <service name="CodeMasterFinder"
- code="jp.ossc.nimbus.service.codemaster.CodeMasterService">
- <attribute name="BeanFlowInvokerFactoryServiceName">#BeanFlowInvokerFactory</attribute>
- <attribute name="MasterNames">
- codemaster/USER_MST
- </attribute>
- <depends>BeanFlowInvokerFactory</depends>
- </service>
- <!-- 業務フローを生成するBeanFlowInvokerFactoryサービス -->
- <service name="BeanFlowInvokerFactory"
- code="jp.ossc.nimbus.service.beancontrol.DefaultBeanFlowInvokerFactoryService">
- <attribute name="DirPaths">flow</attribute>
- <attribute name="BeanFlowInvokerAccessClass">jp.ossc.nimbus.service.beancontrol.BeanFlowInvokerAccessImpl2</attribute>
- <attribute name="Validate">true</attribute>
- </service>
- </manager>
- </server>