X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=portal-BE%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fportal%2Fdomain%2Fdb%2Ffn%2FFnUser.java;h=315f911a4cfdc789d70d73ef31c19000c1d061a3;hb=refs%2Fchanges%2F29%2F97729%2F3;hp=ce28d0fd3c56a891bee6a2d1c2a20620db557f0b;hpb=bfb078b48e3558777b60a91775ea3c239a1f3a05;p=portal.git 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 ce28d0fd..315f911a 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 @@ -43,7 +43,11 @@ package org.onap.portal.domain.db.fn; import java.io.Serializable; import java.time.LocalDateTime; import java.util.Collection; +import java.util.HashSet; +import java.util.Iterator; import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; import java.util.stream.Collectors; import javax.persistence.CascadeType; import javax.persistence.Column; @@ -81,6 +85,7 @@ import org.onap.portal.domain.db.ep.EpUserNotification; import org.onap.portal.domain.db.ep.EpUserRolesRequest; import org.onap.portal.domain.db.ep.EpWidgetCatalogParameter; import org.onap.portal.domain.dto.DomainVo; +import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; @@ -183,13 +188,13 @@ CREATE TABLE `fn_user` ( @NoArgsConstructor @AllArgsConstructor @DynamicUpdate -@SequenceGenerator(name = "seq", initialValue = 1000, allocationSize = 100000) public class FnUser extends DomainVo implements UserDetails, Serializable { + private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(FnUser.class); + @Id - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq") - @Column(name = "user_id", length = 11, nullable = false) - @Digits(integer = 11, fraction = 0) + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "user_id", nullable = false) private Long userId; @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinColumn(name = "org_id") @@ -343,7 +348,7 @@ public class FnUser extends DomainVo implements UserDetails, Serializable { @SafeHtml private String siloStatus; @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "language_id", nullable = false, columnDefinition = "int(11) DEFAULT 1") + @JoinColumn(name = "language_id", nullable = false, columnDefinition = "bigint DEFAULT 1") @NotNull(message = "languageId must not be null") private FnLanguage languageId; @Column(name = "is_guest", nullable = false, columnDefinition = "bit DEFAULT 0") @@ -475,4 +480,44 @@ public class FnUser extends DomainVo implements UserDetails, Serializable { return this.firstName + " " + this.lastName; } + public SortedSet getAppEPRoles(FnApp app) { + + logger.debug(EELFLoggerDelegate.debugLogger, "In EPUser.getAppEPRoles() - app = {}", app.getAppName()); + + SortedSet roles = new TreeSet<>(); + Set userAppRoles = getFnUserRoles(); + + logger.debug(EELFLoggerDelegate.debugLogger, "In EPUser.getAppEPRoles() - userApps = {} ", userAppRoles.size()); + + Iterator userAppRolesIterator = userAppRoles.iterator(); + + FnUserRole userAppRole; + // getting default app + while (userAppRolesIterator.hasNext()) { + FnUserRole tempUserApp = userAppRolesIterator.next(); + if (tempUserApp.getAppId().getId().equals(app.getId())) { + + logger.debug(EELFLoggerDelegate.debugLogger, + "In EPUser.getAppEPRoles() - for user {}, found application {}", this.getFullName(), + app.getAppName()); + + userAppRole = tempUserApp; + + FnRole role = userAppRole.getRoleId(); + if (role.getActiveYn()) { + logger.debug(EELFLoggerDelegate.debugLogger, + "In EPUser.getAppEPRoles() - Role {} is active - adding for user {} and app {}", + role.getRoleName(), this.getFullName(), app.getAppName()); + roles.add(role); + } else { + logger.debug(EELFLoggerDelegate.debugLogger, + "In EPUser.getAppEPRoles() - Role {} is NOT active - NOT adding for user {} and app {}", + role.getRoleName(), this.getFullName(), app.getAppName()); + } + } + } + logger.debug(EELFLoggerDelegate.debugLogger, "In EPUser.getAppEPRoles() - roles = {}", roles.size()); + + return roles; + } }