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;
import lombok.Data;
import org.thingsboard.server.common.data.BaseData;
import org.thingsboard.server.common.data.HasName;
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.TenantId;
import org.thingsboard.server.common.data.tenant.profile.TenantProfileQueueConfiguration;
@Data
public class Queue extends BaseData<QueueId> implements HasName, HasTenantId {
public class Queue extends SearchTextBasedWithAdditionalInfo<QueueId> implements HasName, HasTenantId {
private TenantId tenantId;
private String name;
private String topic;
@ -53,4 +53,9 @@ public class Queue extends BaseData<QueueId> implements HasName, HasTenantId {
this.submitStrategy = queueConfiguration.getSubmitStrategy();
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_PROCESSING_STRATEGY_PROPERTY = "processing_strategy";
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};

View File

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

View File

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

View File

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