1 package org.openecomp.sdc.be.resources.data;
3 import org.openecomp.sdc.be.dao.graph.datatype.GraphNode;
4 import org.openecomp.sdc.be.dao.neo4j.GraphPropertiesDictionary;
5 import org.openecomp.sdc.be.datatypes.elements.AnnotationTypeDataDefinition;
6 import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
8 import java.util.HashMap;
11 public class AnnotationTypeData extends GraphNode {
13 private AnnotationTypeDataDefinition annotationTypeDataDefinition;
15 public AnnotationTypeData() {
16 super(NodeTypeEnum.AnnotationType);
17 annotationTypeDataDefinition = new AnnotationTypeDataDefinition();
20 public AnnotationTypeData(AnnotationTypeDataDefinition annotationTypeDataDefinition) {
21 super(NodeTypeEnum.AnnotationType);
22 this.annotationTypeDataDefinition = annotationTypeDataDefinition;
25 public AnnotationTypeData(Map<String, Object> properties) {
27 annotationTypeDataDefinition
28 .setUniqueId((String) properties.get(GraphPropertiesDictionary.UNIQUE_ID.getProperty()));
29 annotationTypeDataDefinition.setType((String) properties.get(GraphPropertiesDictionary.TYPE.getProperty()));
30 annotationTypeDataDefinition
31 .setDescription((String) properties.get(GraphPropertiesDictionary.DESCRIPTION.getProperty()));
32 annotationTypeDataDefinition.setHighestVersion(
33 (boolean) properties.get(GraphPropertiesDictionary.IS_HIGHEST_VERSION.getProperty()));
34 annotationTypeDataDefinition.setVersion((String) properties.get(GraphPropertiesDictionary.VERSION.getProperty()));
35 annotationTypeDataDefinition
36 .setCreationTime((Long) properties.get(GraphPropertiesDictionary.CREATION_DATE.getProperty()));
37 annotationTypeDataDefinition
38 .setModificationTime((Long) properties.get(GraphPropertiesDictionary.LAST_UPDATE_DATE.getProperty()));
42 public String getUniqueId() {
43 return annotationTypeDataDefinition.getUniqueId();
47 public Map<String, Object> toGraphMap() {
48 Map<String, Object> map = new HashMap<>();
49 addIfExists(map, GraphPropertiesDictionary.UNIQUE_ID, annotationTypeDataDefinition.getUniqueId());
50 addIfExists(map, GraphPropertiesDictionary.TYPE, annotationTypeDataDefinition.getType());
51 addIfExists(map, GraphPropertiesDictionary.VERSION, annotationTypeDataDefinition.getVersion());
52 addIfExists(map, GraphPropertiesDictionary.IS_HIGHEST_VERSION, annotationTypeDataDefinition.isHighestVersion());
53 addIfExists(map, GraphPropertiesDictionary.DESCRIPTION, annotationTypeDataDefinition.getDescription());
54 addIfExists(map, GraphPropertiesDictionary.CREATION_DATE, annotationTypeDataDefinition.getCreationTime());
55 addIfExists(map, GraphPropertiesDictionary.LAST_UPDATE_DATE, annotationTypeDataDefinition.getModificationTime());
59 public void setInitialCreationProperties(String uniqueId) {
60 annotationTypeDataDefinition.setUniqueId(uniqueId);
61 Long creationDate = annotationTypeDataDefinition.getCreationTime();
62 if (creationDate == null) {
63 creationDate = System.currentTimeMillis();
65 annotationTypeDataDefinition.setCreationTime(creationDate);
66 annotationTypeDataDefinition.setModificationTime(creationDate);
69 public void setUpdateProperties(AnnotationTypeDataDefinition originalDefinition) {
70 annotationTypeDataDefinition.setUniqueId(originalDefinition.getUniqueId());
71 annotationTypeDataDefinition.setCreationTime(originalDefinition.getCreationTime());
72 annotationTypeDataDefinition.setModificationTime(System.currentTimeMillis());
75 public AnnotationTypeDataDefinition getAnnotationTypeDataDefinition() {
76 return annotationTypeDataDefinition;
80 public String toString() {
81 return "AnnotationTypeData [annotationTypeDataDefinition=" + annotationTypeDataDefinition + "]";