1 package org.openecomp.sdc.vendorsoftwareproduct.dao.type;
3 import com.datastax.driver.mapping.annotations.*;
4 import org.openecomp.core.utilities.json.JsonUtil;
5 import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId;
6 import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityType;
7 import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComputeData;
8 import org.openecomp.sdc.versioning.dao.types.Version;
10 @Table(keyspace = "dox", name = "vsp_component_compute")
11 public class ComputeEntity implements CompositionEntity {
12 public static final String ENTITY_TYPE = "Vendor Software Product Component Compute Flavor";
15 @Column(name = "vsp_id")
17 @PartitionKey(value = 1)
19 private Version version;
21 @Column(name = "component_id")
22 private String componentId;
23 @ClusteringColumn(value = 1)
24 @Column(name = "compute_id")
26 @Column(name = "composition_data")
27 private String compositionData;
28 @Column(name = "questionnaire_data")
29 private String questionnaireData;
32 * Every entity class must have a default constructor according to
33 * <a href="http://docs.datastax.com/en/developer/java-driver/2.1/manual/object_mapper/creating/">
34 * Definition of mapped classes</a>.
36 public ComputeEntity() {
37 // Don't delete! Default constructor is required by DataStax driver
40 public ComputeEntity(String vspId, Version version, String componentId, String id) {
42 this.version = version;
43 this.componentId = componentId;
48 public String getEntityType() {
53 public String getFirstClassCitizenId() {
58 public String getId() {
63 public void setId(String id) {
68 public Version getVersion() {
73 public void setVersion(Version version) {
74 this.version = version;
78 public CompositionEntityType getType() {
79 return CompositionEntityType.compute;
83 public CompositionEntityId getCompositionEntityId() {
84 return new CompositionEntityId(getId(),
85 new CompositionEntityId(getComponentId(), new CompositionEntityId(getVspId(), null)));
89 public String getCompositionData() {
90 return compositionData;
94 public void setCompositionData(String compositionData) {
95 this.compositionData = compositionData;
99 public String getQuestionnaireData() {
100 return questionnaireData;
104 public void setQuestionnaireData(String questionnaireData) {
105 this.questionnaireData = questionnaireData;
108 public String getVspId() {
112 public void setVspId(String vspId) {
116 public String getComponentId() {
120 public void setComponentId(String componentId) {
121 this.componentId = componentId;
124 public ComputeData getComputeCompositionData() {
125 return compositionData == null ? null
126 : JsonUtil.json2Object(compositionData, ComputeData.class);
129 public void setComputeCompositionData(ComputeData computeData){
130 this.compositionData = computeData == null ? null : JsonUtil.object2Json(computeData);