3a482862800955528c6c2a03b6e296f24dd860cb
[sdc.git] /
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 public class ResourceMetadataDataDefinition extends ComponentMetadataDataDefinition {
26
27     private String vendorName;
28     private String vendorRelease;
29     private String resourceVendorModelNumber;
30     private ResourceTypeEnum resourceType = ResourceTypeEnum.VFC; // ResourceType.VFC
31     // is
32     // default
33     private Boolean isAbstract;
34     private String cost;
35     private String licenseType;
36     private String toscaResourceName;
37
38     public ResourceMetadataDataDefinition() {
39         super();
40         resourceVendorModelNumber = "";
41     }
42
43     public ResourceMetadataDataDefinition(ResourceMetadataDataDefinition other) {
44         super(other);
45         this.vendorName = other.getVendorName();
46         this.vendorRelease = other.getVendorRelease();
47         this.resourceVendorModelNumber = other.getResourceVendorModelNumber();
48         this.isAbstract = other.isHighestVersion();
49         this.resourceType = other.getResourceType();
50         this.toscaResourceName = other.getToscaResourceName();
51     }
52
53     public String getVendorName() {
54         return vendorName;
55     }
56
57     public void setVendorName(String vendorName) {
58         this.vendorName = vendorName;
59     }
60
61     public String getVendorRelease() {
62         return vendorRelease;
63     }
64
65     public void setVendorRelease(String vendorRelease) {
66         this.vendorRelease = vendorRelease;
67     }
68
69     public String getResourceVendorModelNumber() {
70         return resourceVendorModelNumber;
71     }
72
73     public void setResourceVendorModelNumber(String resourceVendorModelNumber) {
74         this.resourceVendorModelNumber = resourceVendorModelNumber;
75     }
76
77
78     public ResourceTypeEnum getResourceType() {
79         return resourceType;
80     }
81
82     public void setResourceType(ResourceTypeEnum resourceType) {
83         this.resourceType = resourceType;
84     }
85
86     public Boolean isAbstract() {
87         return isAbstract;
88     }
89
90     public void setAbstract(Boolean isAbstract) {
91         this.isAbstract = isAbstract;
92     }
93
94     public String getCost() {
95         return cost;
96     }
97
98     public void setCost(String cost) {
99         this.cost = cost;
100     }
101
102     public String getLicenseType() {
103         return licenseType;
104     }
105
106     public void setLicenseType(String licenseType) {
107         this.licenseType = licenseType;
108     }
109
110     public String getToscaResourceName() {
111         return toscaResourceName;
112     }
113
114     public void setToscaResourceName(String toscaResourceName) {
115         this.toscaResourceName = toscaResourceName;
116     }
117
118     @Override
119     public String toString() {
120         return "ResourceMetadataDataDefinition [vendorName=" + vendorName + ", vendorRelease=" + vendorRelease
121                 + ", resourceVendorModelNumber=" + resourceVendorModelNumber + ", resourceType=" + resourceType
122                 + ", isAbstract=" + isAbstract + super.toString() + "]";
123     }
124
125     @Override
126     public int hashCode() {
127         final int prime = 31;
128         int result = super.hashCode();
129         result = prime * result + ((cost == null) ? 0 : cost.hashCode());
130         result = prime * result + ((isAbstract == null) ? 0 : isAbstract.hashCode());
131         result = prime * result + ((licenseType == null) ? 0 : licenseType.hashCode());
132         result = prime * result + ((resourceType == null) ? 0 : resourceType.hashCode());
133         result = prime * result + ((vendorName == null) ? 0 : vendorName.hashCode());
134         result = prime * result + ((vendorRelease == null) ? 0 : vendorRelease.hashCode());
135         result = prime * result + ((resourceVendorModelNumber == null) ? 0 : resourceVendorModelNumber.hashCode());
136         return result;
137     }
138
139     @Override
140     public boolean equals(Object obj) {
141         if (this == obj) {
142             return true;
143         }
144         if (!super.equals(obj)) {
145             return false;
146         }
147         if (getClass() != obj.getClass()) {
148             return false;
149         }
150         ResourceMetadataDataDefinition other = (ResourceMetadataDataDefinition) obj;
151         if (cost == null) {
152             if (other.cost != null) {
153                 return false;
154             }
155         } else if (!cost.equals(other.cost)) {
156             return false;
157         }
158         if (isAbstract == null) {
159             if (other.isAbstract != null) {
160                 return false;
161             }
162         } else if (!isAbstract.equals(other.isAbstract)) {
163             return false;
164         }
165         if (licenseType == null) {
166             if (other.licenseType != null) {
167                 return false;
168             }
169         } else if (!licenseType.equals(other.licenseType)) {
170             return false;
171         }
172         if (resourceType != other.resourceType) {
173             return false;
174         }
175         if (vendorName == null) {
176             if (other.vendorName != null) {
177                 return false;
178             }
179         } else if (!vendorName.equals(other.vendorName)) {
180             return false;
181         }
182         if (vendorRelease == null) {
183             if (other.vendorRelease != null) {
184                 return false;
185             }
186         }
187         if (toscaResourceName == null) {
188             if (other.toscaResourceName != null) {
189                 return false;
190             }
191         } else if (!vendorRelease.equals(other.vendorRelease)) {
192             return false;
193         }
194         if (resourceVendorModelNumber == null) {
195             if (other.resourceVendorModelNumber != null) {
196                 return false;
197             }
198         } else if (!resourceVendorModelNumber.equals(other.resourceVendorModelNumber)) {
199             return false;
200         }
201
202         return super.equals(obj);
203     }
204
205     @Override
206     public String getActualComponentType() {
207         return getResourceType().getValue();
208     }
209
210 }