diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDto.java b/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDto.java index 292af85..efb7e54 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDto.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDto.java @@ -19,15 +19,13 @@ public abstract class LigneFichierDto implements Serializable, ILigneFichierDtoS private Integer position; private Integer refDemande; private String retourSudoc; - private String valeurZone; - LigneFichierDto(Integer numLigneFichier, Integer traitee, Integer position, Integer refDemande, String retourSudoc, String valeurZone) { + LigneFichierDto(Integer numLigneFichier, Integer traitee, Integer position, Integer refDemande, String retourSudoc) { this.numLigneFichier = numLigneFichier; this.traitee = traitee; this.position = position; this.refDemande = refDemande; this.retourSudoc = retourSudoc; - this.valeurZone = valeurZone; } public abstract TYPE_DEMANDE getTypeDemande(); diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoExemp.java b/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoExemp.java index 950eeab..9d26f1e 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoExemp.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoExemp.java @@ -8,28 +8,28 @@ import lombok.NoArgsConstructor; import lombok.Setter; +@Getter +@Setter @NoArgsConstructor public class LigneFichierDtoExemp extends LigneFichierDto implements ILigneFichierDtoService { - @Getter @Setter + private String requete; - @Getter @Setter private String indexRecherche; - @Getter @Setter private String listePpn; - @Getter @Setter private String numExemplaire; - @Getter @Setter private String L035; - @Setter private Integer nbReponses; + private String valeurZone; + public LigneFichierDtoExemp(LigneFichierExemp ligneFichierExemp) { - super(ligneFichierExemp.getNumLigneFichier(), ligneFichierExemp.getTraitee(), ligneFichierExemp.getPosition(), ligneFichierExemp.getId(), ligneFichierExemp.getRetourSudoc(), ligneFichierExemp.getValeurZone()); + super(ligneFichierExemp.getNumLigneFichier(), ligneFichierExemp.getTraitee(), ligneFichierExemp.getPosition(), ligneFichierExemp.getId(), ligneFichierExemp.getRetourSudoc()); + this.valeurZone = ligneFichierExemp.getValeurZone(); this.indexRecherche = ligneFichierExemp.getIndexRecherche(); this.numExemplaire = ligneFichierExemp.getNumExemplaire(); this.L035 = ligneFichierExemp.getL035(); diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoModif.java b/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoModif.java index 4db76f6..13a12de 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoModif.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoModif.java @@ -14,8 +14,11 @@ public class LigneFichierDtoModif extends LigneFichierDto implements ILigneFichi private String rcr; private String epn; + private String valeurZone; + public LigneFichierDtoModif(LigneFichierModif ligneFichierModif) { - super(ligneFichierModif.getNumLigneFichier(), ligneFichierModif.getTraitee(), ligneFichierModif.getPosition(), ligneFichierModif.getId(), ligneFichierModif.getRetourSudoc(), ligneFichierModif.getValeurZone()); + super(ligneFichierModif.getNumLigneFichier(), ligneFichierModif.getTraitee(), ligneFichierModif.getPosition(), ligneFichierModif.getId(), ligneFichierModif.getRetourSudoc()); + this.valeurZone = ligneFichierModif.getValeurZone(); this.ppn = ligneFichierModif.getPpn(); this.rcr = ligneFichierModif.getRcr(); this.epn = ligneFichierModif.getEpn(); diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoRecouv.java b/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoRecouv.java index 6666e5d..03118d6 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoRecouv.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoRecouv.java @@ -20,7 +20,7 @@ public class LigneFichierDtoRecouv extends LigneFichierDto implements ILigneFich private String listePpn; public LigneFichierDtoRecouv(LigneFichierRecouv ligneFichierRecouv) { - super(ligneFichierRecouv.getNumLigneFichier(), ligneFichierRecouv.getTraitee(), ligneFichierRecouv.getPosition(), ligneFichierRecouv.getId(), ligneFichierRecouv.getRetourSudoc(), ligneFichierRecouv.getValeurZone()); + super(ligneFichierRecouv.getNumLigneFichier(), ligneFichierRecouv.getTraitee(), ligneFichierRecouv.getPosition(), ligneFichierRecouv.getId(), ligneFichierRecouv.getRetourSudoc()); this.indexRecherche = ligneFichierRecouv.getIndexRecherche(); this.nbReponses = ligneFichierRecouv.getNbReponses(); this.listePpn = ligneFichierRecouv.getListePpn(); diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoRecouvMapper.java b/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoRecouvMapper.java index fbd7c78..11900b8 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoRecouvMapper.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoRecouvMapper.java @@ -16,7 +16,6 @@ public LigneFichier getLigneFichierEntity(LigneFichierDto lfd) { lf.setIndexRecherche(lfdRecouv.getIndexRecherche()); lf.setListePpn(lfdRecouv.getListePpn()); lf.setNbReponses(lfdRecouv.getNbReponses()); - lf.setValeurZone(lfdRecouv.getValeurZone()); lf.setTraitee(lfdRecouv.getTraitee()); lf.setPosition(lfdRecouv.getPosition()); lf.setRetourSudoc(lfdRecouv.getRetourSudoc()); diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoSupp.java b/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoSupp.java index 473578c..4ee6616 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoSupp.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoSupp.java @@ -15,7 +15,7 @@ public class LigneFichierDtoSupp extends LigneFichierDto implements ILigneFichie private String epn; public LigneFichierDtoSupp(LigneFichierSupp ligneFichierSupp) { - super(ligneFichierSupp.getNumLigneFichier(), ligneFichierSupp.getTraitee(), ligneFichierSupp.getPosition(), ligneFichierSupp.getId(), ligneFichierSupp.getRetourSudoc(), ligneFichierSupp.getValeurZone()); + super(ligneFichierSupp.getNumLigneFichier(), ligneFichierSupp.getTraitee(), ligneFichierSupp.getPosition(), ligneFichierSupp.getId(), ligneFichierSupp.getRetourSudoc()); this.ppn = ligneFichierSupp.getPpn(); this.rcr = ligneFichierSupp.getRcr(); this.epn = ligneFichierSupp.getEpn(); diff --git a/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoSuppMapper.java b/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoSuppMapper.java index 13f80ce..93aac73 100644 --- a/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoSuppMapper.java +++ b/batch/src/main/java/fr/abes/item/batch/traitement/model/LigneFichierDtoSuppMapper.java @@ -16,7 +16,6 @@ public LigneFichier getLigneFichierEntity(LigneFichierDto lfd) lf.setPpn(lfdSupp.getPpn()); lf.setEpn(lfdSupp.getEpn()); lf.setRcr(lfdSupp.getRcr()); - lf.setValeurZone(lfdSupp.getValeurZone()); lf.setTraitee(lfdSupp.getTraitee()); lf.setPosition(lfdSupp.getPosition()); lf.setRetourSudoc(lfdSupp.getRetourSudoc()); 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 3e96619..58f6f62 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 @@ -90,6 +90,8 @@ public class Constant implements Serializable { public static final String LIGNE_FICHIER_SERVICE_PATTERN = "^(?\\d{1,9}X?);(?\\d{8,9});(?\\d{1,9}X?);(?.+)?"; + public static final String LIGNE_FICHIER_SERVICE_PATTERN_SANS_VALEUR = "^(?\\d{1,9}X?);(?\\d{8,9});(?\\d{1,9}X?)?"; + /**Specific errors on file format*/ public static final String ERR_FILE_NOT_FOUND = "Fichier introuvable."; public static final String ERR_FILE_NOINDEX = "L'en-tête du fichier est non conforme. Il ne contient pas d’index de recherche."; diff --git a/core/src/main/java/fr/abes/item/core/entities/item/LigneFichier.java b/core/src/main/java/fr/abes/item/core/entities/item/LigneFichier.java index 53c7d6b..c85566c 100644 --- a/core/src/main/java/fr/abes/item/core/entities/item/LigneFichier.java +++ b/core/src/main/java/fr/abes/item/core/entities/item/LigneFichier.java @@ -14,8 +14,6 @@ public abstract class LigneFichier implements GenericEntity { @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "NUM_LIGNEFICHIER") protected Integer numLigneFichier; - @Column(name = "VALEUR_ZONE", length = 2000) - protected String valeurZone; @Column(name="TRAITEE") protected Integer traitee; @Column(name="POS") @@ -24,8 +22,7 @@ public abstract class LigneFichier implements GenericEntity { protected String retourSudoc; - public LigneFichier(String valeurZone, Integer traitee, Integer position, String retourSudoc) { - this.valeurZone = valeurZone; + public LigneFichier(Integer traitee, Integer position, String retourSudoc) { this.traitee = traitee; this.position = position; this.retourSudoc = retourSudoc; diff --git a/core/src/main/java/fr/abes/item/core/entities/item/LigneFichierExemp.java b/core/src/main/java/fr/abes/item/core/entities/item/LigneFichierExemp.java index 91c1997..13ed9e9 100644 --- a/core/src/main/java/fr/abes/item/core/entities/item/LigneFichierExemp.java +++ b/core/src/main/java/fr/abes/item/core/entities/item/LigneFichierExemp.java @@ -13,6 +13,9 @@ @NoArgsConstructor @Table(name="LIGNE_FICHIER_EXEMP") public class LigneFichierExemp extends LigneFichier implements Serializable, ILigneFichier { + + @Column(name = "VALEUR_ZONE", length = 2000) + protected String valeurZone; @Column(name = "INDEX_RECHERCHE") private String indexRecherche; @@ -34,7 +37,8 @@ public class LigneFichierExemp extends LigneFichier implements Serializable, ILi public LigneFichierExemp(String indexRecherche, String valeurZone, Integer traitee, Integer position, String retourSudoc, String numExemplaire, DemandeExemp demandeExemp, String listePpn) { - super(valeurZone, traitee, position, retourSudoc); + super(traitee, position, retourSudoc); + this.valeurZone = valeurZone; this.indexRecherche = indexRecherche; this.numExemplaire = numExemplaire; this.demandeExemp = demandeExemp; diff --git a/core/src/main/java/fr/abes/item/core/entities/item/LigneFichierModif.java b/core/src/main/java/fr/abes/item/core/entities/item/LigneFichierModif.java index c1e3ca6..de853de 100644 --- a/core/src/main/java/fr/abes/item/core/entities/item/LigneFichierModif.java +++ b/core/src/main/java/fr/abes/item/core/entities/item/LigneFichierModif.java @@ -13,6 +13,9 @@ @Table(name= "LIGNE_FICHIER_MODIF") @Getter @Setter public class LigneFichierModif extends LigneFichier implements Serializable, ILigneFichier { + + @Column(name = "VALEUR_ZONE", length = 2000) + protected String valeurZone; @Column(name="PPN") private String ppn; @Column(name="RCR") @@ -26,7 +29,8 @@ public class LigneFichierModif extends LigneFichier implements Serializable, ILi public LigneFichierModif(String ppn, String rcr, String epn, String valeurZone, Integer position, Integer traitee, String retourSudoc, DemandeModif demandeModif) { - super(valeurZone, traitee, position, retourSudoc); + super(traitee, position, retourSudoc); + this.valeurZone = valeurZone; this.ppn = ppn; this.rcr = rcr; this.epn = epn; diff --git a/core/src/main/java/fr/abes/item/core/entities/item/LigneFichierRecouv.java b/core/src/main/java/fr/abes/item/core/entities/item/LigneFichierRecouv.java index f969a9a..354260f 100644 --- a/core/src/main/java/fr/abes/item/core/entities/item/LigneFichierRecouv.java +++ b/core/src/main/java/fr/abes/item/core/entities/item/LigneFichierRecouv.java @@ -27,7 +27,7 @@ public class LigneFichierRecouv extends LigneFichier implements Serializable, IL private DemandeRecouv demandeRecouv; public LigneFichierRecouv(String indexRecherche, Integer traitee, Integer position, String retourSudoc, DemandeRecouv demandeRecouv) { - super("", traitee, position, retourSudoc); + super(traitee, position, retourSudoc); this.indexRecherche = indexRecherche; this.demandeRecouv = demandeRecouv; } diff --git a/core/src/main/java/fr/abes/item/core/entities/item/LigneFichierSupp.java b/core/src/main/java/fr/abes/item/core/entities/item/LigneFichierSupp.java index 7f9f638..af47309 100644 --- a/core/src/main/java/fr/abes/item/core/entities/item/LigneFichierSupp.java +++ b/core/src/main/java/fr/abes/item/core/entities/item/LigneFichierSupp.java @@ -24,9 +24,9 @@ public class LigneFichierSupp extends LigneFichier implements Serializable, ILig private DemandeSupp demandeSupp; public LigneFichierSupp(String ppn, - String rcr, String epn, String valeurZone, Integer position, + String rcr, String epn, Integer position, Integer traitee, String retourSudoc, DemandeSupp demandeSupp) { - super(valeurZone, traitee, position, retourSudoc); + super(traitee, position, retourSudoc); this.ppn = ppn; this.rcr = rcr; this.epn = epn; diff --git a/core/src/main/java/fr/abes/item/core/service/impl/LigneFichierSuppService.java b/core/src/main/java/fr/abes/item/core/service/impl/LigneFichierSuppService.java index b33f041..4628c41 100644 --- a/core/src/main/java/fr/abes/item/core/service/impl/LigneFichierSuppService.java +++ b/core/src/main/java/fr/abes/item/core/service/impl/LigneFichierSuppService.java @@ -49,12 +49,11 @@ public void saveFile(File file, Demande demande){ int position = 0; while ((line = reader.readLine()) != null){ - Pattern regexp = Pattern.compile(Constant.LIGNE_FICHIER_SERVICE_PATTERN); + Pattern regexp = Pattern.compile(Constant.LIGNE_FICHIER_SERVICE_PATTERN_SANS_VALEUR); Matcher colsFinded = regexp.matcher(line); String ppn = ""; String rcr = ""; String epn = ""; - String valeur = ""; while (colsFinded.find()) { if (colsFinded.group("ppn") != null) ppn = Utilitaires.addZeros(colsFinded.group("ppn"), Constant.TAILLEMAX); @@ -62,11 +61,11 @@ public void saveFile(File file, Demande demande){ rcr = Utilitaires.addZeros(colsFinded.group("rcr"), Constant.TAILLEMAX); if (colsFinded.group("epn") != null) epn = Utilitaires.addZeros(colsFinded.group("epn"), Constant.TAILLEMAX); - if (colsFinded.group("valeur") != null) - valeur = colsFinded.group("valeur"); } - LigneFichierSupp lf = new LigneFichierSupp(ppn, rcr, epn, valeur, position++, 0, "", demandeSupp); - dao.save(lf); + if (!epn.isEmpty()) { + LigneFichierSupp lf = new LigneFichierSupp(ppn, rcr, epn, position++, 0, "", demandeSupp); + dao.save(lf); + } } } catch (IOException e){ log.error(e.getMessage());