Improve EdgeProcessor to receive boolean instead of EdgeVersion: it simplifies the code on Edge as well
This commit is contained in:
parent
286c46f8c6
commit
409f45272b
@ -37,6 +37,7 @@ import org.thingsboard.server.gen.edge.v1.DownlinkMsg;
|
|||||||
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
|
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
|
||||||
import org.thingsboard.server.gen.transport.TransportProtos;
|
import org.thingsboard.server.gen.transport.TransportProtos;
|
||||||
import org.thingsboard.server.queue.util.TbCoreComponent;
|
import org.thingsboard.server.queue.util.TbCoreComponent;
|
||||||
|
import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -51,7 +52,7 @@ public class AlarmEdgeProcessor extends BaseAlarmProcessor {
|
|||||||
log.trace("[{}] processAlarmMsgFromEdge [{}]", tenantId, alarmUpdateMsg);
|
log.trace("[{}] processAlarmMsgFromEdge [{}]", tenantId, alarmUpdateMsg);
|
||||||
try {
|
try {
|
||||||
edgeSynchronizationManager.getEdgeId().set(edgeId);
|
edgeSynchronizationManager.getEdgeId().set(edgeId);
|
||||||
return processAlarmMsg(tenantId, alarmUpdateMsg, edgeVersion);
|
return processAlarmMsg(tenantId, alarmUpdateMsg, EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion));
|
||||||
} finally {
|
} finally {
|
||||||
edgeSynchronizationManager.getEdgeId().remove();
|
edgeSynchronizationManager.getEdgeId().remove();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -47,10 +47,9 @@ import java.util.UUID;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
public abstract class BaseAlarmProcessor extends BaseEdgeProcessor {
|
public abstract class BaseAlarmProcessor extends BaseEdgeProcessor {
|
||||||
|
|
||||||
public ListenableFuture<Void> processAlarmMsg(TenantId tenantId, AlarmUpdateMsg alarmUpdateMsg, EdgeVersion edgeVersion) {
|
public ListenableFuture<Void> processAlarmMsg(TenantId tenantId, AlarmUpdateMsg alarmUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
|
||||||
log.trace("[{}] processAlarmMsg [{}]", tenantId, alarmUpdateMsg);
|
log.trace("[{}] processAlarmMsg [{}]", tenantId, alarmUpdateMsg);
|
||||||
AlarmId alarmId = new AlarmId(new UUID(alarmUpdateMsg.getIdMSB(), alarmUpdateMsg.getIdLSB()));
|
AlarmId alarmId = new AlarmId(new UUID(alarmUpdateMsg.getIdMSB(), alarmUpdateMsg.getIdLSB()));
|
||||||
boolean isEdgeVersionOlderThan_3_6_2 = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion);
|
|
||||||
Alarm alarm = isEdgeVersionOlderThan_3_6_2 ? createDeprecatedAlarm(tenantId, alarmUpdateMsg)
|
Alarm alarm = isEdgeVersionOlderThan_3_6_2 ? createDeprecatedAlarm(tenantId, alarmUpdateMsg)
|
||||||
: JacksonUtil.fromStringIgnoreUnknownProperties(alarmUpdateMsg.getEntity(), Alarm.class);
|
: JacksonUtil.fromStringIgnoreUnknownProperties(alarmUpdateMsg.getEntity(), Alarm.class);
|
||||||
if (alarm == null) {
|
if (alarm == null) {
|
||||||
|
|||||||
@ -32,10 +32,8 @@ import org.thingsboard.server.common.data.security.DeviceCredentials;
|
|||||||
import org.thingsboard.server.common.data.security.DeviceCredentialsType;
|
import org.thingsboard.server.common.data.security.DeviceCredentialsType;
|
||||||
import org.thingsboard.server.gen.edge.v1.DeviceCredentialsUpdateMsg;
|
import org.thingsboard.server.gen.edge.v1.DeviceCredentialsUpdateMsg;
|
||||||
import org.thingsboard.server.gen.edge.v1.DeviceUpdateMsg;
|
import org.thingsboard.server.gen.edge.v1.DeviceUpdateMsg;
|
||||||
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
|
|
||||||
import org.thingsboard.server.queue.util.DataDecodingEncodingService;
|
import org.thingsboard.server.queue.util.DataDecodingEncodingService;
|
||||||
import org.thingsboard.server.service.edge.rpc.processor.BaseEdgeProcessor;
|
import org.thingsboard.server.service.edge.rpc.processor.BaseEdgeProcessor;
|
||||||
import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils;
|
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
@ -121,8 +119,8 @@ public abstract class BaseDeviceProcessor extends BaseEdgeProcessor {
|
|||||||
return device;
|
return device;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void updateDeviceCredentials(TenantId tenantId, DeviceCredentialsUpdateMsg deviceCredentialsUpdateMsg, EdgeVersion edgeVersion) {
|
protected void updateDeviceCredentials(TenantId tenantId, DeviceCredentialsUpdateMsg deviceCredentialsUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
|
||||||
DeviceCredentials deviceCredentials = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)
|
DeviceCredentials deviceCredentials = isEdgeVersionOlderThan_3_6_2
|
||||||
? createDeviceCredentials(deviceCredentialsUpdateMsg)
|
? createDeviceCredentials(deviceCredentialsUpdateMsg)
|
||||||
: JacksonUtil.fromStringIgnoreUnknownProperties(deviceCredentialsUpdateMsg.getEntity(), DeviceCredentials.class);
|
: JacksonUtil.fromStringIgnoreUnknownProperties(deviceCredentialsUpdateMsg.getEntity(), DeviceCredentials.class);
|
||||||
if (deviceCredentials == null) {
|
if (deviceCredentials == null) {
|
||||||
|
|||||||
@ -51,8 +51,8 @@ public abstract class BaseDeviceProfileProcessor extends BaseEdgeProcessor {
|
|||||||
deviceCreationLock.lock();
|
deviceCreationLock.lock();
|
||||||
try {
|
try {
|
||||||
DeviceProfile deviceProfile = isEdgeVersionOlderThan_3_6_2
|
DeviceProfile deviceProfile = isEdgeVersionOlderThan_3_6_2
|
||||||
? createDeviceProfile(tenantId, deviceProfileId, deviceProfileUpdateMsg)
|
? createDeviceProfile(tenantId, deviceProfileId, deviceProfileUpdateMsg)
|
||||||
: JacksonUtil.fromStringIgnoreUnknownProperties(deviceProfileUpdateMsg.getEntity(), DeviceProfile.class);
|
: JacksonUtil.fromStringIgnoreUnknownProperties(deviceProfileUpdateMsg.getEntity(), DeviceProfile.class);
|
||||||
if (deviceProfile == null) {
|
if (deviceProfile == null) {
|
||||||
throw new RuntimeException("[{" + tenantId + "}] deviceProfileUpdateMsg {" + deviceProfileUpdateMsg + "} cannot be converted to device profile");
|
throw new RuntimeException("[{" + tenantId + "}] deviceProfileUpdateMsg {" + deviceProfileUpdateMsg + "} cannot be converted to device profile");
|
||||||
}
|
}
|
||||||
@ -86,7 +86,7 @@ public abstract class BaseDeviceProfileProcessor extends BaseEdgeProcessor {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("[{}] Failed to process device profile update msg [{}]", tenantId, deviceProfileUpdateMsg, e);
|
log.error("[{}] Failed to process device profile update msg [{}]", tenantId, deviceProfileUpdateMsg, e);
|
||||||
throw e;
|
throw e;
|
||||||
} finally {
|
} finally {
|
||||||
deviceCreationLock.unlock();
|
deviceCreationLock.unlock();
|
||||||
}
|
}
|
||||||
return Pair.of(created, deviceProfileNameUpdated);
|
return Pair.of(created, deviceProfileNameUpdated);
|
||||||
|
|||||||
@ -102,7 +102,7 @@ public class DeviceEdgeProcessor extends BaseDeviceProcessor {
|
|||||||
try {
|
try {
|
||||||
edgeSynchronizationManager.getEdgeId().set(edgeId);
|
edgeSynchronizationManager.getEdgeId().set(edgeId);
|
||||||
|
|
||||||
updateDeviceCredentials(tenantId, deviceCredentialsUpdateMsg, edgeVersion);
|
updateDeviceCredentials(tenantId, deviceCredentialsUpdateMsg, EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion));
|
||||||
} finally {
|
} finally {
|
||||||
edgeSynchronizationManager.getEdgeId().remove();
|
edgeSynchronizationManager.getEdgeId().remove();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,6 +31,8 @@ import java.util.UUID;
|
|||||||
@ToString(callSuper = true)
|
@ToString(callSuper = true)
|
||||||
public class EdgeEvent extends BaseData<EdgeEventId> {
|
public class EdgeEvent extends BaseData<EdgeEventId> {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 5548866356798094088L;
|
||||||
|
|
||||||
private long seqId;
|
private long seqId;
|
||||||
private TenantId tenantId;
|
private TenantId tenantId;
|
||||||
private EdgeId edgeId;
|
private EdgeId edgeId;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user