package com.megatim.fdxconsultation.model.supervision; import java.io.Serializable; import java.util.HashSet; import java.util.List; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.ElementCollection; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.SequenceGenerator; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import lombok.Getter; import lombok.Setter; /** * * @author ASUS */ @Getter @Setter @Entity public class StandaloneServerStateEntity implements Serializable { @SequenceGenerator(name = "SEQ_STANDALONE_SERVER_STATE", sequenceName = "SEQ_STANDALONE_SERVER_STATE", allocationSize = 1, initialValue = 1) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_STANDALONE_SERVER_STATE") @Column(name = "ID") @Id private Long id; @NotEmpty(message = "Le référentiel est obligatoire") private String currentReferential; //Configuration serveur private String serverAddress; private int closingDelay; @ElementCollection(targetClass = Integer.class, fetch = FetchType.EAGER) private List portNumbers; private String integrationPath; private String referentialIntegrationPath; private String fileIntegrationPath; //Option d'affichage private int transfertDisplayOptions; private int logDisplayOptions; //Répertoires de BAL private String inDir; private String outDir; private String errDir; private String tmpDir; @Enumerated(EnumType.STRING) @NotNull(message = "Le statut de la configuration est obligatoire") private StatutConfiguration statutConfiguration; //Configurations des agents @OneToMany(cascade = CascadeType.ALL, mappedBy = "standaloneServerState") private Set agentConfigurations = new HashSet<>(); }