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.Image;
12 import org.openecomp.sdc.versioning.dao.types.Version;
14 @Table(keyspace = "dox", name = "vsp_component_image")
15 public class ImageEntity implements CompositionEntity {
17 private static final String ENTITY_TYPE = "Vendor Software Product Component Image";
20 @Column(name = "vsp_id")
22 @PartitionKey(value = 1)
24 private Version version;
26 @Column(name = "component_id")
27 private String componentId;
28 @ClusteringColumn(value = 1)
29 @Column(name = "image_id")
31 @Column(name = "composition_data")
32 private String compositionData;
33 @Column(name = "questionnaire_data")
34 private String questionnaireData;
37 * Every entity class must have a default constructor according to
38 * <a href="http://docs.datastax.com/en/developer/java-driver/2.1/manual/object_mapper/creating/">
39 * Definition of mapped classes</a>.
41 public ImageEntity() {
42 // Don't delete! Default constructor is required by DataStax driver
46 * Instantiates a new Image entity.
48 * @param vspId the vsp id
49 * @param version the version
52 public ImageEntity(String vspId, Version version, String componentId, String id) {
54 this.version = version;
55 this.componentId = componentId;
59 public String getVspId() {
63 public void setVspId(String vspId) {
67 public Version getVersion() {
71 public void setVersion(Version version) {
72 this.version = version;
75 public String getComponentId() {
79 public void setComponentId(String componentId) {
80 this.componentId = componentId;
84 public String getEntityType() {
89 public String getFirstClassCitizenId() {
93 public String getId() {
97 public void setId(String id) {
101 public String getQuestionnaireData() {
102 return questionnaireData;
105 public void setQuestionnaireData(String questionnaireData) {
106 this.questionnaireData = questionnaireData;
110 public CompositionEntityType getType() {
111 return CompositionEntityType.image;
115 public CompositionEntityId getCompositionEntityId() {
116 return new CompositionEntityId(getId(),
117 new CompositionEntityId(getComponentId(), new CompositionEntityId(getVspId(), null)));
120 public String getCompositionData() {
121 return compositionData;
124 public void setCompositionData(String compositionData) {
125 this.compositionData = compositionData;
128 public Image getImageCompositionData() {
129 return compositionData == null ? null : JsonUtil.json2Object(compositionData, Image.class);
132 public void setImageCompositionData(Image image) {
133 this.compositionData = image == null ? null : JsonUtil.object2Json(image);
137 public int hashCode() {
138 int result = vspId != null ? vspId.hashCode() : 0;
139 result = 31 * result + (version != null ? version.hashCode() : 0);
140 result = 31 * result + (componentId != null ? componentId.hashCode() : 0);
141 result = 31 * result + (id != null ? id.hashCode() : 0);
142 result = 31 * result + (compositionData != null ? compositionData.hashCode() : 0);
143 result = 31 * result + (questionnaireData != null ? questionnaireData.hashCode() : 0);
148 public boolean equals(Object object) {
149 if (this == object) {
152 if (object == null || getClass() != object.getClass()) {
156 ImageEntity imageEntity = (ImageEntity) object;
158 if (vspId != null ? !vspId.equals(imageEntity.vspId) : imageEntity.vspId != null) {
161 if (version != null ? !version.equals(imageEntity.version) : imageEntity.version != null) {
164 if (componentId != null ? !componentId.equals(imageEntity.componentId)
165 : imageEntity.componentId != null) {
168 if (id != null ? !id.equals(imageEntity.id) : imageEntity.id != null) {
171 if (compositionData != null ? !compositionData.equals(imageEntity.compositionData)
172 : imageEntity.compositionData != null) {
175 return questionnaireData != null ? questionnaireData.equals(imageEntity.questionnaireData)
176 : imageEntity.questionnaireData == null;