1 package org.openecomp.sdc.be.dao.cassandra.schema.tables;
3 import java.util.ArrayList;
4 import java.util.HashMap;
8 import org.apache.commons.lang3.tuple.ImmutablePair;
9 import org.openecomp.sdc.be.dao.cassandra.schema.ITableDescription;
10 import org.openecomp.sdc.be.resources.data.auditing.AuditingTypesConstants;
12 import com.datastax.driver.core.DataType;
14 public class SdcSchemaFilesTableDescription implements ITableDescription {
16 private static final String SDC_RELEASE_NUM = "sdcReleaseNum";
17 private static final String TIMESTAMP = "timestamp";
18 private static final String CONFORMANCE_LEVEL = "conformanceLevel";
21 public List<ImmutablePair<String, DataType>> primaryKeys() {
22 List<ImmutablePair<String, DataType>> keys = new ArrayList<>();
23 keys.add(new ImmutablePair<String, DataType>(SDC_RELEASE_NUM, DataType.varchar()));
24 keys.add(new ImmutablePair<String, DataType>(CONFORMANCE_LEVEL, DataType.varchar()));
29 public List<ImmutablePair<String, DataType>> clusteringKeys() {
30 List<ImmutablePair<String, DataType>> keys = new ArrayList<>();
31 keys.add(new ImmutablePair<String, DataType>(TIMESTAMP, DataType.timestamp()));
36 public Map<String, ImmutablePair<DataType, Boolean>> getColumnDescription() {
37 Map<String, ImmutablePair<DataType, Boolean>> columns = new HashMap<>();
39 for (SdcSchemaFilesFieldsDescription field : SdcSchemaFilesFieldsDescription.values()) {
40 columns.put(field.getName(), new ImmutablePair<DataType, Boolean>(field.type, field.indexed));
47 public String getKeyspace() {
48 return AuditingTypesConstants.ARTIFACT_KEYSPACE;
52 public String getTableName() {
53 return "sdcSchemaFiles";
56 enum SdcSchemaFilesFieldsDescription {
57 FILE_NAME("fileName", DataType.varchar(), false),
58 PAYLOAD("payload", DataType.blob(), false),
59 CHECKSUM("checksum", DataType.varchar(), false);
62 private DataType type;
63 private boolean indexed;
65 SdcSchemaFilesFieldsDescription(String name, DataType type, boolean indexed) {
68 this.indexed = indexed;
71 public String getName() {
75 public DataType getType() {
79 public boolean isIndexed() {