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