<?xml version="1.0" encoding="UTF-8" ?>

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation=
       "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">
    
    <!-- トランザクションモデル別Bean定義ファイルの雛形をインポート -->
    <import resource="classpath:template/NoTransactionBean.xml"/>

    <!-- ファイルアクセスBean定義ファイルをインポート -->
    <import resource="classpath:template/FileAccessBean.xml"/>

    <!--ジョブコンテキスト-->
    <bean id="jobContext" class="jp.terasoluna.batch.tutorial.uc0001.JB0002JobContext"/>

    <!-- コレクターの設定：入力チェックなし -->
    <bean id="collector" parent="fileChunkCollector">
        <property name="fileQueryDao" ref="csvFileQueryDAO" />
        <property name="inputFileName" value="inputfile/nyukindata.csv"/>
        <property name="resultClass">
            <bean class="jp.terasoluna.batch.tutorial.uc0001.JB0002Data"/>
        </property>
        <property name="readNextLine" value="false" />
    </bean>

    <!-- コレクターの設定：入力チェックあり -->
    <!--
    <bean id="collector" parent="validationFileChunkCollector">
        <property name="fileQueryDao" ref="csvFileQueryDAO" />
        <property name="inputFileName" value="inputfile/nyukindata.csv"/>
        <property name="resultClass">
            <bean class="jp.terasoluna.batch.tutorial.uc0001.JB0002Data"/>
        </property>
        <property name="readNextLine" value="false" />
    </bean>
    -->

    <!-- ビジネスロジック -->
    <bean id="blogic" class="jp.terasoluna.batch.tutorial.uc0001.jb0002.FileBLogic">
        <property name="messageAccessor" ref="messageAccessor"/>
        <property name="fileLineWriter">
               <bean class="jp.terasoluna.fw.file.dao.standard.CSVFileLineWriter"
                   destroy-method="closeFile">
                   <constructor-arg index="0" value="outputfile/kokyaku.csv"/>
                   <constructor-arg index="1" value="jp.terasoluna.batch.tutorial.uc0001.JB0002Data" />
                   <constructor-arg index="2" ref="columnFormatterMap" />
               </bean>
         </property>
    </bean>
    <!-- ジョブ後処理 -->
    <util:list id="jobPostLogicList">
        <bean class="jp.terasoluna.batch.tutorial.uc0001.jb0002.FileJobPostLogic">
            <property name="updateDAO" ref="csvFileUpdateDAO" />
            <property name="outputFileName" value="outputfile/rireki.csv"/>
        </bean>
    </util:list>

    <!--入力チェック定義-->
    <util:list id="validationConfigLocations">
        <value>/common/validator-rules-ex.xml</value>
        <value>/common/validator-rules.xml</value>
        <value>/tutorial/UC0001/UC0001_validation.xml</value>
    </util:list>

    <!-- 入力チェック処理結果ハンドラ -->
    <bean id="validationResultHandler" class="jp.terasoluna.fw.batch.validation.StandardValidationResultHandler">
        <property name="errorContinueFlg" value="true"/>
        <property name="messageAccessor" ref="messageAccessor"/>
    </bean>
</beans>
