From a4ba068e1757791718be38a235996a1765c7aa31 Mon Sep 17 00:00:00 2001 From: pierre-maraval Date: Fri, 14 Jun 2024 08:54:15 +0200 Subject: [PATCH] =?UTF-8?q?Refactor=20:=20suppression=20dialect=20bdd=20da?= =?UTF-8?q?ns=20properties=20Modif=20architecture=20spring=20batch=20Inter?= =?UTF-8?q?fa=C3=A7age=20de=20certaines=20m=C3=A9thodes=20dans=20DemandeSe?= =?UTF-8?q?rvice?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/abes/item/batch/JobConfiguration.java | 285 ++++++++++-------- .../item/batch/mail/impl/MailerExemp.java | 11 +- .../item/batch/mail/impl/MailerModif.java | 10 +- .../item/batch/mail/impl/MailerRecouv.java | 10 +- ....java => ArchiveDemandesExempTakslet.java} | 20 +- ....java => ArchiveDemandesModifTasklet.java} | 21 +- ...java => ArchiveDemandesRecouvTasklet.java} | 21 +- .../AuthentifierSurSudocTasklet.java | 24 +- ...t.java => DeleteDemandesExempTasklet.java} | 28 +- ...t.java => DeleteDemandesModifTasklet.java} | 28 +- ....java => DeleteDemandesRecouvTasklet.java} | 29 +- ... => DeleteStatusDemandesExempTasklet.java} | 22 +- ... => DeleteStatusDemandesModifTasklet.java} | 24 +- ...=> DeleteStatusDemandesRecouvTasklet.java} | 24 +- .../traitement/GenererFichierTasklet.java | 45 +-- .../GetNextDemandeExempTasklet.java | 26 +- .../GetNextDemandeModifTasklet.java | 25 +- .../GetNextDemandeRecouvTasklet.java | 25 +- .../traitement/LireLigneFichierTasklet.java | 21 +- .../item/batch/traitement/ProxyRetry.java | 2 +- .../LignesFichierProcessor.java | 2 - .../LignesFichierReader.java | 10 +- .../LignesFichierWriter.java | 10 +- .../main/resources/application-dev.properties | 4 +- .../resources/application-prod.properties | 4 +- .../resources/application-test.properties | 4 +- core/pom.xml | 2 +- .../core/configuration/AbstractConfig.java | 4 +- .../configuration/BaseXMLOracleConfig.java | 6 +- .../core/configuration/ItemPostgreConfig.java | 22 +- .../configuration/OracleCustomDriver.java | 13 - .../SequenceInformationExtractor.java | 38 --- .../item/core/service/IDemandeService.java | 2 + .../service/impl/DemandeExempService.java | 3 +- .../service/impl/DemandeModifService.java | 7 + .../service/impl/DemandeRecouvService.java | 6 +- .../impl/DemandeRecouvServiceTest.java | 2 +- .../main/resources/application-dev.properties | 4 +- .../resources/application-prod.properties | 4 +- .../resources/application-test.properties | 4 +- 40 files changed, 414 insertions(+), 438 deletions(-) rename batch/src/main/java/fr/abes/item/batch/traitement/{ChangeInArchivedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet.java => ArchiveDemandesExempTakslet.java} (77%) rename batch/src/main/java/fr/abes/item/batch/traitement/{ChangeInArchivedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet.java => ArchiveDemandesModifTasklet.java} (76%) rename batch/src/main/java/fr/abes/item/batch/traitement/{ChangeInArchivedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet.java => ArchiveDemandesRecouvTasklet.java} (76%) rename batch/src/main/java/fr/abes/item/batch/traitement/{DeleteAllDemandesExempInDeletedStatusForMoreThanSevenMonthsTasklet.java => DeleteDemandesExempTasklet.java} (63%) rename batch/src/main/java/fr/abes/item/batch/traitement/{DeleteAllDemandesModifInDeletedStatusForMoreThanSevenMonthsTasklet.java => DeleteDemandesModifTasklet.java} (62%) rename batch/src/main/java/fr/abes/item/batch/traitement/{DeleteAllDemandesRecouvInDeletedStatusForMoreThanSevenMonthsTasklet.java => DeleteDemandesRecouvTasklet.java} (61%) rename batch/src/main/java/fr/abes/item/batch/traitement/{ChangeInDeletedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet.java => DeleteStatusDemandesExempTasklet.java} (75%) rename batch/src/main/java/fr/abes/item/batch/traitement/{ChangeInDeletedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet.java => DeleteStatusDemandesModifTasklet.java} (70%) rename batch/src/main/java/fr/abes/item/batch/traitement/{ChangeInDeletedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet.java => DeleteStatusDemandesRecouvTasklet.java} (70%) delete mode 100644 core/src/main/java/fr/abes/item/core/configuration/OracleCustomDriver.java delete mode 100644 core/src/main/java/fr/abes/item/core/configuration/SequenceInformationExtractor.java diff --git a/batch/src/main/java/fr/abes/item/batch/JobConfiguration.java b/batch/src/main/java/fr/abes/item/batch/JobConfiguration.java index 87c30096..9869bd96 100644 --- a/batch/src/main/java/fr/abes/item/batch/JobConfiguration.java +++ b/batch/src/main/java/fr/abes/item/batch/JobConfiguration.java @@ -10,9 +10,9 @@ import fr.abes.item.batch.traitement.traiterlignesfichierchunk.LignesFichierWriter; import fr.abes.item.batch.webstats.ExportStatistiquesTasklet; import fr.abes.item.batch.webstats.VerifierParamsTasklet; -import fr.abes.item.core.configuration.BaseXMLConfiguration; import fr.abes.item.core.configuration.factory.StrategyFactory; import fr.abes.item.core.constant.Constant; +import fr.abes.item.core.service.FileSystemStorageService; import lombok.extern.slf4j.Slf4j; import org.springframework.batch.core.Job; import org.springframework.batch.core.JobParametersIncrementer; @@ -26,9 +26,13 @@ import org.springframework.batch.item.ItemProcessor; import org.springframework.batch.item.ItemReader; import org.springframework.batch.item.ItemWriter; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.domain.EntityScan; -import org.springframework.context.annotation.*; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.ComponentScans; +import org.springframework.context.annotation.Configuration; import org.springframework.retry.annotation.EnableRetry; import org.springframework.transaction.PlatformTransactionManager; @@ -38,28 +42,38 @@ @EnableRetry @ComponentScans(value = { @ComponentScan(basePackages = {"fr.abes.item.core.repository.item"}), - @ComponentScan(basePackages = {"fr.abes.item.core.configuration"}, - excludeFilters = { - @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = BaseXMLConfiguration.class) - }) + @ComponentScan(basePackages = {"fr.abes.item.core.service"}), + @ComponentScan(basePackages = {"fr.abes.item.core.configuration"}), + @ComponentScan(basePackages = {"fr.abes.item.core.components"}) }) @EntityScan("fr.abes.item.core.entities.item") public class JobConfiguration { private final StrategyFactory strategyFactory; private final ProxyRetry proxyRetry; + + private final FileSystemStorageService storageService; + @Value("${batch.min.hour}") int minHour; @Value("${batch.max.hour}") int maxHour; - public JobConfiguration(StrategyFactory strategyFactory, ProxyRetry proxyRetry) { + @Value("${mail.admin}") + private String mailAdmin; + + @Value("${files.upload.path}") + private String uploadPath; + @Value("${batch.nbPpnInFileResult}") + private Integer nbPpnInFileResult; + + public JobConfiguration(StrategyFactory strategyFactory, ProxyRetry proxyRetry, FileSystemStorageService storageService) { this.strategyFactory = strategyFactory; this.proxyRetry = proxyRetry; + this.storageService = storageService; } - @Bean public ExecutionContextSerializer configureSerializer() { return new Jackson2ExecutionContextStringSerializer(LigneFichierDtoModif.class.getName(), LigneFichierDtoRecouv.class.getName(), LigneFichierDtoExemp.class.getName()); @@ -68,7 +82,7 @@ public ExecutionContextSerializer configureSerializer() { // ----- CHUNK ------ @Bean public LignesFichierReader reader() { - return new LignesFichierReader(); + return new LignesFichierReader(proxyRetry); } @Bean public LignesFichierProcessor processor() { @@ -76,103 +90,106 @@ public LignesFichierProcessor processor() { } @Bean public LignesFichierWriter writer() { - return new LignesFichierWriter(); + return new LignesFichierWriter(strategyFactory); } // ------------- TASKLETS ----------------------- @Bean - public GetNextDemandeModifTasklet getNextDemandeModifTasklet() { return new GetNextDemandeModifTasklet(minHour, maxHour); } + public Tasklet getNextDemandeModifTasklet() { return new GetNextDemandeModifTasklet(strategyFactory, minHour, maxHour); } @Bean - public GetNextDemandeExempTasklet getNextDemandeExempTasklet() { return new GetNextDemandeExempTasklet(minHour, maxHour); } + public Tasklet getNextDemandeExempTasklet() { return new GetNextDemandeExempTasklet(strategyFactory, minHour, maxHour); } @Bean - public GetNextDemandeRecouvTasklet getNextDemandeRecouvTasklet() { return new GetNextDemandeRecouvTasklet(minHour, maxHour); } + public Tasklet getNextDemandeRecouvTasklet() { return new GetNextDemandeRecouvTasklet(strategyFactory, minHour, maxHour); } @Bean - public LireLigneFichierTasklet lireLigneFichierTasklet() { return new LireLigneFichierTasklet(); } + public Tasklet lireLigneFichierTasklet() { return new LireLigneFichierTasklet(strategyFactory, mailAdmin); } @Bean - public AuthentifierSurSudocTasklet authentifierSurSudocTasklet() + public Tasklet authentifierSurSudocTasklet() { - return new AuthentifierSurSudocTasklet(); + return new AuthentifierSurSudocTasklet(strategyFactory, mailAdmin, proxyRetry); } @Bean - public GenererFichierTasklet genererFichierTasklet() { return new GenererFichierTasklet(); } + public Tasklet genererFichierTasklet() { return new GenererFichierTasklet(strategyFactory, uploadPath, mailAdmin, nbPpnInFileResult); } @Bean - public VerifierParamsTasklet verifierParamsTasklet() { return new VerifierParamsTasklet(); } + public Tasklet verifierParamsTasklet() { return new VerifierParamsTasklet(); } + //statistiques application @Bean - public ExportStatistiquesTasklet exportStatistiquesTasklet() { return new ExportStatistiquesTasklet(); } + public Tasklet exportStatistiquesTasklet() { return new ExportStatistiquesTasklet(); } //Archivage automatique des demandes @Bean - ChangeInArchivedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet changeInArchivedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet(){ - return new ChangeInArchivedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet(); + Tasklet archiveDemandesExempTakslet(){ + return new ArchiveDemandesExempTakslet(strategyFactory); } @Bean - ChangeInArchivedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet changeInArchivedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet(){ - return new ChangeInArchivedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet(); + Tasklet archiveDemandesModifTasklet(){ + return new ArchiveDemandesModifTasklet(strategyFactory); } @Bean - ChangeInArchivedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet changeInArchivedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet(){ - return new ChangeInArchivedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet(); + Tasklet archiveDemandesRecouvTasklet(){ + return new ArchiveDemandesRecouvTasklet(strategyFactory); } + //Passage en statut supprimé automatique des demandes @Bean - ChangeInDeletedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet changeInDeletedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet(){ - return new ChangeInDeletedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet(); + Tasklet deleteStatusDemandesExempTasklet(){ + return new DeleteStatusDemandesExempTasklet(strategyFactory); } @Bean - ChangeInDeletedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet changeInDeletedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet(){ - return new ChangeInDeletedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet(); + Tasklet deleteStatusDemandesModifTasklet(){ + return new DeleteStatusDemandesModifTasklet(strategyFactory); } @Bean - ChangeInDeletedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet changeInDeletedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet(){ - return new ChangeInDeletedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet(); + Tasklet deleteStatusDemandesRecouvTasklet(){ + return new DeleteStatusDemandesRecouvTasklet(strategyFactory); } + //Suppression définitive des demandes @Bean - DeleteAllDemandesExempInDeletedStatusForMoreThanSevenMonthsTasklet deleteAllDemandesExempInDeletedStatusForMoreThanSevenMonthsTasklet(){ - return new DeleteAllDemandesExempInDeletedStatusForMoreThanSevenMonthsTasklet(); + Tasklet deleteDemandesExempTasklet(){ + return new DeleteDemandesExempTasklet(strategyFactory, storageService, uploadPath); } @Bean - DeleteAllDemandesModifInDeletedStatusForMoreThanSevenMonthsTasklet deleteAllDemandesModifInDeletedStatusForMoreThanSevenMonthsTasklet(){ - return new DeleteAllDemandesModifInDeletedStatusForMoreThanSevenMonthsTasklet(); + Tasklet deleteDemandesModifTasklet(){ + return new DeleteDemandesModifTasklet(strategyFactory, storageService, uploadPath); } @Bean - DeleteAllDemandesRecouvInDeletedStatusForMoreThanSevenMonthsTasklet deleteAllDemandesRecouvInDeletedStatusForMoreThanSevenMonthsTasklet(){ - return new DeleteAllDemandesRecouvInDeletedStatusForMoreThanSevenMonthsTasklet(); + Tasklet deleteDemandesRecouvTasklet(){ + return new DeleteDemandesRecouvTasklet(strategyFactory, storageService, uploadPath); } // ---------- STEP -------------------------------------------- @Bean - public Step stepRecupererNextDemandeModif(JobRepository jobRepository, Tasklet getNextDemandeModifTasklet, PlatformTransactionManager transactionManager) { + public Step stepRecupererNextDemandeModif(JobRepository jobRepository, @Qualifier("getNextDemandeModifTasklet")Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepRecupererNextDemandeModif", jobRepository).allowStartIfComplete(true) - .tasklet(getNextDemandeModifTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } @Bean - public Step stepRecupererNextDemandeExemp(JobRepository jobRepository, Tasklet getNextDemandeExempTasklet, PlatformTransactionManager transactionManager) { + public Step stepRecupererNextDemandeExemp(JobRepository jobRepository, @Qualifier("getNextDemandeExempTasklet") Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepRecupererNextDemandeExemp", jobRepository).allowStartIfComplete(true) - .tasklet(getNextDemandeExempTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } @Bean - public Step stepRecupererNextDemandeRecouv(JobRepository jobRepository, Tasklet getNextDemandeRecouvTasklet, PlatformTransactionManager transactionManager) { + public Step stepRecupererNextDemandeRecouv(JobRepository jobRepository, @Qualifier("getNextDemandeRecouvTasklet") Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepRecupererNextDemandeRecouv", jobRepository).allowStartIfComplete(true) - .tasklet(getNextDemandeRecouvTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } // Steps pour lancement d'un traitement de modification de masse @Bean - public Step stepLireLigneFichier(JobRepository jobRepository, Tasklet lireLigneFichierTasklet, PlatformTransactionManager transactionManager) { + public Step stepLireLigneFichier(JobRepository jobRepository, @Qualifier("lireLigneFichierTasklet") Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepLireLigneFichier", jobRepository).allowStartIfComplete(true) - .tasklet(lireLigneFichierTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } @Bean - public Step stepAuthentifierSurSudoc(JobRepository jobRepository, Tasklet authentifierSurSudocTasklet, PlatformTransactionManager transactionManager) { + public Step stepAuthentifierSurSudoc(JobRepository jobRepository, @Qualifier("authentifierSurSudocTasklet") Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepAuthentifierSurSudoc", jobRepository).allowStartIfComplete(true) - .tasklet(authentifierSurSudocTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } @Bean @@ -184,85 +201,85 @@ protected Step stepTraiterLigneFichier(JobRepository jobRepository, PlatformTran .build(); } @Bean - public Step stepGenererFichier(JobRepository jobRepository, Tasklet genererFichierTasklet, PlatformTransactionManager transactionManager) { + public Step stepGenererFichier(JobRepository jobRepository, @Qualifier("genererFichierTasklet") Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepGenererFichier", jobRepository).allowStartIfComplete(true) - .tasklet(genererFichierTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } // Steps pour exports statistiques @Bean - public Step stepVerifierParams(JobRepository jobRepository, Tasklet verifierParamsTasklet, PlatformTransactionManager transactionManager) { + public Step stepVerifierParams(JobRepository jobRepository, @Qualifier("verifierParamsTasklet")Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepVerifierParams", jobRepository).allowStartIfComplete(true) - .tasklet(verifierParamsTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } @Bean - public Step stepExportStatistiques(JobRepository jobRepository, Tasklet exportStatistiquesTasklet, PlatformTransactionManager transactionManager) { + public Step stepExportStatistiques(JobRepository jobRepository, @Qualifier("exportStatistiquesTasklet")Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepExportStatistiques", jobRepository).allowStartIfComplete(true) - .tasklet(exportStatistiquesTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } //Steps d'archivage automatique des demandes @Bean - public Step stepArchivageAutomatiqueDemandesExemp(JobRepository jobRepository, Tasklet changeInArchivedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet, PlatformTransactionManager transactionManager) { + public Step stepArchivageAutomatiqueDemandesExemp(JobRepository jobRepository, @Qualifier("archiveDemandesExempTakslet")Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepArchivageAutomatiqueDemandesExemp", jobRepository).allowStartIfComplete(true) - .tasklet(changeInArchivedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } @Bean - public Step stepArchivageAutomatiqueDemandesModif(JobRepository jobRepository, Tasklet changeInArchivedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet, PlatformTransactionManager transactionManager) { + public Step stepArchivageAutomatiqueDemandesModif(JobRepository jobRepository, @Qualifier("archiveDemandesModifTasklet")Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepArchivageAutomatiqueDemandesModif", jobRepository).allowStartIfComplete(true) - .tasklet(changeInArchivedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } @Bean - public Step stepArchivageAutomatiqueDemandesRecouv(JobRepository jobRepository, Tasklet changeInArchivedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet, PlatformTransactionManager transactionManager) { + public Step stepArchivageAutomatiqueDemandesRecouv(JobRepository jobRepository, @Qualifier("archiveDemandesRecouvTasklet")Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepArchivageAutomatiqueDemandesRecouv", jobRepository).allowStartIfComplete(true) - .tasklet(changeInArchivedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } //Steps de placement en statut supprimé automatique des demandes @Bean - public Step stepChangementStatutSupprimeDemandesExemp(JobRepository jobRepository, Tasklet changeInDeletedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet, PlatformTransactionManager transactionManager) { + public Step stepChangementStatutSupprimeDemandesExemp(JobRepository jobRepository, @Qualifier("deleteStatusDemandesExempTasklet") Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepChangementStatutSupprimeDemandesExemp", jobRepository).allowStartIfComplete(true) - .tasklet(changeInDeletedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } @Bean - public Step stepChangementStatutSupprimeDemandesModif(JobRepository jobRepository, Tasklet changeInDeletedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet, PlatformTransactionManager transactionManager) { + public Step stepChangementStatutSupprimeDemandesModif(JobRepository jobRepository, @Qualifier("deleteStatusDemandesModifTasklet") Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepChangementStatutSupprimeDemandesModif", jobRepository).allowStartIfComplete(true) - .tasklet(changeInDeletedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } @Bean - public Step stepChangementStatutSupprimeDemandesRecouv(JobRepository jobRepository, Tasklet changeInDeletedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet, PlatformTransactionManager transactionManager) { + public Step stepChangementStatutSupprimeDemandesRecouv(JobRepository jobRepository, @Qualifier("deleteStatusDemandesRecouvTasklet")Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepChangementStatutSupprimeDemandesRecouv", jobRepository).allowStartIfComplete(true) - .tasklet(changeInDeletedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } //Steps de destruction en base de donnée des demandes @Bean - public Step stepSuppresionDemandesExemp(JobRepository jobRepository, Tasklet deleteAllDemandesExempInDeletedStatusForMoreThanSevenMonthsTasklet, PlatformTransactionManager transactionManager) { + public Step stepSuppresionDemandesExemp(JobRepository jobRepository, @Qualifier("deleteDemandesExempTasklet")Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepSuppresionDemandesExemp", jobRepository).allowStartIfComplete(true) - .tasklet(deleteAllDemandesExempInDeletedStatusForMoreThanSevenMonthsTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } @Bean - public Step stepSuppresionDemandesModif(JobRepository jobRepository, Tasklet deleteAllDemandesModifInDeletedStatusForMoreThanSevenMonthsTasklet, PlatformTransactionManager transactionManager) { + public Step stepSuppresionDemandesModif(JobRepository jobRepository, @Qualifier("deleteDemandesModifTasklet")Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepSuppresionDemandesModif", jobRepository).allowStartIfComplete(true) - .tasklet(deleteAllDemandesModifInDeletedStatusForMoreThanSevenMonthsTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } @Bean - public Step stepSuppresionDemandesRecouv(JobRepository jobRepository, Tasklet deleteAllDemandesRecouvInDeletedStatusForMoreThanSevenMonthsTasklet, PlatformTransactionManager transactionManager) { + public Step stepSuppresionDemandesRecouv(JobRepository jobRepository, @Qualifier("deleteDemandesRecouvTasklet")Tasklet tasklet, PlatformTransactionManager transactionManager) { return new StepBuilder("stepSuppresionDemandesRecouv", jobRepository).allowStartIfComplete(true) - .tasklet(deleteAllDemandesRecouvInDeletedStatusForMoreThanSevenMonthsTasklet, transactionManager) + .tasklet(tasklet, transactionManager) .build(); } @@ -271,107 +288,107 @@ public Step stepSuppresionDemandesRecouv(JobRepository jobRepository, Tasklet de // Job de lancement d'un traitement de modification @Bean - public Job jobTraiterLigneFichier(JobRepository jobRepository, Step stepRecupererNextDemandeModif, Step stepLireLigneFichier, Step stepAuthentifierSurSudoc, Step stepGenererFichier, Step stepTraiterLigneFichier) { + public Job jobTraiterLigneFichier(JobRepository jobRepository, @Qualifier("stepRecupererNextDemandeModif") Step step1, @Qualifier("stepLireLigneFichier") Step step2, @Qualifier("stepAuthentifierSurSudoc") Step step3, @Qualifier("stepGenererFichier") Step step4, @Qualifier("stepTraiterLigneFichier") Step step5) { return new JobBuilder("traiterLigneFichierModif", jobRepository ).incrementer(incrementer()) - .start(stepRecupererNextDemandeModif).on(Constant.FAILED).end() - .from(stepRecupererNextDemandeModif).on(Constant.AUCUNE_DEMANDE).end() - .from(stepRecupererNextDemandeModif).on(Constant.COMPLETED).to(stepLireLigneFichier) - .from(stepLireLigneFichier).on(Constant.FAILED).end() - .from(stepLireLigneFichier).on(Constant.COMPLETED).to(stepAuthentifierSurSudoc) - .from(stepAuthentifierSurSudoc).on(Constant.FAILED).end() - .from(stepAuthentifierSurSudoc).on(Constant.COMPLETED).to(stepTraiterLigneFichier) - .from(stepTraiterLigneFichier).on(Constant.FAILED).end() - .from(stepTraiterLigneFichier).on(Constant.COMPLETED).to(stepGenererFichier) + .start(step1).on(Constant.FAILED).end() + .from(step1).on(Constant.AUCUNE_DEMANDE).end() + .from(step1).on(Constant.COMPLETED).to(step2) + .from(step2).on(Constant.FAILED).end() + .from(step2).on(Constant.COMPLETED).to(step3) + .from(step3).on(Constant.FAILED).end() + .from(step3).on(Constant.COMPLETED).to(step4) + .from(step4).on(Constant.FAILED).end() + .from(step4).on(Constant.COMPLETED).to(step5) .build().build(); } //job de lancement d'un traitement d'exemplarisation @Bean - public Job jobTraiterLigneFichierExemp(JobRepository jobRepository, Step stepRecupererNextDemandeExemp, Step stepLireLigneFichier, Step stepAuthentifierSurSudoc, Step stepTraiterLigneFichier, Step stepGenererFichier) { + public Job jobTraiterLigneFichierExemp(JobRepository jobRepository, @Qualifier("stepRecupererNextDemandeExemp") Step step1, @Qualifier("stepLireLigneFichier") Step step2, @Qualifier("stepAuthentifierSurSudoc") Step step3, @Qualifier("stepGenererFichier") Step step4, @Qualifier("stepTraiterLigneFichier") Step step5) { return new JobBuilder("traiterLigneFichierExemp", jobRepository).incrementer(incrementer()) - .start(stepRecupererNextDemandeExemp).on(Constant.FAILED).end() - .from(stepRecupererNextDemandeExemp).on(Constant.AUCUNE_DEMANDE).end() - .from(stepRecupererNextDemandeExemp).on(Constant.COMPLETED).to(stepLireLigneFichier) - .from(stepLireLigneFichier).on(Constant.FAILED).end() - .from(stepLireLigneFichier).on(Constant.COMPLETED).to(stepAuthentifierSurSudoc) - .from(stepAuthentifierSurSudoc).on(Constant.FAILED).end() - .from(stepAuthentifierSurSudoc).on(Constant.COMPLETED).to(stepTraiterLigneFichier) - .from(stepTraiterLigneFichier).on(Constant.FAILED).end() - .from(stepTraiterLigneFichier).on(Constant.COMPLETED).to(stepGenererFichier) + .start(step1).on(Constant.FAILED).end() + .from(step1).on(Constant.AUCUNE_DEMANDE).end() + .from(step1).on(Constant.COMPLETED).to(step2) + .from(step2).on(Constant.FAILED).end() + .from(step2).on(Constant.COMPLETED).to(step3) + .from(step3).on(Constant.FAILED).end() + .from(step3).on(Constant.COMPLETED).to(step4) + .from(step4).on(Constant.FAILED).end() + .from(step4).on(Constant.COMPLETED).to(step5) .build().build(); } //job de lancement d'un test de recouvrement @Bean - public Job jobTraiterLigneFichierRecouv(JobRepository jobRepository, Step stepRecupererNextDemandeRecouv, Step stepLireLigneFichier, Step stepAuthentifierSurSudoc, Step stepTraiterLigneFichier, Step stepGenererFichier) { + public Job jobTraiterLigneFichierRecouv(JobRepository jobRepository, @Qualifier("stepRecupererNextDemandeRecouv") Step step1, @Qualifier("stepLireLigneFichier") Step step2, @Qualifier("stepAuthentifierSurSudoc") Step step3, @Qualifier("stepGenererFichier") Step step4, @Qualifier("stepTraiterLigneFichier") Step step5) { return new JobBuilder("traiterLigneFichierRecouv", jobRepository).incrementer(incrementer()) - .start(stepRecupererNextDemandeRecouv).on(Constant.FAILED).end() - .from(stepRecupererNextDemandeRecouv).on(Constant.AUCUNE_DEMANDE).end() - .from(stepRecupererNextDemandeRecouv).on(Constant.COMPLETED).to(stepLireLigneFichier) - .from(stepLireLigneFichier).on(Constant.FAILED).end() - .from(stepLireLigneFichier).on(Constant.COMPLETED).to(stepAuthentifierSurSudoc) - .from(stepAuthentifierSurSudoc).on(Constant.FAILED).end() - .from(stepAuthentifierSurSudoc).on(Constant.COMPLETED).to(stepTraiterLigneFichier) - .from(stepTraiterLigneFichier).on(Constant.FAILED).end() - .from(stepTraiterLigneFichier).on(Constant.COMPLETED).to(stepGenererFichier) + .start(step1).on(Constant.FAILED).end() + .from(step1).on(Constant.AUCUNE_DEMANDE).end() + .from(step1).on(Constant.COMPLETED).to(step2) + .from(step2).on(Constant.FAILED).end() + .from(step2).on(Constant.COMPLETED).to(step3) + .from(step3).on(Constant.FAILED).end() + .from(step3).on(Constant.COMPLETED).to(step4) + .from(step4).on(Constant.FAILED).end() + .from(step4).on(Constant.COMPLETED).to(step5) .build().build(); } // Job d'export des statistiques mensuelles @Bean - public Job jobExportStatistiques(JobRepository jobRepository, Step stepVerifierParams, Step stepExportStatistiques) { + public Job jobExportStatistiques(JobRepository jobRepository, @Qualifier("stepVerifierParams") Step step1, @Qualifier("stepExportStatistiques") Step step2) { return new JobBuilder("exportStatistiques", jobRepository).incrementer(incrementer()) - .start(stepVerifierParams).on(Constant.FAILED).end() - .from(stepVerifierParams).on(Constant.COMPLETED).to(stepExportStatistiques) + .start(step1).on(Constant.FAILED).end() + .from(step1).on(Constant.COMPLETED).to(step2) .build().build(); } //Job d'archivage automatique de toutes les demandes en statut terminé dont la dernière modification à plus de trois mois @Bean - public Job jobArchivageDemandes(JobRepository jobRepository, Step stepArchivageAutomatiqueDemandesExemp, Step stepArchivageAutomatiqueDemandesModif, Step stepArchivageAutomatiqueDemandesRecouv) { + public Job jobArchivageDemandes(JobRepository jobRepository, @Qualifier("stepArchivageAutomatiqueDemandesExemp") Step step1, @Qualifier("stepArchivageAutomatiqueDemandesModif") Step step2, @Qualifier("stepArchivageAutomatiqueDemandesRecouv") Step step3) { return new JobBuilder("archiverDemandesPlusDeTroisMois", jobRepository).incrementer(incrementer()) - .start(stepArchivageAutomatiqueDemandesExemp).on(Constant.FAILED).end() - .from(stepArchivageAutomatiqueDemandesExemp).on(Constant.AUCUNE_DEMANDE).end() - .from(stepArchivageAutomatiqueDemandesExemp).on(Constant.COMPLETED).end() - .from(stepArchivageAutomatiqueDemandesModif).on(Constant.FAILED).end() - .from(stepArchivageAutomatiqueDemandesModif).on(Constant.AUCUNE_DEMANDE).end() - .from(stepArchivageAutomatiqueDemandesModif).on(Constant.COMPLETED).end() - .from(stepArchivageAutomatiqueDemandesRecouv).on(Constant.FAILED).end() - .from(stepArchivageAutomatiqueDemandesRecouv).on(Constant.AUCUNE_DEMANDE).end() - .from(stepArchivageAutomatiqueDemandesRecouv).on(Constant.COMPLETED).end() + .start(step1).on(Constant.FAILED).end() + .from(step1).on(Constant.AUCUNE_DEMANDE).end() + .from(step1).on(Constant.COMPLETED).end() + .from(step2).on(Constant.FAILED).end() + .from(step2).on(Constant.AUCUNE_DEMANDE).end() + .from(step2).on(Constant.COMPLETED).end() + .from(step3).on(Constant.FAILED).end() + .from(step3).on(Constant.AUCUNE_DEMANDE).end() + .from(step3).on(Constant.COMPLETED).end() .build().build(); } //Job de placement en statut supprimé de toutes les demandes en statut archivé dont ce statut à plus de trois mois @Bean - public Job jobSuppressionMaisConservationEnBaseDemandes(JobRepository jobRepository, Step stepChangementStatutSupprimeDemandesExemp, Step stepChangementStatutSupprimeDemandesModif, Step stepChangementStatutSupprimeDemandesRecouv) { + public Job jobSuppressionMaisConservationEnBaseDemandes(JobRepository jobRepository, @Qualifier("stepChangementStatutSupprimeDemandesExemp") Step step1, @Qualifier("stepChangementStatutSupprimeDemandesModif") Step step2, @Qualifier("stepChangementStatutSupprimeDemandesRecouv") Step step3) { return new JobBuilder("statutSupprimeDemandesPlusDeTroisMois", jobRepository).incrementer(incrementer()) - .start(stepChangementStatutSupprimeDemandesExemp).on(Constant.FAILED).end() - .from(stepChangementStatutSupprimeDemandesExemp).on(Constant.AUCUNE_DEMANDE).end() - .from(stepChangementStatutSupprimeDemandesExemp).on(Constant.COMPLETED).end() - .from(stepChangementStatutSupprimeDemandesModif).on(Constant.FAILED).end() - .from(stepChangementStatutSupprimeDemandesModif).on(Constant.AUCUNE_DEMANDE).end() - .from(stepChangementStatutSupprimeDemandesModif).on(Constant.COMPLETED).end() - .from(stepChangementStatutSupprimeDemandesRecouv).on(Constant.FAILED).end() - .from(stepChangementStatutSupprimeDemandesRecouv).on(Constant.AUCUNE_DEMANDE).end() - .from(stepChangementStatutSupprimeDemandesRecouv).on(Constant.COMPLETED).end() + .start(step1).on(Constant.FAILED).end() + .from(step1).on(Constant.AUCUNE_DEMANDE).end() + .from(step1).on(Constant.COMPLETED).end() + .from(step2).on(Constant.FAILED).end() + .from(step2).on(Constant.AUCUNE_DEMANDE).end() + .from(step2).on(Constant.COMPLETED).end() + .from(step3).on(Constant.FAILED).end() + .from(step3).on(Constant.AUCUNE_DEMANDE).end() + .from(step3).on(Constant.COMPLETED).end() .build().build(); } //Job de suppression définitive en base de donnée de toutes les demandes en statut supprimé, dont ce statut à plus de trois mois @Bean - public Job jobSuppressionDefinitiveDemandes(JobRepository jobRepository, Step stepSuppresionDemandesExemp, Step stepSuppresionDemandesModif, Step stepSuppresionDemandesRecouv) { + public Job jobSuppressionDefinitiveDemandes(JobRepository jobRepository, @Qualifier("stepSuppresionDemandesExemp") Step step1, @Qualifier("stepSuppresionDemandesModif") Step step2, @Qualifier("stepSuppresionDemandesRecouv") Step step3) { return new JobBuilder("suppressionDemandesPlusDeTroisMois", jobRepository).incrementer(incrementer()) - .start(stepSuppresionDemandesExemp).on(Constant.FAILED).end() - .from(stepSuppresionDemandesExemp).on(Constant.AUCUNE_DEMANDE).end() - .from(stepSuppresionDemandesExemp).on(Constant.COMPLETED).end() - .from(stepSuppresionDemandesModif).on(Constant.FAILED).end() - .from(stepSuppresionDemandesModif).on(Constant.AUCUNE_DEMANDE).end() - .from(stepSuppresionDemandesModif).on(Constant.COMPLETED).end() - .from(stepSuppresionDemandesRecouv).on(Constant.FAILED).end() - .from(stepSuppresionDemandesRecouv).on(Constant.AUCUNE_DEMANDE).end() - .from(stepSuppresionDemandesRecouv).on(Constant.COMPLETED).end() + .start(step1).on(Constant.FAILED).end() + .from(step1).on(Constant.AUCUNE_DEMANDE).end() + .from(step1).on(Constant.COMPLETED).end() + .from(step2).on(Constant.FAILED).end() + .from(step2).on(Constant.AUCUNE_DEMANDE).end() + .from(step2).on(Constant.COMPLETED).end() + .from(step3).on(Constant.FAILED).end() + .from(step3).on(Constant.AUCUNE_DEMANDE).end() + .from(step3).on(Constant.COMPLETED).end() .build().build(); } diff --git a/batch/src/main/java/fr/abes/item/batch/mail/impl/MailerExemp.java b/batch/src/main/java/fr/abes/item/batch/mail/impl/MailerExemp.java index 8f096e24..258a941e 100644 --- a/batch/src/main/java/fr/abes/item/batch/mail/impl/MailerExemp.java +++ b/batch/src/main/java/fr/abes/item/batch/mail/impl/MailerExemp.java @@ -3,12 +3,11 @@ import fr.abes.item.batch.mail.IMailer; import fr.abes.item.core.configuration.factory.Strategy; -import fr.abes.item.core.configuration.factory.StrategyFactory; import fr.abes.item.core.constant.Constant; import fr.abes.item.core.constant.TYPE_DEMANDE; import fr.abes.item.core.entities.item.Demande; import fr.abes.item.core.entities.item.DemandeExemp; -import fr.abes.item.core.service.ILigneFichierService; +import fr.abes.item.core.service.impl.LigneFichierExempService; import org.springframework.core.env.Environment; import org.springframework.stereotype.Service; @@ -19,14 +18,13 @@ @Service @Strategy(type = IMailer.class, typeDemande = TYPE_DEMANDE.EXEMP) public class MailerExemp extends Mailer implements IMailer { - private final Environment env; + private final LigneFichierExempService service; - private final StrategyFactory strategy; - public MailerExemp(Environment env, StrategyFactory strategy) { + public MailerExemp(Environment env, LigneFichierExempService service) { this.env = env; - this.strategy = strategy; + this.service = service; } /** @@ -47,7 +45,6 @@ public void mailDebutTraitement(String mailDestinataire, Demande demande){ @Override public void mailFinTraitement(String mailDestinataire, Demande demande, File f, LocalDateTime dateDebut, LocalDateTime dateFin) { DecimalFormat df = new DecimalFormat("0.00"); - ILigneFichierService service = strategy.getStrategy(ILigneFichierService.class, TYPE_DEMANDE.EXEMP); DemandeExemp demandeExemp = (DemandeExemp) demande; int nbExempCree = service.getNbLigneFichierSuccessByDemande(demandeExemp); int nbRechercheTotal = service.getNbLigneFichierTotalByDemande(demandeExemp); diff --git a/batch/src/main/java/fr/abes/item/batch/mail/impl/MailerModif.java b/batch/src/main/java/fr/abes/item/batch/mail/impl/MailerModif.java index cb4b9eb9..c9895428 100644 --- a/batch/src/main/java/fr/abes/item/batch/mail/impl/MailerModif.java +++ b/batch/src/main/java/fr/abes/item/batch/mail/impl/MailerModif.java @@ -2,11 +2,10 @@ import fr.abes.item.batch.mail.IMailer; import fr.abes.item.core.configuration.factory.Strategy; -import fr.abes.item.core.configuration.factory.StrategyFactory; import fr.abes.item.core.constant.Constant; import fr.abes.item.core.constant.TYPE_DEMANDE; import fr.abes.item.core.entities.item.Demande; -import fr.abes.item.core.service.ILigneFichierService; +import fr.abes.item.core.service.impl.LigneFichierModifService; import lombok.extern.slf4j.Slf4j; import org.springframework.core.env.Environment; import org.springframework.stereotype.Service; @@ -20,10 +19,10 @@ public class MailerModif extends Mailer implements IMailer { private final Environment env; - private final StrategyFactory strategy; - public MailerModif(Environment env, StrategyFactory strategy) { + private final LigneFichierModifService service; + public MailerModif(Environment env, LigneFichierModifService service) { this.env = env; - this.strategy = strategy; + this.service = service; } /** @@ -43,7 +42,6 @@ public void mailDebutTraitement(String mailDestinataire, Demande demande){ @Override public void mailFinTraitement(String mailDestinataire, Demande demande, File f, LocalDateTime dateDebut, LocalDateTime dateFin) { int numDemande = demande.getId(); - ILigneFichierService service = strategy.getStrategy(ILigneFichierService.class, TYPE_DEMANDE.MODIF); String requestJson = mailToJSON(mailDestinataire, Constant.DEMANDE_MODIFICATION_START + numDemande + " terminée - ILN " + demande.getIln(), "Bonjour,
Votre demande " + numDemande + " de modification d'exemplaires a bien été traitée.
" + "Nombre d'exemplaires traités : " + service.getNbLigneFichierTraiteeByDemande(demande) + Constant.HTML_BALISE_BR + diff --git a/batch/src/main/java/fr/abes/item/batch/mail/impl/MailerRecouv.java b/batch/src/main/java/fr/abes/item/batch/mail/impl/MailerRecouv.java index bcc89005..66fba7cd 100644 --- a/batch/src/main/java/fr/abes/item/batch/mail/impl/MailerRecouv.java +++ b/batch/src/main/java/fr/abes/item/batch/mail/impl/MailerRecouv.java @@ -2,11 +2,10 @@ import fr.abes.item.batch.mail.IMailer; import fr.abes.item.core.configuration.factory.Strategy; -import fr.abes.item.core.configuration.factory.StrategyFactory; import fr.abes.item.core.constant.Constant; import fr.abes.item.core.constant.TYPE_DEMANDE; import fr.abes.item.core.entities.item.Demande; -import fr.abes.item.core.service.ILigneFichierService; +import fr.abes.item.core.service.impl.LigneFichierRecouvService; import lombok.extern.slf4j.Slf4j; import org.springframework.core.env.Environment; @@ -19,11 +18,11 @@ public class MailerRecouv extends Mailer implements IMailer { private final Environment env; - private final StrategyFactory strategy; + private final LigneFichierRecouvService service; - public MailerRecouv(Environment env, StrategyFactory strategy) { + public MailerRecouv(Environment env, LigneFichierRecouvService service) { this.env = env; - this.strategy = strategy; + this.service = service; } /** @@ -43,7 +42,6 @@ public void mailDebutTraitement(String mailDestinataire, Demande demande) { @Override public void mailFinTraitement(String mailDestinataire, Demande demande, File f, LocalDateTime dateDebut, LocalDateTime dateFin) { int numDemande = demande.getId(); - ILigneFichierService service = strategy.getStrategy(ILigneFichierService.class, TYPE_DEMANDE.RECOUV); int nbRechercheTotal = service.getNbLigneFichierTotalByDemande(demande); int nbNoticesTrouvees = service.getNbReponseTrouveesByDemande(demande); int nbZeroReponse = service.getNbZeroReponseByDemande(demande); diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/ChangeInArchivedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet.java b/batch/src/main/java/fr/abes/item/batch/traitement/ArchiveDemandesExempTakslet.java similarity index 77% rename from batch/src/main/java/fr/abes/item/batch/traitement/ChangeInArchivedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet.java rename to batch/src/main/java/fr/abes/item/batch/traitement/ArchiveDemandesExempTakslet.java index b2f413de..cb5caa16 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/ChangeInArchivedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/ArchiveDemandesExempTakslet.java @@ -1,10 +1,12 @@ package fr.abes.item.batch.traitement; +import fr.abes.item.core.configuration.factory.StrategyFactory; import fr.abes.item.core.constant.Constant; +import fr.abes.item.core.constant.TYPE_DEMANDE; import fr.abes.item.core.entities.item.Demande; import fr.abes.item.core.entities.item.DemandeExemp; import fr.abes.item.core.exception.DemandeCheckingException; -import fr.abes.item.core.service.impl.DemandeExempService; +import fr.abes.item.core.service.IDemandeService; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.springframework.batch.core.ExitStatus; @@ -14,17 +16,19 @@ 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 java.util.List; @Slf4j -public class ChangeInArchivedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet implements Tasklet, StepExecutionListener { - @Autowired - private DemandeExempService demandeExempService; +public class ArchiveDemandesExempTakslet implements Tasklet, StepExecutionListener { + private final StrategyFactory strategyFactory; List demandes; + public ArchiveDemandesExempTakslet(StrategyFactory strategyFactory) { + this.strategyFactory = strategyFactory; + } + @Override public void beforeStep(@NonNull StepExecution stepExecution) { log.info("Archivage automatique des demandes d'exemplarisation, modification et recouvrement lancé"); @@ -32,9 +36,9 @@ public void beforeStep(@NonNull StepExecution stepExecution) { @Override public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull ChunkContext chunkContext) throws Exception { - log.warn(Constant.ENTER_EXECUTE_FROM_GETNEXTDEMANDEEXEMPTOARCHIVETASKLET); try { - this.demandes = demandeExempService.getIdNextDemandeToArchive(); + IDemandeService service = strategyFactory.getStrategy(IDemandeService.class, TYPE_DEMANDE.EXEMP); + this.demandes = (List) service.getIdNextDemandeToArchive(); if (this.demandes == null) { log.warn(Constant.NO_DEMANDE_TO_PROCESS); stepContribution.setExitStatus(new ExitStatus("AUCUNE DEMANDE")); @@ -43,7 +47,7 @@ public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull //Iteration sur chaque demande pour en modifier le statut for (Demande demande : this.demandes) { log.info("Passage de la demande d'exemplarisation " + demande.getNumDemande() + "au statut" + Constant.ETATDEM_ARCHIVEE); - demandeExempService.changeState(demande, Constant.ETATDEM_ARCHIVEE); + service.changeState(demande, Constant.ETATDEM_ARCHIVEE); } stepContribution.setExitStatus(ExitStatus.COMPLETED); } catch (DemandeCheckingException e) { diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/ChangeInArchivedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet.java b/batch/src/main/java/fr/abes/item/batch/traitement/ArchiveDemandesModifTasklet.java similarity index 76% rename from batch/src/main/java/fr/abes/item/batch/traitement/ChangeInArchivedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet.java rename to batch/src/main/java/fr/abes/item/batch/traitement/ArchiveDemandesModifTasklet.java index c2516114..6fbc7a3d 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/ChangeInArchivedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/ArchiveDemandesModifTasklet.java @@ -1,10 +1,12 @@ package fr.abes.item.batch.traitement; +import fr.abes.item.core.configuration.factory.StrategyFactory; import fr.abes.item.core.constant.Constant; +import fr.abes.item.core.constant.TYPE_DEMANDE; import fr.abes.item.core.entities.item.Demande; import fr.abes.item.core.entities.item.DemandeModif; import fr.abes.item.core.exception.DemandeCheckingException; -import fr.abes.item.core.service.impl.DemandeModifService; +import fr.abes.item.core.service.IDemandeService; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.springframework.batch.core.ExitStatus; @@ -14,25 +16,26 @@ 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 java.util.List; @Slf4j -public class ChangeInArchivedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet implements Tasklet, StepExecutionListener { - @Autowired - DemandeModifService demandeModifService; - +public class ArchiveDemandesModifTasklet implements Tasklet, StepExecutionListener { + private final StrategyFactory strategyFactory; List demandes; + public ArchiveDemandesModifTasklet(StrategyFactory strategyFactory) { + this.strategyFactory = strategyFactory; + } + @Override public void beforeStep(@NonNull StepExecution stepExecution) {} @Override public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull ChunkContext chunkContext) throws Exception { - log.warn("entrée dans execute de ChangeInArchivedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet..."); try { - this.demandes = demandeModifService.getIdNextDemandeToArchive(); + IDemandeService service = strategyFactory.getStrategy(IDemandeService.class, TYPE_DEMANDE.MODIF); + this.demandes = (List) service.getIdNextDemandeToArchive(); if (this.demandes == null) { log.warn(Constant.NO_DEMANDE_TO_PROCESS); stepContribution.setExitStatus(new ExitStatus("AUCUNE DEMANDE")); @@ -41,7 +44,7 @@ public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull //Iteration sur chaque demande pour en modifier le statut for (Demande demande : this.demandes) { log.info("Passage de la demande de modification" + demande.getNumDemande() + "au statut" + Constant.ETATDEM_ARCHIVEE); - demandeModifService.changeState(demande, Constant.ETATDEM_ARCHIVEE); + service.changeState(demande, Constant.ETATDEM_ARCHIVEE); } stepContribution.setExitStatus(ExitStatus.COMPLETED); } catch (DemandeCheckingException e) { diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/ChangeInArchivedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet.java b/batch/src/main/java/fr/abes/item/batch/traitement/ArchiveDemandesRecouvTasklet.java similarity index 76% rename from batch/src/main/java/fr/abes/item/batch/traitement/ChangeInArchivedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet.java rename to batch/src/main/java/fr/abes/item/batch/traitement/ArchiveDemandesRecouvTasklet.java index b3b11370..ad8dfac8 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/ChangeInArchivedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/ArchiveDemandesRecouvTasklet.java @@ -1,10 +1,12 @@ package fr.abes.item.batch.traitement; +import fr.abes.item.core.configuration.factory.StrategyFactory; import fr.abes.item.core.constant.Constant; +import fr.abes.item.core.constant.TYPE_DEMANDE; import fr.abes.item.core.entities.item.Demande; import fr.abes.item.core.entities.item.DemandeRecouv; import fr.abes.item.core.exception.DemandeCheckingException; -import fr.abes.item.core.service.impl.DemandeRecouvService; +import fr.abes.item.core.service.IDemandeService; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.springframework.batch.core.ExitStatus; @@ -14,25 +16,26 @@ 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 java.util.List; @Slf4j -public class ChangeInArchivedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet implements Tasklet, StepExecutionListener { - @Autowired - DemandeRecouvService demandeRecouvService; - +public class ArchiveDemandesRecouvTasklet implements Tasklet, StepExecutionListener { + private final StrategyFactory strategyFactory; List demandes; + public ArchiveDemandesRecouvTasklet(StrategyFactory strategyFactory) { + this.strategyFactory = strategyFactory; + } + @Override public void beforeStep(@NonNull StepExecution stepExecution) {} @Override public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull ChunkContext chunkContext) throws Exception { - log.warn("entrée dans execute de ChangeInArchivedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet..."); try { - this.demandes = demandeRecouvService.getIdNextDemandeToArchive(); + IDemandeService service = strategyFactory.getStrategy(IDemandeService.class, TYPE_DEMANDE.RECOUV); + this.demandes = (List) service.getIdNextDemandeToArchive(); if (this.demandes == null) { log.warn(Constant.NO_DEMANDE_TO_PROCESS); stepContribution.setExitStatus(new ExitStatus("AUCUNE DEMANDE")); @@ -41,7 +44,7 @@ public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull //Iteration sur chaque demande pour en modifier le statut for (Demande demande : this.demandes) { log.info("Passage de la demande de recouvrement " + demande.getNumDemande() + "au statut" + Constant.ETATDEM_ARCHIVEE); - demandeRecouvService.changeState(demande, Constant.ETATDEM_ARCHIVEE); + service.changeState(demande, Constant.ETATDEM_ARCHIVEE); } stepContribution.setExitStatus(ExitStatus.COMPLETED); } catch (DemandeCheckingException e) { diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/AuthentifierSurSudocTasklet.java b/batch/src/main/java/fr/abes/item/batch/traitement/AuthentifierSurSudocTasklet.java index 1a072e26..203f3b76 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/AuthentifierSurSudocTasklet.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/AuthentifierSurSudocTasklet.java @@ -18,8 +18,6 @@ import org.springframework.batch.core.step.tasklet.Tasklet; import org.springframework.batch.item.ExecutionContext; import org.springframework.batch.repeat.RepeatStatus; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.dao.DataAccessException; import java.sql.SQLException; @@ -28,24 +26,22 @@ @Slf4j public class AuthentifierSurSudocTasklet implements Tasklet, StepExecutionListener { - @Autowired - StrategyFactory factory; - + private final StrategyFactory factory; private IMailer mailer; - - private List lignesFichier; - @Value("${mail.admin}") - private String mailAdmin; - @Autowired - ProxyRetry proxyRetry; - + private final String mailAdmin; + private final ProxyRetry proxyRetry; private IDemandeService demandeService; - + private List lignesFichier; private String email; private Demande demande; - private LocalDateTime dateDebut; + public AuthentifierSurSudocTasklet(StrategyFactory factory, String mailAdmin, ProxyRetry proxyRetry) { + this.factory = factory; + this.mailAdmin = mailAdmin; + this.proxyRetry = proxyRetry; + } + @Override public void beforeStep(StepExecution stepExecution) { ExecutionContext executionContext = stepExecution diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/DeleteAllDemandesExempInDeletedStatusForMoreThanSevenMonthsTasklet.java b/batch/src/main/java/fr/abes/item/batch/traitement/DeleteDemandesExempTasklet.java similarity index 63% rename from batch/src/main/java/fr/abes/item/batch/traitement/DeleteAllDemandesExempInDeletedStatusForMoreThanSevenMonthsTasklet.java rename to batch/src/main/java/fr/abes/item/batch/traitement/DeleteDemandesExempTasklet.java index bf2c0c5b..60b1cd13 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/DeleteAllDemandesExempInDeletedStatusForMoreThanSevenMonthsTasklet.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/DeleteDemandesExempTasklet.java @@ -1,9 +1,12 @@ package fr.abes.item.batch.traitement; +import fr.abes.item.core.configuration.factory.StrategyFactory; import fr.abes.item.core.constant.Constant; +import fr.abes.item.core.constant.TYPE_DEMANDE; import fr.abes.item.core.entities.item.Demande; import fr.abes.item.core.entities.item.DemandeExemp; -import fr.abes.item.core.service.impl.DemandeExempService; +import fr.abes.item.core.service.FileSystemStorageService; +import fr.abes.item.core.service.IDemandeService; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.springframework.batch.core.ExitStatus; @@ -13,17 +16,24 @@ 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 java.nio.file.Paths; import java.util.List; @Slf4j -public class DeleteAllDemandesExempInDeletedStatusForMoreThanSevenMonthsTasklet implements Tasklet, StepExecutionListener { - @Autowired - DemandeExempService demandeExempService; +public class DeleteDemandesExempTasklet implements Tasklet, StepExecutionListener { + private final StrategyFactory strategyFactory; + private final FileSystemStorageService storageService; + private final String uploadPath; List demandes; + public DeleteDemandesExempTasklet(StrategyFactory strategyFactory, FileSystemStorageService storageService, String uploadPath) { + this.strategyFactory = strategyFactory; + this.storageService = storageService; + this.uploadPath = uploadPath; + } + @Override public void beforeStep(@NonNull StepExecution stepExecution) { log.info("Suppression déifnitive des demandes en base d'exemplarisation, modification et recouvrement"); @@ -31,8 +41,8 @@ public void beforeStep(@NonNull StepExecution stepExecution) { @Override public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull ChunkContext chunkContext) throws Exception { - log.warn("entrée dans execute de DeleteAllDemandesExempInDeletedStatusForMoreThanSevenMonthsTasklet..."); - this.demandes = demandeExempService.getIdNextDemandeToDelete(); + IDemandeService service = strategyFactory.getStrategy(IDemandeService.class, TYPE_DEMANDE.EXEMP); + this.demandes = (List) service.getIdNextDemandeToDelete(); if (this.demandes == null) { log.warn(Constant.NO_DEMANDE_TO_PROCESS); stepContribution.setExitStatus(new ExitStatus("AUCUNE DEMANDE")); @@ -41,7 +51,9 @@ public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull //Iteration sur chaque demande pour en modifier le statut for (Demande demande : this.demandes) { log.info("Suppression définitive de la demande d'exemplarisation " + demande.getNumDemande()); - demandeExempService.deleteById(demande.getId()); + service.deleteById(demande.getId()); + storageService.changePath(Paths.get(uploadPath + demande.getId())); + storageService.deleteAll(); } stepContribution.setExitStatus(ExitStatus.COMPLETED); return RepeatStatus.FINISHED; diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/DeleteAllDemandesModifInDeletedStatusForMoreThanSevenMonthsTasklet.java b/batch/src/main/java/fr/abes/item/batch/traitement/DeleteDemandesModifTasklet.java similarity index 62% rename from batch/src/main/java/fr/abes/item/batch/traitement/DeleteAllDemandesModifInDeletedStatusForMoreThanSevenMonthsTasklet.java rename to batch/src/main/java/fr/abes/item/batch/traitement/DeleteDemandesModifTasklet.java index f357cdfd..1a29b59c 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/DeleteAllDemandesModifInDeletedStatusForMoreThanSevenMonthsTasklet.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/DeleteDemandesModifTasklet.java @@ -1,9 +1,12 @@ package fr.abes.item.batch.traitement; +import fr.abes.item.core.configuration.factory.StrategyFactory; import fr.abes.item.core.constant.Constant; +import fr.abes.item.core.constant.TYPE_DEMANDE; import fr.abes.item.core.entities.item.Demande; import fr.abes.item.core.entities.item.DemandeModif; -import fr.abes.item.core.service.impl.DemandeModifService; +import fr.abes.item.core.service.FileSystemStorageService; +import fr.abes.item.core.service.IDemandeService; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.springframework.batch.core.ExitStatus; @@ -13,24 +16,31 @@ 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 java.nio.file.Paths; import java.util.List; @Slf4j -public class DeleteAllDemandesModifInDeletedStatusForMoreThanSevenMonthsTasklet implements Tasklet, StepExecutionListener { - @Autowired - private DemandeModifService demandeModifService; +public class DeleteDemandesModifTasklet implements Tasklet, StepExecutionListener { + private final StrategyFactory strategyFactory; + private final FileSystemStorageService storageService; + private final String uploadPath; List demandes; + public DeleteDemandesModifTasklet(StrategyFactory strategyFactory, FileSystemStorageService storageService, String uploadPath) { + this.strategyFactory = strategyFactory; + this.storageService = storageService; + this.uploadPath = uploadPath; + } + @Override public void beforeStep(@NonNull StepExecution stepExecution) {} @Override public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull ChunkContext chunkContext) throws Exception { - log.warn("entrée dans execute de DeleteAllDemandesModifInDeletedStatusForMoreThanSevenMonthsTasklet..."); - this.demandes = demandeModifService.getIdNextDemandeToDelete(); + IDemandeService service = strategyFactory.getStrategy(IDemandeService.class, TYPE_DEMANDE.MODIF); + this.demandes = (List) service.getIdNextDemandeToDelete(); if (this.demandes == null) { log.warn(Constant.NO_DEMANDE_TO_PROCESS); stepContribution.setExitStatus(new ExitStatus("AUCUNE DEMANDE")); @@ -39,7 +49,9 @@ public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull //Iteration sur chaque demande pour en modifier le statut for (Demande demande : this.demandes) { log.info("Suppression définitive de la demande de modification " + demande.getNumDemande()); - demandeModifService.deleteById(demande.getId()); + service.deleteById(demande.getId()); + storageService.changePath(Paths.get(uploadPath + demande.getId())); + storageService.deleteAll(); } stepContribution.setExitStatus(ExitStatus.COMPLETED); return RepeatStatus.FINISHED; diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/DeleteAllDemandesRecouvInDeletedStatusForMoreThanSevenMonthsTasklet.java b/batch/src/main/java/fr/abes/item/batch/traitement/DeleteDemandesRecouvTasklet.java similarity index 61% rename from batch/src/main/java/fr/abes/item/batch/traitement/DeleteAllDemandesRecouvInDeletedStatusForMoreThanSevenMonthsTasklet.java rename to batch/src/main/java/fr/abes/item/batch/traitement/DeleteDemandesRecouvTasklet.java index 6801489a..842c9a23 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/DeleteAllDemandesRecouvInDeletedStatusForMoreThanSevenMonthsTasklet.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/DeleteDemandesRecouvTasklet.java @@ -1,9 +1,12 @@ package fr.abes.item.batch.traitement; +import fr.abes.item.core.configuration.factory.StrategyFactory; import fr.abes.item.core.constant.Constant; +import fr.abes.item.core.constant.TYPE_DEMANDE; import fr.abes.item.core.entities.item.Demande; import fr.abes.item.core.entities.item.DemandeRecouv; -import fr.abes.item.core.service.impl.DemandeRecouvService; +import fr.abes.item.core.service.FileSystemStorageService; +import fr.abes.item.core.service.IDemandeService; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.springframework.batch.core.ExitStatus; @@ -13,24 +16,30 @@ 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 java.nio.file.Paths; import java.util.List; @Slf4j -public class DeleteAllDemandesRecouvInDeletedStatusForMoreThanSevenMonthsTasklet implements Tasklet, StepExecutionListener { - @Autowired - DemandeRecouvService demandeRecouvService; - +public class DeleteDemandesRecouvTasklet implements Tasklet, StepExecutionListener { + private final StrategyFactory strategyFactory; + private final FileSystemStorageService storageService; + private final String uploadPath; List demandes; + public DeleteDemandesRecouvTasklet(StrategyFactory strategyFactory, FileSystemStorageService storageService, String uploadPath) { + this.strategyFactory = strategyFactory; + this.storageService = storageService; + this.uploadPath = uploadPath; + } + @Override public void beforeStep(@NonNull StepExecution stepExecution) {} @Override public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull ChunkContext chunkContext) throws Exception { - log.warn("entrée dans execute de DeleteAllDemandesRecouvInDeletedStatusForMoreThanSevenMonthsTasklet..."); - this.demandes = demandeRecouvService.getIdNextDemandeToDelete(); + IDemandeService service = strategyFactory.getStrategy(IDemandeService.class, TYPE_DEMANDE.RECOUV); + this.demandes = (List) service.getIdNextDemandeToDelete(); if (this.demandes == null) { log.warn(Constant.NO_DEMANDE_TO_PROCESS); stepContribution.setExitStatus(new ExitStatus("AUCUNE DEMANDE")); @@ -39,7 +48,9 @@ public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull //Iteration sur chaque demande pour en modifier le statut for (Demande demande : this.demandes) { log.info("Suppression définitive de la demande de recouvrement " + demande.getNumDemande()); - demandeRecouvService.deleteById(demande.getId()); + service.deleteById(demande.getId()); + storageService.changePath(Paths.get(uploadPath + demande.getId())); + storageService.deleteAll(); } stepContribution.setExitStatus(ExitStatus.COMPLETED); return RepeatStatus.FINISHED; diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/ChangeInDeletedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet.java b/batch/src/main/java/fr/abes/item/batch/traitement/DeleteStatusDemandesExempTasklet.java similarity index 75% rename from batch/src/main/java/fr/abes/item/batch/traitement/ChangeInDeletedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet.java rename to batch/src/main/java/fr/abes/item/batch/traitement/DeleteStatusDemandesExempTasklet.java index 07d588c6..1d2c12f9 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/ChangeInDeletedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/DeleteStatusDemandesExempTasklet.java @@ -1,10 +1,12 @@ package fr.abes.item.batch.traitement; +import fr.abes.item.core.configuration.factory.StrategyFactory; import fr.abes.item.core.constant.Constant; +import fr.abes.item.core.constant.TYPE_DEMANDE; import fr.abes.item.core.entities.item.Demande; import fr.abes.item.core.entities.item.DemandeExemp; import fr.abes.item.core.exception.DemandeCheckingException; -import fr.abes.item.core.service.impl.DemandeExempService; +import fr.abes.item.core.service.IDemandeService; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.springframework.batch.core.ExitStatus; @@ -14,17 +16,18 @@ 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 java.util.List; @Slf4j -public class ChangeInDeletedStatusAllDemandesExempFinishedForMoreThanThreeMonthsTasklet implements Tasklet, StepExecutionListener { - @Autowired - DemandeExempService demandeExempService; - +public class DeleteStatusDemandesExempTasklet implements Tasklet, StepExecutionListener { + private final StrategyFactory strategyFactory; List demandes; + public DeleteStatusDemandesExempTasklet(StrategyFactory strategyFactory) { + this.strategyFactory = strategyFactory; + } + @Override public void beforeStep(@NonNull StepExecution stepExecution) { log.info("Passage en statut supprimé (mais conservation en base) des demandes d'exemplarisation, modification et recouvrement lancé"); @@ -32,9 +35,10 @@ public void beforeStep(@NonNull StepExecution stepExecution) { @Override public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull ChunkContext chunkContext) throws Exception { - log.warn(Constant.ENTER_EXECUTE_FROM_GETNEXTDEMANDEEXEMPTODELETEDSTATUSTASKLET); + log.info(Constant.ENTER_EXECUTE_FROM_GETNEXTDEMANDEEXEMPTODELETEDSTATUSTASKLET); try { - this.demandes = demandeExempService.getIdNextDemandeToPlaceInDeletedStatus(); + IDemandeService service = strategyFactory.getStrategy(IDemandeService.class, TYPE_DEMANDE.EXEMP); + this.demandes = (List) service.getIdNextDemandeToPlaceInDeletedStatus(); if (this.demandes == null) { log.warn(Constant.NO_DEMANDE_TO_PROCESS); stepContribution.setExitStatus(new ExitStatus("AUCUNE DEMANDE")); @@ -43,7 +47,7 @@ public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull //Iteration sur chaque demande pour en modifier le statut for (Demande demande : this.demandes) { log.info("Passage de la demande d'exemplarisation " + demande.getNumDemande() + "au statut" + Constant.ETATDEM_SUPPRIMEE); - demandeExempService.changeState(demande, Constant.ETATDEM_SUPPRIMEE); + service.changeState(demande, Constant.ETATDEM_SUPPRIMEE); } stepContribution.setExitStatus(ExitStatus.COMPLETED); } catch (DemandeCheckingException e) { diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/ChangeInDeletedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet.java b/batch/src/main/java/fr/abes/item/batch/traitement/DeleteStatusDemandesModifTasklet.java similarity index 70% rename from batch/src/main/java/fr/abes/item/batch/traitement/ChangeInDeletedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet.java rename to batch/src/main/java/fr/abes/item/batch/traitement/DeleteStatusDemandesModifTasklet.java index 80b9ba24..f089d0e3 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/ChangeInDeletedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/DeleteStatusDemandesModifTasklet.java @@ -1,10 +1,12 @@ package fr.abes.item.batch.traitement; +import fr.abes.item.core.configuration.factory.StrategyFactory; import fr.abes.item.core.constant.Constant; +import fr.abes.item.core.constant.TYPE_DEMANDE; import fr.abes.item.core.entities.item.Demande; import fr.abes.item.core.entities.item.DemandeModif; import fr.abes.item.core.exception.DemandeCheckingException; -import fr.abes.item.core.service.impl.DemandeModifService; +import fr.abes.item.core.service.IDemandeService; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.springframework.batch.core.ExitStatus; @@ -14,25 +16,27 @@ 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 java.util.List; @Slf4j -public class ChangeInDeletedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet implements Tasklet, StepExecutionListener { - @Autowired - DemandeModifService demandeModifService; - +public class DeleteStatusDemandesModifTasklet implements Tasklet, StepExecutionListener { + private final StrategyFactory strategyFactory; List demandes; + public DeleteStatusDemandesModifTasklet(StrategyFactory strategyFactory) { + this.strategyFactory = strategyFactory; + } + @Override public void beforeStep(@NonNull StepExecution stepExecution) {} @Override public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull ChunkContext chunkContext) throws Exception { - log.warn("entrée dans execute de ChangeInDeletedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet"); + log.info("entrée dans execute de ChangeInDeletedStatusAllDemandesModifFinishedForMoreThanThreeMonthsTasklet"); try { - this.demandes = demandeModifService.getIdNextDemandeToPlaceInDeletedStatus(); + IDemandeService service = strategyFactory.getStrategy(IDemandeService.class, TYPE_DEMANDE.MODIF); + this.demandes = (List) service.getIdNextDemandeToPlaceInDeletedStatus(); if (this.demandes == null) { log.warn(Constant.NO_DEMANDE_TO_PROCESS); stepContribution.setExitStatus(new ExitStatus("AUCUNE DEMANDE")); @@ -40,8 +44,8 @@ public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull } //Iteration sur chaque demande pour en modifier le statut for (Demande demande : this.demandes) { - log.info("Passage de la demande d'exemplarisation " + demande.getNumDemande() + "au statut" + Constant.ETATDEM_SUPPRIMEE); - demandeModifService.changeState(demande, Constant.ETATDEM_SUPPRIMEE); + log.info("Passage de la demande de modification " + demande.getNumDemande() + "au statut" + Constant.ETATDEM_SUPPRIMEE); + service.changeState(demande, Constant.ETATDEM_SUPPRIMEE); } stepContribution.setExitStatus(ExitStatus.COMPLETED); } catch (DemandeCheckingException e) { diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/ChangeInDeletedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet.java b/batch/src/main/java/fr/abes/item/batch/traitement/DeleteStatusDemandesRecouvTasklet.java similarity index 70% rename from batch/src/main/java/fr/abes/item/batch/traitement/ChangeInDeletedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet.java rename to batch/src/main/java/fr/abes/item/batch/traitement/DeleteStatusDemandesRecouvTasklet.java index b7d2c64f..5ed2ef8f 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/ChangeInDeletedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/DeleteStatusDemandesRecouvTasklet.java @@ -1,10 +1,12 @@ package fr.abes.item.batch.traitement; +import fr.abes.item.core.configuration.factory.StrategyFactory; import fr.abes.item.core.constant.Constant; +import fr.abes.item.core.constant.TYPE_DEMANDE; import fr.abes.item.core.entities.item.Demande; import fr.abes.item.core.entities.item.DemandeRecouv; import fr.abes.item.core.exception.DemandeCheckingException; -import fr.abes.item.core.service.impl.DemandeRecouvService; +import fr.abes.item.core.service.IDemandeService; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.springframework.batch.core.ExitStatus; @@ -14,25 +16,27 @@ 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 java.util.List; @Slf4j -public class ChangeInDeletedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet implements Tasklet, StepExecutionListener { - @Autowired - DemandeRecouvService demandeRecouvService; - +public class DeleteStatusDemandesRecouvTasklet implements Tasklet, StepExecutionListener { + private final StrategyFactory strategyFactory; List demandes; + public DeleteStatusDemandesRecouvTasklet(StrategyFactory strategyFactory) { + this.strategyFactory = strategyFactory; + } + @Override public void beforeStep(@NonNull StepExecution stepExecution) {} @Override public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull ChunkContext chunkContext) throws Exception { - log.warn("entrée dans execute de ChangeInDeletedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet"); + log.info("entrée dans execute de ChangeInDeletedStatusAllDemandesRecouvFinishedForMoreThanThreeMonthsTasklet"); try { - this.demandes = demandeRecouvService.getIdNextDemandeToPlaceInDeletedStatus(); + IDemandeService service = strategyFactory.getStrategy(IDemandeService.class, TYPE_DEMANDE.RECOUV); + this.demandes = (List) service.getIdNextDemandeToPlaceInDeletedStatus(); if (this.demandes == null) { log.warn(Constant.NO_DEMANDE_TO_PROCESS); stepContribution.setExitStatus(new ExitStatus("AUCUNE DEMANDE")); @@ -40,8 +44,8 @@ public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull } //Iteration sur chaque demande pour en modifier le statut for (Demande demande : this.demandes) { - log.info("Passage de la demande d'exemplarisation " + demande.getNumDemande() + "au statut" + Constant.ETATDEM_SUPPRIMEE); - demandeRecouvService.changeState(demande, Constant.ETATDEM_SUPPRIMEE); + log.info("Passage de la demande de recouvrement " + demande.getNumDemande() + "au statut" + Constant.ETATDEM_SUPPRIMEE); + service.changeState(demande, Constant.ETATDEM_SUPPRIMEE); } stepContribution.setExitStatus(ExitStatus.COMPLETED); } catch (DemandeCheckingException e) { diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/GenererFichierTasklet.java b/batch/src/main/java/fr/abes/item/batch/traitement/GenererFichierTasklet.java index 7623d016..fd1919a8 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/GenererFichierTasklet.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/GenererFichierTasklet.java @@ -15,8 +15,6 @@ import fr.abes.item.core.exception.QueryToSudocException; import fr.abes.item.core.service.IDemandeService; import fr.abes.item.core.service.ILigneFichierService; -import fr.abes.item.core.service.impl.DemandeExempService; -import fr.abes.item.core.service.impl.DemandeRecouvService; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.springframework.batch.core.ExitStatus; @@ -27,8 +25,6 @@ import org.springframework.batch.core.step.tasklet.Tasklet; import org.springframework.batch.item.ExecutionContext; import org.springframework.batch.repeat.RepeatStatus; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.dao.DataAccessException; import java.io.BufferedWriter; @@ -40,31 +36,23 @@ @Slf4j public class GenererFichierTasklet implements Tasklet, StepExecutionListener { - @Autowired - private StrategyFactory factory; - - @Autowired - private DemandeExempService demandeExempService; - @Autowired - private DemandeRecouvService demandeRecouvService; - private IDemandeService demandeService; - - ILigneFichierService ligneFichierService; - - IMailer mailer; - - @Value("${files.upload.path}") - private String uploadPath; - - @Value("${mail.admin}") - private String mailAdmin; - - @Value("${batch.nbPpnInFileResult}") - private Integer nbPpnInFileResult; - + private final StrategyFactory factory; + private final String uploadPath; + private final String mailAdmin; + private final Integer nbPpnInFileResult; private LocalDateTime dateDebut; private String email; private Demande demande; + private IDemandeService demandeService; + private ILigneFichierService ligneFichierService; + private IMailer mailer; + + public GenererFichierTasklet(StrategyFactory factory, String uploadPath, String mailAdmin, Integer nbPpnInFileResult) { + this.factory = factory; + this.uploadPath = uploadPath; + this.mailAdmin = mailAdmin; + this.nbPpnInFileResult = nbPpnInFileResult; + } @Override @@ -124,7 +112,6 @@ public RepeatStatus execute(@NonNull StepContribution contribution, @NonNull Chu */ private String genererFichier() throws IOException, FileTypeException, QueryToSudocException { FichierResultat fichierResultat; - IDemandeService demandeService = factory.getStrategy(IDemandeService.class, demande.getTypeDemande()); fichierResultat = (FichierResultat) FichierFactory.getFichier(Constant.ETATDEM_ENCOURS, demande.getTypeDemande()); fichierResultat.generateFileName(demande.getId()); @@ -141,7 +128,7 @@ private String genererFichier() throws IOException, FileTypeException, QueryToSu DemandeExemp demandeExemp = (DemandeExemp) demande; LigneFichierDtoExemp ligneFichierDtoExemp = new LigneFichierDtoExemp((LigneFichierExemp) ligne); log.warn(ligneFichierDtoExemp.getIndexRecherche()); - ligneFichierDtoExemp.setRequete(demandeExempService.getQueryToSudoc(demandeExemp.getIndexRecherche().getCode(), demandeExemp.getTypeExemp().getLibelle(), ligneFichierDtoExemp.getIndexRecherche().split(";"))); + ligneFichierDtoExemp.setRequete(demandeService.getQueryToSudoc(demandeExemp.getIndexRecherche().getCode(), demandeExemp.getTypeExemp().getLibelle(), ligneFichierDtoExemp.getIndexRecherche().split(";"))); out.println(ligneFichierDtoExemp.getValeurToWriteInFichierResultat(demande, nbPpnInFileResult)); break; case MODIF: @@ -151,7 +138,7 @@ private String genererFichier() throws IOException, FileTypeException, QueryToSu default: DemandeRecouv demandeRecouv = (DemandeRecouv)demande; LigneFichierDtoRecouv ligneFichierDtoRecouv = new LigneFichierDtoRecouv((LigneFichierRecouv) ligne); - ligneFichierDtoRecouv.setRequete(demandeRecouvService.getQueryToSudoc(demandeRecouv.getIndexRecherche().getCode(), ligneFichierDtoRecouv.getIndexRecherche().split(";"))); + ligneFichierDtoRecouv.setRequete(demandeService.getQueryToSudoc(demandeRecouv.getIndexRecherche().getCode(), null, ligneFichierDtoRecouv.getIndexRecherche().split(";"))); out.println(ligneFichierDtoRecouv.getValeurToWriteInFichierResultat(demande, nbPpnInFileResult)); break; } diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/GetNextDemandeExempTasklet.java b/batch/src/main/java/fr/abes/item/batch/traitement/GetNextDemandeExempTasklet.java index 238074b2..04456abb 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/GetNextDemandeExempTasklet.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/GetNextDemandeExempTasklet.java @@ -1,9 +1,11 @@ package fr.abes.item.batch.traitement; +import fr.abes.item.core.configuration.factory.StrategyFactory; import fr.abes.item.core.constant.Constant; +import fr.abes.item.core.constant.TYPE_DEMANDE; import fr.abes.item.core.entities.item.DemandeExemp; import fr.abes.item.core.exception.DemandeCheckingException; -import fr.abes.item.core.service.impl.DemandeExempService; +import fr.abes.item.core.service.IDemandeService; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.hibernate.exception.ConstraintViolationException; @@ -15,22 +17,19 @@ 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.dao.DataAccessException; import java.sql.SQLException; @Slf4j public class GetNextDemandeExempTasklet implements Tasklet, StepExecutionListener { - @Autowired - DemandeExempService demandeExempService; - DemandeExemp demande; + private final StrategyFactory factory; + private DemandeExemp demande; + private final int minHour; + private final int maxHour; - int minHour; - - int maxHour; - - public GetNextDemandeExempTasklet(int minHour, int maxHour) { + public GetNextDemandeExempTasklet(StrategyFactory factory, int minHour, int maxHour) { + this.factory = factory; this.minHour = minHour; this.maxHour = maxHour; } @@ -51,15 +50,16 @@ public ExitStatus afterStep(StepExecution stepExecution) { @Override public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull ChunkContext chunkContext) throws Exception { - log.warn(Constant.ENTER_EXECUTE_FROM_GETNEXTDEMANDEEXEMPTASKLET); + log.info(Constant.ENTER_EXECUTE_FROM_GETNEXTDEMANDEEXEMPTASKLET); try { - this.demande = demandeExempService.getIdNextDemandeToProceed(this.minHour, this.maxHour); + IDemandeService service = factory.getStrategy(IDemandeService.class, TYPE_DEMANDE.EXEMP); + this.demande = (DemandeExemp) service.getIdNextDemandeToProceed(this.minHour, this.maxHour); if (this.demande == null) { log.warn(Constant.NO_DEMANDE_TO_PROCESS); stepContribution.setExitStatus(new ExitStatus("AUCUNE DEMANDE")); return RepeatStatus.FINISHED; } - demandeExempService.changeState(this.demande, Constant.ETATDEM_ENCOURS); + service.changeState(this.demande, Constant.ETATDEM_ENCOURS); stepContribution.setExitStatus(ExitStatus.COMPLETED); } catch (JDBCConnectionException | ConstraintViolationException j){ log.error("Erreur hibernate JDBC"); diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/GetNextDemandeModifTasklet.java b/batch/src/main/java/fr/abes/item/batch/traitement/GetNextDemandeModifTasklet.java index 3cc7936e..7b2acfb9 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/GetNextDemandeModifTasklet.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/GetNextDemandeModifTasklet.java @@ -1,9 +1,11 @@ package fr.abes.item.batch.traitement; +import fr.abes.item.core.configuration.factory.StrategyFactory; import fr.abes.item.core.constant.Constant; +import fr.abes.item.core.constant.TYPE_DEMANDE; import fr.abes.item.core.entities.item.DemandeModif; import fr.abes.item.core.exception.DemandeCheckingException; -import fr.abes.item.core.service.impl.DemandeModifService; +import fr.abes.item.core.service.IDemandeService; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.hibernate.exception.ConstraintViolationException; @@ -15,23 +17,19 @@ 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.dao.DataAccessException; import java.sql.SQLException; @Slf4j public class GetNextDemandeModifTasklet implements Tasklet, StepExecutionListener { - @Autowired - DemandeModifService demandeModifService; - + private final StrategyFactory strategyFactory; private DemandeModif demande; + private final int minHour; + private final int maxHour; - int minHour; - - int maxHour; - - public GetNextDemandeModifTasklet(int minHour, int maxHour) { + public GetNextDemandeModifTasklet(StrategyFactory factory, int minHour, int maxHour) { + this.strategyFactory = factory; this.minHour = minHour; this.maxHour = maxHour; } @@ -52,15 +50,16 @@ public ExitStatus afterStep(StepExecution stepExecution) { @Override public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull ChunkContext chunkContext) throws Exception { - log.warn(Constant.ENTER_EXECUTE_FROM_GETNEXTDEMANDEMODIFTASKLET); + log.info(Constant.ENTER_EXECUTE_FROM_GETNEXTDEMANDEMODIFTASKLET); try { - this.demande = (DemandeModif) demandeModifService.getIdNextDemandeToProceed(this.minHour, this.maxHour); + IDemandeService service = strategyFactory.getStrategy(IDemandeService.class, TYPE_DEMANDE.RECOUV); + this.demande = (DemandeModif) service.getIdNextDemandeToProceed(this.minHour, this.maxHour); if (this.demande == null) { log.warn(Constant.NO_DEMANDE_TO_PROCESS); stepContribution.setExitStatus(new ExitStatus("AUCUNE DEMANDE")); return RepeatStatus.FINISHED; } - demandeModifService.changeState(this.demande, Constant.ETATDEM_ENCOURS); + service.changeState(this.demande, Constant.ETATDEM_ENCOURS); } catch (DemandeCheckingException e) { log.error(Constant.ERROR_PASSERENCOURS_FROM_GETNEXTDEMANDEMODIFTASKLET + e); diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/GetNextDemandeRecouvTasklet.java b/batch/src/main/java/fr/abes/item/batch/traitement/GetNextDemandeRecouvTasklet.java index a7693248..427157e8 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/GetNextDemandeRecouvTasklet.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/GetNextDemandeRecouvTasklet.java @@ -1,9 +1,11 @@ package fr.abes.item.batch.traitement; +import fr.abes.item.core.configuration.factory.StrategyFactory; import fr.abes.item.core.constant.Constant; +import fr.abes.item.core.constant.TYPE_DEMANDE; import fr.abes.item.core.entities.item.DemandeRecouv; import fr.abes.item.core.exception.DemandeCheckingException; -import fr.abes.item.core.service.impl.DemandeRecouvService; +import fr.abes.item.core.service.IDemandeService; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.hibernate.exception.ConstraintViolationException; @@ -15,23 +17,19 @@ 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.dao.DataAccessException; import java.sql.SQLException; @Slf4j public class GetNextDemandeRecouvTasklet implements Tasklet, StepExecutionListener { - @Autowired - DemandeRecouvService demandeRecouvService; - + private final StrategyFactory strategyFactory; private DemandeRecouv demande; + private final int minHour; + private final int maxHour; - int minHour; - - int maxHour; - - public GetNextDemandeRecouvTasklet(int minHour, int maxHour) { + public GetNextDemandeRecouvTasklet(StrategyFactory factory, int minHour, int maxHour) { + this.strategyFactory = factory; this.minHour = minHour; this.maxHour = maxHour; } @@ -52,15 +50,16 @@ public ExitStatus afterStep(StepExecution stepExecution) { @Override public RepeatStatus execute(@NonNull StepContribution stepContribution, @NonNull ChunkContext chunkContext) throws Exception { - log.warn(Constant.ENTER_EXECUTE_FROM_GETNEXTDEMANDERECOUVTASKLET); + log.info(Constant.ENTER_EXECUTE_FROM_GETNEXTDEMANDERECOUVTASKLET); try { - this.demande = (DemandeRecouv) demandeRecouvService.getIdNextDemandeToProceed(this.minHour, this.maxHour); + IDemandeService service = strategyFactory.getStrategy(IDemandeService.class, TYPE_DEMANDE.RECOUV); + this.demande = (DemandeRecouv) service.getIdNextDemandeToProceed(this.minHour, this.maxHour); if (this.demande == null) { log.warn(Constant.NO_DEMANDE_TO_PROCESS); stepContribution.setExitStatus(new ExitStatus("AUCUNE DEMANDE")); return RepeatStatus.FINISHED; } - demandeRecouvService.changeState(this.demande, Constant.ETATDEM_ENCOURS); + service.changeState(this.demande, Constant.ETATDEM_ENCOURS); } catch (DemandeCheckingException e) { log.error(Constant.ERROR_PASSERENCOURS_FROM_GETNEXTDEMANDERECOUVTASKLET + e); diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/LireLigneFichierTasklet.java b/batch/src/main/java/fr/abes/item/batch/traitement/LireLigneFichierTasklet.java index f7a912f0..fbb6617b 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/LireLigneFichierTasklet.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/LireLigneFichierTasklet.java @@ -24,8 +24,6 @@ import org.springframework.batch.core.step.tasklet.Tasklet; import org.springframework.batch.item.ExecutionContext; import org.springframework.batch.repeat.RepeatStatus; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.dao.DataAccessException; import java.sql.SQLException; @@ -35,25 +33,22 @@ @Slf4j public class LireLigneFichierTasklet implements Tasklet, StepExecutionListener { - @Autowired - private StrategyFactory factory; - + private final StrategyFactory factory; private final List lignesFichier; + private final String mailAdmin; + private ILigneFichierService ligneFichierService; + private IDemandeService demandeService; + private LocalDateTime dateDebut; private Integer demandeId; private TYPE_DEMANDE typeDemande; - private Demande demande; private String email; - @Value("${mail.admin}") - private String mailAdmin; - - private ILigneFichierService ligneFichierService; - private IDemandeService demandeService; - private LocalDateTime dateDebut; IMailer mailer; - public LireLigneFichierTasklet() { + public LireLigneFichierTasklet(StrategyFactory factory, String mailAdmin) { + this.factory = factory; + this.mailAdmin = mailAdmin; lignesFichier = new ArrayList<>(); } diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/ProxyRetry.java b/batch/src/main/java/fr/abes/item/batch/traitement/ProxyRetry.java index 64e02333..414908c6 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/ProxyRetry.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/ProxyRetry.java @@ -169,7 +169,7 @@ private String getL035fromDonneesLocales(String donneeLocale) throws ZoneExcepti @Retryable(maxAttempts = 4, retryFor = IOException.class, noRetryFor = {CBSException.class, QueryToSudocException.class}, backoff = @Backoff(delay = 1000, multiplier = 2) ) public void recouvExemplaire(DemandeRecouv demande, LigneFichierDtoRecouv ligneFichierDtoRecouv) throws IOException, QueryToSudocException, CBSException { - ligneFichierDtoRecouv.setRequete(demandeRecouvService.getQueryToSudoc(demande.getIndexRecherche().getCode(), ligneFichierDtoRecouv.getIndexRecherche().split(";"))); + ligneFichierDtoRecouv.setRequete(demandeRecouvService.getQueryToSudoc(demande.getIndexRecherche().getCode(), null, ligneFichierDtoRecouv.getIndexRecherche().split(";"))); try { ligneFichierDtoRecouv.setNbReponses(demandeRecouvService.launchQueryToSudoc(demande.getIndexRecherche().getCode(), ligneFichierDtoRecouv.getIndexRecherche())); switch (ligneFichierDtoRecouv.getNbReponses()) { diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/traiterlignesfichierchunk/LignesFichierProcessor.java b/batch/src/main/java/fr/abes/item/batch/traitement/traiterlignesfichierchunk/LignesFichierProcessor.java index e9c4526b..ad0b6960 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/traiterlignesfichierchunk/LignesFichierProcessor.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/traiterlignesfichierchunk/LignesFichierProcessor.java @@ -28,14 +28,12 @@ import org.springframework.batch.item.ExecutionContext; import org.springframework.batch.item.ItemProcessor; import org.springframework.dao.DataAccessException; -import org.springframework.stereotype.Component; import java.io.IOException; import java.sql.SQLException; import java.util.List; @Slf4j -@Component public class LignesFichierProcessor implements ItemProcessor, StepExecutionListener { private final StrategyFactory strategyFactory; private final ProxyRetry proxyRetry; diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/traiterlignesfichierchunk/LignesFichierReader.java b/batch/src/main/java/fr/abes/item/batch/traitement/traiterlignesfichierchunk/LignesFichierReader.java index 32099cdb..0802dbfe 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/traiterlignesfichierchunk/LignesFichierReader.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/traiterlignesfichierchunk/LignesFichierReader.java @@ -8,20 +8,20 @@ import org.springframework.batch.core.StepExecutionListener; import org.springframework.batch.item.ExecutionContext; import org.springframework.batch.item.ItemReader; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; @Slf4j -@Component public class LignesFichierReader implements ItemReader, StepExecutionListener { private List lignesFichier; AtomicInteger i = new AtomicInteger(); - @Autowired - ProxyRetry proxyRetry; + private final ProxyRetry proxyRetry; + + public LignesFichierReader(ProxyRetry proxyRetry) { + this.proxyRetry = proxyRetry; + } @Override public void beforeStep(StepExecution stepExecution) { diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/traiterlignesfichierchunk/LignesFichierWriter.java b/batch/src/main/java/fr/abes/item/batch/traitement/traiterlignesfichierchunk/LignesFichierWriter.java index f73e4535..3f32d01e 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/traiterlignesfichierchunk/LignesFichierWriter.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/traiterlignesfichierchunk/LignesFichierWriter.java @@ -21,24 +21,24 @@ import org.springframework.batch.item.Chunk; import org.springframework.batch.item.ExecutionContext; import org.springframework.batch.item.ItemWriter; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataAccessException; -import org.springframework.stereotype.Component; import java.sql.SQLException; import java.util.List; @Slf4j -@Component public class LignesFichierWriter implements ItemWriter, StepExecutionListener { - @Autowired - private StrategyFactory factory; + private final StrategyFactory factory; private ILigneFichierService ligneFichierService; private IDemandeService demandeService; private List lignesFichier; private Demande demande; + public LignesFichierWriter(StrategyFactory factory) { + this.factory = factory; + } + @Override public void beforeStep(StepExecution stepExecution) { ExecutionContext executionContext = stepExecution diff --git a/batch/src/main/resources/application-dev.properties b/batch/src/main/resources/application-dev.properties index ab571aa9..91dc91d8 100644 --- a/batch/src/main/resources/application-dev.properties +++ b/batch/src/main/resources/application-dev.properties @@ -5,7 +5,6 @@ spring.datasource.item.driver-class-name=org.postgresql.Driver spring.jpa.item.generate-ddl=false spring.jpa.item.show-sql=false -spring.jpa.item.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect spring.jpa.item.hibernate.ddl-auto=none spring.jpa.item.database-platform=org.hibernate.dialect.PostgreSQLDialect spring.sql.item.init.mode=never @@ -19,9 +18,8 @@ spring.datasource.basexml.driver-class-name=oracle.jdbc.OracleDriver spring.jpa.basexml.generate-ddl=false spring.jpa.basexml.show-sql=true -spring.jpa.basexml.properties.hibernate.dialect=fr.abes.item.core.configuration.OracleCustomDriver spring.jpa.basexml.hibernate.ddl-auto=none -spring.jpa.basexml.database-platform=org.hibernate.dialect.Oracle12cDialect +spring.jpa.basexml.database-platform=org.hibernate.dialect.OracleDialect spring.sql.basexml.init.mode=never spring.hibernate.basexml.enable_lazy_load_no_trans=false diff --git a/batch/src/main/resources/application-prod.properties b/batch/src/main/resources/application-prod.properties index dadd8584..45733513 100644 --- a/batch/src/main/resources/application-prod.properties +++ b/batch/src/main/resources/application-prod.properties @@ -6,7 +6,6 @@ spring.datasource.item.driver-class-name=org.postgresql.Driver spring.jpa.item.generate-ddl=false spring.jpa.item.show-sql=false -spring.jpa.item.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect spring.jpa.item.hibernate.ddl-auto=none spring.jpa.item.database-platform=org.hibernate.dialect.PostgreSQLDialect spring.sql.item.init.mode=never @@ -20,9 +19,8 @@ spring.datasource.basexml.driver-class-name=oracle.jdbc.OracleDriver spring.jpa.basexml.generate-ddl=false spring.jpa.basexml.show-sql=false -spring.jpa.basexml.properties.hibernate.dialect=fr.abes.item.core.configuration.OracleCustomDriver spring.jpa.basexml.hibernate.ddl-auto=none -spring.jpa.basexml.database-platform=org.hibernate.dialect.Oracle12cDialect +spring.jpa.basexml.database-platform=org.hibernate.dialect.OracleDialect spring.sql.basexml.init.mode=never spring.hibernate.basexml.enable_lazy_load_no_trans=false diff --git a/batch/src/main/resources/application-test.properties b/batch/src/main/resources/application-test.properties index dadd8584..45733513 100644 --- a/batch/src/main/resources/application-test.properties +++ b/batch/src/main/resources/application-test.properties @@ -6,7 +6,6 @@ spring.datasource.item.driver-class-name=org.postgresql.Driver spring.jpa.item.generate-ddl=false spring.jpa.item.show-sql=false -spring.jpa.item.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect spring.jpa.item.hibernate.ddl-auto=none spring.jpa.item.database-platform=org.hibernate.dialect.PostgreSQLDialect spring.sql.item.init.mode=never @@ -20,9 +19,8 @@ spring.datasource.basexml.driver-class-name=oracle.jdbc.OracleDriver spring.jpa.basexml.generate-ddl=false spring.jpa.basexml.show-sql=false -spring.jpa.basexml.properties.hibernate.dialect=fr.abes.item.core.configuration.OracleCustomDriver spring.jpa.basexml.hibernate.ddl-auto=none -spring.jpa.basexml.database-platform=org.hibernate.dialect.Oracle12cDialect +spring.jpa.basexml.database-platform=org.hibernate.dialect.OracleDialect spring.sql.basexml.init.mode=never spring.hibernate.basexml.enable_lazy_load_no_trans=false diff --git a/core/pom.xml b/core/pom.xml index c7352929..99bd76f7 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -27,7 +27,7 @@ com.oracle.database.jdbc ojdbc8 - 21.3.0.0 + 21.9.0.0 com.oracle.database.xml diff --git a/core/src/main/java/fr/abes/item/core/configuration/AbstractConfig.java b/core/src/main/java/fr/abes/item/core/configuration/AbstractConfig.java index e28ff396..63d38b1d 100644 --- a/core/src/main/java/fr/abes/item/core/configuration/AbstractConfig.java +++ b/core/src/main/java/fr/abes/item/core/configuration/AbstractConfig.java @@ -6,17 +6,15 @@ import java.util.HashMap; public abstract class AbstractConfig { - protected void configHibernate(LocalContainerEntityManagerFactoryBean em, String platform, boolean showsql, String dialect, String ddlAuto, boolean generateDdl, String initMode, boolean enableLazyLoad) { + protected void configHibernate(LocalContainerEntityManagerFactoryBean em, boolean showsql, String ddlAuto, boolean generateDdl, String initMode, boolean enableLazyLoad) { HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); vendorAdapter.setGenerateDdl(generateDdl); vendorAdapter.setShowSql(showsql); - vendorAdapter.setDatabasePlatform(platform); em.setJpaVendorAdapter(vendorAdapter); HashMap properties = new HashMap<>(); properties.put("hibernate.format_sql", true); properties.put("hibernate.hbm2ddl.auto", ddlAuto); - properties.put("hibernate.dialect", dialect); properties.put("logging.level.org.hibernate", "DEBUG"); properties.put("hibernate.type", "trace"); properties.put("spring.sql.init.mode", initMode); diff --git a/core/src/main/java/fr/abes/item/core/configuration/BaseXMLOracleConfig.java b/core/src/main/java/fr/abes/item/core/configuration/BaseXMLOracleConfig.java index 553de7b2..4b381e40 100644 --- a/core/src/main/java/fr/abes/item/core/configuration/BaseXMLOracleConfig.java +++ b/core/src/main/java/fr/abes/item/core/configuration/BaseXMLOracleConfig.java @@ -22,14 +22,10 @@ @NoArgsConstructor @BaseXMLConfiguration public class BaseXMLOracleConfig extends AbstractConfig { - @Value("${spring.jpa.basexml.database-platform}") - protected String platform; @Value("${spring.jpa.basexml.hibernate.ddl-auto}") protected String ddlAuto; @Value("${spring.jpa.basexml.generate-ddl}") protected boolean generateDdl; - @Value("${spring.jpa.basexml.properties.hibernate.dialect}") - protected String dialect; @Value("${spring.jpa.basexml.show-sql}") private boolean showsql; @Value("${spring.sql.basexml.init.mode}") @@ -50,7 +46,7 @@ public LocalContainerEntityManagerFactoryBean baseXmlEntityManager() { em.setDataSource(baseXmlDataSource()); em.setPackagesToScan( "fr.abes.item.core.entities.baseXml"); - configHibernate(em, platform, showsql, dialect, ddlAuto, generateDdl, initMode, lazyload); + configHibernate(em, showsql, ddlAuto, generateDdl, initMode, lazyload); return em; } diff --git a/core/src/main/java/fr/abes/item/core/configuration/ItemPostgreConfig.java b/core/src/main/java/fr/abes/item/core/configuration/ItemPostgreConfig.java index 18f04f44..0b598322 100644 --- a/core/src/main/java/fr/abes/item/core/configuration/ItemPostgreConfig.java +++ b/core/src/main/java/fr/abes/item/core/configuration/ItemPostgreConfig.java @@ -8,7 +8,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; -import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.orm.jpa.JpaTransactionManager; @@ -25,14 +24,10 @@ @NoArgsConstructor @ItemConfiguration public class ItemPostgreConfig extends AbstractConfig { - @Value("${spring.jpa.item.database-platform}") - protected String platform; @Value("${spring.jpa.item.hibernate.ddl-auto}") protected String ddlAuto; @Value("${spring.jpa.item.generate-ddl}") protected boolean generateDdl; - @Value("${spring.jpa.item.properties.hibernate.dialect}") - protected String dialect; @Value("${spring.jpa.item.show-sql}") private boolean showsql; @Value("${spring.sql.item.init.mode}") @@ -40,36 +35,33 @@ public class ItemPostgreConfig extends AbstractConfig { @Value("${spring.hibernate.item.enable_lazy_load_no_trans}") private boolean lazyload; - @Primary + @Bean + @Primary @ConfigurationProperties(prefix = "spring.datasource.item") public DataSource itemDataSource() { return DataSourceBuilder.create().build(); } - @Primary + @Bean + @Primary public LocalContainerEntityManagerFactoryBean itemEntityManagerFactory() { final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); em.setDataSource(itemDataSource()); em.setPackagesToScan("fr.abes.item.core.entities.item"); - configHibernate(em, platform, showsql, dialect, ddlAuto, generateDdl, initMode, lazyload); + configHibernate(em, showsql, ddlAuto, generateDdl, initMode, lazyload); return em; } - @Primary + @Bean + @Primary public JpaTransactionManager itemTransactionManager(EntityManagerFactory entityManagerFactory) { final JpaTransactionManager transactionManager = new JpaTransactionManager(); transactionManager.setEntityManagerFactory(entityManagerFactory); return transactionManager; } - - @Primary - @Bean - public PersistenceExceptionTranslationPostProcessor exceptionTranslation() { - return new PersistenceExceptionTranslationPostProcessor(); - } @Bean(name = "itemJdbcTemplate") public JdbcTemplate itemJdbcTemplate() { return new JdbcTemplate(itemDataSource());} diff --git a/core/src/main/java/fr/abes/item/core/configuration/OracleCustomDriver.java b/core/src/main/java/fr/abes/item/core/configuration/OracleCustomDriver.java deleted file mode 100644 index 73fcb1a6..00000000 --- a/core/src/main/java/fr/abes/item/core/configuration/OracleCustomDriver.java +++ /dev/null @@ -1,13 +0,0 @@ -package fr.abes.item.core.configuration; - -import org.hibernate.dialect.OracleDialect; - -public class OracleCustomDriver extends OracleDialect { - public String getQuerySequencesString() { - return "select * from all_sequences"; - } - - public SequenceInformationExtractor getSequenceInformationExtractor() { - return SequenceInformationExtractor.INSTANCE; - } -} diff --git a/core/src/main/java/fr/abes/item/core/configuration/SequenceInformationExtractor.java b/core/src/main/java/fr/abes/item/core/configuration/SequenceInformationExtractor.java deleted file mode 100644 index 8adeead9..00000000 --- a/core/src/main/java/fr/abes/item/core/configuration/SequenceInformationExtractor.java +++ /dev/null @@ -1,38 +0,0 @@ -package fr.abes.item.core.configuration; - -import org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorOracleDatabaseImpl; - -import java.math.BigDecimal; -import java.sql.ResultSet; -import java.sql.SQLException; - -public class SequenceInformationExtractor extends SequenceInformationExtractorOracleDatabaseImpl { - public static final SequenceInformationExtractor INSTANCE = new SequenceInformationExtractor(); - - private static final BigDecimal LONG_MIN_VALUE_AS_DECIMAL = BigDecimal.valueOf(Long.MIN_VALUE); - - private static final BigDecimal LONG_MAX_VALUE_AS_DECIMAL = BigDecimal.valueOf(Long.MAX_VALUE); - - @Override - protected String sequenceMaxValueColumn() { - return "max_value"; - } - - @Override - public Long resultSetMinValue(final ResultSet resultSet) throws SQLException { - final BigDecimal asDecimal = resultSet.getBigDecimal(this.sequenceMinValueColumn()); - if (asDecimal.compareTo(SequenceInformationExtractor.LONG_MIN_VALUE_AS_DECIMAL) < 0) { - return Long.MIN_VALUE; - } - return asDecimal.longValue(); - } - - @Override - public Long resultSetMaxValue(final ResultSet resultSet) throws SQLException { - final BigDecimal asDecimal = resultSet.getBigDecimal(this.sequenceMaxValueColumn()); - if (asDecimal.compareTo(SequenceInformationExtractor.LONG_MAX_VALUE_AS_DECIMAL) > 0) { - return Long.MAX_VALUE; - } - return asDecimal.longValue(); - } -} diff --git a/core/src/main/java/fr/abes/item/core/service/IDemandeService.java b/core/src/main/java/fr/abes/item/core/service/IDemandeService.java index bcfb18cd..8ebc9439 100644 --- a/core/src/main/java/fr/abes/item/core/service/IDemandeService.java +++ b/core/src/main/java/fr/abes/item/core/service/IDemandeService.java @@ -7,6 +7,7 @@ import fr.abes.item.core.exception.DemandeCheckingException; import fr.abes.item.core.exception.FileCheckingException; import fr.abes.item.core.exception.FileTypeException; +import fr.abes.item.core.exception.QueryToSudocException; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; @@ -58,4 +59,5 @@ public interface IDemandeService { List getIdNextDemandeToPlaceInDeletedStatus(); List getIdNextDemandeToDelete(); + String getQueryToSudoc(String code, String type, String[] valeurs) throws QueryToSudocException; } diff --git a/core/src/main/java/fr/abes/item/core/service/impl/DemandeExempService.java b/core/src/main/java/fr/abes/item/core/service/impl/DemandeExempService.java index 9d6e8e9b..401390ae 100644 --- a/core/src/main/java/fr/abes/item/core/service/impl/DemandeExempService.java +++ b/core/src/main/java/fr/abes/item/core/service/impl/DemandeExempService.java @@ -511,7 +511,7 @@ public DemandeExemp creerDemande(String rcr, Integer userNum) { * @param valeurZones : chaine contenant les valeurs des zones à créer (séparées par des ;) * @return l'exemplaire sous forme de chaine */ - public String creerExemplaireFromHeaderEtValeur(String header, String valeurZones, String rcr, String numExemp) throws CBSException, ZoneException { + public String creerExemplaireFromHeaderEtValeur(String header, String valeurZones, String rcr, String numExemp) throws ZoneException { String[] listeHeader = header.split(";"); String[] listeValeur = valeurZones.split(";"); String zonePrecedente = ""; @@ -699,6 +699,7 @@ public List getAllArchivedDemandesAllIln() { * @param valeur tableau des valeurs utilisées pour construire la requête * @return requête che prête à être lancée vers le CBS */ + @Override public String getQueryToSudoc(String codeIndex, String typeExemp, String[] valeur) throws QueryToSudocException { switch (typeExemp) { case "Monographies électroniques": diff --git a/core/src/main/java/fr/abes/item/core/service/impl/DemandeModifService.java b/core/src/main/java/fr/abes/item/core/service/impl/DemandeModifService.java index 6d699533..deaac6e9 100644 --- a/core/src/main/java/fr/abes/item/core/service/impl/DemandeModifService.java +++ b/core/src/main/java/fr/abes/item/core/service/impl/DemandeModifService.java @@ -12,6 +12,7 @@ import fr.abes.item.core.exception.DemandeCheckingException; import fr.abes.item.core.exception.FileCheckingException; import fr.abes.item.core.exception.FileTypeException; +import fr.abes.item.core.exception.QueryToSudocException; import fr.abes.item.core.repository.baseXml.ILibProfileDao; import fr.abes.item.core.repository.item.IDemandeModifDao; import fr.abes.item.core.service.*; @@ -572,4 +573,10 @@ public List getIdNextDemandeToDelete() { return listeDemandes; return null; } + + @Override + public String getQueryToSudoc(String code, String type, String[] valeurs) throws QueryToSudocException { + //not implemented + return null; + } } diff --git a/core/src/main/java/fr/abes/item/core/service/impl/DemandeRecouvService.java b/core/src/main/java/fr/abes/item/core/service/impl/DemandeRecouvService.java index 66208be3..bdd26272 100644 --- a/core/src/main/java/fr/abes/item/core/service/impl/DemandeRecouvService.java +++ b/core/src/main/java/fr/abes/item/core/service/impl/DemandeRecouvService.java @@ -281,7 +281,7 @@ private int getPreviousState(int etatDemande) { public int launchQueryToSudoc(String codeIndex, String valeurs) throws IOException, QueryToSudocException { String[] tabvaleurs = valeurs.split(";"); - String query = getQueryToSudoc(codeIndex, tabvaleurs); + String query = getQueryToSudoc(codeIndex, null, tabvaleurs); traitementService.getCbs().search(query); return traitementService.getCbs().getNbNotices(); } @@ -289,10 +289,12 @@ public int launchQueryToSudoc(String codeIndex, String valeurs) throws IOExcepti /** * Méthode construisant la requête che en fonction des paramètres d'une demande d'exemplarisation * @param codeIndex code de l'index de la recherche + * @param type : non utilisé dans cette implementation * @param valeur tableau des valeurs utilisées pour construire la requête * @return requête che prête à être lancée vers le CBS */ - public String getQueryToSudoc(String codeIndex, String[] valeur) throws QueryToSudocException { + @Override + public String getQueryToSudoc(String codeIndex, String type, String[] valeur) throws QueryToSudocException { return switch (codeIndex) { case "ISBN" -> "che isb " + valeur[0]; case "ISSN" -> "tno t; tdo t; che isn " + valeur[0]; diff --git a/core/src/test/java/fr/abes/item/core/service/impl/DemandeRecouvServiceTest.java b/core/src/test/java/fr/abes/item/core/service/impl/DemandeRecouvServiceTest.java index f5b3e028..da6c6771 100644 --- a/core/src/test/java/fr/abes/item/core/service/impl/DemandeRecouvServiceTest.java +++ b/core/src/test/java/fr/abes/item/core/service/impl/DemandeRecouvServiceTest.java @@ -35,7 +35,7 @@ class DemandeRecouvServiceTest { ILibProfileDao libProfileDao; @Test void getQueryToSudoc() throws QueryToSudocException { - String result = service.getQueryToSudoc("DAT", new String[]{"a", "Téoàrtü", "ÛioëÂÄ"}); + String result = service.getQueryToSudoc("DAT", null, new String[]{"a", "Téoàrtü", "ÛioëÂÄ"}); System.out.printf(result); } } \ No newline at end of file diff --git a/web/src/main/resources/application-dev.properties b/web/src/main/resources/application-dev.properties index 5e9a292a..7c15d8fb 100644 --- a/web/src/main/resources/application-dev.properties +++ b/web/src/main/resources/application-dev.properties @@ -6,7 +6,6 @@ spring.datasource.item.driver-class-name=org.postgresql.Driver spring.jpa.item.generate-ddl=false spring.jpa.item.show-sql=true -spring.jpa.item.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect spring.jpa.item.hibernate.ddl-auto=none spring.jpa.item.database-platform=org.hibernate.dialect.PostgreSQLDialect spring.sql.item.init.mode=never @@ -20,9 +19,8 @@ spring.datasource.basexml.driver-class-name=oracle.jdbc.OracleDriver spring.jpa.basexml.generate-ddl=false spring.jpa.basexml.show-sql=false -spring.jpa.basexml.properties.hibernate.dialect=fr.abes.item.core.configuration.OracleCustomDriver spring.jpa.basexml.hibernate.ddl-auto=none -spring.jpa.basexml.database-platform=org.hibernate.dialect.Oracle12cDialect +spring.jpa.basexml.database-platform=org.hibernate.dialect.OracleDialect spring.sql.basexml.init.mode=never spring.hibernate.basexml.enable_lazy_load_no_trans=false diff --git a/web/src/main/resources/application-prod.properties b/web/src/main/resources/application-prod.properties index 632a3bfc..bded5f68 100644 --- a/web/src/main/resources/application-prod.properties +++ b/web/src/main/resources/application-prod.properties @@ -6,7 +6,6 @@ spring.datasource.item.driver-class-name=org.postgresql.Driver spring.jpa.item.generate-ddl=false spring.jpa.item.show-sql=true -spring.jpa.item.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect spring.jpa.item.hibernate.ddl-auto=none spring.jpa.item.database-platform=org.hibernate.dialect.PostgreSQLDialect spring.sql.item.init.mode=never @@ -20,9 +19,8 @@ spring.datasource.basexml.driver-class-name=oracle.jdbc.OracleDriver spring.jpa.basexml.generate-ddl=false spring.jpa.basexml.show-sql=false -spring.jpa.basexml.properties.hibernate.dialect=fr.abes.item.core.configuration.OracleCustomDriver spring.jpa.basexml.hibernate.ddl-auto=none -spring.jpa.basexml.database-platform=org.hibernate.dialect.Oracle12cDialect +spring.jpa.basexml.database-platform=org.hibernate.dialect.OracleDialect spring.sql.basexml.init.mode=never spring.hibernate.basexml.enable_lazy_load_no_trans=false diff --git a/web/src/main/resources/application-test.properties b/web/src/main/resources/application-test.properties index 34f95c7b..c1d99cc6 100644 --- a/web/src/main/resources/application-test.properties +++ b/web/src/main/resources/application-test.properties @@ -6,7 +6,6 @@ spring.datasource.item.driver-class-name=org.postgresql.Driver spring.jpa.item.generate-ddl=false spring.jpa.item.show-sql=true -spring.jpa.item.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect spring.jpa.item.hibernate.ddl-auto=none spring.jpa.item.database-platform=org.hibernate.dialect.PostgreSQLDialect spring.sql.item.init.mode=never @@ -20,9 +19,8 @@ spring.datasource.basexml.driver-class-name=oracle.jdbc.OracleDriver spring.jpa.basexml.generate-ddl=false spring.jpa.basexml.show-sql=false -spring.jpa.basexml.properties.hibernate.dialect=fr.abes.item.core.configuration.OracleCustomDriver spring.jpa.basexml.hibernate.ddl-auto=none -spring.jpa.basexml.database-platform=org.hibernate.dialect.Oracle12cDialect +spring.jpa.basexml.database-platform=org.hibernate.dialect.OracleDialect spring.sql.basexml.init.mode=never spring.hibernate.basexml.enable_lazy_load_no_trans=false