package pl.edu.icm.saos.batch.jobs;
import org.springframework.batch.core.Job;
import org.springframework.batch.core.Step;
import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;
import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
import org.springframework.batch.core.launch.support.RunIdIncrementer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import pl.edu.icm.saos.importer.commoncourt.judgment.remove.CcjDeleteRemovedProcessor;
import pl.edu.icm.saos.importer.commoncourt.judgment.remove.CcjDeleteRemovedReader;
import pl.edu.icm.saos.importer.commoncourt.judgment.remove.CcjDeleteRemovedWriter;
import pl.edu.icm.saos.persistence.model.Judgment;
import pl.edu.icm.saos.persistence.model.DeletedJudgment;
/**
* @author madryk
*/
@Configuration
public class CcjDeleteRemovedJobConfiguration {
@Autowired
private JobBuilderFactory jobs;
@Autowired
private StepBuilderFactory steps;
@Autowired
private CcjDeleteRemovedReader ccjDeleteRemovedReader;
@Autowired
private CcjDeleteRemovedProcessor ccjDeleteRemovedProcessor;
@Autowired
private CcjDeleteRemovedWriter ccjDeleteRemovedWriter;
@Bean
public Job ccJudgmentDeleteRemovedJob() {
return jobs.get("DELETE_REMOVED_CC_JUDGMENTS").start(ccJudgmentDeleteRemovedProcessStep()).incrementer(new RunIdIncrementer()).build();
}
@Bean
@Autowired
protected Step ccJudgmentDeleteRemovedProcessStep() {
return steps.get("ccJudgmentDeleteRemovedProcessStep").<Judgment, DeletedJudgment> chunk(20)
.reader(ccjDeleteRemovedReader)
.processor(ccjDeleteRemovedProcessor)
.writer(ccjDeleteRemovedWriter)
.build();
}
}