2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.openecomp.sdc.be.datatypes.components;
23 import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFieldsExtractor;
24 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
27 public class ResourceMetadataDataDefinition extends ComponentMetadataDataDefinition {
29 private String vendorName;
30 private String vendorRelease;
31 private String resourceVendorModelNumber;
32 private ResourceTypeEnum resourceType = ResourceTypeEnum.VFC; // ResourceType.VFC
35 private Boolean isAbstract;
37 private String licenseType;
38 private String toscaResourceName;
40 public ResourceMetadataDataDefinition() {
42 resourceVendorModelNumber = "";
45 public ResourceMetadataDataDefinition(ResourceMetadataDataDefinition other) {
47 this.vendorName = other.getVendorName();
48 this.vendorRelease = other.getVendorRelease();
49 this.resourceVendorModelNumber = other.getResourceVendorModelNumber();
50 this.isAbstract = other.isHighestVersion();
51 this.resourceType = other.getResourceType();
52 this.toscaResourceName = other.getToscaResourceName();
55 public ResourceMetadataDataDefinition(JsonPresentationFieldsExtractor extractor){
57 this.vendorName = extractor.getVendorName();
58 this.vendorRelease = extractor.getVendorRelease();
59 this.resourceVendorModelNumber = extractor.getResourceVendorModelNumber();
60 this.isAbstract = extractor.isAbstract();
61 this.resourceType = extractor.getResourceType();
62 this.toscaResourceName = extractor.getToscaResourceName();
65 public String getVendorName() {
69 public void setVendorName(String vendorName) {
70 this.vendorName = vendorName;
73 public String getVendorRelease() {
77 public void setVendorRelease(String vendorRelease) {
78 this.vendorRelease = vendorRelease;
81 public String getResourceVendorModelNumber() {
82 return resourceVendorModelNumber;
85 public void setResourceVendorModelNumber(String resourceVendorModelNumber) {
86 this.resourceVendorModelNumber = resourceVendorModelNumber;
90 public ResourceTypeEnum getResourceType() {
94 public void setResourceType(ResourceTypeEnum resourceType) {
95 this.resourceType = resourceType;
98 public Boolean isAbstract() {
102 public void setAbstract(Boolean isAbstract) {
103 this.isAbstract = isAbstract;
106 public String getCost() {
110 public void setCost(String cost) {
114 public String getLicenseType() {
118 public void setLicenseType(String licenseType) {
119 this.licenseType = licenseType;
122 public String getToscaResourceName() {
123 return toscaResourceName;
126 public void setToscaResourceName(String toscaResourceName) {
127 this.toscaResourceName = toscaResourceName;
131 public String toString() {
132 return "ResourceMetadataDataDefinition [vendorName=" + vendorName + ", vendorRelease=" + vendorRelease
133 + ", resourceVendorModelNumber=" + resourceVendorModelNumber + ", resourceType=" + resourceType
134 + ", isAbstract=" + isAbstract + super.toString() + "]";
138 public int hashCode() {
139 final int prime = 31;
140 int result = super.hashCode();
141 result = prime * result + ((cost == null) ? 0 : cost.hashCode());
142 result = prime * result + ((isAbstract == null) ? 0 : isAbstract.hashCode());
143 result = prime * result + ((licenseType == null) ? 0 : licenseType.hashCode());
144 result = prime * result + ((resourceType == null) ? 0 : resourceType.hashCode());
145 result = prime * result + ((vendorName == null) ? 0 : vendorName.hashCode());
146 result = prime * result + ((vendorRelease == null) ? 0 : vendorRelease.hashCode());
147 result = prime * result + ((resourceVendorModelNumber == null) ? 0 : resourceVendorModelNumber.hashCode());
152 public boolean equals(Object obj) {
156 if (!super.equals(obj)) {
159 if (getClass() != obj.getClass()) {
162 ResourceMetadataDataDefinition other = (ResourceMetadataDataDefinition) obj;
164 if (other.cost != null) {
167 } else if (!cost.equals(other.cost)) {
170 if (isAbstract == null) {
171 if (other.isAbstract != null) {
174 } else if (!isAbstract.equals(other.isAbstract)) {
177 if (licenseType == null) {
178 if (other.licenseType != null) {
181 } else if (!licenseType.equals(other.licenseType)) {
184 if (resourceType != other.resourceType) {
187 if (vendorName == null) {
188 if (other.vendorName != null) {
191 } else if (!vendorName.equals(other.vendorName)) {
194 if (vendorRelease == null) {
195 if (other.vendorRelease != null) {
199 if (toscaResourceName == null) {
200 if (other.toscaResourceName != null) {
203 } else if (!vendorRelease.equals(other.vendorRelease)) {
206 if (resourceVendorModelNumber == null) {
207 if (other.resourceVendorModelNumber != null) {
210 } else if (!resourceVendorModelNumber.equals(other.resourceVendorModelNumber)) {
214 return super.equals(obj);
218 public String getActualComponentType() {
219 return getResourceType().getValue();