UserRolesController methods up
[portal.git] / portal-BE / src / main / java / org / onap / portal / domain / db / fn / FnRole.java
index dc45788..275ce1e 100644 (file)
@@ -40,8 +40,8 @@
 
 package org.onap.portal.domain.db.fn;
 
-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;
@@ -59,7 +59,6 @@ import javax.persistence.OneToMany;
 import javax.persistence.Table;
 import javax.validation.constraints.Digits;
 import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
 import javax.validation.constraints.Size;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
@@ -70,6 +69,7 @@ import org.onap.portal.domain.db.ep.EpAppRoleFunction;
 import org.onap.portal.domain.db.ep.EpRoleNotification;
 import org.onap.portal.domain.db.ep.EpUserRolesRequestDet;
 import org.onap.portal.domain.db.ep.EpWidgetCatalogRole;
+import org.onap.portal.domain.dto.DomainVo;
 
 /*
 CREATE TABLE `fn_role` (
@@ -99,7 +99,7 @@ CREATE TABLE `fn_role` (
                 query = "FROM FnRole where role_id =:roleId and app_id is null"),
         @NamedQuery(
                 name = "FnRole.retrieveAppRoleByAppRoleIdAndByAppId",
-                query = "FROM FnRole where app_role_id =:appRoleId and app_id =:appId"),
+                query = "FROM FnRole where appRoleId =:appRoleId and appId =:appId"),
         @NamedQuery(
                 name = "FnRole.retrieveAppRoleByRoleIdAndAppId",
                 query = "FROM FnRole where role_id =:roleId and app_id =:appId"),
@@ -110,8 +110,18 @@ CREATE TABLE `fn_role` (
                 name = "FnRole.retrieveActiveRolesOfApplication",
                 query = "from FnRole where active_yn = 'Y' and app_id=:appId"),
         @NamedQuery(name = "FnRole.retrieveRoleToUpdateInExternalAuthSystem",
-                query = "FROM FnRole where role_name =:roleName and app_id =:appId")
-})
+                query = "FROM FnRole where role_name =:roleName and app_id =:appId"),
+        @NamedQuery(
+                name = "FnRole.getUserRoleOnUserIdAndAppId",
+                query = " FROM"
+                        + "  FnRole fr,\n"
+                        + "  FnUserRole fur\n"
+                        + " WHERE\n"
+                        + "  fr.roleId = fur.roleId\n"
+                        + "  AND fur.userId = :userId"
+                        + "  AND fur.appId = :appId\n"
+                        + "  AND fr.activeYn = 'y'")
+        })
 
 @Table(name = "fn_role", indexes = {
         @Index(name = "fn_role_name_app_id_idx", columnList = "role_name, app_id", unique = true)
@@ -121,7 +131,7 @@ CREATE TABLE `fn_role` (
 @Getter
 @Setter
 @Entity
-public class FnRole {
+public class FnRole extends DomainVo implements Serializable {
 
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
@@ -134,11 +144,8 @@ public class FnRole {
        @SafeHtml
        private String roleName;
        @Column(name = "active_yn", length = 1, columnDefinition = "character varying(1) default 'y'", nullable = false)
-       @Pattern(regexp = "[YNyn]")
-       @Size(max = 1)
        @NotNull
-       @SafeHtml
-       private String activeYn;
+       private Boolean activeYn;
        @Column(name = "priority", length = 4, columnDefinition = "decimal(4,0) DEFAULT NULL")
        @Digits(integer = 4, fraction = 0)
        private Long priority;
@@ -154,7 +161,7 @@ public class FnRole {
                cascade = CascadeType.ALL,
                fetch = FetchType.LAZY
        )
-       private List<FnRoleFunction> fnRoleFunctions = new ArrayList<>();
+       private Set<FnRoleFunction> fnRoleFunctions;
        @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
        @JoinTable(
                name = "fn_user_pseudo_role",
@@ -164,7 +171,7 @@ public class FnRole {
                        @Index(name = "fk_pseudo_role_user_id", columnList = "user_id")
                }
        )
-       private List<FnUser> fnUsers = new ArrayList<>();
+       private Set<FnUser> fnUsers;
        @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
        @JoinTable(
                name = "fn_role_composite",
@@ -174,49 +181,50 @@ public class FnRole {
                        @Index(name = "fk_fn_role_composite_child", columnList = "child_role_id")
                }
        )
-       private List<FnRole> fnRoles = new ArrayList<>();
-       @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
-       private List<FnRole> fnRoleList = new ArrayList<>();
+       private Set<FnRole> fnRoles;
+       @ManyToMany(cascade = CascadeType.ALL,
+               fetch = FetchType.LAZY)
+       private Set<FnRole> fnRoleList;
        @OneToMany(
                targetEntity = EpRoleNotification.class,
                mappedBy = "notificationID",
                cascade = CascadeType.ALL,
                fetch = FetchType.LAZY
        )
-       private List<EpRoleNotification> epRoleNotifications = new ArrayList<>();
+       private Set<EpRoleNotification> epRoleNotifications;
        @OneToMany(
                targetEntity = FnMenuFunctionalRoles.class,
                mappedBy = "roleId",
                cascade = CascadeType.ALL,
                fetch = FetchType.LAZY
        )
-       private List<FnMenuFunctionalRoles> fnMenuFunctionalRoles = new ArrayList<>();
+       private Set<FnMenuFunctionalRoles> fnMenuFunctionalRoles;
        @OneToMany(
                targetEntity = EpWidgetCatalogRole.class,
                mappedBy = "roleId",
                cascade = CascadeType.ALL,
                fetch = FetchType.LAZY
        )
-       private List<EpWidgetCatalogRole> epWidgetCatalogRoles = new ArrayList<>();
+       private Set<EpWidgetCatalogRole> epWidgetCatalogRoles;
        @OneToMany(
                targetEntity = EpAppRoleFunction.class,
                mappedBy = "fnRole",
                cascade = CascadeType.ALL,
                fetch = FetchType.LAZY
        )
-       private List<EpAppRoleFunction> epAppRoleFunctions = new ArrayList<>();
+       private Set<EpAppRoleFunction> epAppRoleFunctions;
        @OneToMany(
                targetEntity = EpUserRolesRequestDet.class,
                mappedBy = "requestedRoleId",
                cascade = CascadeType.ALL,
                fetch = FetchType.LAZY
        )
-       private List<EpUserRolesRequestDet> epUserRolesRequestDets = new ArrayList<>();
+       private Set<EpUserRolesRequestDet> epUserRolesRequestDets;
        @OneToMany(
                targetEntity = FnUserRole.class,
                mappedBy = "roleId",
                cascade = CascadeType.ALL,
                fetch = FetchType.LAZY
        )
-       private List<FnUserRole> fnUserRoles = new ArrayList<>();
+       private Set<FnUserRole> fnUserRoles;
 }