RolesApprovalSystemController up
[portal.git] / portal-BE / src / main / java / org / onap / portal / domain / db / ep / EpUserRolesRequest.java
index 473124f..7828c13 100644 (file)
@@ -40,9 +40,9 @@
 
 package org.onap.portal.domain.db.ep;
 
+import java.io.Serializable;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Set;
 import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
@@ -52,7 +52,10 @@ import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
 import javax.persistence.OneToMany;
+import javax.persistence.SequenceGenerator;
 import javax.persistence.Table;
 import javax.validation.Valid;
 import javax.validation.constraints.Digits;
@@ -64,8 +67,8 @@ import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
 import org.hibernate.validator.constraints.SafeHtml;
-import org.onap.portalapp.portal.domain.db.fn.FnApp;
-import org.onap.portalapp.portal.domain.db.fn.FnUser;
+import org.onap.portal.domain.db.fn.FnApp;
+import org.onap.portal.domain.db.fn.FnUser;
 
 /*
 CREATE TABLE `ep_user_roles_request` (
@@ -83,44 +86,56 @@ CREATE TABLE `ep_user_roles_request` (
         )
 */
 
+@NamedQueries({
+    @NamedQuery(
+        name = "EpUserRolesRequest.userAppRolesRequestList",
+        query = "FROM EpUserRolesRequest where userId.id =:userId and appId.id =:appId and requestStatus = 'P'"
+    )
+})
+
 @Table(name = "ep_user_roles_request")
 @NoArgsConstructor
 @AllArgsConstructor
 @Getter
 @Setter
 @Entity
-public class EpUserRolesRequest {
-       @Id
-       @GeneratedValue(strategy = GenerationType.AUTO)
-       @Column(name = "req_id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT")
-       @Digits(integer = 11, fraction = 0)
-       private Long reqId;
-       @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
-       @JoinColumn(name = "user_id", nullable = false)
-       @NotNull
-       @Valid
-       private FnUser userId;
-       @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
-       @JoinColumn(name = "app_id", nullable = false)
-       @NotNull
-       @Valid
-       private FnApp appId;
-       @Column(name = "created_date", nullable = false, columnDefinition = "datetime default now()")
-       @PastOrPresent
-       private LocalDateTime createdDate;
-       @Column(name = "updated_date", nullable = false, columnDefinition = "datetime default now()")
-       @PastOrPresent
-       private LocalDateTime updatedDate;
-       @Column(name = "request_status", nullable = false, length = 50)
-       @Size(max = 50)
-       @NotNull
-       @SafeHtml
-       private String requestStatus;
-       @OneToMany(
-               targetEntity = EpUserRolesRequestDet.class,
-               mappedBy = "reqId",
-               cascade = CascadeType.ALL,
-               fetch = FetchType.LAZY
-       )
-       private List<EpUserRolesRequestDet> epUserRolesRequestDets = new ArrayList<>();
+public class EpUserRolesRequest implements Serializable {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    @Column(name = "req_id", length = 11, nullable = false, columnDefinition = "int(11) AUTO_INCREMENT")
+    @Digits(integer = 11, fraction = 0)
+    private Long reqId;
+    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
+    @JoinColumn(name = "user_id", nullable = false, columnDefinition = "bigint")
+    @NotNull
+    @Valid
+    private FnUser userId;
+    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
+    @JoinColumn(name = "app_id", nullable = false, columnDefinition = "bigint")
+    @NotNull
+    @Valid
+    private FnApp appId;
+    @Column(name = "created_date", nullable = false, columnDefinition = "datetime default now()")
+    @PastOrPresent
+    private LocalDateTime createdDate;
+    @Column(name = "updated_date", nullable = false, columnDefinition = "datetime default now()")
+    @PastOrPresent
+    private LocalDateTime updatedDate;
+    @Column(name = "request_status", nullable = false, length = 50)
+    @Size(max = 50)
+    @NotNull
+    @SafeHtml
+    private String requestStatus;
+    @OneToMany(
+        targetEntity = EpUserRolesRequestDet.class,
+        mappedBy = "reqId",
+        cascade = CascadeType.MERGE,
+        fetch = FetchType.LAZY
+    )
+    private Set<EpUserRolesRequestDet> epUserRolesRequestDets;
+
+    public void setEpRequestIdDetail(Set<EpUserRolesRequestDet> epMyLoginsDetail) {
+        this.epUserRolesRequestDets = epMyLoginsDetail;
+    }
 }