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.DeploymentFlavor;
12 import org.openecomp.sdc.versioning.dao.types.Version;
14 @Table(keyspace = "dox", name = "vsp_deployment_flavor")
15 public class DeploymentFlavorEntity implements CompositionEntity{
16 private static final String ENTITY_TYPE = "Vendor Software Product Deployment Flavor";
19 @Column(name = "vsp_id")
21 @PartitionKey(value = 1)
23 private Version version;
25 @Column(name = "deployment_flavor_id")
27 @Column(name = "composition_data")
28 private String compositionData;
29 @Column(name = "questionnaire_data")
30 private String questionnaireData;
33 * Every entity class must have a default constructor according to
34 * <a href="http://docs.datastax.com/en/developer/java-driver/2.1/manual/object_mapper/creating/">
35 * Definition of mapped classes</a>.
37 public DeploymentFlavorEntity() {
38 // Don't delete! Default constructor is required by DataStax driver
42 * Instantiates a new DeploymentFlavor entity.
44 * @param vspId the vsp id
45 * @param version the version
48 public DeploymentFlavorEntity(String vspId, Version version, String id) {
50 this.version = version;
54 public CompositionEntityType getType() {
55 return CompositionEntityType.deployment;
59 public CompositionEntityId getCompositionEntityId() {
60 return new CompositionEntityId(getId(), new CompositionEntityId(getVspId(), null));
64 public String getCompositionData() {
65 return compositionData;
69 public void setCompositionData(String compositionData) {
70 this.compositionData = compositionData;
74 public String getQuestionnaireData() {
75 return questionnaireData;
79 public void setQuestionnaireData(String questionnaireData) {
80 this.questionnaireData = questionnaireData;
83 public String getVspId() {
87 public void setVspId(String vspId) {
92 public String getEntityType() {
97 public String getFirstClassCitizenId() {
102 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 DeploymentFlavor getDeploymentFlavorCompositionData() {
122 return compositionData == null ? null : JsonUtil.json2Object(compositionData, DeploymentFlavor.class);
125 public void setDeploymentFlavorCompositionData(DeploymentFlavor deploymentFlavor) {
126 this.compositionData = deploymentFlavor == null ? null : JsonUtil.object2Json(deploymentFlavor);
130 public int hashCode() {
131 int result = vspId != null ? vspId.hashCode() : 0;
132 result = 31 * result + (version != null ? version.hashCode() : 0);
133 result = 31 * result + (id != null ? id.hashCode() : 0);
134 result = 31 * result + (compositionData != null ? compositionData.hashCode() : 0);
135 result = 31 * result + (questionnaireData != null ? questionnaireData.hashCode() : 0);
140 public boolean equals(Object object) {
141 if (this == object) {
144 if (object == null || getClass() != object.getClass()) {
148 DeploymentFlavorEntity that = (DeploymentFlavorEntity) object;
150 if (vspId != null ? !vspId.equals(that.vspId) : that.vspId != null) {
153 if (version != null ? !version.equals(that.version) : that.version != null) {
156 if (id != null ? !id.equals(that.id) : that.id != null) {
159 if (compositionData != null ? !compositionData.equals(that.compositionData)
160 : that.compositionData != null) {
163 return questionnaireData != null ? questionnaireData.equals(that.questionnaireData)
164 : that.questionnaireData == null;