ddb25c6e2935b9ea1f5644ade811e886bd2ab986
[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 lombok.EqualsAndHashCode;
24 import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFieldsExtractor;
25 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
26
27 @EqualsAndHashCode(callSuper = true)
28 public class ResourceMetadataDataDefinition extends ComponentMetadataDataDefinition {
29
30     private String vendorName;
31     private String vendorRelease;
32     private String resourceVendorModelNumber;
33     private ResourceTypeEnum resourceType = ResourceTypeEnum.VFC; // ResourceType.VFC
34     // is
35     // default
36     private Boolean isAbstract;
37     private String cost;
38     private String licenseType;
39     private String toscaResourceName;
40
41     public ResourceMetadataDataDefinition() {
42         super();
43         resourceVendorModelNumber = "";
44     }
45
46     public ResourceMetadataDataDefinition(ResourceMetadataDataDefinition other) {
47         super(other);
48         this.vendorName = other.getVendorName();
49         this.vendorRelease = other.getVendorRelease();
50         this.resourceVendorModelNumber = other.getResourceVendorModelNumber();
51         this.isAbstract = other.isHighestVersion();
52         this.resourceType = other.getResourceType();
53         this.toscaResourceName = other.getToscaResourceName();
54     }
55
56     public ResourceMetadataDataDefinition(JsonPresentationFieldsExtractor extractor) {
57         super(extractor);
58         this.vendorName = extractor.getVendorName();
59         this.vendorRelease = extractor.getVendorRelease();
60         this.resourceVendorModelNumber = extractor.getResourceVendorModelNumber();
61         this.isAbstract = extractor.isAbstract();
62         this.resourceType = extractor.getResourceType();
63         this.toscaResourceName = extractor.getToscaResourceName();
64     }
65
66     public String getVendorName() {
67         return vendorName;
68     }
69
70     public void setVendorName(String vendorName) {
71         this.vendorName = vendorName;
72     }
73
74     public String getVendorRelease() {
75         return vendorRelease;
76     }
77
78     public void setVendorRelease(String vendorRelease) {
79         this.vendorRelease = vendorRelease;
80     }
81
82     public String getResourceVendorModelNumber() {
83         return resourceVendorModelNumber;
84     }
85
86     public void setResourceVendorModelNumber(String resourceVendorModelNumber) {
87         this.resourceVendorModelNumber = resourceVendorModelNumber;
88     }
89
90     public ResourceTypeEnum getResourceType() {
91         return resourceType;
92     }
93
94     public void setResourceType(ResourceTypeEnum resourceType) {
95         this.resourceType = resourceType;
96     }
97
98     public Boolean isAbstract() {
99         return isAbstract;
100     }
101
102     public void setAbstract(Boolean isAbstract) {
103         this.isAbstract = isAbstract;
104     }
105
106     public String getCost() {
107         return cost;
108     }
109
110     public void setCost(String cost) {
111         this.cost = cost;
112     }
113
114     public String getLicenseType() {
115         return licenseType;
116     }
117
118     public void setLicenseType(String licenseType) {
119         this.licenseType = licenseType;
120     }
121
122     public String getToscaResourceName() {
123         return toscaResourceName;
124     }
125
126     public void setToscaResourceName(String toscaResourceName) {
127         this.toscaResourceName = toscaResourceName;
128     }
129
130     @Override
131     public String toString() {
132         return "ResourceMetadataDataDefinition [vendorName=" + vendorName + ", vendorRelease=" + vendorRelease
133             + ", resourceVendorModelNumber=" + resourceVendorModelNumber + ", resourceType=" + resourceType
134             + ", isAbstract=" + isAbstract + super.toString() + "]";
135     }
136
137     @Override
138     public String getActualComponentType() {
139         return getResourceType().getValue();
140     }
141
142 }