e0295221964f30d8882f2271e33ba38fb3efb7f8
[policy/models.git] / models-interactions / model-impl / sdc / src / main / java / org / onap / policy / sdc / ServiceInstance.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * sdc
4  * ================================================================================
5  * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2019 Nordix Foundation.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.policy.sdc;
23
24 import java.io.Serializable;
25 import java.util.UUID;
26 import lombok.Getter;
27 import lombok.Setter;
28
29 @Getter
30 @Setter
31 public class ServiceInstance implements Serializable {
32
33     private static final long serialVersionUID = 6285260780966679625L;
34
35     private UUID personaModelUUID;
36     private UUID serviceUUID;
37     private UUID serviceInstanceUUID;
38     private UUID widgetModelUUID;
39     private String widgetModelVersion;
40     private String serviceName;
41     private String serviceInstanceName;
42
43     public ServiceInstance() {
44         //Empty Constructor
45     }
46
47     /**
48      * Constructor.
49      *
50      * @param instance copy object
51      */
52     public ServiceInstance(ServiceInstance instance) {
53         if (instance == null) {
54             return;
55         }
56         this.personaModelUUID = instance.personaModelUUID;
57         this.serviceUUID = instance.serviceUUID;
58         this.serviceInstanceUUID = instance.serviceInstanceUUID;
59         this.widgetModelUUID = instance.widgetModelUUID;
60         this.widgetModelVersion = instance.widgetModelVersion;
61         this.serviceName = instance.serviceName;
62         this.serviceInstanceName = instance.serviceInstanceName;
63     }
64
65     @Override
66     public String toString() {
67         return "ServiceInstance [personaModelUUID=" + personaModelUUID + ", serviceUUID=" + serviceUUID
68             + ", serviceInstanceUUID=" + serviceInstanceUUID + ", widgetModelUUID=" + widgetModelUUID
69             + ", widgetModelVersion=" + widgetModelVersion + ", serviceName=" + serviceName
70             + ", serviceInstanceName=" + serviceInstanceName + "]";
71     }
72
73     @Override
74     public int hashCode() {
75         final int prime = 31;
76         int result = 1;
77         result = prime * result + ((personaModelUUID == null) ? 0 : personaModelUUID.hashCode());
78         result = prime * result + ((serviceInstanceName == null) ? 0 : serviceInstanceName.hashCode());
79         result = prime * result + ((serviceInstanceUUID == null) ? 0 : serviceInstanceUUID.hashCode());
80         result = prime * result + ((serviceName == null) ? 0 : serviceName.hashCode());
81         result = prime * result + ((serviceUUID == null) ? 0 : serviceUUID.hashCode());
82         result = prime * result + ((widgetModelUUID == null) ? 0 : widgetModelUUID.hashCode());
83         result = prime * result + ((widgetModelVersion == null) ? 0 : widgetModelVersion.hashCode());
84         return result;
85     }
86
87     @Override
88     public boolean equals(Object obj) {
89         if (this == obj) {
90             return true;
91         }
92         if (obj == null) {
93             return false;
94         }
95         if (getClass() != obj.getClass()) {
96             return false;
97         }
98         ServiceInstance other = (ServiceInstance) obj;
99         if (personaModelUUID == null) {
100             if (other.personaModelUUID != null) {
101                 return false;
102             }
103         } else if (!personaModelUUID.equals(other.personaModelUUID)) {
104             return false;
105         }
106         if (serviceInstanceName == null) {
107             if (other.serviceInstanceName != null) {
108                 return false;
109             }
110         } else if (!serviceInstanceName.equals(other.serviceInstanceName)) {
111             return false;
112         }
113         if (serviceInstanceUUID == null) {
114             if (other.serviceInstanceUUID != null) {
115                 return false;
116             }
117         } else if (!serviceInstanceUUID.equals(other.serviceInstanceUUID)) {
118             return false;
119         }
120         if (serviceName == null) {
121             if (other.serviceName != null) {
122                 return false;
123             }
124         } else if (!serviceName.equals(other.serviceName)) {
125             return false;
126         }
127         if (serviceUUID == null) {
128             if (other.serviceUUID != null) {
129                 return false;
130             }
131         } else if (!serviceUUID.equals(other.serviceUUID)) {
132             return false;
133         }
134         if (widgetModelUUID == null) {
135             if (other.widgetModelUUID != null) {
136                 return false;
137             }
138         } else if (!widgetModelUUID.equals(other.widgetModelUUID)) {
139             return false;
140         }
141         if (widgetModelVersion == null) {
142             return other.widgetModelVersion == null;
143         } else {
144             return widgetModelVersion.equals(other.widgetModelVersion);
145         }
146     }
147 }