diff --git a/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/appender/CassandraLogAppender.java b/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/appender/CassandraLogAppender.java index d39228294a..e232c2e401 100644 --- a/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/appender/CassandraLogAppender.java +++ b/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/appender/CassandraLogAppender.java @@ -39,6 +39,7 @@ import org.kaaproject.kaa.server.common.log.shared.appender.LogEvent; import org.kaaproject.kaa.server.common.log.shared.appender.LogEventPack; import org.kaaproject.kaa.server.common.log.shared.appender.data.BaseLogEventPack; +import org.kaaproject.kaa.server.common.log.shared.appender.data.ProfileInfo; import org.kaaproject.kaa.server.common.log.shared.avro.gen.RecordHeader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -100,10 +101,25 @@ public void run() { LOG.debug("[{}] appending {} logs to cassandra collection", tableName, logEventPack.getEvents().size()); GenericAvroConverter eventConverter = getConverter(logEventPack.getLogSchema().getSchema()); GenericAvroConverter headerConverter = getConverter(header.getSchema().toString()); - GenericAvroConverter clientProfileConverter = getConverter(logEventPack.getClientProfile().getSchema()); - String clientProfileJson = logEventPack.getClientProfile().getBody(); - GenericAvroConverter serverProfileConverter = getConverter(logEventPack.getServerProfile().getSchema()); - String serverProfileJson = logEventPack.getServerProfile().getBody(); + + // Get client profile data + GenericAvroConverter clientProfileConverter = null; + String clientProfileJson = null; + ProfileInfo clientProfile = logEventPack.getClientProfile(); + if (clientProfile != null) { + clientProfileConverter = getConverter(clientProfile.getSchema()); + clientProfileJson = clientProfile.getBody(); + } + + // Get server profile data + GenericAvroConverter serverProfileConverter = null; + String serverProfileJson = null; + ProfileInfo serverProfile = logEventPack.getServerProfile(); + if (serverProfile != null) { + serverProfileConverter = getConverter(serverProfile.getSchema()); + serverProfileJson = serverProfile.getBody(); + } + List dtoList = generateCassandraLogEvent(logEventPack, header, eventConverter); LOG.debug("[{}] saving {} objects", tableName, dtoList.size()); if (!dtoList.isEmpty()) { diff --git a/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/appender/CassandraLogEventDao.java b/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/appender/CassandraLogEventDao.java index 7b1fc83b1f..6231612bb3 100644 --- a/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/appender/CassandraLogEventDao.java +++ b/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/appender/CassandraLogEventDao.java @@ -74,6 +74,9 @@ public class CassandraLogEventDao implements LogEventDao { private static final String CREATE_TABLE = "CREATE TABLE IF NOT EXISTS $keyspace_name.$table_name (" + "$columns_definition PRIMARY KEY ( $primary_key_definition )) $clustering_definition;"; + private static final String ABSENT_CLIENT_PROFILE_ERROR = "Client profile is not set!"; + private static final String ABSENT_SERVER_PROFILE_ERROR = "Server profile is not set!"; + private final ConcurrentMap> dateFormatMap = new ConcurrentHashMap>(); private Cluster cluster; @@ -307,10 +310,23 @@ private Insert[] prepareQuery(List logEventDtoList, String throws IOException { String reuseTsValue = null; Insert[] insertArray = new Insert[logEventDtoList.size()]; - GenericRecord clientProfile = clientProfileConverter.decodeJson(clientProfileJson); - ByteBuffer clientProfileBinary = ByteBuffer.wrap(clientProfileConverter.encode(clientProfile)); - GenericRecord serverProfile = serverProfileConverter.decodeJson(serverProfileJson); - ByteBuffer serverProfileBinary = ByteBuffer.wrap(serverProfileConverter.encode(serverProfile)); + + // Process client profile data + GenericRecord clientProfile = null; + ByteBuffer clientProfileBinary = null; + if (clientProfileConverter != null) { + clientProfile = clientProfileConverter.decodeJson(clientProfileJson); + clientProfileBinary = ByteBuffer.wrap(clientProfileConverter.encode(clientProfile)); + } + + // Process server profile data + GenericRecord serverProfile = null; + ByteBuffer serverProfileBinary = null; + if (serverProfileConverter != null) { + serverProfile = serverProfileConverter.decodeJson(serverProfileJson); + serverProfileBinary = ByteBuffer.wrap(serverProfileConverter.encode(serverProfile)); + } + for (int i = 0; i < logEventDtoList.size(); i++) { CassandraLogEventDto dto = logEventDtoList.get(i); Insert insert = QueryBuilder.insertInto(keyspaceName, collectionName); @@ -325,11 +341,19 @@ private Insert[] prepareQuery(List logEventDtoList, String formatField(element.getColumnType(), dto.getEvent().get(element.getValue()))); break; case CLIENT_FIELD: - insert.value(element.getColumnName(), - formatField(element.getColumnType(), clientProfile.get(element.getValue()))); + if (clientProfile != null) { + insert.value(element.getColumnName(), formatField(element.getColumnType(), clientProfile.get(element.getValue()))); + } else { + throw new RuntimeException(ABSENT_CLIENT_PROFILE_ERROR); + } + break; case SERVER_FIELD: - insert.value(element.getColumnName(), - formatField(element.getColumnType(), serverProfile.get(element.getValue()))); + if (serverProfile != null) { + insert.value(element.getColumnName(), formatField(element.getColumnType(), serverProfile.get(element.getValue()))); + } else { + throw new RuntimeException(ABSENT_SERVER_PROFILE_ERROR); + } + break; case HEADER_JSON: insert.value(element.getColumnName(), headerConverter.encodeToJson(dto.getHeader())); break; @@ -343,16 +367,33 @@ private Insert[] prepareQuery(List logEventDtoList, String insert.value(element.getColumnName(), ByteBuffer.wrap(eventConverter.encode(dto.getEvent()))); break; case CLIENT_JSON: - insert.value(element.getColumnName(), clientProfileJson); + if (clientProfileJson != null) { + insert.value(element.getColumnName(), clientProfileJson); + } + else { + throw new RuntimeException(ABSENT_CLIENT_PROFILE_ERROR); + } break; case CLIENT_BINARY: - insert.value(element.getColumnName(), clientProfileBinary); + if (clientProfileBinary != null) { + insert.value(element.getColumnName(), clientProfileBinary); + } else { + throw new RuntimeException(ABSENT_CLIENT_PROFILE_ERROR); + } break; case SERVER_JSON: - insert.value(element.getColumnName(), serverProfileJson); - break; + if (serverProfileJson != null) { + insert.value(element.getColumnName(), serverProfileJson); + } + else { + throw new RuntimeException(ABSENT_SERVER_PROFILE_ERROR); + } case SERVER_BINARY: - insert.value(element.getColumnName(), serverProfileBinary); + if (serverProfileBinary != null) { + insert.value(element.getColumnName(), clientProfileBinary); + } else { + throw new RuntimeException(ABSENT_SERVER_PROFILE_ERROR); + } break; case UUID: insert.value(element.getColumnName(), UUID.randomUUID()); diff --git a/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/config/gen/CassandraConfig.java b/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/config/gen/CassandraConfig.java index dc7d361ead..a9acf88d2e 100644 --- a/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/config/gen/CassandraConfig.java +++ b/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/config/gen/CassandraConfig.java @@ -7,7 +7,7 @@ @SuppressWarnings("all") @org.apache.avro.specific.AvroGenerated public class CassandraConfig extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord { - public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"CassandraConfig\",\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\",\"fields\":[{\"name\":\"cassandraServers\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"CassandraServer\",\"fields\":[{\"name\":\"host\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Host\",\"weight\":0.75,\"by_default\":\"localhost\"},{\"name\":\"port\",\"type\":\"int\",\"displayName\":\"Port\",\"weight\":0.25,\"by_default\":9042}]}},\"displayName\":\"Cassandra nodes\",\"minRowCount\":1},{\"name\":\"cassandraCredential\",\"type\":[{\"type\":\"record\",\"name\":\"CassandraCredential\",\"fields\":[{\"name\":\"user\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"User\",\"weight\":0.5,\"by_default\":\"user\"},{\"name\":\"password\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Password\",\"weight\":0.5,\"by_default\":\"password\"}],\"optional\":true},\"null\"],\"displayName\":\"Authentication credentials\",\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\"},{\"name\":\"keySpace\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Keyspace name\"},{\"name\":\"tableNamePattern\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Table name pattern\",\"by_default\":\"logs_$app_token_$config_hash\"},{\"name\":\"columnMapping\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ColumnMappingElement\",\"fields\":[{\"name\":\"type\",\"type\":{\"type\":\"enum\",\"name\":\"ColumnMappingElementType\",\"symbols\":[\"HEADER_FIELD\",\"EVENT_FIELD\",\"HEADER_JSON\",\"EVENT_JSON\",\"HEADER_BINARY\",\"EVENT_BINARY\",\"UUID\",\"TS\"]},\"displayName\":\"Type\",\"weight\":0.2,\"by_default\":\"HEADER_FIELD\"},{\"name\":\"value\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"],\"displayName\":\"Value\",\"weight\":0.2,\"by_default\":\"applicationToken\"},{\"name\":\"columnName\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Name\",\"weight\":0.2,\"by_default\":\"application_token\"},{\"name\":\"columnType\",\"type\":{\"type\":\"enum\",\"name\":\"ColumnType\",\"symbols\":[\"BIGINT\",\"BLOB\",\"BOOLEAN\",\"DOUBLE\",\"FLOAT\",\"INT\",\"TEXT\",\"UUID\"]},\"displayName\":\"Column Type\",\"weight\":0.2,\"by_default\":\"BOOLEAN\"},{\"name\":\"partitionKey\",\"type\":\"boolean\",\"displayName\":\"Is part of partition key?\",\"weight\":0.1,\"by_default\":false},{\"name\":\"clusteringKey\",\"type\":\"boolean\",\"displayName\":\"Is part of clustering key?\",\"weight\":0.1,\"by_default\":false}]}},\"displayName\":\"Column Mapping\",\"minRowCount\":1},{\"name\":\"clusteringMapping\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ClusteringElement\",\"fields\":[{\"name\":\"columnName\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Name\",\"weight\":0.2,\"by_default\":\"application_token\"},{\"name\":\"order\",\"type\":{\"type\":\"enum\",\"name\":\"OrderType\",\"symbols\":[\"DESC\",\"ASC\"]},\"displayName\":\"Order\",\"weight\":0.2,\"by_default\":\"DESC\"}]}},\"displayName\":\"Clustering\",\"minRowCount\":0},{\"name\":\"cassandraBatchType\",\"type\":[{\"type\":\"enum\",\"name\":\"CassandraBatchType\",\"symbols\":[\"LOGGED\",\"UNLOGGED\"]},\"null\"],\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\",\"by_default\":\"UNLOGGED\",\"optional\":true,\"displayName\":\"Cassandra batch type\"},{\"name\":\"cassandraSocketOption\",\"type\":[{\"type\":\"record\",\"name\":\"CassandraSocketOption\",\"fields\":[{\"name\":\"sendBufferSize\",\"type\":[\"int\",\"null\"],\"displayName\":\"Set send buffer size\",\"by_default\":8192,\"optional\":true},{\"name\":\"receiveBufferSize\",\"type\":[\"int\",\"null\"],\"displayName\":\"Set receive buffer size\",\"by_default\":8192,\"optional\":true},{\"name\":\"soLinger\",\"type\":[\"int\",\"null\"],\"displayName\":\"Delay before a reset is sent\",\"by_default\":0,\"optional\":true},{\"name\":\"connectionTimeout\",\"type\":[\"int\",\"null\"],\"displayName\":\"Connection timeout (ms)\",\"by_default\":5000,\"optional\":true},{\"name\":\"readTimeout\",\"type\":[\"int\",\"null\"],\"displayName\":\"Read timeout (ms)\",\"by_default\":12000,\"optional\":true},{\"name\":\"reuseAddress\",\"type\":[\"boolean\",\"null\"],\"displayName\":\"Reuse address\",\"by_default\":false,\"optional\":true},{\"name\":\"keepAlive\",\"type\":[\"boolean\",\"null\"],\"displayName\":\"Use keep alive\",\"by_default\":false,\"optional\":true},{\"name\":\"tcpNoDelay\",\"type\":[\"boolean\",\"null\"],\"displayName\":\"Tcp no delay\",\"by_default\":false,\"optional\":true}]},\"null\"],\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\",\"displayName\":\"Cassandra socket option\",\"optional\":true},{\"name\":\"executorThreadPoolSize\",\"type\":\"int\",\"displayName\":\"Executor thread pool size\",\"by_default\":1},{\"name\":\"callbackThreadPoolSize\",\"type\":\"int\",\"displayName\":\"Callback thread pool size\",\"by_default\":2},{\"name\":\"dataTTL\",\"type\":\"int\",\"displayName\":\"TTL\",\"by_default\":1209600},{\"name\":\"cassandraWriteConsistencyLevel\",\"type\":[{\"type\":\"enum\",\"name\":\"CassandraWriteConsistencyLevel\",\"symbols\":[\"ANY\",\"ONE\",\"TWO\",\"THREE\",\"QUORUM\",\"ALL\",\"LOCAL_QUORUM\",\"EACH_QUORUM\",\"SERIAL\",\"LOCAL_SERIAL\",\"LOCAL_ONE\"],\"optional\":true},\"null\"],\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\",\"displayName\":\"Write consistency level\",\"by_default\":\"ONE\"},{\"name\":\"cassandraCompression\",\"type\":[{\"type\":\"enum\",\"name\":\"CassandraCompression\",\"symbols\":[\"NONE\",\"SNAPPY\",\"LZ4\"]},\"null\"],\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\",\"by_default\":\"NONE\",\"optional\":true,\"displayName\":\"Compression type\"},{\"name\":\"cassandraExecuteRequestType\",\"type\":[{\"type\":\"enum\",\"name\":\"CassandraExecuteRequestType\",\"symbols\":[\"SYNC\",\"ASYNC\"]},\"null\"],\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\",\"by_default\":\"SYNC\",\"optional\":true,\"displayName\":\"Cassandra execute request type\"}]}"); + public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"CassandraConfig\",\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\",\"fields\":[{\"name\":\"cassandraServers\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"CassandraServer\",\"fields\":[{\"name\":\"host\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Host\",\"weight\":0.75,\"by_default\":\"localhost\"},{\"name\":\"port\",\"type\":\"int\",\"displayName\":\"Port\",\"weight\":0.25,\"by_default\":9042}]}},\"displayName\":\"Cassandra nodes\",\"minRowCount\":1},{\"name\":\"cassandraCredential\",\"type\":[{\"type\":\"record\",\"name\":\"CassandraCredential\",\"fields\":[{\"name\":\"user\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"User\",\"weight\":0.5,\"by_default\":\"user\"},{\"name\":\"password\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Password\",\"weight\":0.5,\"by_default\":\"password\"}],\"optional\":true},\"null\"],\"displayName\":\"Authentication credentials\",\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\"},{\"name\":\"keySpace\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Keyspace name\"},{\"name\":\"tableNamePattern\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Table name pattern\",\"by_default\":\"logs_$app_token_$config_hash\"},{\"name\":\"columnMapping\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ColumnMappingElement\",\"fields\":[{\"name\":\"type\",\"type\":{\"type\":\"enum\",\"name\":\"ColumnMappingElementType\",\"symbols\":[\"HEADER_FIELD\",\"EVENT_FIELD\",\"CLIENT_FIELD\",\"SERVER_FIELD\",\"HEADER_JSON\",\"EVENT_JSON\",\"CLIENT_JSON\",\"SERVER_JSON\",\"HEADER_BINARY\",\"EVENT_BINARY\",\"CLIENT_BINARY\",\"SERVER_BINARY\",\"UUID\",\"TS\"]},\"displayName\":\"Type\",\"weight\":0.2,\"by_default\":\"HEADER_FIELD\"},{\"name\":\"value\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"],\"displayName\":\"Value\",\"weight\":0.2,\"by_default\":\"applicationToken\"},{\"name\":\"columnName\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Name\",\"weight\":0.2,\"by_default\":\"application_token\"},{\"name\":\"columnType\",\"type\":{\"type\":\"enum\",\"name\":\"ColumnType\",\"symbols\":[\"BIGINT\",\"BLOB\",\"BOOLEAN\",\"DOUBLE\",\"FLOAT\",\"INT\",\"TEXT\",\"UUID\"]},\"displayName\":\"Column Type\",\"weight\":0.2,\"by_default\":\"BOOLEAN\"},{\"name\":\"partitionKey\",\"type\":\"boolean\",\"displayName\":\"Is part of partition key?\",\"weight\":0.1,\"by_default\":false},{\"name\":\"clusteringKey\",\"type\":\"boolean\",\"displayName\":\"Is part of clustering key?\",\"weight\":0.1,\"by_default\":false}]}},\"displayName\":\"Column Mapping\",\"minRowCount\":1},{\"name\":\"clusteringMapping\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ClusteringElement\",\"fields\":[{\"name\":\"columnName\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Name\",\"weight\":0.2,\"by_default\":\"application_token\"},{\"name\":\"order\",\"type\":{\"type\":\"enum\",\"name\":\"OrderType\",\"symbols\":[\"DESC\",\"ASC\"]},\"displayName\":\"Order\",\"weight\":0.2,\"by_default\":\"DESC\"}]}},\"displayName\":\"Clustering\",\"minRowCount\":0},{\"name\":\"cassandraBatchType\",\"type\":[{\"type\":\"enum\",\"name\":\"CassandraBatchType\",\"symbols\":[\"LOGGED\",\"UNLOGGED\"]},\"null\"],\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\",\"by_default\":\"UNLOGGED\",\"optional\":true,\"displayName\":\"Cassandra batch type\"},{\"name\":\"cassandraSocketOption\",\"type\":[{\"type\":\"record\",\"name\":\"CassandraSocketOption\",\"fields\":[{\"name\":\"sendBufferSize\",\"type\":[\"int\",\"null\"],\"displayName\":\"Set send buffer size\",\"by_default\":8192,\"optional\":true},{\"name\":\"receiveBufferSize\",\"type\":[\"int\",\"null\"],\"displayName\":\"Set receive buffer size\",\"by_default\":8192,\"optional\":true},{\"name\":\"soLinger\",\"type\":[\"int\",\"null\"],\"displayName\":\"Delay before a reset is sent\",\"by_default\":0,\"optional\":true},{\"name\":\"connectionTimeout\",\"type\":[\"int\",\"null\"],\"displayName\":\"Connection timeout (ms)\",\"by_default\":5000,\"optional\":true},{\"name\":\"readTimeout\",\"type\":[\"int\",\"null\"],\"displayName\":\"Read timeout (ms)\",\"by_default\":12000,\"optional\":true},{\"name\":\"reuseAddress\",\"type\":[\"boolean\",\"null\"],\"displayName\":\"Reuse address\",\"by_default\":false,\"optional\":true},{\"name\":\"keepAlive\",\"type\":[\"boolean\",\"null\"],\"displayName\":\"Use keep alive\",\"by_default\":false,\"optional\":true},{\"name\":\"tcpNoDelay\",\"type\":[\"boolean\",\"null\"],\"displayName\":\"Tcp no delay\",\"by_default\":false,\"optional\":true}]},\"null\"],\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\",\"displayName\":\"Cassandra socket option\",\"optional\":true},{\"name\":\"executorThreadPoolSize\",\"type\":\"int\",\"displayName\":\"Executor thread pool size\",\"by_default\":1},{\"name\":\"callbackThreadPoolSize\",\"type\":\"int\",\"displayName\":\"Callback thread pool size\",\"by_default\":2},{\"name\":\"dataTTL\",\"type\":\"int\",\"displayName\":\"TTL\",\"by_default\":0},{\"name\":\"cassandraWriteConsistencyLevel\",\"type\":[{\"type\":\"enum\",\"name\":\"CassandraWriteConsistencyLevel\",\"symbols\":[\"ANY\",\"ONE\",\"TWO\",\"THREE\",\"QUORUM\",\"ALL\",\"LOCAL_QUORUM\",\"EACH_QUORUM\",\"SERIAL\",\"LOCAL_SERIAL\",\"LOCAL_ONE\"],\"optional\":true},\"null\"],\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\",\"displayName\":\"Write consistency level\",\"by_default\":\"ONE\"},{\"name\":\"cassandraCompression\",\"type\":[{\"type\":\"enum\",\"name\":\"CassandraCompression\",\"symbols\":[\"NONE\",\"SNAPPY\",\"LZ4\"]},\"null\"],\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\",\"by_default\":\"NONE\",\"optional\":true,\"displayName\":\"Compression type\"},{\"name\":\"cassandraExecuteRequestType\",\"type\":[{\"type\":\"enum\",\"name\":\"CassandraExecuteRequestType\",\"symbols\":[\"SYNC\",\"ASYNC\"]},\"null\"],\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\",\"by_default\":\"SYNC\",\"optional\":true,\"displayName\":\"Cassandra execute request type\"}]}"); public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; } private java.util.List cassandraServers; private org.kaaproject.kaa.server.appenders.cassandra.config.gen.CassandraCredential cassandraCredential; diff --git a/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/config/gen/ColumnMappingElement.java b/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/config/gen/ColumnMappingElement.java index 39e9848b7d..cc0896e6c2 100644 --- a/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/config/gen/ColumnMappingElement.java +++ b/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/config/gen/ColumnMappingElement.java @@ -7,7 +7,7 @@ @SuppressWarnings("all") @org.apache.avro.specific.AvroGenerated public class ColumnMappingElement extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord { - public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"ColumnMappingElement\",\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\",\"fields\":[{\"name\":\"type\",\"type\":{\"type\":\"enum\",\"name\":\"ColumnMappingElementType\",\"symbols\":[\"HEADER_FIELD\",\"EVENT_FIELD\",\"HEADER_JSON\",\"EVENT_JSON\",\"HEADER_BINARY\",\"EVENT_BINARY\",\"UUID\",\"TS\"]},\"displayName\":\"Type\",\"weight\":0.2,\"by_default\":\"HEADER_FIELD\"},{\"name\":\"value\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"],\"displayName\":\"Value\",\"weight\":0.2,\"by_default\":\"applicationToken\"},{\"name\":\"columnName\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Name\",\"weight\":0.2,\"by_default\":\"application_token\"},{\"name\":\"columnType\",\"type\":{\"type\":\"enum\",\"name\":\"ColumnType\",\"symbols\":[\"BIGINT\",\"BLOB\",\"BOOLEAN\",\"DOUBLE\",\"FLOAT\",\"INT\",\"TEXT\",\"UUID\"]},\"displayName\":\"Column Type\",\"weight\":0.2,\"by_default\":\"BOOLEAN\"},{\"name\":\"partitionKey\",\"type\":\"boolean\",\"displayName\":\"Is part of partition key?\",\"weight\":0.1,\"by_default\":false},{\"name\":\"clusteringKey\",\"type\":\"boolean\",\"displayName\":\"Is part of clustering key?\",\"weight\":0.1,\"by_default\":false}]}"); + public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"ColumnMappingElement\",\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\",\"fields\":[{\"name\":\"type\",\"type\":{\"type\":\"enum\",\"name\":\"ColumnMappingElementType\",\"symbols\":[\"HEADER_FIELD\",\"EVENT_FIELD\",\"CLIENT_FIELD\",\"SERVER_FIELD\",\"HEADER_JSON\",\"EVENT_JSON\",\"CLIENT_JSON\",\"SERVER_JSON\",\"HEADER_BINARY\",\"EVENT_BINARY\",\"CLIENT_BINARY\",\"SERVER_BINARY\",\"UUID\",\"TS\"]},\"displayName\":\"Type\",\"weight\":0.2,\"by_default\":\"HEADER_FIELD\"},{\"name\":\"value\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"],\"displayName\":\"Value\",\"weight\":0.2,\"by_default\":\"applicationToken\"},{\"name\":\"columnName\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Name\",\"weight\":0.2,\"by_default\":\"application_token\"},{\"name\":\"columnType\",\"type\":{\"type\":\"enum\",\"name\":\"ColumnType\",\"symbols\":[\"BIGINT\",\"BLOB\",\"BOOLEAN\",\"DOUBLE\",\"FLOAT\",\"INT\",\"TEXT\",\"UUID\"]},\"displayName\":\"Column Type\",\"weight\":0.2,\"by_default\":\"BOOLEAN\"},{\"name\":\"partitionKey\",\"type\":\"boolean\",\"displayName\":\"Is part of partition key?\",\"weight\":0.1,\"by_default\":false},{\"name\":\"clusteringKey\",\"type\":\"boolean\",\"displayName\":\"Is part of clustering key?\",\"weight\":0.1,\"by_default\":false}]}"); public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; } private org.kaaproject.kaa.server.appenders.cassandra.config.gen.ColumnMappingElementType type; private java.lang.String value; diff --git a/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/config/gen/ColumnMappingElementType.java b/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/config/gen/ColumnMappingElementType.java index bf161c4563..7c659f509a 100644 --- a/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/config/gen/ColumnMappingElementType.java +++ b/server/appenders/cassandra-appender/src/main/java/org/kaaproject/kaa/server/appenders/cassandra/config/gen/ColumnMappingElementType.java @@ -7,7 +7,7 @@ @SuppressWarnings("all") @org.apache.avro.specific.AvroGenerated public enum ColumnMappingElementType { - HEADER_FIELD, EVENT_FIELD, HEADER_JSON, EVENT_JSON, HEADER_BINARY, EVENT_BINARY, UUID, TS ; - public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"enum\",\"name\":\"ColumnMappingElementType\",\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\",\"symbols\":[\"HEADER_FIELD\",\"EVENT_FIELD\",\"HEADER_JSON\",\"EVENT_JSON\",\"HEADER_BINARY\",\"EVENT_BINARY\",\"UUID\",\"TS\"]}"); + HEADER_FIELD, EVENT_FIELD, CLIENT_FIELD, SERVER_FIELD, HEADER_JSON, EVENT_JSON, CLIENT_JSON, SERVER_JSON, HEADER_BINARY, EVENT_BINARY, CLIENT_BINARY, SERVER_BINARY, UUID, TS ; + public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"enum\",\"name\":\"ColumnMappingElementType\",\"namespace\":\"org.kaaproject.kaa.server.appenders.cassandra.config.gen\",\"symbols\":[\"HEADER_FIELD\",\"EVENT_FIELD\",\"CLIENT_FIELD\",\"SERVER_FIELD\",\"HEADER_JSON\",\"EVENT_JSON\",\"CLIENT_JSON\",\"SERVER_JSON\",\"HEADER_BINARY\",\"EVENT_BINARY\",\"CLIENT_BINARY\",\"SERVER_BINARY\",\"UUID\",\"TS\"]}"); public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; } }