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();