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 javax.validation.Valid;
41 import org.onap.portalsdk.core.domain.support.DomainVo;
43 @SuppressWarnings("rawtypes")
44 public class EPUserApp extends DomainVo implements java.io.Serializable, Comparable {
46 private static final long serialVersionUID = 1L;
53 private Integer priority;
58 public Long getAppId() {
59 return this.getApp().getId();
62 public Long getRoleId() {
63 return (role == null) ? null : role.getId();
66 public Long getAppRoleId() {
67 return this.role.getAppRoleId();
71 public String toString() {
72 return "[u: "+getUserId()+"; a: "+getAppId()+", r: "+getRoleId()+"; appRoleId: "+getAppRoleId()+"]";
75 public Long getUserId() {
79 public void setUserId(Long id) {
83 public EPApp getApp() {
87 public void setApp(EPApp app) {
91 public EPRole getRole() {
95 public void setRole(EPRole role) {
99 public Integer getPriority() {
100 return (this.priority == null) ? 1 : priority;
103 public void setPriority(Integer priority) {
104 this.priority = priority;
108 public boolean equals(Object other) {
113 if (!(other instanceof EPUserApp))
115 EPUserApp castOther = (EPUserApp) other;
117 return (otherUserIdIsSameAsThisUserId(castOther))
118 && (otherAppIdIsSameAsThis(castOther))
119 && (otherRoleIsSameAsThis(castOther))
120 && (otherPriorityIsSameAsThis(castOther));
123 public int hashCode() {
126 result = 37 * result + (int) (this.getUserId()==null ? 0 : this.getUserId().intValue());
127 result = 37 * result + (int) (this.getApp().getId()==null ? 0 : this.getApp().getId().intValue());
128 result = 37 * result + (int) (this.getRole().getId()==null ? 0 : this.getRole().getId().intValue());
129 result = 37 * result + (int) (this.priority==null ? 0 : this.priority);
133 public int compareTo(Object other){
134 EPUserApp castOther = (EPUserApp) other;
136 Long c1 = (this.getUserId()==null ? 0 : this.getUserId()) + (this.getApp()==null||this.getApp().getId()==null ? 0 : this.getApp().getId()) + (this.getRole()==null||this.getRole().getId()==null ? 0 : this.getRole().getId()) + (this.priority==null ? 0 : this.priority);
137 Long c2 = (castOther.getUserId()==null ? 0 : castOther.getUserId()) + (castOther.getApp()==null||castOther.getApp().getId()==null ? 0 : castOther.getApp().getId()) + (castOther.getRole()==null||castOther.getRole().getId()==null ? 0 : castOther.getRole().getId()) + (castOther.priority==null ? 0 : castOther.priority);
139 return c1.compareTo(c2);
141 private boolean otherPriorityIsSameAsThis(EPUserApp other){
142 return (this.priority==null && other.getPriority()==null) || this.getPriority().equals(other.getPriority());
145 private boolean otherRoleIsSameAsThis(EPUserApp other){
146 return this.getRole().getId().equals(other.getRole().getId());
149 private boolean otherAppIdIsSameAsThis(EPUserApp other){
150 return this.getApp().getId().equals(other.getApp().getId());
153 private boolean otherUserIdIsSameAsThisUserId(EPUserApp other){
154 return this.getUserId().equals(other.getUserId());