1 package org.openecomp.sdc.vendorsoftwareproduct.dao.type;
 
   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;
 
  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";
 
  19   @Column(name = "vsp_id")
 
  21   @PartitionKey(value = 1)
 
  23   private Version version;
 
  25   @Column(name = "component_id")
 
  26   private String componentId;
 
  27   @ClusteringColumn(value = 1)
 
  28   @Column(name = "compute_id")
 
  30   @Column(name = "composition_data")
 
  31   private String compositionData;
 
  32   @Column(name = "questionnaire_data")
 
  33   private String questionnaireData;
 
  35   public ComputeEntity(String vspId, Version version, String componentId, String id) {
 
  37     this.version = version;
 
  38     this.componentId = componentId;
 
  42   public ComputeEntity() {
 
  46   public String getEntityType() {
 
  51   public String getFirstClassCitizenId() {
 
  56   public String getId() {
 
  61   public void setId(String id) {
 
  66   public Version getVersion() {
 
  71   public void setVersion(Version version) {
 
  72     this.version = version;
 
  76   public CompositionEntityType getType() {
 
  77     return CompositionEntityType.compute;
 
  81   public CompositionEntityId getCompositionEntityId() {
 
  82     return new CompositionEntityId(getId(),
 
  83         new CompositionEntityId(getComponentId(), new CompositionEntityId(getVspId(), null)));
 
  87   public String getCompositionData() {
 
  88     return compositionData;
 
  92   public void setCompositionData(String compositionData) {
 
  93     this.compositionData = compositionData;
 
  97   public String getQuestionnaireData() {
 
  98     return questionnaireData;
 
 102   public void setQuestionnaireData(String questionnaireData) {
 
 103     this.questionnaireData = questionnaireData;
 
 106   public String getVspId() {
 
 110   public void setVspId(String vspId) {
 
 114   public String getComponentId() {
 
 118   public void setComponentId(String componentId) {
 
 119     this.componentId = componentId;
 
 122   public ComputeData getComputeCompositionData() {
 
 123     return compositionData == null ? null
 
 124         : JsonUtil.json2Object(compositionData, ComputeData.class);
 
 127   public void setComputeCompositionData(ComputeData computeData){
 
 128     this.compositionData = computeData == null ? null : JsonUtil.object2Json(computeData);