Added ts to TbMsg
This commit is contained in:
parent
b25b05c7ff
commit
670a218e6d
@ -40,6 +40,7 @@ import java.util.UUID;
|
||||
public final class TbMsg implements Serializable {
|
||||
|
||||
private final UUID id;
|
||||
private final long ts;
|
||||
private final String type;
|
||||
private final EntityId originator;
|
||||
private final TbMsgMetaData metaData;
|
||||
@ -51,38 +52,43 @@ public final class TbMsg implements Serializable {
|
||||
transient private final TbMsgCallback callback;
|
||||
|
||||
public static TbMsg newMsg(String type, EntityId originator, TbMsgMetaData metaData, String data) {
|
||||
return new TbMsg(UUID.randomUUID(), type, originator, metaData.copy(), TbMsgDataType.JSON, data, null, null, TbMsgCallback.EMPTY);
|
||||
return new TbMsg(UUID.randomUUID(), System.currentTimeMillis(), type, originator, metaData.copy(), TbMsgDataType.JSON, data, null, null, TbMsgCallback.EMPTY);
|
||||
}
|
||||
|
||||
public static TbMsg newMsg(String type, EntityId originator, TbMsgMetaData metaData, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId) {
|
||||
return new TbMsg(UUID.randomUUID(), type, originator, metaData.copy(), TbMsgDataType.JSON, data, ruleChainId, ruleNodeId, TbMsgCallback.EMPTY);
|
||||
return new TbMsg(UUID.randomUUID(), System.currentTimeMillis(), type, originator, metaData.copy(), TbMsgDataType.JSON, data, ruleChainId, ruleNodeId, TbMsgCallback.EMPTY);
|
||||
}
|
||||
|
||||
public static TbMsg newMsg(String type, EntityId originator, TbMsgMetaData metaData, TbMsgDataType dataType, String data) {
|
||||
return new TbMsg(UUID.randomUUID(), type, originator, metaData.copy(), dataType, data, null, null, TbMsgCallback.EMPTY);
|
||||
return new TbMsg(UUID.randomUUID(), System.currentTimeMillis(), type, originator, metaData.copy(), dataType, data, null, null, TbMsgCallback.EMPTY);
|
||||
}
|
||||
|
||||
public static TbMsg newMsg(String type, EntityId originator, TbMsgMetaData metaData, TbMsgDataType dataType, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId) {
|
||||
return new TbMsg(UUID.randomUUID(), type, originator, metaData.copy(), dataType, data, ruleChainId, ruleNodeId, TbMsgCallback.EMPTY);
|
||||
return new TbMsg(UUID.randomUUID(), System.currentTimeMillis(), type, originator, metaData.copy(), dataType, data, ruleChainId, ruleNodeId, TbMsgCallback.EMPTY);
|
||||
}
|
||||
|
||||
public static TbMsg newMsg(String type, EntityId originator, TbMsgMetaData metaData, String data, TbMsgCallback callback) {
|
||||
return new TbMsg(UUID.randomUUID(), type, originator, metaData.copy(), TbMsgDataType.JSON, data, null, null, callback);
|
||||
return new TbMsg(UUID.randomUUID(), System.currentTimeMillis(), type, originator, metaData.copy(), TbMsgDataType.JSON, data, null, null, callback);
|
||||
}
|
||||
|
||||
public static TbMsg transformMsg(TbMsg origMsg, String type, EntityId originator, TbMsgMetaData metaData, String data) {
|
||||
return new TbMsg(origMsg.getId(), type, originator, metaData.copy(), origMsg.getDataType(),
|
||||
return new TbMsg(origMsg.getId(), origMsg.getTs(), type, originator, metaData.copy(), origMsg.getDataType(),
|
||||
data, origMsg.getRuleChainId(), origMsg.getRuleNodeId(), origMsg.getCallback());
|
||||
}
|
||||
|
||||
public static TbMsg newMsg(TbMsg tbMsg, RuleChainId ruleChainId, RuleNodeId ruleNodeId) {
|
||||
return new TbMsg(UUID.randomUUID(), tbMsg.getType(), tbMsg.getOriginator(), tbMsg.getMetaData().copy(),
|
||||
return new TbMsg(UUID.randomUUID(), tbMsg.getTs(), tbMsg.getType(), tbMsg.getOriginator(), tbMsg.getMetaData().copy(),
|
||||
tbMsg.getDataType(), tbMsg.getData(), ruleChainId, ruleNodeId, TbMsgCallback.EMPTY);
|
||||
}
|
||||
|
||||
private TbMsg(UUID id, String type, EntityId originator, TbMsgMetaData metaData, TbMsgDataType dataType, String data,
|
||||
private TbMsg(UUID id, long ts, String type, EntityId originator, TbMsgMetaData metaData, TbMsgDataType dataType, String data,
|
||||
RuleChainId ruleChainId, RuleNodeId ruleNodeId, TbMsgCallback callback) {
|
||||
this.id = id;
|
||||
if (ts > 0) {
|
||||
this.ts = ts;
|
||||
} else {
|
||||
this.ts = System.currentTimeMillis();
|
||||
}
|
||||
this.type = type;
|
||||
this.originator = originator;
|
||||
this.metaData = metaData;
|
||||
@ -105,6 +111,7 @@ public final class TbMsg implements Serializable {
|
||||
public static byte[] toByteArray(TbMsg msg) {
|
||||
MsgProtos.TbMsgProto.Builder builder = MsgProtos.TbMsgProto.newBuilder();
|
||||
builder.setId(msg.getId().toString());
|
||||
builder.setTs(msg.getTs());
|
||||
builder.setType(msg.getType());
|
||||
builder.setEntityType(msg.getOriginator().getEntityType().name());
|
||||
builder.setEntityIdMSB(msg.getOriginator().getId().getMostSignificantBits());
|
||||
@ -124,7 +131,6 @@ public final class TbMsg implements Serializable {
|
||||
builder.setMetaData(MsgProtos.TbMsgMetaDataProto.newBuilder().putAllData(msg.getMetaData().getData()).build());
|
||||
}
|
||||
|
||||
|
||||
builder.setDataType(msg.getDataType().ordinal());
|
||||
builder.setData(msg.getData());
|
||||
return builder.build().toByteArray();
|
||||
@ -144,18 +150,18 @@ public final class TbMsg implements Serializable {
|
||||
ruleNodeId = new RuleNodeId(new UUID(proto.getRuleNodeIdMSB(), proto.getRuleNodeIdLSB()));
|
||||
}
|
||||
TbMsgDataType dataType = TbMsgDataType.values()[proto.getDataType()];
|
||||
return new TbMsg(UUID.fromString(proto.getId()), proto.getType(), entityId, metaData, dataType, proto.getData(), ruleChainId, ruleNodeId, callback);
|
||||
return new TbMsg(UUID.fromString(proto.getId()), proto.getTs(), proto.getType(), entityId, metaData, dataType, proto.getData(), ruleChainId, ruleNodeId, callback);
|
||||
} catch (InvalidProtocolBufferException e) {
|
||||
throw new IllegalStateException("Could not parse protobuf for TbMsg", e);
|
||||
}
|
||||
}
|
||||
|
||||
public TbMsg copyWithRuleChainId(RuleChainId ruleChainId) {
|
||||
return new TbMsg(this.id, this.type, this.originator, this.metaData, this.dataType, this.data, ruleChainId, null, callback);
|
||||
return new TbMsg(this.id, this.ts, this.type, this.originator, this.metaData, this.dataType, this.data, ruleChainId, null, callback);
|
||||
}
|
||||
|
||||
public TbMsg copyWithRuleNodeId(RuleChainId ruleChainId, RuleNodeId ruleNodeId) {
|
||||
return new TbMsg(this.id, this.type, this.originator, this.metaData, this.dataType, this.data, ruleChainId, ruleNodeId, callback);
|
||||
return new TbMsg(this.id, this.ts, this.type, this.originator, this.metaData, this.dataType, this.data, ruleChainId, ruleNodeId, callback);
|
||||
}
|
||||
|
||||
public TbMsgCallback getCallback() {
|
||||
|
||||
@ -44,4 +44,5 @@ message TbMsgProto {
|
||||
int32 dataType = 13;
|
||||
string data = 14;
|
||||
|
||||
int64 ts = 15;
|
||||
}
|
||||
@ -70,7 +70,7 @@ public class TbMsgTimeseriesNode implements TbNode {
|
||||
} catch (NumberFormatException e) {
|
||||
}
|
||||
} else {
|
||||
ts = System.currentTimeMillis();
|
||||
ts = msg.getTs();
|
||||
}
|
||||
String src = msg.getData();
|
||||
Map<Long, List<KvEntry>> tsKvMap = JsonConverter.convertToTelemetry(new JsonParser().parse(src), ts);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user