/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package com.megatim.fdxconvert.model; import com.megatim.fdxconvert.pojo.Delimiteur; import com.megatimfx.common.validationgroups.ViewFormValidationGroup; import com.megatim.fdxconvert.enums.DataType; import com.megatim.fdxconvert.model.constraint.ConfigurationConversionDelimiterConstraint; import java.io.Serializable; import java.time.LocalDateTime; import java.util.HashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.Transient; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.annotations.CreationTimestamp; /** * * @author ASUS */ @Entity @Getter @Setter @NoArgsConstructor @ConfigurationConversionDelimiterConstraint(groups = {ViewFormValidationGroup.class}) public class ConversionModel implements Serializable { @Id @GeneratedValue private Long id; @NotEmpty(message = "Le libellé est obligatoire", groups = {ViewFormValidationGroup.class}) private String libelle; @ManyToOne @JoinColumn(name = "typefichier_code") @NotNull(message = "Le typefichier est obligatoire", groups = {ViewFormValidationGroup.class}) private TypeFichier typeFichier; @Enumerated(EnumType.STRING) @NotNull(message = "Le format du fichier de données est obligatoire", groups = {ViewFormValidationGroup.class}) private DataType dataType; @Transient private Delimiteur delimiteurLigne; @Transient private Delimiteur delimiteurColonne; private String codeDelimiteurLigne; private String codeDelimiteurColonne; private boolean headerPresent; private boolean strictValidation; private String repertoireSource; private String repertoireDestination; private String repertoireErreur; @CreationTimestamp private LocalDateTime dateCreation; @OneToMany(mappedBy = "configurationConversion", fetch = FetchType.EAGER, cascade = CascadeType.ALL) private Set metaAlphaNumeriqueFields = new HashSet<>(); @Override public String toString() { return this.getTypeFichier() +" : "+ this.getDataType().toString(); } }