Domain model change
[portal.git] / portal-BE / src / main / java / org / onap / portal / domain / db / ep / EpMicroservice.java
index 35e51be..69e28dc 100644 (file)
@@ -40,8 +40,8 @@
 
 package org.onap.portal.domain.db.ep;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.io.Serializable;
+import java.util.Set;
 import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
@@ -54,16 +54,17 @@ import javax.persistence.JoinColumn;
 import javax.persistence.ManyToMany;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
+import javax.persistence.SequenceGenerator;
 import javax.persistence.Table;
 import javax.validation.Valid;
 import javax.validation.constraints.Digits;
 import javax.validation.constraints.Pattern;
 import javax.validation.constraints.Size;
 import lombok.AllArgsConstructor;
+import lombok.Builder;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
-import lombok.ToString;
 import org.hibernate.validator.constraints.SafeHtml;
 import org.hibernate.validator.constraints.URL;
 import org.onap.portal.domain.db.fn.FnApp;
@@ -90,11 +91,11 @@ CREATE TABLE `ep_microservice` (
 })
 @NoArgsConstructor
 @AllArgsConstructor
-@ToString
+@Builder
 @Getter
 @Setter
 @Entity
-public class EpMicroservice {
+public class EpMicroservice implements Serializable {
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        @Column(name = "id", length = 11, nullable = false)
@@ -108,8 +109,8 @@ public class EpMicroservice {
        @Size(max = 50)
        @SafeHtml
        private String description;
-       @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
-       @JoinColumn(name = "app_Id")
+       @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
+       @JoinColumn(name = "app_Id", columnDefinition = "bigint")
        @Valid
        private FnApp appId;
        @Column(name = "endpoint_url", length = 200)
@@ -130,20 +131,17 @@ public class EpMicroservice {
        @Size(max = 50)
        @SafeHtml
        private String password;
-       @Column(name = "active", length = 1, columnDefinition = "CHAR(1) DEFAULT 'Y'")
-       @Pattern(regexp = "[YNyn]")
-       @Size(max = 1)
-       @SafeHtml
-       private String active;
-       @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
-       private List<EpWidgetCatalog> epWidgetCatalogList = new ArrayList<>();
+       @Column(name = "active", length = 1, columnDefinition = "boolean DEFAULT true")
+       private Boolean active = true;
+       @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY)
+       private Set<EpWidgetCatalog> epWidgetCatalogList;
        @OneToMany(
                targetEntity = EpMicroserviceParameter.class,
                mappedBy = "serviceId",
-               cascade = CascadeType.ALL,
+               cascade = CascadeType.MERGE,
                fetch = FetchType.LAZY
        )
-       private List<EpMicroserviceParameter> epMicroserviceParameters = new ArrayList<>();
+       private Set<EpMicroserviceParameter> epMicroserviceParameters;
 
        public void copyOf(final EpMicroservice epMicroservice) {
               this.id = epMicroservice.getId();