Merge "Drools-apps CSIT randomly fails deploying policies"
[integration/csit.git] / plans / usecases / pnf-sw-upgrade / so / simulator / aai-simulator / src / main / java / org / onap / so / aaisimulator / models / CloudRegionKey.java
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2019 Nordix Foundation.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20 package org.onap.so.aaisimulator.models;
21
22 import java.io.Serializable;
23 import org.springframework.util.ObjectUtils;
24
25 /**
26  * @author Waqas Ikram (waqas.ikram@est.tech)
27  *
28  */
29 public class CloudRegionKey implements Serializable {
30
31     private static final long serialVersionUID = 6175094050996035737L;
32
33     private final String cloudOwner;
34
35     private final String cloudRegionId;
36
37     public CloudRegionKey(final String cloudOwner, final String cloudRegionId) {
38         this.cloudOwner = cloudOwner;
39         this.cloudRegionId = cloudRegionId;
40     }
41
42     /**
43      * @return the cloudOwner
44      */
45     public String getCloudOwner() {
46         return cloudOwner;
47     }
48
49     /**
50      * @return the cloudRegionId
51      */
52     public String getCloudRegionId() {
53         return cloudRegionId;
54     }
55
56     public boolean isValid() {
57         return cloudOwner != null && !cloudOwner.isEmpty() && cloudRegionId != null && !cloudRegionId.isEmpty();
58     }
59
60     @Override
61     public int hashCode() {
62         final int prime = 31;
63         int result = 1;
64         result = prime * result + (ObjectUtils.nullSafeHashCode(cloudOwner));
65         result = prime * result + (ObjectUtils.nullSafeHashCode(cloudRegionId));
66
67         return result;
68     }
69
70     @Override
71     public boolean equals(final Object obj) {
72         if (obj instanceof CloudRegionKey) {
73             final CloudRegionKey other = (CloudRegionKey) obj;
74             return ObjectUtils.nullSafeEquals(cloudOwner, other.cloudOwner)
75                     && ObjectUtils.nullSafeEquals(cloudRegionId, other.cloudRegionId);
76         }
77         return false;
78     }
79
80     @Override
81     public String toString() {
82         return "CloudRegionKey [cloudOwner=" + cloudOwner + ", cloudRegionId=" + cloudRegionId + "]";
83     }
84
85 }