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.Image;
8 import org.openecomp.sdc.versioning.dao.types.Version;
10 @Table(keyspace = "dox", name = "vsp_component_image")
11 public class ImageEntity implements CompositionEntity {
13 private static final String ENTITY_TYPE = "Vendor Software Product Component Image";
16 @Column(name = "vsp_id")
18 @PartitionKey(value = 1)
20 private Version version;
22 @Column(name = "component_id")
23 private String componentId;
24 @ClusteringColumn(value = 1)
25 @Column(name = "image_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 ImageEntity() {
38 // Don't delete! Default constructor is required by DataStax driver
42 * Instantiates a new Image entity.
44 * @param vspId the vsp id
45 * @param version the version
48 public ImageEntity(String vspId, Version version, String componentId, String id) {
50 this.version = version;
51 this.componentId = componentId;
55 public String getVspId() {
59 public void setVspId(String vspId) {
63 public Version getVersion() {
67 public void setVersion(Version version) {
68 this.version = version;
71 public String getComponentId() {
75 public void setComponentId(String componentId) {
76 this.componentId = componentId;
80 public String getEntityType() {
85 public String getFirstClassCitizenId() {
89 public String getId() {
93 public void setId(String id) {
97 public String getQuestionnaireData() {
98 return questionnaireData;
101 public void setQuestionnaireData(String questionnaireData) {
102 this.questionnaireData = questionnaireData;
106 public CompositionEntityType getType() {
107 return CompositionEntityType.image;
111 public CompositionEntityId getCompositionEntityId() {
112 return new CompositionEntityId(getId(),
113 new CompositionEntityId(getComponentId(), new CompositionEntityId(getVspId(), null)));
116 public String getCompositionData() {
117 return compositionData;
120 public void setCompositionData(String compositionData) {
121 this.compositionData = compositionData;
124 public Image getImageCompositionData() {
125 return compositionData == null ? null : JsonUtil.json2Object(compositionData, Image.class);
128 public void setImageCompositionData(Image image) {
129 this.compositionData = image == null ? null : JsonUtil.object2Json(image);
133 public int hashCode() {
134 int result = vspId != null ? vspId.hashCode() : 0;
135 result = 31 * result + (version != null ? version.hashCode() : 0);
136 result = 31 * result + (componentId != null ? componentId.hashCode() : 0);
137 result = 31 * result + (id != null ? id.hashCode() : 0);
138 result = 31 * result + (compositionData != null ? compositionData.hashCode() : 0);
139 result = 31 * result + (questionnaireData != null ? questionnaireData.hashCode() : 0);
144 public boolean equals(Object object) {
145 if (this == object) {
148 if (object == null || getClass() != object.getClass()) {
152 ImageEntity imageEntity = (ImageEntity) object;
154 if (vspId != null ? !vspId.equals(imageEntity.vspId) : imageEntity.vspId != null) {
157 if (version != null ? !version.equals(imageEntity.version) : imageEntity.version != null) {
160 if (componentId != null ? !componentId.equals(imageEntity.componentId)
161 : imageEntity.componentId != null) {
164 if (id != null ? !id.equals(imageEntity.id) : imageEntity.id != null) {
167 if (compositionData != null ? !compositionData.equals(imageEntity.compositionData)
168 : imageEntity.compositionData != null) {
171 return questionnaireData != null ? questionnaireData.equals(imageEntity.questionnaireData)
172 : imageEntity.questionnaireData == null;