added additional info to Queue

This commit is contained in:
YevhenBondarenko 2022-05-10 19:44:58 +02:00
parent 3382ac4807
commit d5ef34cfb8
5 changed files with 20 additions and 5 deletions

View File

@ -16,15 +16,15 @@
package org.thingsboard.server.common.data.queue; package org.thingsboard.server.common.data.queue;
import lombok.Data; import lombok.Data;
import org.thingsboard.server.common.data.BaseData;
import org.thingsboard.server.common.data.HasName; import org.thingsboard.server.common.data.HasName;
import org.thingsboard.server.common.data.HasTenantId; import org.thingsboard.server.common.data.HasTenantId;
import org.thingsboard.server.common.data.SearchTextBasedWithAdditionalInfo;
import org.thingsboard.server.common.data.id.QueueId; import org.thingsboard.server.common.data.id.QueueId;
import org.thingsboard.server.common.data.id.TenantId; import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.tenant.profile.TenantProfileQueueConfiguration; import org.thingsboard.server.common.data.tenant.profile.TenantProfileQueueConfiguration;
@Data @Data
public class Queue extends BaseData<QueueId> implements HasName, HasTenantId { public class Queue extends SearchTextBasedWithAdditionalInfo<QueueId> implements HasName, HasTenantId {
private TenantId tenantId; private TenantId tenantId;
private String name; private String name;
private String topic; private String topic;
@ -53,4 +53,9 @@ public class Queue extends BaseData<QueueId> implements HasName, HasTenantId {
this.submitStrategy = queueConfiguration.getSubmitStrategy(); this.submitStrategy = queueConfiguration.getSubmitStrategy();
this.processingStrategy = queueConfiguration.getProcessingStrategy(); this.processingStrategy = queueConfiguration.getProcessingStrategy();
} }
@Override
public String getSearchText() {
return getName();
}
} }

View File

@ -595,6 +595,8 @@ public class ModelConstants {
public static final String QUEUE_SUBMIT_STRATEGY_PROPERTY = "submit_strategy"; public static final String QUEUE_SUBMIT_STRATEGY_PROPERTY = "submit_strategy";
public static final String QUEUE_PROCESSING_STRATEGY_PROPERTY = "processing_strategy"; public static final String QUEUE_PROCESSING_STRATEGY_PROPERTY = "processing_strategy";
public static final String QUEUE_COLUMN_FAMILY_NAME = "queue"; public static final String QUEUE_COLUMN_FAMILY_NAME = "queue";
public static final String QUEUE_ADDITIONAL_INFO_PROPERTY = ADDITIONAL_INFO_PROPERTY;
protected static final String[] NONE_AGGREGATION_COLUMNS = new String[]{LONG_VALUE_COLUMN, DOUBLE_VALUE_COLUMN, BOOLEAN_VALUE_COLUMN, STRING_VALUE_COLUMN, JSON_VALUE_COLUMN, KEY_COLUMN, TS_COLUMN}; protected static final String[] NONE_AGGREGATION_COLUMNS = new String[]{LONG_VALUE_COLUMN, DOUBLE_VALUE_COLUMN, BOOLEAN_VALUE_COLUMN, STRING_VALUE_COLUMN, JSON_VALUE_COLUMN, KEY_COLUMN, TS_COLUMN};

View File

@ -73,6 +73,10 @@ public class QueueEntity extends BaseSqlEntity<Queue> {
@Column(name = ModelConstants.QUEUE_PROCESSING_STRATEGY_PROPERTY) @Column(name = ModelConstants.QUEUE_PROCESSING_STRATEGY_PROPERTY)
private JsonNode processingStrategy; private JsonNode processingStrategy;
@Type(type = "json")
@Column(name = ModelConstants.QUEUE_ADDITIONAL_INFO_PROPERTY)
private JsonNode additionalInfo;
public QueueEntity() { public QueueEntity() {
} }
@ -90,6 +94,7 @@ public class QueueEntity extends BaseSqlEntity<Queue> {
this.packProcessingTimeout = queue.getPackProcessingTimeout(); this.packProcessingTimeout = queue.getPackProcessingTimeout();
this.submitStrategy = mapper.valueToTree(queue.getSubmitStrategy()); this.submitStrategy = mapper.valueToTree(queue.getSubmitStrategy());
this.processingStrategy = mapper.valueToTree(queue.getProcessingStrategy()); this.processingStrategy = mapper.valueToTree(queue.getProcessingStrategy());
this.additionalInfo = queue.getAdditionalInfo();
} }
@Override @Override
@ -103,8 +108,9 @@ public class QueueEntity extends BaseSqlEntity<Queue> {
queue.setPartitions(partitions); queue.setPartitions(partitions);
queue.setConsumerPerPartition(consumerPerPartition); queue.setConsumerPerPartition(consumerPerPartition);
queue.setPackProcessingTimeout(packProcessingTimeout); queue.setPackProcessingTimeout(packProcessingTimeout);
queue.setSubmitStrategy(mapper.convertValue(this.submitStrategy, SubmitStrategy.class)); queue.setSubmitStrategy(mapper.convertValue(submitStrategy, SubmitStrategy.class));
queue.setProcessingStrategy(mapper.convertValue(this.processingStrategy, ProcessingStrategy.class)); queue.setProcessingStrategy(mapper.convertValue(processingStrategy, ProcessingStrategy.class));
queue.setAdditionalInfo(additionalInfo);
return queue; return queue;
} }
} }

View File

@ -226,7 +226,8 @@ CREATE TABLE IF NOT EXISTS queue(
consumer_per_partition boolean, consumer_per_partition boolean,
pack_processing_timeout bigint, pack_processing_timeout bigint,
submit_strategy varchar(255), submit_strategy varchar(255),
processing_strategy varchar(255) processing_strategy varchar(255),
additional_info varchar
); );
CREATE TABLE IF NOT EXISTS device_profile ( CREATE TABLE IF NOT EXISTS device_profile (

View File

@ -61,4 +61,5 @@ export interface QueueInfo extends BaseData<QueueId> {
}; };
tenantId?: TenantId; tenantId?: TenantId;
topic: string; topic: string;
additionalInfo?: any;
} }