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 extends Demande> getIdNextDemandeToPlaceInDeletedStatus();
List extends Demande> 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