[SDC] Onboarding 1710 rebase.
[sdc.git] / openecomp-be / lib / openecomp-sdc-vendor-software-product-lib / openecomp-sdc-vendor-software-product-api / src / main / java / org / openecomp / sdc / vendorsoftwareproduct / dao / type / ComputeEntity.java
1 package org.openecomp.sdc.vendorsoftwareproduct.dao.type;
2
3 import com.datastax.driver.mapping.annotations.ClusteringColumn;
4 import com.datastax.driver.mapping.annotations.Column;
5 import com.datastax.driver.mapping.annotations.Frozen;
6 import com.datastax.driver.mapping.annotations.PartitionKey;
7 import com.datastax.driver.mapping.annotations.Table;
8 import org.openecomp.core.utilities.json.JsonUtil;
9 import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId;
10 import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityType;
11 import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComputeData;
12 import org.openecomp.sdc.versioning.dao.types.Version;
13
14 @Table(keyspace = "dox", name = "vsp_component_compute")
15 public class ComputeEntity implements CompositionEntity {
16   public static final String ENTITY_TYPE = "Vendor Software Product Component Compute Flavor";
17
18   @PartitionKey
19   @Column(name = "vsp_id")
20   private String vspId;
21   @PartitionKey(value = 1)
22   @Frozen
23   private Version version;
24   @ClusteringColumn
25   @Column(name = "component_id")
26   private String componentId;
27   @ClusteringColumn(value = 1)
28   @Column(name = "compute_id")
29   private String id;
30   @Column(name = "composition_data")
31   private String compositionData;
32   @Column(name = "questionnaire_data")
33   private String questionnaireData;
34
35   public ComputeEntity(String vspId, Version version, String componentId, String id) {
36     this.vspId = vspId;
37     this.version = version;
38     this.componentId = componentId;
39     this.id = id;
40   }
41
42   public ComputeEntity() {
43   }
44
45   @Override
46   public String getEntityType() {
47     return ENTITY_TYPE;
48   }
49
50   @Override
51   public String getFirstClassCitizenId() {
52     return getVspId();
53   }
54
55   @Override
56   public String getId() {
57     return id;
58   }
59
60   @Override
61   public void setId(String id) {
62     this.id = id;
63   }
64
65   @Override
66   public Version getVersion() {
67     return version;
68   }
69
70   @Override
71   public void setVersion(Version version) {
72     this.version = version;
73   }
74
75   @Override
76   public CompositionEntityType getType() {
77     return CompositionEntityType.compute;
78   }
79
80   @Override
81   public CompositionEntityId getCompositionEntityId() {
82     return new CompositionEntityId(getId(),
83         new CompositionEntityId(getComponentId(), new CompositionEntityId(getVspId(), null)));
84   }
85
86   @Override
87   public String getCompositionData() {
88     return compositionData;
89   }
90
91   @Override
92   public void setCompositionData(String compositionData) {
93     this.compositionData = compositionData;
94   }
95
96   @Override
97   public String getQuestionnaireData() {
98     return questionnaireData;
99   }
100
101   @Override
102   public void setQuestionnaireData(String questionnaireData) {
103     this.questionnaireData = questionnaireData;
104   }
105
106   public String getVspId() {
107     return vspId;
108   }
109
110   public void setVspId(String vspId) {
111     this.vspId = vspId;
112   }
113
114   public String getComponentId() {
115     return componentId;
116   }
117
118   public void setComponentId(String componentId) {
119     this.componentId = componentId;
120   }
121
122   public ComputeData getComputeCompositionData() {
123     return compositionData == null ? null
124         : JsonUtil.json2Object(compositionData, ComputeData.class);
125   }
126
127   public void setComputeCompositionData(ComputeData computeData){
128     this.compositionData = computeData == null ? null : JsonUtil.object2Json(computeData);
129   }
130
131
132 }