ExpirationMissingGlassesArchiveFile.java
package com.sintia.ffl.admin.optique.catalogue.batch.tasklet.expiremissingglasses;
import com.sintia.ffl.admin.optique.catalogue.util.FileUtil;
import org.springframework.batch.core.StepContribution;
import org.springframework.batch.core.configuration.annotation.StepScope;
import org.springframework.batch.core.scope.context.ChunkContext;
import org.springframework.batch.core.step.tasklet.Tasklet;
import org.springframework.batch.repeat.RepeatStatus;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.nio.file.Paths;
/**
* Archives the file generated by the missing glasses expiration job in simulation mode.<br>
* The file is moved from 08_peremption_verres_absents to 00_archives/08_peremption_verres_absents
*
* @author jumazet
*/
@Component
@StepScope
public class ExpirationMissingGlassesArchiveFile implements Tasklet {
@Autowired
private FileUtil fileUtil;
@Value("${local.resources.directory}")
private String localResourcesDirectory;
@Value("${glasses.missing.obsolete.directory}")
private String outputDirectory;
private String simulatedGlassesToExpireFileName;
public ExpirationMissingGlassesArchiveFile(@Value("#{jobParameters[simulatedGlassesToExpireFileName]}") String simulatedGlassesToExpireFileName) {
this.simulatedGlassesToExpireFileName = simulatedGlassesToExpireFileName;
}
@Override
public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext)
throws Exception {
// Archive the output file
String filePath = Paths.get(localResourcesDirectory).resolve(outputDirectory).resolve(simulatedGlassesToExpireFileName).toString();
fileUtil.archiveByMove(filePath);
return RepeatStatus.FINISHED;
}
}