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