re base code
[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 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                 if (!super.equals(obj))
144                         return false;
145                 if (getClass() != obj.getClass())
146                         return false;
147                 ResourceMetadataDataDefinition other = (ResourceMetadataDataDefinition) obj;
148                 if (cost == null) {
149                         if (other.cost != null)
150                                 return false;
151                 } else if (!cost.equals(other.cost))
152                         return false;
153                 if (isAbstract == null) {
154                         if (other.isAbstract != null)
155                                 return false;
156                 } else if (!isAbstract.equals(other.isAbstract))
157                         return false;
158                 if (licenseType == null) {
159                         if (other.licenseType != null)
160                                 return false;
161                 } else if (!licenseType.equals(other.licenseType))
162                         return false;
163                 if (resourceType != other.resourceType)
164                         return false;
165                 if (vendorName == null) {
166                         if (other.vendorName != null)
167                                 return false;
168                 } else if (!vendorName.equals(other.vendorName))
169                         return false;
170                 if (vendorRelease == null) {
171                         if (other.vendorRelease != null)
172                                 return false;
173                 }
174                 if (toscaResourceName == null) {
175                         if (other.toscaResourceName != null)
176                                 return false;
177                 } else if (!vendorRelease.equals(other.vendorRelease))
178                         return false;
179                 if (resourceVendorModelNumber == null) {
180                         if (other.resourceVendorModelNumber != null)
181                                 return false;
182                 } else if (!resourceVendorModelNumber.equals(other.resourceVendorModelNumber))
183                         return false;
184
185                 return super.equals(obj);
186         }
187
188         @Override
189         public String getActualComponentType() {
190                 return getResourceType().getValue();
191         }
192
193 }