X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=portal-BE%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fportal%2Fdomain%2Fdb%2Ffn%2FFnUserRole.java;h=e2913e05daca94e36759b69414a6fdb7849f5a86;hb=ffd9af970318c1f5a0bad46d7aad5d4611414aae;hp=f3fdec1e1f66f4124bdfb24a74f694746958ed0a;hpb=dd4c51e4349b596766f2fda555a7a0d3ba46e9fa;p=portal.git diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUserRole.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUserRole.java index f3fdec1e..e2913e05 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUserRole.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUserRole.java @@ -58,6 +58,7 @@ import javax.persistence.NamedNativeQuery; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToOne; +import javax.persistence.SequenceGenerator; import javax.persistence.SqlResultSetMapping; import javax.persistence.Table; import javax.persistence.UniqueConstraint; @@ -87,79 +88,80 @@ CREATE TABLE `fn_user_role` ( */ @NamedNativeQueries({ - @NamedNativeQuery( - name = "FnUserRole.retrieveUserRoleOnUserIdAndRoleIdAndAppId", - query = "FROM FnUserRole where user_id= :userId" - + " and role_id= :roleId" - + " and app_id= :appId"), - @NamedNativeQuery( - name = "FnUserRole.retrieveCachedAppRolesForUser", - query = "FROM FnUserRole where user_id= :userId" - + " and user_id= :userId" - + " and app_id= :appId"), - @NamedNativeQuery( - name = "FnUserRole.isSuperAdmin", - query = "SELECT" - + " user.USER_ID as userId," - + " user.org_user_id as orgUserId," - + " userrole.ROLE_ID as roleId," - + " userrole.APP_ID as appId" - + " FROM" - + " fn_user_role userrole" - + " INNER JOIN fn_user user ON user.USER_ID = userrole.USER_ID" - + " WHERE" - + " user.org_user_id = :orgUserId" - + " AND userrole.ROLE_ID =:roleId" - + " AND userrole.APP_ID =:appId", - resultSetMapping = "UserRole", - resultClass = UserRole.class - ) + @NamedNativeQuery( + name = "FnUserRole.retrieveUserRoleOnUserIdAndRoleIdAndAppId", + query = "FROM FnUserRole where userId= :userId" + + " and role_id= :roleId" + + " and app_id= :appId"), + @NamedNativeQuery( + name = "FnUserRole.retrieveCachedAppRolesForUser", + query = "FROM FnUserRole where userId= :userId" + + " and userId= :userId" + + " and app_id= :appId"), + @NamedNativeQuery( + name = "FnUserRole.isSuperAdmin", + query = "SELECT" + + " userId.id as userId," + + " userId.org_user_id as orgUserId," + + " userrole.ROLE_ID as roleId," + + " userrole.APP_ID as appId" + + " FROM" + + " fn_user_role userrole" + + " INNER JOIN fn_user user ON user.USER_ID = userrole.USER_ID" + + " WHERE" + + " user.org_user_id = :orgUserId" + + " AND userrole.ROLE_ID =:roleId" + + " AND userrole.APP_ID =:appId", + resultSetMapping = "UserRole", + resultClass = UserRole.class + ) }) @SqlResultSetMapping( - name = "UserRole", - classes = { - @ConstructorResult( - targetClass = UserRole.class, - columns = { - @ColumnResult(name = "userId", type = Long.class), - @ColumnResult(name = "orgUserId", type = String.class), - @ColumnResult(name = "roleId", type = Long.class), - @ColumnResult(name = "appId", type = Long.class) - } - ) - } + name = "UserRole", + classes = { + @ConstructorResult( + targetClass = UserRole.class, + columns = { + @ColumnResult(name = "userId", type = Long.class), + @ColumnResult(name = "orgUserId", type = String.class), + @ColumnResult(name = "roleId", type = Long.class), + @ColumnResult(name = "appId", type = Long.class) + } + ) + } ) @NamedQueries({ - @NamedQuery( - name = "FnUserRole.getAdminUserRoles", - query = "FROM FnUserRole fn " - + "WHERE fn.userId.userId = :userId " - + "AND fn.roleId.roleId = :roleId " - + "AND fn.appId.appId = :appId"), - @NamedQuery( - name = "FnUserRole.getUserRolesForRoleIdAndAppId", - query = "FROM\n" - + " FnUserRole userrole\n" - + "WHERE\n" - + " userrole.roleId.roleId = :roleId\n" - + " AND userrole.appId.appId = :appId"), - @NamedQuery( - name = "FnUserRole.retrieveByAppIdAndUserId", - query = "from FnUserRole where appId.appId =:appId and userId.userId =:userId" - ) + @NamedQuery( + name = "FnUserRole.getAdminUserRoles", + query = "FROM FnUserRole " + + " WHERE userId.id = :userId " + + " AND roleId.id = :roleId " + + " AND fnAppId.id = :appId"), + @NamedQuery( + name = "FnUserRole.retrieveByAppIdAndUserId", + query = "from FnUserRole where fnAppId.id =:appId and userId.id =:userId" + ), + @NamedQuery( + name = "FnUserRole.retrieveByAppIdAndRoleId", + query = "from FnUserRole where fnAppId.id =:appId and roleId.id =:roleId" + ), + @NamedQuery( + name = "FnUserRole.retrieveByUserIdAndRoleId", + query = "from FnUserRole where userId.id =:userId and roleId.id =:roleId" + ) }) @Table( - name = "fn_user_role", - indexes = { - @Index(name = "fn_user_role_role_id", columnList = "role_id"), - @Index(name = "fn_user_role_user_id", columnList = "user_id"), - @Index(name = "fk_fn_user__ref_178_fn_app_idx", columnList = "app_id")}, - uniqueConstraints = { - @UniqueConstraint(name = "fn_user_role_id", columnNames = {"role_id", "user_id", "app_id"}) - }) + name = "fn_user_role", + indexes = { + @Index(name = "fn_user_role_role_id", columnList = "role_id"), + @Index(name = "fn_user_role_user_id", columnList = "user_id"), + @Index(name = "fk_fn_user__ref_178_fn_app_idx", columnList = "fn_App_Id")}, + uniqueConstraints = { + @UniqueConstraint(name = "fn_user_role_id", columnNames = {"role_id", "user_id", "fn_App_Id"}) + }) @NoArgsConstructor @AllArgsConstructor @Builder @@ -167,24 +169,24 @@ CREATE TABLE `fn_user_role` ( @Setter @Entity public class FnUserRole implements Serializable { - - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "id", columnDefinition = "int(11) auto_increment") - private Long id; - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "user_id") - @Valid - private FnUser userId; - @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "role_id") - @Valid - private FnRole roleId; - @Column(name = "priority", length = 4, columnDefinition = "decimal(4,0) DEFAULT NULL") - @Digits(integer = 4, fraction = 0) - private Long priority; - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) - @JoinColumn(name = "app_Id") - @Valid - private FnApp appId; + @Id + @SequenceGenerator(name = "portal_generator", sequenceName = "portal_generator", initialValue = 1000) + @GeneratedValue(strategy = GenerationType.AUTO) + @Column(name = "id", columnDefinition = "int(11) auto_increment") + private Long id; + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "user_id", columnDefinition = "bigint") + @Valid + private FnUser userId; + @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) + @JoinColumn(name = "role_id", columnDefinition = "bigint") + @Valid + private FnRole roleId; + @Column(name = "priority", length = 4, columnDefinition = "decimal(4,0) DEFAULT NULL") + @Digits(integer = 4, fraction = 0) + private Long priority; + @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) + @JoinColumn(name = "fn_App_Id", columnDefinition = "bigint") + @Valid + private FnApp fnAppId; } \ No newline at end of file