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.vendorsoftwareproduct.dao.type;
23 import com.datastax.driver.mapping.annotations.Column;
24 import com.datastax.driver.mapping.annotations.Computed;
25 import com.datastax.driver.mapping.annotations.Frozen;
26 import com.datastax.driver.mapping.annotations.PartitionKey;
27 import com.datastax.driver.mapping.annotations.Table;
28 import org.openecomp.core.utilities.json.JsonUtil;
29 import org.openecomp.sdc.heat.datatypes.structure.ValidationStructureList;
30 import org.openecomp.sdc.versioning.dao.types.Version;
31 import org.openecomp.sdc.versioning.dao.types.VersionableEntity;
33 import java.util.List;
35 @Table(keyspace = "dox", name = "vsp_information")
36 public class VspDetails implements VersionableEntity {
37 public static final String ENTITY_TYPE = "Vendor Software Product";
40 @Column(name = "vsp_id")
43 @PartitionKey(value = 1)
45 private Version version;
48 private String description;
50 private String category;
52 @Column(name = "sub_category")
53 private String subCategory;
57 @Column(name = "vendor_name")
58 private String vendorName;
60 @Column(name = "vendor_id")
61 private String vendorId;
63 @Column(name = "vlm_version")
65 private Version vlmVersion;
67 @Column(name = "license_agreement")
68 private String licenseAgreement;
70 @Column(name = "feature_groups")
71 private List<String> featureGroups;
73 @Column(name = "package_name")
74 private String packageName;
76 @Column(name = "package_version")
77 private String packageVersion;
79 @Column(name = "validation_data")
80 private String validationData;
82 @Computed("writetime(name)")
83 private Long writetimeMicroSeconds;
88 public VspDetails(String id, Version version) {
90 this.version = version;
94 public String getEntityType() {
99 public String getFirstClassCitizenId() {
103 public String getId() {
107 public void setId(String id) {
112 public Version getVersion() {
117 public void setVersion(Version version) {
118 this.version = version;
121 public String getName() {
125 public void setName(String name) {
129 public String getDescription() {
133 public void setDescription(String description) {
134 this.description = description;
137 public String getCategory() {
141 public void setCategory(String category) {
142 this.category = category;
145 public String getSubCategory() {
149 public void setSubCategory(String subCategory) {
150 this.subCategory = subCategory;
153 public String getIcon() {
157 public void setIcon(String icon) {
161 public String getVendorName() {
165 public void setVendorName(String vendorName) {
166 this.vendorName = vendorName;
169 public String getVendorId() {
173 public void setVendorId(String vendorId) {
174 this.vendorId = vendorId;
177 public Version getVlmVersion() {
181 public void setVlmVersion(Version vlmVersion) {
182 this.vlmVersion = vlmVersion;
185 public String getLicenseAgreement() {
186 return licenseAgreement;
189 public void setLicenseAgreement(String licenseAgreement) {
190 this.licenseAgreement = licenseAgreement;
193 public List<String> getFeatureGroups() {
194 return featureGroups;
197 public void setFeatureGroups(List<String> featureGroups) {
198 this.featureGroups = featureGroups;
201 public String getPackageName() {
205 public void setPackageName(String packageName) {
206 this.packageName = packageName;
209 public String getPackageVersion() {
210 return packageVersion;
213 public void setPackageVersion(String packageVersion) {
214 this.packageVersion = packageVersion;
217 public String getValidationData() {
218 return validationData;
221 public void setValidationData(String validationData) {
222 this.validationData = validationData;
225 public ValidationStructureList getValidationDataStructure() {
226 return validationData == null ? null
227 : JsonUtil.json2Object(validationData, ValidationStructureList.class);
230 public void setValidationDataStructure(ValidationStructureList validationData) {
231 this.validationData = validationData == null ? null
232 : JsonUtil.object2Json(validationData);
235 public Long getWritetimeMicroSeconds() {
236 return this.writetimeMicroSeconds;
239 public void setWritetimeMicroSeconds(Long writetimeMicroSeconds) {
240 this.writetimeMicroSeconds = writetimeMicroSeconds;