package pl.edu.icm.saos.importer.notapi.supremecourt.judgment.process; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.batch.core.ExitStatus; import org.springframework.batch.core.StepExecution; import org.springframework.batch.core.StepExecutionListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import pl.edu.icm.saos.importer.notapi.common.JudgmentObjectDeleter; import pl.edu.icm.saos.persistence.model.CourtType; import pl.edu.icm.saos.persistence.model.SupremeCourtJudgment; import pl.edu.icm.saos.persistence.model.importer.notapi.RawSourceScJudgment; /** * @author Ɓukasz Dumiszewski */ @Service("scjImportProcessStepExecutionListener") public class ScjImportProcessStepExecutionListener implements StepExecutionListener { private static Logger log = LoggerFactory.getLogger(ScjImportProcessStepExecutionListener.class); private JudgmentObjectDeleter judgmentObjectDeleter; private ScObjectDeleter scjObjectDeleter; @Override public void beforeStep(StepExecution stepExecution) { log.debug("before step tasks: "); judgmentObjectDeleter.deleteJudgmentsWithoutRawSourceJudgment(SupremeCourtJudgment.class, RawSourceScJudgment.class); } @Override public ExitStatus afterStep(StepExecution stepExecution) { log.debug("after step tasks: "); scjObjectDeleter.deleteScChambersWithoutJudgments(); scjObjectDeleter.deleteScChamberDivisionsWithoutJudgments(); scjObjectDeleter.deleteScjFormsWithoutJudgments(); judgmentObjectDeleter.deleteMeansOfAppealWithoutJudgments(CourtType.SUPREME); judgmentObjectDeleter.deleteJudgmentResultsWithoutJudgments(CourtType.SUPREME); return ExitStatus.COMPLETED; } //------------------------ SETTERS -------------------------- @Autowired public void setJudgmentObjectDeleter(JudgmentObjectDeleter judgmentObjectDeleter) { this.judgmentObjectDeleter = judgmentObjectDeleter; } @Autowired public void setSupremeCourtJudgmentDeleter(ScObjectDeleter supremeCourtJudgmentDeleter) { this.scjObjectDeleter = supremeCourtJudgmentDeleter; } }