2 * ============LICENSE_START==========================================
4 * ===================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ===================================================================
8 * Unless otherwise specified, all software contained herein is licensed
9 * under the Apache License, Version 2.0 (the "License");
10 * you may not use this software except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
21 * Unless otherwise specified, all documentation contained herein is licensed
22 * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23 * you may not use this documentation except in compliance with the License.
24 * You may obtain a copy of the License at
26 * https://creativecommons.org/licenses/by/4.0/
28 * Unless required by applicable law or agreed to in writing, documentation
29 * distributed under the License is distributed on an "AS IS" BASIS,
30 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31 * See the License for the specific language governing permissions and
32 * limitations under the License.
34 * ============LICENSE_END============================================
38 package org.onap.portalapp.portal.domain;
40 import java.util.Date;
41 import java.util.Iterator;
42 import java.util.SortedSet;
43 import java.util.TreeSet;
45 import javax.validation.Valid;
46 import org.hibernate.validator.constraints.SafeHtml;
47 import org.onap.portalapp.portal.utils.PortalConstants;
48 import org.onap.portalsdk.core.domain.User;
49 import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
51 import com.fasterxml.jackson.annotation.JsonIgnore;
53 public class EPUser extends User {
56 private Long managerId;
58 private String firstName;
60 private String middleInitial;
62 private String lastName;
68 private String cellular;
71 private Long addressId;
73 private String alertMethodCd;
77 private String orgUserId;
79 private String orgCode;
81 private String address1;
83 private String address2;
89 private String zipCode;
91 private String country;
93 private String orgManagerUserId;
95 private String locationClli;
97 private String businessCountryCode;
99 private String businessCountryName;
101 private String businessUnit;
103 private String businessUnitName;
105 private String department;
107 private String departmentName;
109 private String companyCode;
111 private String company;
113 private String zipCodeSuffix;
115 private String jobTitle;
117 private String commandChain;
119 private String siloStatus;
121 private String costCenter;
123 private String financialLocCode;
126 private String loginId;
128 private String loginPwd;
129 private Date lastLoginDate;
130 private boolean active;
131 private boolean internal;
132 private Long selectedProfileId;
133 private Long timeZoneId;
134 private boolean online;
136 private String chatId;
137 private boolean systemUser;
138 private Integer languageId;
139 private static final long serialVersionUID = 1L;
141 private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(EPUser.class);
142 private static final String ECOMP_PORTAL_NAME = "ECOMP";
143 private boolean isGuest = false;
145 private SortedSet<EPUserApp> userApps = new TreeSet<>();
147 private SortedSet<EPRole> pseudoRoles = new TreeSet<>();
152 public Long getAddressId() {
157 public String getAlertMethodCd() {
158 return alertMethodCd;
162 public String getCellular() {
167 public String getEmail() {
172 public String getFax() {
177 public String getFirstName() {
182 public String getHrid() {
187 public Date getLastLoginDate() {
188 return lastLoginDate;
192 public String getLastName() {
198 public String getFullName() {
199 return getFirstName() + " " + getLastName();
203 public String getLoginId() {
208 public String getLoginPwd() {
213 public Long getManagerId() {
218 public String getMiddleInitial() {
219 return middleInitial;
223 public String getOrgCode() {
228 public Long getOrgId() {
233 public String getPhone() {
238 public String getOrgUserId() {
243 public boolean getActive() {
248 public boolean getInternal() {
253 public String getAddress1() {
258 public String getAddress2() {
263 public String getCity() {
268 public String getCountry() {
273 public String getState() {
278 public String getZipCode() {
283 public String getBusinessCountryCode() {
284 return businessCountryCode;
288 public String getCommandChain() {
293 public String getCompany() {
298 public String getCompanyCode() {
303 public String getDepartment() {
308 public String getJobTitle() {
313 public String getLocationClli() {
318 public String getOrgManagerUserId() {
319 return orgManagerUserId;
323 public String getZipCodeSuffix() {
324 return zipCodeSuffix;
328 public String getBusinessCountryName() {
329 return businessCountryName;
333 public Long getSelectedProfileId() {
334 return selectedProfileId;
338 public void setAddressId(Long addressId) {
339 this.addressId = addressId;
343 public void setAlertMethodCd(String alertMethodCd) {
344 this.alertMethodCd = alertMethodCd;
348 public void setCellular(String cellular) {
349 this.cellular = cellular;
353 public void setEmail(String email) {
358 public void setFax(String fax) {
363 public void setFirstName(String firstName) {
364 this.firstName = firstName;
368 public void setHrid(String hrid) {
373 public void setLastLoginDate(Date lastLoginDate) {
374 this.lastLoginDate = lastLoginDate;
378 public void setLastName(String lastName) {
379 this.lastName = lastName;
383 public void setLoginId(String loginId) {
384 this.loginId = loginId;
388 public void setLoginPwd(String loginPwd) {
389 this.loginPwd = loginPwd;
393 public void setManagerId(Long managerId) {
394 this.managerId = managerId;
398 public void setMiddleInitial(String middleInitial) {
399 this.middleInitial = middleInitial;
403 public void setOrgCode(String orgCode) {
404 this.orgCode = orgCode;
408 public void setOrgId(Long orgId) {
413 public void setPhone(String phone) {
418 public void setOrgUserId(String orgUserId) {
419 this.orgUserId = orgUserId;
423 public void setActive(boolean active) {
424 this.active = active;
428 public void setInternal(boolean internal) {
429 this.internal = internal;
433 public void setAddress1(String address1) {
434 this.address1 = address1;
438 public void setAddress2(String address2) {
439 this.address2 = address2;
443 public void setCity(String city) {
448 public void setCountry(String country) {
449 this.country = country;
453 public void setState(String state) {
458 public void setZipCode(String zipCode) {
459 this.zipCode = zipCode;
463 public void setBusinessCountryCode(String businessCountryCode) {
464 this.businessCountryCode = businessCountryCode;
468 public void setCommandChain(String commandChain) {
469 this.commandChain = commandChain;
473 public void setCompany(String company) {
474 this.company = company;
478 public void setCompanyCode(String companyCode) {
479 this.companyCode = companyCode;
483 public void setDepartment(String department) {
484 this.department = department;
488 public void setJobTitle(String jobTitle) {
489 this.jobTitle = jobTitle;
493 public void setLocationClli(String locationClli) {
494 this.locationClli = locationClli;
498 public void setOrgManagerUserId(String orgManagerUserId) {
499 this.orgManagerUserId = orgManagerUserId;
503 public void setZipCodeSuffix(String zipCodeSuffix) {
504 this.zipCodeSuffix = zipCodeSuffix;
508 public void setBusinessCountryName(String businessCountryName) {
509 this.businessCountryName = businessCountryName;
513 public SortedSet<EPRole> getPseudoRoles() {
517 public void setPseudoRoles(SortedSet<EPRole> pseudoRoles) {
518 this.pseudoRoles = pseudoRoles;
522 public void setSelectedProfileId(Long selectedProfileId) {
523 this.selectedProfileId = selectedProfileId;
527 public Long getTimeZoneId() {
532 public void setTimeZoneId(Long timeZoneId) {
533 this.timeZoneId = timeZoneId;
537 public String getBusinessUnit() {
542 public void setBusinessUnit(String businessUnit) {
543 this.businessUnit = businessUnit;
547 public String getSiloStatus() {
552 public void setSiloStatus(String siloStatus) {
553 this.siloStatus = siloStatus;
557 public String getCostCenter() {
562 public void setCostCenter(String costCenter) {
563 this.costCenter = costCenter;
567 public String getFinancialLocCode() {
568 return financialLocCode;
572 public void setFinancialLocCode(String financialLocCode) {
573 this.financialLocCode = financialLocCode;
577 public String getBusinessUnitName() {
578 return businessUnitName;
582 public void setBusinessUnitName(String businessUnitName) {
583 this.businessUnitName = businessUnitName;
587 public String getDepartmentName() {
588 return departmentName;
592 public void setDepartmentName(String departmentName) {
593 this.departmentName = departmentName;
597 public int compareTo(Object obj) {
598 EPUser user = (EPUser) obj;
600 String c1 = getLastName() + getFirstName() + getMiddleInitial();
601 String c2 = user.getLastName() + user.getFirstName() + user.getMiddleInitial();
603 return c1.compareTo(c2);
607 public boolean isOnline() {
612 public void setOnline(boolean online) {
613 this.online = online;
617 public String getChatId() {
622 public void setChatId(String chatId) {
623 this.chatId = chatId;
626 public Integer getLanguageId() {
630 public void setLanguageId(Integer languageId) {
631 this.languageId = languageId;
634 public void setPseudoEPRoles(SortedSet<EPRole> pseudoRoles) {
635 this.pseudoRoles = pseudoRoles;
638 public SortedSet<EPUserApp> getEPUserApps() {
642 public void setEPUserApps(SortedSet<EPUserApp> userApps) {
643 this.userApps = userApps;
646 public void addUserApp(EPUserApp userApp) {
647 userApps.add(userApp);
650 public void addAppRoles(EPApp app, SortedSet<EPRole> roles) {
653 SortedSet<EPUserApp> userApplications = new TreeSet<>();
654 // this.userApps.removeAll(this.userApps);
655 Iterator<EPRole> itr = roles.iterator();
656 while (itr.hasNext()) {
657 EPRole role = itr.next();
658 EPUserApp userApp = new EPUserApp();
659 userApp.setUserId(this.id);
661 userApp.setRole(role);
662 userApplications.add(userApp);
664 setEPUserApps(userApplications);
672 public SortedSet<EPRole> getAppEPRoles(EPApp app) {
674 logger.debug(EELFLoggerDelegate.debugLogger, "In EPUser.getAppEPRoles() - app = {}", app.getName());
676 SortedSet<EPRole> roles = new TreeSet<>();
677 SortedSet<EPUserApp> userAppRoles = getEPUserApps();
679 logger.debug(EELFLoggerDelegate.debugLogger, "In EPUser.getAppEPRoles() - userApps = {} ", userAppRoles.size());
681 Iterator<EPUserApp> userAppRolesIterator = userAppRoles.iterator();
683 EPUserApp userAppRole = null;
684 // getting default app
685 while (userAppRolesIterator.hasNext()) {
686 EPUserApp tempUserApp = userAppRolesIterator.next();
687 if (tempUserApp.getApp().getId().equals(app.getId())) {
689 logger.debug(EELFLoggerDelegate.debugLogger,
690 "In EPUser.getAppEPRoles() - for user {}, found application {}", this.getFullName(),
693 userAppRole = tempUserApp;
695 EPRole role = userAppRole.getRole();
696 if (role.getActive()) {
697 logger.debug(EELFLoggerDelegate.debugLogger,
698 "In EPUser.getAppEPRoles() - Role {} is active - adding for user {} and app {}",
699 role.getName(), this.getFullName(), app.getName());
700 roles.add((EPRole) role);
702 logger.debug(EELFLoggerDelegate.debugLogger,
703 "In EPUser.getAppEPRoles() - Role {} is NOT active - NOT adding for user {} and app {}",
704 role.getName(), this.getFullName(), app.getName());
708 logger.debug(EELFLoggerDelegate.debugLogger, "In EPUser.getAppEPRoles() - roles = {}", roles.size());
714 * Attention! Not for use in ONAP
716 public SortedSet<EPRole> getAppRoles(EPApp app) {
717 SortedSet<EPRole> roles = new TreeSet<>();
718 SortedSet<EPUserApp> apps = getEPUserApps();
719 Iterator<EPUserApp> appsItr = apps.iterator();
720 EPUserApp userApp = null;
721 // getting default app
722 while (appsItr.hasNext()) {
723 EPUserApp tempUserApp = appsItr.next();
724 if (tempUserApp.getApp().getId().equals(app.getId())) {
725 userApp = tempUserApp;
726 roles.add((EPRole) userApp.getRole());
733 * Attention! Not for use in ONAP
735 public SortedSet<EPRole> getEPRoles() {
736 EPApp app = new EPApp();
737 app.setId(PortalConstants.PORTAL_APP_ID);
738 app.setName(ECOMP_PORTAL_NAME);
739 return getAppEPRoles(app);
743 * Attention! Not for use in ONAP
745 public void setEPRoles(SortedSet<EPRole> roles) {
746 EPApp app = new EPApp();
747 app.setId(PortalConstants.PORTAL_APP_ID);
748 app.setName(ECOMP_PORTAL_NAME);
749 addAppRoles(app, roles);
753 * Attention! Not for use in ONAP
755 public void removeEPRole(Long roleId) {
756 SortedSet<EPUserApp> apps = getEPUserApps();
757 Iterator<EPUserApp> appsItr = apps.iterator();
758 // getting default app
759 while (appsItr.hasNext()) {
760 EPUserApp tempUserApp = appsItr.next();
761 if (tempUserApp.getAppId().equals(PortalConstants.PORTAL_APP_ID)
762 && tempUserApp.getRole().getId().equals(roleId)) {
769 * Attention! Not for use in ONAP
771 public void addEPRole(EPRole role) {
773 SortedSet<EPRole> roles = getEPRoles();
775 roles = new TreeSet<>();
782 public boolean isGuest() {
786 public void setGuest(boolean isGuest) {
787 this.isGuest = isGuest;
790 public boolean isSystemUser() {
794 public void setSystemUser(boolean systemUser) {
795 this.systemUser = systemUser;
799 public String toString() {
800 return "EPUser [orgId=" + orgId + ", managerId=" + managerId + ", firstName=" + firstName + ", middleInitial="
801 + middleInitial + ", lastName=" + lastName + ", phone=" + phone + ", fax=" + fax + ", cellular="
802 + cellular + ", email=" + email + ", addressId=" + addressId + ", alertMethodCd=" + alertMethodCd
803 + ", hrid=" + hrid + ", orgUserId=" + orgUserId + ", orgCode=" + orgCode + ", address1=" + address1
804 + ", address2=" + address2 + ", city=" + city + ", state=" + state + ", zipCode=" + zipCode
805 + ", country=" + country + ", orgManagerUserId=" + orgManagerUserId + ", locationClli=" + locationClli
806 + ", businessCountryCode=" + businessCountryCode + ", businessCountryName=" + businessCountryName
807 + ", businessUnit=" + businessUnit + ", businessUnitName=" + businessUnitName + ", department="
808 + department + ", departmentName=" + departmentName + ", companyCode=" + companyCode + ", company="
809 + company + ", zipCodeSuffix=" + zipCodeSuffix + ", jobTitle=" + jobTitle + ", commandChain="
810 + commandChain + ", siloStatus=" + siloStatus + ", costCenter=" + costCenter + ", financialLocCode="
811 + financialLocCode + ", loginId=" + loginId + ", loginPwd=" + loginPwd + ", lastLoginDate="
812 + lastLoginDate + ", active=" + active + ", internal=" + internal + ", selectedProfileId="
813 + selectedProfileId + ", timeZoneId=" + timeZoneId + ", online=" + online + ", chatId=" + chatId
814 + ", isGuest=" + isGuest + ", userApps=" + userApps + ", pseudoRoles=" + pseudoRoles + "]";