/* * ============LICENSE_START========================================== * ONAP Portal SDK * =================================================================== * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * =================================================================== * * Unless otherwise specified, all software contained herein is licensed * under the Apache License, Version 2.0 (the "License"); * you may not use this software except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Unless otherwise specified, all documentation contained herein is licensed * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); * you may not use this documentation except in compliance with the License. * You may obtain a copy of the License at * * https://creativecommons.org/licenses/by/4.0/ * * Unless required by applicable law or agreed to in writing, documentation * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * ============LICENSE_END============================================ * * */ package org.onap.portalsdk.core.domain; @SuppressWarnings("rawtypes") public class UserApp implements java.io.Serializable, Comparable { private static final long serialVersionUID = 1L; private Long userId; private App app; private Role role; private Short priority; public Long getUserId() { return userId; } public void setUserId(Long userId) { this.userId = userId; } public App getApp() { return app; } public void setApp(App app) { this.app = app; } public Role getRole() { return role; } public void setRole(Role role) { this.role = role; } public Short getPriority() { return this.priority; } public void setPriority(Short priority) { this.priority = priority; } @Override public boolean equals(Object other) { if (this == other) return true; if (other == null) return false; if (!(other instanceof UserApp)) return false; UserApp castOther = (UserApp) other; return (this.getUserId().equals(castOther.getUserId())) && (this.getApp().getId().equals(castOther.getApp().getId())) && (this.getRole().getId().equals(castOther.getRole().getId())) && ((this.priority == null && castOther.getPriority() == null) || this.getPriority().equals(castOther.getPriority())); } @Override public int hashCode() { int result = 17; result = 37 * result + (int) (this.getUserId() == null ? 0 : this.getUserId().intValue()); result = 37 * result + (int) (this.getApp().getId() == null ? 0 : this.getApp().getId().intValue()); result = 37 * result + (int) (this.getRole().getId() == null ? 0 : this.getRole().getId().intValue()); result = 37 * result + (int) (this.priority == null ? 0 : this.priority); return result; } @Override public int compareTo(Object other) { UserApp castOther = (UserApp) other; 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); 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); return c1.compareTo(c2); } }