From 1ad32aa373f03485a857751fff2690c1a0ce4e71 Mon Sep 17 00:00:00 2001 From: Github Action Date: Fri, 15 Nov 2024 09:08:51 +0000 Subject: [PATCH 01/10] Version 3.2.1-SNAPSHOT [skip ci] --- batch/pom.xml | 2 +- core/pom.xml | 2 +- pom.xml | 2 +- web/pom.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/batch/pom.xml b/batch/pom.xml index 47c5e2a..1023f84 100644 --- a/batch/pom.xml +++ b/batch/pom.xml @@ -3,7 +3,7 @@ itembackoffice fr.abes.item - 3.2.0 + 3.2.1-SNAPSHOT 4.0.0 jar diff --git a/core/pom.xml b/core/pom.xml index 27b9603..9ce0146 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -3,7 +3,7 @@ itembackoffice fr.abes.item - 3.2.0 + 3.2.1-SNAPSHOT 4.0.0 jar diff --git a/pom.xml b/pom.xml index fddf322..cbeda1d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ fr.abes.item itembackoffice - 3.2.0 + 3.2.1-SNAPSHOT core web diff --git a/web/pom.xml b/web/pom.xml index 794af9b..ca19dd8 100644 --- a/web/pom.xml +++ b/web/pom.xml @@ -3,7 +3,7 @@ itembackoffice fr.abes.item - 3.2.0 + 3.2.1-SNAPSHOT 4.0.0 jar From 34613cfa62ff647b8cca22f4411d1908b8a0b79c Mon Sep 17 00:00:00 2001 From: pierre-maraval Date: Fri, 15 Nov 2024 14:13:43 +0100 Subject: [PATCH 02/10] Fix : version accesCbs --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index cbeda1d..8212a06 100644 --- a/pom.xml +++ b/pom.xml @@ -77,7 +77,7 @@ fr.abes.api-communes AccesCbs - 2.5.74 + 2.5.76 From f36334ba3b73a066d2eec13a7e0af7dc9381ddaf Mon Sep 17 00:00:00 2001 From: pierre-maraval Date: Fri, 15 Nov 2024 14:16:20 +0100 Subject: [PATCH 03/10] FEAT : Ajout label PPN dans sauvegarde fichier txt --- .../fr/abes/item/core/components/FichierSauvegardeSuppTxt.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppTxt.java b/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppTxt.java index ee00861..60e0509 100644 --- a/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppTxt.java +++ b/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppTxt.java @@ -27,7 +27,7 @@ public void writePpnInFile(String ppn, Exemplaire exemplaire) throws StorageExce try (FileWriter fw = new FileWriter(this.getPath().resolve(this.getFilename()).toString(), true); BufferedWriter bw = new BufferedWriter(fw); PrintWriter out = new PrintWriter(bw)) { - out.println(ppn); + out.println("PPN " + ppn); out.print("\n"); out.println(exemplaire); out.println("\n"); From e52cfddbc6aa86bf2fae1e64fb15c591a4c12549 Mon Sep 17 00:00:00 2001 From: pierre-maraval Date: Fri, 15 Nov 2024 14:41:47 +0100 Subject: [PATCH 04/10] =?UTF-8?q?FEAT=20:=20Ajout=20RCR=20et=20EPN=20dans?= =?UTF-8?q?=20fichier=20sauvegarde=20csv=20Refactor=20:=20suppression=20m?= =?UTF-8?q?=C3=A9thodes=20doublons=20dans=20DemandeSuppService,=20correcti?= =?UTF-8?q?on=20des=20appels?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../item/core/components/FichierSauvegardeSuppCsv.java | 7 ++++--- .../fr/abes/item/core/service/ReferenceService.java | 2 ++ .../item/core/service/impl/DemandeSuppService.java | 10 +--------- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java b/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java index 919c7c9..cec1f56 100644 --- a/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java +++ b/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java @@ -38,10 +38,11 @@ public void writePpnInFile(String ppn, Exemplaire exemplaire, String typeDoc) th PrintWriter out = new PrintWriter(bw)) { // création de la liste de référence pour trouver l'emplacement de chaque zone et sous-zone List listDeReference = referenceService.constructHeaderCsv(); - listDeReference.remove(0); - listDeReference.remove(0); + listDeReference.subList(0, 4).clear(); // ajout de la ligne - out.println(typeDoc + ";" + ppn + ";" + gererZones(listDeReference, exemplaire)); + String rcr = exemplaire.findZone("930", 0).findSubLabel("$b"); + String epn = exemplaire.findZone("A99", 0).getValeur(); + out.println(typeDoc + ";" + ppn + ";" + rcr + ";" + epn + ";" + gererZones(listDeReference, exemplaire)); } catch (IOException ex) { throw new StorageException("Impossible d'écrire dans le fichier de sauvegarde csv"); } diff --git a/core/src/main/java/fr/abes/item/core/service/ReferenceService.java b/core/src/main/java/fr/abes/item/core/service/ReferenceService.java index b914872..859ba6e 100644 --- a/core/src/main/java/fr/abes/item/core/service/ReferenceService.java +++ b/core/src/main/java/fr/abes/item/core/service/ReferenceService.java @@ -72,6 +72,8 @@ public List constructHeaderCsv() { List headerCsv = new ArrayList<>(); headerCsv.add("TYPE (008)"); headerCsv.add("PPN"); + headerCsv.add("RCR"); + headerCsv.add("EPN"); for (ZonesAutorisees zonesAutorisees: listZonesAutorisees) { if(!zonesAutorisees.getLabelZone().startsWith("L")){ headerCsv.add(zonesAutorisees.getLabelZone()+zonesAutorisees.getSousZonesAutorisees().remove(0).getLibelle()); diff --git a/core/src/main/java/fr/abes/item/core/service/impl/DemandeSuppService.java b/core/src/main/java/fr/abes/item/core/service/impl/DemandeSuppService.java index 8601980..3e4c4f3 100644 --- a/core/src/main/java/fr/abes/item/core/service/impl/DemandeSuppService.java +++ b/core/src/main/java/fr/abes/item/core/service/impl/DemandeSuppService.java @@ -355,7 +355,7 @@ public String[] getNoticeExemplaireAvantApres(Demande demande, LigneFichier lign DemandeSupp demandeSupp = (DemandeSupp) demande; try { traitementService.authenticate("M" + demandeSupp.getRcr()); - List exemplairesExistants = getExemplairesExistants(ligneFichierSupp); + List exemplairesExistants = getExemplairesExistants(ligneFichierSupp.getPpn()); //On ne conserve que les EPN de son RCR exemplairesExistants = exemplairesExistants.stream().filter(exemplaire -> exemplaire.findZone("930", 0).findSubLabel("$b").equals(demandeSupp.getRcr())).toList(); if (exemplairesExistants.isEmpty()) { @@ -393,15 +393,7 @@ public String getTypeDocumentFromPpn(String ppn) throws CBSException, IOExceptio }; } - public List getExemplairesExistants(LigneFichierSupp ligneFichierSupp) throws IOException, QueryToSudocException, CBSException, ZoneException { - return getExemplairesExistants(ligneFichierSupp.getPpn()); - } - public List getExemplairesExistants(String ppn) throws IOException, QueryToSudocException, CBSException, ZoneException { - return getExemplairesExistantsInternal(ppn); - } - - private List getExemplairesExistantsInternal(String ppn) throws IOException, QueryToSudocException, CBSException, ZoneException { String query = "che ppn " + ppn; traitementService.getCbs().search(query); int nbReponses = traitementService.getCbs().getNbNotices(); From 221d5d030c5680665d201df47c9204789eb51bc0 Mon Sep 17 00:00:00 2001 From: pierre-maraval Date: Fri, 15 Nov 2024 15:00:42 +0100 Subject: [PATCH 05/10] FIX : TU --- .../fr/abes/item/core/service/ReferenceServiceTest.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/core/src/test/java/fr/abes/item/core/service/ReferenceServiceTest.java b/core/src/test/java/fr/abes/item/core/service/ReferenceServiceTest.java index 9dc7922..c919cab 100644 --- a/core/src/test/java/fr/abes/item/core/service/ReferenceServiceTest.java +++ b/core/src/test/java/fr/abes/item/core/service/ReferenceServiceTest.java @@ -1,10 +1,7 @@ package fr.abes.item.core.service; -import fr.abes.cbs.exception.CBSException; -import fr.abes.cbs.exception.ZoneException; import fr.abes.item.core.entities.item.SousZonesAutorisees; import fr.abes.item.core.entities.item.ZonesAutorisees; -import fr.abes.item.core.exception.QueryToSudocException; import fr.abes.item.core.repository.item.IEtatDemandeDao; import fr.abes.item.core.repository.item.ITraitementDao; import fr.abes.item.core.repository.item.ITypeExempDao; @@ -15,7 +12,6 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; -import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -65,7 +61,7 @@ void constructHeaderCsv() { Mockito.when(iZonesAutoriseesDao.findAll()).thenReturn(zonesAutoriseesList); List test = referenceService.constructHeaderCsv(); - List reference = List.of("TYPE (008);PPN;917$a;930$c;$d;".split(";")); + List reference = List.of("TYPE (008);PPN;RCR;EPN;917$a;930$c;$d;".split(";")); assertEquals(reference,test); From e6d0788a68d9344e2b05fb41f30607583dcc68f0 Mon Sep 17 00:00:00 2001 From: Eryne Kachetel-Langue Date: Fri, 22 Nov 2024 10:31:44 +0100 Subject: [PATCH 06/10] =?UTF-8?q?FIX=20ITEM-400-back-controle-lexistence-d?= =?UTF-8?q?un-fichier-de-sauvegarde-csv-avant-ecriture=20:=20=20=20=20=20?= =?UTF-8?q?=20-=20ajout=20d'une=20m=C3=A9thode=20isHeaderAlreadyExist()=20?= =?UTF-8?q?dans=20FichierSauvegardeSuppCsv.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/FichierSauvegardeSuppCsv.java | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java b/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java index 919c7c9..c3191a9 100644 --- a/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java +++ b/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java @@ -13,10 +13,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; -import java.io.BufferedWriter; -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; +import java.io.*; import java.nio.file.Path; import java.util.List; @@ -110,13 +107,25 @@ public void checkFileContent(Demande d) throws FileCheckingException, IOExceptio } public void writeHeader() { - try (FileWriter fw = new FileWriter(this.getPath().resolve(this.getFilename()).toString(), true); - BufferedWriter bw = new BufferedWriter(fw); - PrintWriter out = new PrintWriter(bw)) { - // ajout de la ligne - out.println(String.join(";", this.referenceService.constructHeaderCsv())); - } catch (IOException ex) { - throw new StorageException("Impossible d'écrire dans le fichier de sauvegarde csv"); + if (!isHeaderAlreadyExist()) { + try (FileWriter fw = new FileWriter(this.getPath().resolve(this.getFilename()).toString(), true); + BufferedWriter bw = new BufferedWriter(fw); + PrintWriter out = new PrintWriter(bw)) { + // ajout de la ligne + out.println(String.join(";", this.referenceService.constructHeaderCsv())); + } catch (IOException ex) { + throw new StorageException("Impossible d'écrire dans le fichier de sauvegarde csv"); + } + } + } + + private boolean isHeaderAlreadyExist() { + try (FileReader fr = new FileReader(this.getPath().resolve(this.getFilename()).toString()); + BufferedReader br = new BufferedReader(fr)) { + String line = br.readLine(); + return line != null && line.startsWith("TYPE (008);PPN;"); + } catch (IOException ex) { + throw new RuntimeException(ex); } } } From 9405c32ded1ffc7e3bd24e88e1771557b5e7d6c9 Mon Sep 17 00:00:00 2001 From: Eryne Kachetel-Langue Date: Fri, 22 Nov 2024 10:48:05 +0100 Subject: [PATCH 07/10] =?UTF-8?q?FIX=20ITEM-400-back-controle-lexistence-d?= =?UTF-8?q?un-fichier-de-sauvegarde-csv-avant-ecriture=20:=20=20=20=20=20?= =?UTF-8?q?=20-=20ajout=20d'une=20m=C3=A9thode=20isHeaderAlreadyExist()=20?= =?UTF-8?q?dans=20FichierSauvegardeSuppCsv.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../abes/item/core/components/FichierSauvegardeSuppCsv.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java b/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java index c3191a9..08e3ac1 100644 --- a/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java +++ b/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java @@ -107,7 +107,7 @@ public void checkFileContent(Demande d) throws FileCheckingException, IOExceptio } public void writeHeader() { - if (!isHeaderAlreadyExist()) { + if (!isHeaderExist()) { try (FileWriter fw = new FileWriter(this.getPath().resolve(this.getFilename()).toString(), true); BufferedWriter bw = new BufferedWriter(fw); PrintWriter out = new PrintWriter(bw)) { @@ -119,7 +119,7 @@ public void writeHeader() { } } - private boolean isHeaderAlreadyExist() { + private boolean isHeaderExist() { try (FileReader fr = new FileReader(this.getPath().resolve(this.getFilename()).toString()); BufferedReader br = new BufferedReader(fr)) { String line = br.readLine(); From 29fa1d06c31677e69677f5b71ee12a16b3aa9ec0 Mon Sep 17 00:00:00 2001 From: pierre-maraval Date: Wed, 27 Nov 2024 10:29:15 +0100 Subject: [PATCH 08/10] FIX : conf log4j --- batch/src/main/resources/log4j2.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/batch/src/main/resources/log4j2.xml b/batch/src/main/resources/log4j2.xml index d6c18ce..e1ec43b 100644 --- a/batch/src/main/resources/log4j2.xml +++ b/batch/src/main/resources/log4j2.xml @@ -5,7 +5,7 @@ + pattern="%style{%d{ISO8601}}{white} %highlight{%-5level }[%style{%t}{bright,blue}] %style{%C{1.}}{dark,yellow}: %msg%n%throwable" /> @@ -14,6 +14,7 @@ + From 33a60b95a485f6156264eefae3df12a97c220ab6 Mon Sep 17 00:00:00 2001 From: Eryne Kachetel-Langue Date: Wed, 27 Nov 2024 11:34:15 +0100 Subject: [PATCH 09/10] =?UTF-8?q?FIX=20ITEM-400-back-controle-lexistence-d?= =?UTF-8?q?un-fichier-de-sauvegarde-csv-avant-ecriture=20:=20=20=20=20=20?= =?UTF-8?q?=20-=20ajout=20d'une=20constante=20dans=20Constant.java=20=20?= =?UTF-8?q?=20=20=20=20-=20modification=20de=20la=20remont=C3=A9e=20d'une?= =?UTF-8?q?=20erreur=20dans=20FichierSauvegardeSuppCsv.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../abes/item/core/components/FichierSauvegardeSuppCsv.java | 6 +++--- core/src/main/java/fr/abes/item/core/constant/Constant.java | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java b/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java index 08e3ac1..dedc42d 100644 --- a/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java +++ b/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java @@ -114,7 +114,7 @@ public void writeHeader() { // ajout de la ligne out.println(String.join(";", this.referenceService.constructHeaderCsv())); } catch (IOException ex) { - throw new StorageException("Impossible d'écrire dans le fichier de sauvegarde csv"); + throw new StorageException(Constant.ERR_FILE_WRITING + "de sauvegarde csv"); } } } @@ -124,8 +124,8 @@ private boolean isHeaderExist() { BufferedReader br = new BufferedReader(fr)) { String line = br.readLine(); return line != null && line.startsWith("TYPE (008);PPN;"); - } catch (IOException ex) { - throw new RuntimeException(ex); + } catch (IOException ex) { + throw new StorageException(Constant.ERR_FILE_WRITING + " de sauvegarde csv"); } } } diff --git a/core/src/main/java/fr/abes/item/core/constant/Constant.java b/core/src/main/java/fr/abes/item/core/constant/Constant.java index 381db2e..b811a14 100644 --- a/core/src/main/java/fr/abes/item/core/constant/Constant.java +++ b/core/src/main/java/fr/abes/item/core/constant/Constant.java @@ -142,6 +142,7 @@ public class Constant implements Serializable { public static final String ERR_FILE_STORAGE_FILE = "Echec de stockage du fichier suivant : "; public static final String ERR_FILE_STORAGE_FILE_UNREADABLE = "Fichier illisible, verifier que le format du fichier est bien un fichier texte."; public static final String ERR_FILE_READING = "Ne peut pas lire le fichier : "; + public static final String ERR_FILE_WRITING = "Echec de l'écriture dans le fichier "; /**Specific errors on file checking*/ public static final String ERR_FILE_LIGNE_ANORNALE = "L'en-tête du fichier est non conforme : il contient des caractères parasites. Merci de consulter la documentation utilisateur à cette adresse : http://documentation.abes.fr/aideitem/index.html"; From d8580d4f3280cb9af0d760fc5646d202da4546c6 Mon Sep 17 00:00:00 2001 From: Eryne Kachetel-Langue Date: Wed, 27 Nov 2024 11:40:10 +0100 Subject: [PATCH 10/10] =?UTF-8?q?FIX=20ITEM-400-back-controle-lexistence-d?= =?UTF-8?q?un-fichier-de-sauvegarde-csv-avant-ecriture=20:=20=20=20=20=20?= =?UTF-8?q?=20-=20modification=20de=20la=20remont=C3=A9e=20d'une=20erreur?= =?UTF-8?q?=20dans=20FichierSauvegardeSuppCsv.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/abes/item/core/components/FichierSauvegardeSuppCsv.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java b/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java index dedc42d..3a484d4 100644 --- a/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java +++ b/core/src/main/java/fr/abes/item/core/components/FichierSauvegardeSuppCsv.java @@ -125,7 +125,7 @@ private boolean isHeaderExist() { String line = br.readLine(); return line != null && line.startsWith("TYPE (008);PPN;"); } catch (IOException ex) { - throw new StorageException(Constant.ERR_FILE_WRITING + " de sauvegarde csv"); + throw new StorageException(Constant.ERR_FILE_READING + " de sauvegarde csv"); } } }