MarqueModeleMontureScsLoadStepConfig.java

  1. package com.sintia.ffl.admin.optique.services.batch.refpromoteur.load.scs;

  2. import com.sintia.ffl.admin.optique.dal.entities.MarqueModeleMontureScs;
  3. import com.sintia.ffl.admin.optique.dal.repositories.MarqueModeleMontureScsRepository;
  4. import com.sintia.ffl.admin.staging.FileUtils;
  5. import com.sintia.ffl.admin.staging.GenerericItemReadFromFile;
  6. import com.sintia.ffl.admin.staging.StagingStepListener;
  7. import com.sintia.ffl.admin.staging.step.imports.AbstractSinglePromoteurLoadStepConfig;
  8. import com.sintia.ffl.adminui.commons.enums.TypeStaging;
  9. import com.sintia.ffl.core.commons.enums.CodePromoteur;
  10. import lombok.extern.slf4j.Slf4j;
  11. import org.springframework.batch.core.Step;
  12. import org.springframework.batch.core.configuration.annotation.JobScope;
  13. import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
  14. import org.springframework.batch.core.configuration.annotation.StepScope;
  15. import org.springframework.beans.factory.annotation.Value;
  16. import org.springframework.context.annotation.Bean;
  17. import org.springframework.context.annotation.Configuration;

  18. import java.io.IOException;

  19. @Slf4j
  20. @Configuration
  21. public class MarqueModeleMontureScsLoadStepConfig extends AbstractSinglePromoteurLoadStepConfig<MarqueModeleMontureScs, Integer, MarqueModeleMontureScsRepository> {
  22.    
  23.     public MarqueModeleMontureScsLoadStepConfig(){
  24.         super(MarqueModeleMontureScs.class, TypeStaging.REF_PROMOTEUR, CodePromoteur.SCS);
  25.     }
  26.    
  27.     @Bean
  28.     @JobScope
  29.     public Step marqueModeleMontureScsLoadStep(StepBuilderFactory stepBuilderFactory,
  30.             MarqueModeleMontureScsRepository marqueModeleMontureScsRepository, FileUtils fileUtils,
  31.             StagingStepListener<MarqueModeleMontureScs, Integer> stepListener) throws IOException {
  32.         return super.buildStep(stepBuilderFactory, marqueModeleMontureScsRepository, fileUtils, stepListener);
  33.     }
  34.    
  35.     @Bean("marqueModeleMontureScsItemReader")
  36.     @StepScope
  37.     @Override
  38.     public GenerericItemReadFromFile<MarqueModeleMontureScs> reader(
  39.             FileUtils fileUtils,
  40.             @Value("#{jobParameters['envSource'] ?: 'pprod'}") String envSource,
  41.             @Value("#{jobParameters['envCible'] ?: 'pprod'}") String envCible,
  42.             @Value("#{jobParameters['codePromoteur']}") String codePromoteur
  43.     ) throws IOException {
  44.         return super.buildReader(fileUtils, envSource, envCible, codePromoteur);
  45.     }
  46.    
  47. }