b075f0ef4efee9f94b8ddbb982137969cf18cd75
[sdc.git] /
1 package org.openecomp.sdc.be.dao.cassandra.schema.tables;
2
3 import java.util.ArrayList;
4 import java.util.HashMap;
5 import java.util.List;
6 import java.util.Map;
7 import org.apache.commons.lang3.tuple.ImmutablePair;
8 import org.openecomp.sdc.be.dao.cassandra.schema.ITableDescription;
9 import org.openecomp.sdc.be.resources.data.auditing.AuditingTypesConstants;
10
11 import com.datastax.driver.core.DataType;
12
13 public class OldExternalApiEventTableDesc implements ITableDescription {
14         @Override
15         public List<ImmutablePair<String, DataType>> primaryKeys() {
16                 List<ImmutablePair<String, DataType>> keys = new ArrayList<>();
17                 keys.add(new ImmutablePair<String, DataType>(TIMEBASED_UUID_FIELD, DataType.timeuuid()));
18                 return keys;
19         }
20
21         @Override
22         public List<ImmutablePair<String, DataType>> clusteringKeys() {
23                 List<ImmutablePair<String, DataType>> keys = new ArrayList<>();
24                 keys.add(new ImmutablePair<String, DataType>(TIMESTAMP_FIELD, DataType.timestamp()));
25                 return keys;
26         }
27
28         @Override
29         public Map<String, ImmutablePair<DataType, Boolean>> getColumnDescription() {
30                 Map<String, ImmutablePair<DataType, Boolean>> columns = new HashMap<>();
31
32                 for (EGAEFieldsDescription field : EGAEFieldsDescription.values()) {
33                         columns.put(field.getName(), new ImmutablePair<DataType, Boolean>(field.type, field.indexed));
34                 }
35
36                 return columns;
37         }
38
39         @Override
40         public String getKeyspace() {
41                 return AuditingTypesConstants.AUDIT_KEYSPACE.replace("sdc", "att");
42         }
43         
44
45
46         @Override
47         public String getTableName() {
48                 return AuditingTypesConstants.EXTERNAL_API_EVENT_TYPE;
49         }
50
51         enum EGAEFieldsDescription {
52                 ACTION("action", DataType.varchar(), true), 
53                 STATUS("status", DataType.varchar(), false), 
54                 DESCRIPTION( "description", DataType.varchar(), false), 
55                 CONSUMER_ID("consumer_id", DataType.varchar(), false), 
56                 RESOURCE_URL("resource_URL", DataType.varchar(), false), 
57                 RESOURCE_NAME("resource_name", DataType.varchar(), false),
58                 RESOURCE_TYPE("resource_type", DataType.varchar(), false), 
59                 SERVICE_INST_ID( "service_instance_id", DataType.varchar(), true),
60                 INVARIANT_UUID("invariant_uuid", DataType.varchar(), true),
61                 MODIFIER("modifier", DataType.varchar(), false), 
62                 PREV_VERSION( "prev_version", DataType.varchar(), false), 
63                 CURR_VERSION("curr_version", DataType.varchar(), false),
64                 PREV_STATE("prev_state", DataType.varchar(), false), 
65                 CURR_STATE( "curr_state", DataType.varchar(), false),   
66                 PREV_ARTIFACT_UUID( "prev_artifact_uuid", DataType.varchar(), false),
67                 CURR_ARTIFACT_UUID( "curr_artifact_uuid", DataType.varchar(), false),
68                 ARTIFACT_DATA( "artifact_data", DataType.varchar(), false);
69
70                 private String name;
71                 private DataType type;
72                 private boolean indexed;
73
74                 EGAEFieldsDescription(String name, DataType type, boolean indexed) {
75                         this.name = name;
76                         this.type = type;
77                         this.indexed = indexed;
78                 }
79
80                 public String getName() {
81                         return name;
82                 }
83
84                 public DataType getType() {
85                         return type;
86                 }
87
88                 public boolean isIndexed() {
89                         return indexed;
90                 }
91         }
92
93 }
94