Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Item 204 back modifier linsertion du fichier enrichi dans la bdd #38

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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());
Expand Down
2 changes: 2 additions & 0 deletions core/src/main/java/fr/abes/item/core/constant/Constant.java
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ public class Constant implements Serializable {

public static final String LIGNE_FICHIER_SERVICE_PATTERN = "^(?<ppn>\\d{1,9}X?);(?<rcr>\\d{8,9});(?<epn>\\d{1,9}X?);(?<valeur>.+)?";

public static final String LIGNE_FICHIER_SERVICE_PATTERN_SANS_VALEUR = "^(?<ppn>\\d{1,9}X?);(?<rcr>\\d{8,9});(?<epn>\\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.";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ public abstract class LigneFichier implements GenericEntity<Integer> {
@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")
Expand All @@ -24,8 +22,7 @@ public abstract class LigneFichier implements GenericEntity<Integer> {
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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand All @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,24 +49,23 @@ 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);
if (colsFinded.group("rcr") != null)
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());
Expand Down
Loading