X-Git-Url: https://gerrit.onap.org/r/gitweb?p=portal.git;a=blobdiff_plain;f=portal-BE%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fportal%2Fdomain%2Fdb%2Ffn%2FFnUser.java;h=afd70b03d822c497e991e09682050ce20a8a49a1;hp=8a778bfaaf71cb383802a315b7c849205c17d309;hb=f51a049146c96181b43ca3f72c1cf715f07d24a9;hpb=cd98ec039314de7994eb9b739b1618beb9c77cfa diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUser.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUser.java index 8a778bfa..afd70b03 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUser.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUser.java @@ -40,10 +40,10 @@ package org.onap.portal.domain.db.fn; +import java.io.Serializable; import java.time.LocalDateTime; -import java.util.ArrayList; import java.util.Collection; -import java.util.List; +import java.util.Set; import java.util.stream.Collectors; import javax.persistence.CascadeType; import javax.persistence.Column; @@ -56,12 +56,12 @@ import javax.persistence.Index; import javax.persistence.JoinColumn; import javax.persistence.ManyToMany; import javax.persistence.ManyToOne; -import javax.persistence.NamedNativeQueries; -import javax.persistence.NamedNativeQuery; +import javax.persistence.NamedQueries; +import javax.persistence.NamedQuery; import javax.persistence.OneToMany; +import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.persistence.UniqueConstraint; -import javax.validation.Valid; import javax.validation.constraints.Digits; import javax.validation.constraints.Email; import javax.validation.constraints.NotNull; @@ -71,6 +71,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import org.hibernate.annotations.DynamicUpdate; import org.hibernate.validator.constraints.SafeHtml; import org.onap.portal.domain.db.cr.CrReportFileHistory; import org.onap.portal.domain.db.ep.EpPersUserWidgetPlacement; @@ -147,13 +148,18 @@ CREATE TABLE `fn_user` ( ) */ -@NamedNativeQueries({ - @NamedNativeQuery( - name = "getUsersByOrgUserId", - query = "SELECT * FROM FnUser WHERE where org_user_id in :orgIds" +@NamedQueries({ + @NamedQuery( + name = "FnUser.getUserWithOrgUserId", + query = "FROM FnUser WHERE orgUserId = :orgId"), + @NamedQuery( + name = "FnUser.getActiveUsers", + query = "FROM FnUser WHERE activeYn = 'Y'"), + @NamedQuery( + name = "FnUser.getUsersByOrgIds", + query = "FROM FnUser WHERE orgUserId IN :orgIds" ) }) - @Table(name = "fn_user", indexes = { @Index(name = "fn_user_address_id", columnList = "address_id"), @Index(name = "fn_user_alert_method_cd", columnList = "alert_method_cd"), @@ -166,100 +172,100 @@ CREATE TABLE `fn_user` ( uniqueConstraints = { @UniqueConstraint(name = "fn_user_hrid", columnNames = "hrid"), @UniqueConstraint(name = "fn_user_login_id", columnNames = "login_id") + }) -@NoArgsConstructor -@AllArgsConstructor + @Getter @Setter @Entity -public class FnUser extends DomainVo implements UserDetails { +@NoArgsConstructor +@AllArgsConstructor +@DynamicUpdate +@SequenceGenerator(name = "seq", initialValue = 1000, allocationSize = 100000) +public class FnUser extends DomainVo implements UserDetails, Serializable { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq") @Column(name = "user_id", length = 11, nullable = false) @Digits(integer = 11, fraction = 0) private Long userId; - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER) - @JoinColumn(name = "org_id", columnDefinition = "int(11) DEFAULT NULL") - @Valid + @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @JoinColumn(name = "org_id") private FnOrg orgId; @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinColumn(name = "manager_id") - @Valid private FnUser managerId; - @Column(name = "first_name", length = 50, columnDefinition = "varchar(50) DEFAULT NULL") + @Column(name = "first_name", length = 50) @Size(max = 50) @SafeHtml private String firstName; - @Column(name = "middle_name", length = 50, columnDefinition = "varchar(50) DEFAULT NULL") + @Column(name = "middle_name", length = 50) @Size(max = 50) @SafeHtml private String middleName; - @Column(name = "last_name", length = 50, columnDefinition = "varchar(50) DEFAULT NULL") + @Column(name = "last_name", length = 50) @Size(max = 50) @SafeHtml private String lastName; - @Column(name = "phone", length = 25, columnDefinition = "varchar(25) DEFAULT NULL") + @Column(name = "phone", length = 25) @Size(max = 25) @SafeHtml private String phone; - @Column(name = "fax", length = 25, columnDefinition = "varchar(25) DEFAULT NULL") + @Column(name = "fax", length = 25) @Size(max = 25) @SafeHtml private String fax; - @Column(name = "cellular", length = 25, columnDefinition = "varchar(25) DEFAULT NULL") + @Column(name = "cellular", length = 25) @Size(max = 25) @SafeHtml private String cellular; - @Column(name = "email", length = 50, columnDefinition = "varchar(50) DEFAULT NULL") + @Column(name = "email", length = 50) @Size(max = 50) @Email @SafeHtml private String email; - @Column(name = "address_id", columnDefinition = "decimal(11,0) DEFAULT NULL") + @Column(name = "address_id") @Digits(integer = 11, fraction = 0) private Long addressId; @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "alert_method_cd", columnDefinition = "varchar(10) DEFAULT NULL") + @JoinColumn(name = "alert_method_cd") private FnLuAlertMethod alertMethodCd; - @Column(name = "hrid", length = 20, columnDefinition = "varchar(20) DEFAULT NULL") + @Column(name = "hrid", length = 20) @Size(max = 20) @SafeHtml private String hrid; - @Column(name = "org_user_id", length = 20, columnDefinition = "varchar(20) DEFAULT NULL") + @Column(name = "org_user_id", length = 20) @Size(max = 20) @SafeHtml private String orgUserId; - @Column(name = "org_code", length = 30, columnDefinition = "varchar(30) DEFAULT NULL") + @Column(name = "org_code", length = 30) @Size(max = 30) @SafeHtml private String org_code; - @Column(name = "login_id", length = 25, columnDefinition = "varchar(25) DEFAULT NULL") + @Column(name = "login_id", length = 25) @Size(max = 25) @SafeHtml private String loginId; - @Column(name = "login_pwd", length = 100, columnDefinition = "varchar(100) DEFAULT NULL") + @Column(name = "login_pwd", length = 100) @Size(max = 100) @SafeHtml private String loginPwd; @Column(name = "last_login_date", nullable = false, columnDefinition = "datetime DEFAULT current_timestamp() ON UPDATE current_timestamp()") @PastOrPresent protected LocalDateTime lastLoginDate; - @Column(name = "active_yn", length = 1, columnDefinition = "character varying(1) default 'y'", nullable = false) + @Column(name = "active_yn", length = 1, nullable = false) @Size(max = 1) @SafeHtml - @NotNull + @NotNull(message = "activeYn must not be null") private String activeYn; @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinColumn(name = "created_id") - @Valid private FnUser createdId; @Column(name = "created_date", columnDefinition = "datetime DEFAULT current_timestamp()", nullable = false) @PastOrPresent protected LocalDateTime createdDate; @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinColumn(name = "modified_id") - @Valid private FnUser modifiedId; @Column(name = "modified_date", nullable = false, columnDefinition = "datetime default now()") @PastOrPresent @@ -267,170 +273,169 @@ public class FnUser extends DomainVo implements UserDetails { @Column(name = "is_internal_yn", length = 1, columnDefinition = "character varying(1) default 'n'", nullable = false) @Size(max = 1) @SafeHtml - @NotNull + @NotNull(message = "isInternalYn must not be null") private String isInternalYn; - @Column(name = "address_line_1", length = 100, columnDefinition = "varchar(100) DEFAULT NULL") + @Column(name = "address_line_1", length = 100) @Size(max = 100) @SafeHtml private String addressLine1; - @Column(name = "address_line_2", length = 100, columnDefinition = "varchar(100) DEFAULT NULL") + @Column(name = "address_line_2", length = 100) @Size(max = 100) @SafeHtml private String addressLine2; - @Column(name = "city", length = 50, columnDefinition = "varchar(50) DEFAULT NULL") + @Column(name = "city", length = 50) @Size(max = 50) @SafeHtml private String city; - @Column(name = "state_cd", length = 3, columnDefinition = "varchar(3) DEFAULT NULL") + @Column(name = "state_cd", length = 3) @Size(max = 3) @SafeHtml private String stateCd; - @Column(name = "zip_code", length = 11, columnDefinition = "varchar(11) DEFAULT NULL") + @Column(name = "zip_code", length = 11) @Size(max = 11) @SafeHtml private String zipCode; - @Column(name = "country_cd", length = 3, columnDefinition = "varchar(3) DEFAULT NULL") + @Column(name = "country_cd", length = 3) @Size(max = 3) @SafeHtml private String countryCd; - @Column(name = "location_clli", length = 8, columnDefinition = "varchar(8) DEFAULT NULL") + @Column(name = "location_clli", length = 8) @Size(max = 8) @SafeHtml private String locationClli; - @Column(name = "org_manager_userid", length = 20, columnDefinition = "varchar(20) DEFAULT NULL") + @Column(name = "org_manager_userid", length = 20) @Size(max = 20) @SafeHtml private String orgManagerUserId; - @Column(name = "company", length = 100, columnDefinition = "varchar(100) DEFAULT NULL") + @Column(name = "company", length = 100) @Size(max = 100) @SafeHtml private String company; - @Column(name = "department_name", length = 200, columnDefinition = "varchar(100) DEFAULT NULL") + @Column(name = "department_name", length = 200) @Size(max = 200) @SafeHtml private String departmentName; - @Column(name = "job_title", length = 100, columnDefinition = "varchar(100) DEFAULT NULL") + @Column(name = "job_title", length = 100) @Size(max = 100) @SafeHtml private String jobTitle; @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "timezone", columnDefinition = "int(11) DEFAULT NULL") - @Valid + @JoinColumn(name = "timezone") private FnLuTimezone timezone; - @Column(name = "department", length = 25, columnDefinition = "varchar(25) DEFAULT NULL") + @Column(name = "department", length = 25) @Size(max = 25) @SafeHtml private String department; - @Column(name = "business_unit", length = 25, columnDefinition = "varchar(25) DEFAULT NULL") + @Column(name = "business_unit", length = 25) @Size(max = 25) @SafeHtml private String businessUnit; - @Column(name = "business_unit_name", length = 100, columnDefinition = "varchar(100) DEFAULT NULL") + @Column(name = "business_unit_name", length = 100) @Size(max = 100) @SafeHtml private String businessUnitName; - @Column(name = "cost_center", length = 25, columnDefinition = "varchar(25) DEFAULT NULL") + @Column(name = "cost_center", length = 25) @Size(max = 25) @SafeHtml private String cost_center; - @Column(name = "fin_loc_code", length = 10, columnDefinition = "varchar(10) DEFAULT NULL") + @Column(name = "fin_loc_code", length = 10) @Size(max = 10) @SafeHtml private String finLocCode; - @Column(name = "silo_status", length = 10, columnDefinition = "varchar(10) DEFAULT NULL") + @Column(name = "silo_status", length = 10) @Size(max = 10) @SafeHtml private String siloStatus; - @Column(name = "language_id", length = 2, columnDefinition = "int(2) default 1", nullable = false) - @Digits(integer = 2, fraction = 0) - @NotNull - private Long language_id; + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @JoinColumn(name = "language_id", nullable = false, columnDefinition = "int(11) DEFAULT 1") + @NotNull(message = "languageId must not be null") + private FnLanguage languageId; @Column(name = "is_guest", columnDefinition = "boolean default 0", nullable = false) - @NotNull + @NotNull(message = "guest must not be null") private boolean guest; @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "fnUserList") - private List crReportFileHistorie = new ArrayList<>(); + private Set crReportFileHistorie; @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) - private List fnRoles = new ArrayList<>(); + private Set fnRoles; @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) - private List fnRoleList = new ArrayList<>(); + private Set fnRoleList; @OneToMany( targetEntity = FnAuditLog.class, mappedBy = "userId", cascade = CascadeType.ALL, fetch = FetchType.LAZY ) - private List fnAuditLogs = new ArrayList<>(); + private Set fnAuditLogs; @OneToMany( targetEntity = FnUser.class, mappedBy = "createdId", cascade = CascadeType.ALL, fetch = FetchType.LAZY ) - private List fnUsersCreatedId = new ArrayList<>(); + private Set fnUsersCreatedId; @OneToMany( targetEntity = FnUser.class, mappedBy = "managerId", cascade = CascadeType.ALL, fetch = FetchType.LAZY ) - private List fnUsersManagerId = new ArrayList<>(); + private Set fnUsersManagerId; @OneToMany( targetEntity = FnUser.class, mappedBy = "modifiedId", cascade = CascadeType.ALL, fetch = FetchType.LAZY ) - private List fnUsersModifiedId = new ArrayList<>(); + private Set fnUsersModifiedId; @OneToMany( targetEntity = EpUserRolesRequest.class, mappedBy = "userId", cascade = CascadeType.ALL, fetch = FetchType.LAZY ) - private List epUserRolesRequests = new ArrayList<>(); + private Set epUserRolesRequests; @OneToMany( targetEntity = FnPersUserAppSel.class, mappedBy = "userId", cascade = CascadeType.ALL, fetch = FetchType.LAZY ) - private List persUserAppSels = new ArrayList<>(); + private Set persUserAppSels; @OneToMany( targetEntity = EpWidgetCatalogParameter.class, mappedBy = "userId", cascade = CascadeType.ALL, fetch = FetchType.LAZY ) - private List epWidgetCatalogParameters = new ArrayList<>(); + private Set epWidgetCatalogParameters; @OneToMany( targetEntity = EpPersUserWidgetPlacement.class, mappedBy = "userId", cascade = CascadeType.ALL, fetch = FetchType.LAZY ) - private List epPersUserWidgetPlacements = new ArrayList<>(); + private Set epPersUserWidgetPlacements; @OneToMany( targetEntity = EpPersUserWidgetSel.class, mappedBy = "userId", cascade = CascadeType.ALL, fetch = FetchType.LAZY ) - private List epPersUserWidgetSels = new ArrayList<>(); + private Set epPersUserWidgetSels; @OneToMany( targetEntity = FnUserRole.class, mappedBy = "userId", cascade = CascadeType.ALL, fetch = FetchType.LAZY ) - private List fnUserRoles = new ArrayList<>(); + private Set fnUserRoles; @OneToMany( targetEntity = EpUserNotification.class, mappedBy = "userId", cascade = CascadeType.ALL, fetch = FetchType.LAZY ) - private List epUserNotifications = new ArrayList<>(); + private Set epUserNotifications; @Override public Collection getAuthorities() {