Sync Integ to Master
[sdc.git] / common-be / src / main / java / org / openecomp / sdc / be / datatypes / components / ResourceMetadataDataDefinition.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.be.datatypes.components;
22
23 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
24
25 import java.io.Serializable;
26
27 public class ResourceMetadataDataDefinition extends ComponentMetadataDataDefinition implements Serializable {
28
29         /**
30          * 
31          */
32         private static final long serialVersionUID = 1142973528643758481L;
33
34         private String vendorName;
35         private String vendorRelease;
36         private String resourceVendorModelNumber;
37         private ResourceTypeEnum resourceType = ResourceTypeEnum.VFC; // ResourceType.VFC
38                                                                                                                                         // is
39                                                                                                                                         // default
40         private Boolean isAbstract;
41         private String cost;
42         private String licenseType;
43         private String toscaResourceName;
44
45         public ResourceMetadataDataDefinition() {
46                 super();
47                 resourceVendorModelNumber = "";
48         }
49
50         public ResourceMetadataDataDefinition(ResourceMetadataDataDefinition other) {
51                 super(other);
52                 this.vendorName = other.getVendorName();
53                 this.vendorRelease = other.getVendorRelease();
54                 this.resourceVendorModelNumber = other.getResourceVendorModelNumber();
55                 this.isAbstract = other.isHighestVersion();
56                 this.resourceType = other.getResourceType();
57                 this.toscaResourceName = other.getToscaResourceName();
58         }
59
60         public String getVendorName() {
61                 return vendorName;
62         }
63
64         public void setVendorName(String vendorName) {
65                 this.vendorName = vendorName;
66         }
67
68         public String getVendorRelease() {
69                 return vendorRelease;
70         }
71
72         public void setVendorRelease(String vendorRelease) {
73                 this.vendorRelease = vendorRelease;
74         }
75         
76         public String getResourceVendorModelNumber() {
77                 return resourceVendorModelNumber;
78         }
79
80         public void setResourceVendorModelNumber(String resourceVendorModelNumber) {
81                 this.resourceVendorModelNumber = resourceVendorModelNumber;
82         }
83
84
85         public ResourceTypeEnum getResourceType() {
86                 return resourceType;
87         }
88
89         public void setResourceType(ResourceTypeEnum resourceType) {
90                 this.resourceType = resourceType;
91         }
92
93         public Boolean isAbstract() {
94                 return isAbstract;
95         }
96
97         public void setAbstract(Boolean isAbstract) {
98                 this.isAbstract = isAbstract;
99         }
100
101         public String getCost() {
102                 return cost;
103         }
104
105         public void setCost(String cost) {
106                 this.cost = cost;
107         }
108
109         public String getLicenseType() {
110                 return licenseType;
111         }
112
113         public void setLicenseType(String licenseType) {
114                 this.licenseType = licenseType;
115         }
116
117         public String getToscaResourceName() {
118                 return toscaResourceName;
119         }
120
121         public void setToscaResourceName(String toscaResourceName) {
122                 this.toscaResourceName = toscaResourceName;
123         }
124
125         @Override
126         public String toString() {
127                 return "ResourceMetadataDataDefinition [vendorName=" + vendorName + ", vendorRelease=" + vendorRelease
128                                 + ", resourceVendorModelNumber=" + resourceVendorModelNumber + ", resourceType=" + resourceType +
129                                 ", isAbstract=" + isAbstract + super.toString() + "]";
130         }
131
132         @Override
133         public int hashCode() {
134                 final int prime = 31;
135                 int result = super.hashCode();
136                 result = prime * result + ((cost == null) ? 0 : cost.hashCode());
137                 result = prime * result + ((isAbstract == null) ? 0 : isAbstract.hashCode());
138                 result = prime * result + ((licenseType == null) ? 0 : licenseType.hashCode());
139                 result = prime * result + ((resourceType == null) ? 0 : resourceType.hashCode());
140                 result = prime * result + ((vendorName == null) ? 0 : vendorName.hashCode());
141                 result = prime * result + ((vendorRelease == null) ? 0 : vendorRelease.hashCode());
142                 result = prime * result + ((resourceVendorModelNumber == null)? 0 : resourceVendorModelNumber.hashCode());
143                 return result;
144         }
145
146         @Override
147         public boolean equals(Object obj) {
148                 if (this == obj)
149                         return true;
150                 if (!super.equals(obj))
151                         return false;
152                 if (getClass() != obj.getClass())
153                         return false;
154                 ResourceMetadataDataDefinition other = (ResourceMetadataDataDefinition) obj;
155                 if (cost == null) {
156                         if (other.cost != null)
157                                 return false;
158                 } else if (!cost.equals(other.cost))
159                         return false;
160                 if (isAbstract == null) {
161                         if (other.isAbstract != null)
162                                 return false;
163                 } else if (!isAbstract.equals(other.isAbstract))
164                         return false;
165                 if (licenseType == null) {
166                         if (other.licenseType != null)
167                                 return false;
168                 } else if (!licenseType.equals(other.licenseType))
169                         return false;
170                 if (resourceType != other.resourceType)
171                         return false;
172                 if (vendorName == null) {
173                         if (other.vendorName != null)
174                                 return false;
175                 } else if (!vendorName.equals(other.vendorName))
176                         return false;
177                 if (vendorRelease == null) {
178                         if (other.vendorRelease != null)
179                                 return false;
180                 }
181                 if (toscaResourceName == null) {
182                         if (other.toscaResourceName != null)
183                                 return false;
184                 } else if (!vendorRelease.equals(other.vendorRelease))
185                         return false;
186                 if (resourceVendorModelNumber == null) {
187                         if (other.resourceVendorModelNumber != null)
188                                 return false;
189                 } else if (!resourceVendorModelNumber.equals(other.resourceVendorModelNumber))
190                         return false;
191
192                 return super.equals(obj);
193         }
194
195         @Override
196         public String getActualComponentType() {
197                 return getResourceType().getValue();
198         }
199
200 }