Merge branch 'master' of github.com:thingsboard/thingsboard
This commit is contained in:
commit
a336bba515
@ -22,6 +22,7 @@ import lombok.AccessLevel;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.thingsboard.server.common.data.EntityType;
|
||||
import org.thingsboard.server.common.data.id.CustomerId;
|
||||
import org.thingsboard.server.common.data.id.EntityId;
|
||||
@ -296,4 +297,15 @@ public final class TbMsg implements Serializable {
|
||||
public boolean isValid() {
|
||||
return getCallback().isMsgValid();
|
||||
}
|
||||
|
||||
public long getMetaDataTs() {
|
||||
String tsStr = metaData.getValue("ts");
|
||||
if (!StringUtils.isEmpty(tsStr)) {
|
||||
try {
|
||||
return Long.parseLong(tsStr);
|
||||
} catch (NumberFormatException ignored) {
|
||||
}
|
||||
}
|
||||
return ts;
|
||||
}
|
||||
}
|
||||
|
||||
@ -290,27 +290,6 @@ public class DefaultAlarmQueryRepository implements AlarmQueryRepository {
|
||||
StringBuilder permissionsQuery = new StringBuilder();
|
||||
ctx.addUuidParameter("permissions_tenant_id", tenantId.getId());
|
||||
permissionsQuery.append(" a.tenant_id = :permissions_tenant_id and ea.tenant_id = :permissions_tenant_id ");
|
||||
/*
|
||||
No need to check the customer id, because we already use entity id list that passed security check when we were evaluating the data query.
|
||||
*/
|
||||
// if (customerId != null && !customerId.isNullUid()) {
|
||||
// ctx.addUuidParameter("permissions_customer_id", customerId.getId());
|
||||
// ctx.addUuidParameter("permissions_device_customer_id", customerId.getId());
|
||||
// ctx.addUuidParameter("permissions_asset_customer_id", customerId.getId());
|
||||
// ctx.addUuidParameter("permissions_user_customer_id", customerId.getId());
|
||||
// ctx.addUuidParameter("permissions_entity_view_customer_id", customerId.getId());
|
||||
// permissionsQuery.append(" and (");
|
||||
// permissionsQuery.append("(a.originator_type = '").append(EntityType.DEVICE.ordinal()).append("' and exists (select 1 from device cd where cd.id = a.originator_id and cd.customer_id = :permissions_device_customer_id))");
|
||||
// permissionsQuery.append(" or ");
|
||||
// permissionsQuery.append("(a.originator_type = '").append(EntityType.ASSET.ordinal()).append("' and exists (select 1 from asset ca where ca.id = a.originator_id and ca.customer_id = :permissions_device_customer_id))");
|
||||
// permissionsQuery.append(" or ");
|
||||
// permissionsQuery.append("(a.originator_type = '").append(EntityType.CUSTOMER.ordinal()).append("' and exists (select 1 from customer cc where cc.id = a.originator_id and cc.id = :permissions_customer_id))");
|
||||
// permissionsQuery.append(" or ");
|
||||
// permissionsQuery.append("(a.originator_type = '").append(EntityType.USER.ordinal()).append("' and exists (select 1 from tb_user cu where cu.id = a.originator_id and cu.customer_id = :permissions_user_customer_id))");
|
||||
// permissionsQuery.append(" or ");
|
||||
// permissionsQuery.append("(a.originator_type = '").append(EntityType.ENTITY_VIEW.ordinal()).append("' and exists (select 1 from entity_view cv where cv.id = a.originator_id and cv.customer_id = :permissions_entity_view_customer_id))");
|
||||
// permissionsQuery.append(")");
|
||||
// }
|
||||
return permissionsQuery.toString();
|
||||
}
|
||||
|
||||
|
||||
@ -164,6 +164,7 @@ public class TbCreateAlarmNode extends TbAbstractAlarmNode<TbCreateAlarmNodeConf
|
||||
}
|
||||
|
||||
private Alarm buildAlarm(TbMsg msg, JsonNode details, TenantId tenantId) {
|
||||
long ts = msg.getMetaDataTs();
|
||||
return Alarm.builder()
|
||||
.tenantId(tenantId)
|
||||
.originator(msg.getOriginator())
|
||||
@ -172,9 +173,8 @@ public class TbCreateAlarmNode extends TbAbstractAlarmNode<TbCreateAlarmNodeConf
|
||||
.propagate(config.isPropagate())
|
||||
.type(TbNodeUtils.processPattern(this.config.getAlarmType(), msg))
|
||||
.propagateRelationTypes(relationTypes)
|
||||
//todo-vp: alarm date should be taken from Message or current Time should be used?
|
||||
// .startTs(System.currentTimeMillis())
|
||||
// .endTs(System.currentTimeMillis())
|
||||
.startTs(ts)
|
||||
.endTs(ts)
|
||||
.details(details)
|
||||
.build();
|
||||
}
|
||||
|
||||
@ -111,21 +111,7 @@ public class TbMsgTimeseriesNode implements TbNode {
|
||||
}
|
||||
|
||||
public static long computeTs(TbMsg msg, boolean ignoreMetadataTs) {
|
||||
return ignoreMetadataTs ? System.currentTimeMillis() : getTs(msg);
|
||||
}
|
||||
|
||||
public static long getTs(TbMsg msg) {
|
||||
long ts = -1;
|
||||
String tsStr = msg.getMetaData().getValue("ts");
|
||||
if (!StringUtils.isEmpty(tsStr)) {
|
||||
try {
|
||||
ts = Long.parseLong(tsStr);
|
||||
} catch (NumberFormatException ignored) {
|
||||
}
|
||||
} else {
|
||||
ts = msg.getTs();
|
||||
}
|
||||
return ts;
|
||||
return ignoreMetadataTs ? System.currentTimeMillis() : msg.getMetaDataTs();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user