Minor refactoring: use edgeVersion instead of passing boolean
This commit is contained in:
		
							parent
							
								
									188a21c2c1
								
							
						
					
					
						commit
						561e825eda
					
				@ -37,7 +37,6 @@ import org.thingsboard.server.gen.edge.v1.DownlinkMsg;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
 | 
			
		||||
import org.thingsboard.server.gen.transport.TransportProtos;
 | 
			
		||||
import org.thingsboard.server.queue.util.TbCoreComponent;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
@ -52,7 +51,7 @@ public class AlarmEdgeProcessor extends BaseAlarmProcessor {
 | 
			
		||||
        log.trace("[{}] processAlarmMsgFromEdge [{}]", tenantId, alarmUpdateMsg);
 | 
			
		||||
        try {
 | 
			
		||||
            edgeSynchronizationManager.getEdgeId().set(edgeId);
 | 
			
		||||
            return processAlarmMsg(tenantId, alarmUpdateMsg, EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion));
 | 
			
		||||
            return processAlarmMsg(tenantId, alarmUpdateMsg, edgeVersion);
 | 
			
		||||
        } finally {
 | 
			
		||||
            edgeSynchronizationManager.getEdgeId().remove();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -47,9 +47,10 @@ import java.util.UUID;
 | 
			
		||||
@Slf4j
 | 
			
		||||
public abstract class BaseAlarmProcessor extends BaseEdgeProcessor {
 | 
			
		||||
 | 
			
		||||
    public ListenableFuture<Void> processAlarmMsg(TenantId tenantId, AlarmUpdateMsg alarmUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
 | 
			
		||||
    public ListenableFuture<Void> processAlarmMsg(TenantId tenantId, AlarmUpdateMsg alarmUpdateMsg, EdgeVersion edgeVersion) {
 | 
			
		||||
        log.trace("[{}] processAlarmMsg [{}]", tenantId, alarmUpdateMsg);
 | 
			
		||||
        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)
 | 
			
		||||
                : JacksonUtil.fromStringIgnoreUnknownProperties(alarmUpdateMsg.getEntity(), Alarm.class);
 | 
			
		||||
        if (alarm == null) {
 | 
			
		||||
 | 
			
		||||
@ -84,8 +84,7 @@ public class AssetEdgeProcessor extends BaseAssetProcessor {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void saveOrUpdateAsset(TenantId tenantId, AssetId assetId, AssetUpdateMsg assetUpdateMsg, Edge edge, EdgeVersion edgeVersion) {
 | 
			
		||||
        Pair<Boolean, Boolean> resultPair = super.saveOrUpdateAsset(tenantId, assetId, assetUpdateMsg,
 | 
			
		||||
                EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion));
 | 
			
		||||
        Pair<Boolean, Boolean> resultPair = super.saveOrUpdateAsset(tenantId, assetId, assetUpdateMsg, edgeVersion);
 | 
			
		||||
        Boolean created = resultPair.getFirst();
 | 
			
		||||
        if (created) {
 | 
			
		||||
            createRelationFromEdge(tenantId, edge.getId(), assetId);
 | 
			
		||||
@ -148,8 +147,8 @@ public class AssetEdgeProcessor extends BaseAssetProcessor {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected void setCustomerId(TenantId tenantId, CustomerId customerId, Asset asset, AssetUpdateMsg assetUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
 | 
			
		||||
        CustomerId customerUUID = isEdgeVersionOlderThan_3_6_2
 | 
			
		||||
    protected void setCustomerId(TenantId tenantId, CustomerId customerId, Asset asset, AssetUpdateMsg assetUpdateMsg, EdgeVersion edgeVersion) {
 | 
			
		||||
        CustomerId customerUUID = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)
 | 
			
		||||
                ? safeGetCustomerId(assetUpdateMsg.getCustomerIdMSB(), assetUpdateMsg.getCustomerIdLSB())
 | 
			
		||||
                : asset.getCustomerId() != null ? asset.getCustomerId() : customerId;
 | 
			
		||||
        asset.setCustomerId(customerUUID);
 | 
			
		||||
 | 
			
		||||
@ -74,8 +74,7 @@ public class AssetProfileEdgeProcessor extends BaseAssetProfileProcessor {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void saveOrUpdateAssetProfile(TenantId tenantId, AssetProfileId assetProfileId, AssetProfileUpdateMsg assetProfileUpdateMsg, Edge edge, EdgeVersion edgeVersion) {
 | 
			
		||||
        Pair<Boolean, Boolean> resultPair = super.saveOrUpdateAssetProfile(tenantId, assetProfileId, assetProfileUpdateMsg,
 | 
			
		||||
                EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion));
 | 
			
		||||
        Pair<Boolean, Boolean> resultPair = super.saveOrUpdateAssetProfile(tenantId, assetProfileId, assetProfileUpdateMsg, edgeVersion);
 | 
			
		||||
        Boolean created = resultPair.getFirst();
 | 
			
		||||
        if (created) {
 | 
			
		||||
            createRelationFromEdge(tenantId, edge.getId(), assetProfileId);
 | 
			
		||||
@ -134,16 +133,16 @@ public class AssetProfileEdgeProcessor extends BaseAssetProfileProcessor {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected void setDefaultEdgeRuleChainId(AssetProfile assetProfile, RuleChainId ruleChainId, AssetProfileUpdateMsg assetProfileUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
 | 
			
		||||
        UUID defaultEdgeRuleChainUUID = isEdgeVersionOlderThan_3_6_2
 | 
			
		||||
    protected void setDefaultEdgeRuleChainId(AssetProfile assetProfile, RuleChainId ruleChainId, AssetProfileUpdateMsg assetProfileUpdateMsg, EdgeVersion edgeVersion) {
 | 
			
		||||
        UUID defaultEdgeRuleChainUUID = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)
 | 
			
		||||
                ? safeGetUUID(assetProfileUpdateMsg.getDefaultRuleChainIdMSB(), assetProfileUpdateMsg.getDefaultRuleChainIdLSB())
 | 
			
		||||
                : ruleChainId != null ? ruleChainId.getId() : null;
 | 
			
		||||
        assetProfile.setDefaultEdgeRuleChainId(defaultEdgeRuleChainUUID != null ? new RuleChainId(defaultEdgeRuleChainUUID) : null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected void setDefaultDashboardId(TenantId tenantId, DashboardId dashboardId, AssetProfile assetProfile, AssetProfileUpdateMsg assetProfileUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
 | 
			
		||||
        UUID defaultDashboardUUID = isEdgeVersionOlderThan_3_6_2
 | 
			
		||||
    protected void setDefaultDashboardId(TenantId tenantId, DashboardId dashboardId, AssetProfile assetProfile, AssetProfileUpdateMsg assetProfileUpdateMsg, EdgeVersion edgeVersion) {
 | 
			
		||||
        UUID defaultDashboardUUID = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)
 | 
			
		||||
                ? safeGetUUID(assetProfileUpdateMsg.getDefaultDashboardIdMSB(), assetProfileUpdateMsg.getDefaultDashboardIdLSB())
 | 
			
		||||
                : assetProfile.getDefaultDashboardId() != null ? assetProfile.getDefaultDashboardId().getId() : (dashboardId != null ? dashboardId.getId() : null);
 | 
			
		||||
        assetProfile.setDefaultDashboardId(defaultDashboardUUID != null ? new DashboardId(defaultDashboardUUID) : null);
 | 
			
		||||
 | 
			
		||||
@ -26,19 +26,21 @@ import org.thingsboard.server.common.data.id.AssetProfileId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.CustomerId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.AssetUpdateMsg;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.processor.BaseEdgeProcessor;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils;
 | 
			
		||||
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
 | 
			
		||||
@Slf4j
 | 
			
		||||
public abstract class BaseAssetProcessor extends BaseEdgeProcessor {
 | 
			
		||||
 | 
			
		||||
    protected Pair<Boolean, Boolean> saveOrUpdateAsset(TenantId tenantId, AssetId assetId, AssetUpdateMsg assetUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
 | 
			
		||||
    protected Pair<Boolean, Boolean> saveOrUpdateAsset(TenantId tenantId, AssetId assetId, AssetUpdateMsg assetUpdateMsg, EdgeVersion edgeVersion) {
 | 
			
		||||
        boolean created = false;
 | 
			
		||||
        boolean assetNameUpdated = false;
 | 
			
		||||
        assetCreationLock.lock();
 | 
			
		||||
        try {
 | 
			
		||||
            Asset asset = isEdgeVersionOlderThan_3_6_2
 | 
			
		||||
            Asset asset = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)
 | 
			
		||||
                    ? createAsset(tenantId, assetId, assetUpdateMsg)
 | 
			
		||||
                    : JacksonUtil.fromStringIgnoreUnknownProperties(assetUpdateMsg.getEntity(), Asset.class);
 | 
			
		||||
            if (asset == null) {
 | 
			
		||||
@ -60,7 +62,7 @@ public abstract class BaseAssetProcessor extends BaseEdgeProcessor {
 | 
			
		||||
                assetNameUpdated = true;
 | 
			
		||||
            }
 | 
			
		||||
            asset.setName(assetName);
 | 
			
		||||
            setCustomerId(tenantId, created ? null : assetById.getCustomerId(), asset, assetUpdateMsg, isEdgeVersionOlderThan_3_6_2);
 | 
			
		||||
            setCustomerId(tenantId, created ? null : assetById.getCustomerId(), asset, assetUpdateMsg, edgeVersion);
 | 
			
		||||
 | 
			
		||||
            assetValidator.validate(asset, Asset::getTenantId);
 | 
			
		||||
            if (created) {
 | 
			
		||||
@ -94,5 +96,5 @@ public abstract class BaseAssetProcessor extends BaseEdgeProcessor {
 | 
			
		||||
        return asset;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected abstract void setCustomerId(TenantId tenantId, CustomerId customerId, Asset asset, AssetUpdateMsg assetUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2);
 | 
			
		||||
    protected abstract void setCustomerId(TenantId tenantId, CustomerId customerId, Asset asset, AssetUpdateMsg assetUpdateMsg, EdgeVersion edgeVersion);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -26,19 +26,21 @@ import org.thingsboard.server.common.data.id.DashboardId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.RuleChainId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.AssetProfileUpdateMsg;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.processor.BaseEdgeProcessor;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils;
 | 
			
		||||
 | 
			
		||||
import java.nio.charset.StandardCharsets;
 | 
			
		||||
 | 
			
		||||
@Slf4j
 | 
			
		||||
public abstract class BaseAssetProfileProcessor extends BaseEdgeProcessor {
 | 
			
		||||
 | 
			
		||||
    protected Pair<Boolean, Boolean> saveOrUpdateAssetProfile(TenantId tenantId, AssetProfileId assetProfileId, AssetProfileUpdateMsg assetProfileUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
 | 
			
		||||
    protected Pair<Boolean, Boolean> saveOrUpdateAssetProfile(TenantId tenantId, AssetProfileId assetProfileId, AssetProfileUpdateMsg assetProfileUpdateMsg, EdgeVersion edgeVersion) {
 | 
			
		||||
        boolean created = false;
 | 
			
		||||
        boolean assetProfileNameUpdated = false;
 | 
			
		||||
        assetCreationLock.lock();
 | 
			
		||||
        try {
 | 
			
		||||
            AssetProfile assetProfile = isEdgeVersionOlderThan_3_6_2
 | 
			
		||||
            AssetProfile assetProfile = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)
 | 
			
		||||
                    ? createAssetProfile(tenantId, assetProfileId, assetProfileUpdateMsg)
 | 
			
		||||
                    : JacksonUtil.fromStringIgnoreUnknownProperties(assetProfileUpdateMsg.getEntity(), AssetProfile.class);
 | 
			
		||||
            if (assetProfile == null) {
 | 
			
		||||
@ -63,8 +65,8 @@ public abstract class BaseAssetProfileProcessor extends BaseEdgeProcessor {
 | 
			
		||||
 | 
			
		||||
            RuleChainId ruleChainId = assetProfile.getDefaultRuleChainId();
 | 
			
		||||
            setDefaultRuleChainId(tenantId, assetProfile, created ? null : assetProfileById.getDefaultRuleChainId());
 | 
			
		||||
            setDefaultEdgeRuleChainId(assetProfile, ruleChainId, assetProfileUpdateMsg, isEdgeVersionOlderThan_3_6_2);
 | 
			
		||||
            setDefaultDashboardId(tenantId, created ? null : assetProfileById.getDefaultDashboardId(), assetProfile, assetProfileUpdateMsg, isEdgeVersionOlderThan_3_6_2);
 | 
			
		||||
            setDefaultEdgeRuleChainId(assetProfile, ruleChainId, assetProfileUpdateMsg, edgeVersion);
 | 
			
		||||
            setDefaultDashboardId(tenantId, created ? null : assetProfileById.getDefaultDashboardId(), assetProfile, assetProfileUpdateMsg, edgeVersion);
 | 
			
		||||
 | 
			
		||||
            assetProfileValidator.validate(assetProfile, AssetProfile::getTenantId);
 | 
			
		||||
            if (created) {
 | 
			
		||||
@ -95,7 +97,7 @@ public abstract class BaseAssetProfileProcessor extends BaseEdgeProcessor {
 | 
			
		||||
 | 
			
		||||
    protected abstract void setDefaultRuleChainId(TenantId tenantId, AssetProfile assetProfile, RuleChainId ruleChainId);
 | 
			
		||||
 | 
			
		||||
    protected abstract void setDefaultEdgeRuleChainId(AssetProfile assetProfile, RuleChainId ruleChainId, AssetProfileUpdateMsg assetProfileUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2);
 | 
			
		||||
    protected abstract void setDefaultEdgeRuleChainId(AssetProfile assetProfile, RuleChainId ruleChainId, AssetProfileUpdateMsg assetProfileUpdateMsg, EdgeVersion edgeVersion);
 | 
			
		||||
 | 
			
		||||
    protected abstract void setDefaultDashboardId(TenantId tenantId, DashboardId dashboardId, AssetProfile assetProfile, AssetProfileUpdateMsg assetProfileUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2);
 | 
			
		||||
    protected abstract void setDefaultDashboardId(TenantId tenantId, DashboardId dashboardId, AssetProfile assetProfile, AssetProfileUpdateMsg assetProfileUpdateMsg, EdgeVersion edgeVersion);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -25,16 +25,18 @@ import org.thingsboard.server.common.data.id.CustomerId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.DashboardId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.DashboardUpdateMsg;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.processor.BaseEdgeProcessor;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils;
 | 
			
		||||
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
 | 
			
		||||
@Slf4j
 | 
			
		||||
public abstract class BaseDashboardProcessor extends BaseEdgeProcessor {
 | 
			
		||||
 | 
			
		||||
    protected boolean saveOrUpdateDashboard(TenantId tenantId, DashboardId dashboardId, DashboardUpdateMsg dashboardUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2, CustomerId customerId) {
 | 
			
		||||
    protected boolean saveOrUpdateDashboard(TenantId tenantId, DashboardId dashboardId, DashboardUpdateMsg dashboardUpdateMsg, CustomerId customerId, EdgeVersion edgeVersion) {
 | 
			
		||||
        boolean created = false;
 | 
			
		||||
        Dashboard dashboard = isEdgeVersionOlderThan_3_6_2
 | 
			
		||||
        Dashboard dashboard = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)
 | 
			
		||||
                ? createDashboard(tenantId, dashboardId, dashboardUpdateMsg)
 | 
			
		||||
                : JacksonUtil.fromStringIgnoreUnknownProperties(dashboardUpdateMsg.getEntity(), Dashboard.class);
 | 
			
		||||
        if (dashboard == null) {
 | 
			
		||||
 | 
			
		||||
@ -35,7 +35,6 @@ import org.thingsboard.server.gen.edge.v1.DownlinkMsg;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.UpdateMsgType;
 | 
			
		||||
import org.thingsboard.server.queue.util.TbCoreComponent;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils;
 | 
			
		||||
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
@ -80,7 +79,7 @@ public class DashboardEdgeProcessor extends BaseDashboardProcessor {
 | 
			
		||||
 | 
			
		||||
    private void saveOrUpdateDashboard(TenantId tenantId, DashboardId dashboardId, DashboardUpdateMsg dashboardUpdateMsg, Edge edge, EdgeVersion edgeVersion) {
 | 
			
		||||
        boolean created = super.saveOrUpdateDashboard(tenantId, dashboardId, dashboardUpdateMsg,
 | 
			
		||||
                EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion), edge.getCustomerId());
 | 
			
		||||
                edge.getCustomerId(), edgeVersion);
 | 
			
		||||
        if (created) {
 | 
			
		||||
            createRelationFromEdge(tenantId, edge.getId(), dashboardId);
 | 
			
		||||
            pushDashboardCreatedEventToRuleEngine(tenantId, edge, dashboardId);
 | 
			
		||||
 | 
			
		||||
@ -32,8 +32,10 @@ import org.thingsboard.server.common.data.security.DeviceCredentials;
 | 
			
		||||
import org.thingsboard.server.common.data.security.DeviceCredentialsType;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.DeviceCredentialsUpdateMsg;
 | 
			
		||||
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.service.edge.rpc.processor.BaseEdgeProcessor;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils;
 | 
			
		||||
 | 
			
		||||
import java.util.Optional;
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
@ -44,12 +46,12 @@ public abstract class BaseDeviceProcessor extends BaseEdgeProcessor {
 | 
			
		||||
    @Autowired
 | 
			
		||||
    protected DataDecodingEncodingService dataDecodingEncodingService;
 | 
			
		||||
 | 
			
		||||
    protected Pair<Boolean, Boolean> saveOrUpdateDevice(TenantId tenantId, DeviceId deviceId, DeviceUpdateMsg deviceUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
 | 
			
		||||
    protected Pair<Boolean, Boolean> saveOrUpdateDevice(TenantId tenantId, DeviceId deviceId, DeviceUpdateMsg deviceUpdateMsg, EdgeVersion edgeVersion) {
 | 
			
		||||
        boolean created = false;
 | 
			
		||||
        boolean deviceNameUpdated = false;
 | 
			
		||||
        deviceCreationLock.lock();
 | 
			
		||||
        try {
 | 
			
		||||
            Device device = isEdgeVersionOlderThan_3_6_2
 | 
			
		||||
            Device device = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)
 | 
			
		||||
                    ? createDevice(tenantId, deviceId, deviceUpdateMsg)
 | 
			
		||||
                    : JacksonUtil.fromStringIgnoreUnknownProperties(deviceUpdateMsg.getEntity(), Device.class);
 | 
			
		||||
            if (device == null) {
 | 
			
		||||
@ -71,7 +73,7 @@ public abstract class BaseDeviceProcessor extends BaseEdgeProcessor {
 | 
			
		||||
                deviceNameUpdated = true;
 | 
			
		||||
            }
 | 
			
		||||
            device.setName(deviceName);
 | 
			
		||||
            setCustomerId(tenantId, created ? null : deviceById.getCustomerId(), device, deviceUpdateMsg, isEdgeVersionOlderThan_3_6_2);
 | 
			
		||||
            setCustomerId(tenantId, created ? null : deviceById.getCustomerId(), device, deviceUpdateMsg, edgeVersion);
 | 
			
		||||
 | 
			
		||||
            deviceValidator.validate(device, Device::getTenantId);
 | 
			
		||||
            if (created) {
 | 
			
		||||
@ -157,5 +159,5 @@ public abstract class BaseDeviceProcessor extends BaseEdgeProcessor {
 | 
			
		||||
        return deviceCredentials;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected abstract void setCustomerId(TenantId tenantId, CustomerId customerId, Device device, DeviceUpdateMsg deviceUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2);
 | 
			
		||||
    protected abstract void setCustomerId(TenantId tenantId, CustomerId customerId, Device device, DeviceUpdateMsg deviceUpdateMsg, EdgeVersion edgeVersion);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -32,8 +32,10 @@ import org.thingsboard.server.common.data.id.OtaPackageId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.RuleChainId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.DeviceProfileUpdateMsg;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
 | 
			
		||||
import org.thingsboard.server.queue.util.DataDecodingEncodingService;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.processor.BaseEdgeProcessor;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils;
 | 
			
		||||
 | 
			
		||||
import java.nio.charset.StandardCharsets;
 | 
			
		||||
import java.util.Optional;
 | 
			
		||||
@ -45,12 +47,12 @@ public abstract class BaseDeviceProfileProcessor extends BaseEdgeProcessor {
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private DataDecodingEncodingService dataDecodingEncodingService;
 | 
			
		||||
 | 
			
		||||
    protected Pair<Boolean, Boolean> saveOrUpdateDeviceProfile(TenantId tenantId, DeviceProfileId deviceProfileId, DeviceProfileUpdateMsg deviceProfileUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
 | 
			
		||||
    protected Pair<Boolean, Boolean> saveOrUpdateDeviceProfile(TenantId tenantId, DeviceProfileId deviceProfileId, DeviceProfileUpdateMsg deviceProfileUpdateMsg, EdgeVersion edgeVersion) {
 | 
			
		||||
        boolean created = false;
 | 
			
		||||
        boolean deviceProfileNameUpdated = false;
 | 
			
		||||
        deviceCreationLock.lock();
 | 
			
		||||
        try {
 | 
			
		||||
            DeviceProfile deviceProfile = isEdgeVersionOlderThan_3_6_2
 | 
			
		||||
            DeviceProfile deviceProfile = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)
 | 
			
		||||
                    ? createDeviceProfile(tenantId, deviceProfileId, deviceProfileUpdateMsg)
 | 
			
		||||
                    : JacksonUtil.fromStringIgnoreUnknownProperties(deviceProfileUpdateMsg.getEntity(), DeviceProfile.class);
 | 
			
		||||
            if (deviceProfile == null) {
 | 
			
		||||
@ -75,8 +77,8 @@ public abstract class BaseDeviceProfileProcessor extends BaseEdgeProcessor {
 | 
			
		||||
 | 
			
		||||
            RuleChainId ruleChainId = deviceProfile.getDefaultRuleChainId();
 | 
			
		||||
            setDefaultRuleChainId(tenantId, deviceProfile, created ? null : deviceProfileById.getDefaultRuleChainId());
 | 
			
		||||
            setDefaultEdgeRuleChainId(deviceProfile, ruleChainId, deviceProfileUpdateMsg, isEdgeVersionOlderThan_3_6_2);
 | 
			
		||||
            setDefaultDashboardId(tenantId, created ? null : deviceProfileById.getDefaultDashboardId(), deviceProfile, deviceProfileUpdateMsg, isEdgeVersionOlderThan_3_6_2);
 | 
			
		||||
            setDefaultEdgeRuleChainId(deviceProfile, ruleChainId, deviceProfileUpdateMsg, edgeVersion);
 | 
			
		||||
            setDefaultDashboardId(tenantId, created ? null : deviceProfileById.getDefaultDashboardId(), deviceProfile, deviceProfileUpdateMsg, edgeVersion);
 | 
			
		||||
 | 
			
		||||
            deviceProfileValidator.validate(deviceProfile, DeviceProfile::getTenantId);
 | 
			
		||||
            if (created) {
 | 
			
		||||
@ -127,7 +129,7 @@ public abstract class BaseDeviceProfileProcessor extends BaseEdgeProcessor {
 | 
			
		||||
 | 
			
		||||
    protected abstract void setDefaultRuleChainId(TenantId tenantId, DeviceProfile deviceProfile, RuleChainId ruleChainId);
 | 
			
		||||
 | 
			
		||||
    protected abstract void setDefaultEdgeRuleChainId(DeviceProfile deviceProfile, RuleChainId ruleChainId, DeviceProfileUpdateMsg deviceProfileUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2);
 | 
			
		||||
    protected abstract void setDefaultEdgeRuleChainId(DeviceProfile deviceProfile, RuleChainId ruleChainId, DeviceProfileUpdateMsg deviceProfileUpdateMsg, EdgeVersion edgeVersion);
 | 
			
		||||
 | 
			
		||||
    protected abstract void setDefaultDashboardId(TenantId tenantId, DashboardId dashboardId, DeviceProfile deviceProfile, DeviceProfileUpdateMsg deviceProfileUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2);
 | 
			
		||||
    protected abstract void setDefaultDashboardId(TenantId tenantId, DashboardId dashboardId, DeviceProfile deviceProfile, DeviceProfileUpdateMsg deviceProfileUpdateMsg, EdgeVersion edgeVersion);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -110,8 +110,7 @@ public class DeviceEdgeProcessor extends BaseDeviceProcessor {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void saveOrUpdateDevice(TenantId tenantId, DeviceId deviceId, DeviceUpdateMsg deviceUpdateMsg, Edge edge, EdgeVersion edgeVersion) {
 | 
			
		||||
        Pair<Boolean, Boolean> resultPair = super.saveOrUpdateDevice(tenantId, deviceId, deviceUpdateMsg,
 | 
			
		||||
                EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion));
 | 
			
		||||
        Pair<Boolean, Boolean> resultPair = super.saveOrUpdateDevice(tenantId, deviceId, deviceUpdateMsg, edgeVersion);
 | 
			
		||||
        Boolean created = resultPair.getFirst();
 | 
			
		||||
        if (created) {
 | 
			
		||||
            createRelationFromEdge(tenantId, edge.getId(), deviceId);
 | 
			
		||||
@ -289,8 +288,8 @@ public class DeviceEdgeProcessor extends BaseDeviceProcessor {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected void setCustomerId(TenantId tenantId, CustomerId customerId, Device device, DeviceUpdateMsg deviceUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
 | 
			
		||||
        CustomerId customerUUID = isEdgeVersionOlderThan_3_6_2
 | 
			
		||||
    protected void setCustomerId(TenantId tenantId, CustomerId customerId, Device device, DeviceUpdateMsg deviceUpdateMsg, EdgeVersion edgeVersion) {
 | 
			
		||||
        CustomerId customerUUID = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)
 | 
			
		||||
                ? safeGetCustomerId(deviceUpdateMsg.getCustomerIdMSB(), deviceUpdateMsg.getCustomerIdLSB())
 | 
			
		||||
                : device.getCustomerId() != null ? device.getCustomerId() : customerId;
 | 
			
		||||
        device.setCustomerId(customerUUID);
 | 
			
		||||
 | 
			
		||||
@ -74,8 +74,7 @@ public class DeviceProfileEdgeProcessor extends BaseDeviceProfileProcessor {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void saveOrUpdateDeviceProfile(TenantId tenantId, DeviceProfileId deviceProfileId, DeviceProfileUpdateMsg deviceProfileUpdateMsg, Edge edge, EdgeVersion edgeVersion) {
 | 
			
		||||
        Pair<Boolean, Boolean> resultPair = super.saveOrUpdateDeviceProfile(tenantId, deviceProfileId, deviceProfileUpdateMsg,
 | 
			
		||||
                EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion));
 | 
			
		||||
        Pair<Boolean, Boolean> resultPair = super.saveOrUpdateDeviceProfile(tenantId, deviceProfileId, deviceProfileUpdateMsg, edgeVersion);
 | 
			
		||||
        Boolean created = resultPair.getFirst();
 | 
			
		||||
        if (created) {
 | 
			
		||||
            createRelationFromEdge(tenantId, edge.getId(), deviceProfileId);
 | 
			
		||||
@ -134,16 +133,16 @@ public class DeviceProfileEdgeProcessor extends BaseDeviceProfileProcessor {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected void setDefaultEdgeRuleChainId(DeviceProfile deviceProfile, RuleChainId ruleChainId, DeviceProfileUpdateMsg deviceProfileUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
 | 
			
		||||
        UUID defaultEdgeRuleChainUUID = isEdgeVersionOlderThan_3_6_2
 | 
			
		||||
    protected void setDefaultEdgeRuleChainId(DeviceProfile deviceProfile, RuleChainId ruleChainId, DeviceProfileUpdateMsg deviceProfileUpdateMsg, EdgeVersion edgeVersion) {
 | 
			
		||||
        UUID defaultEdgeRuleChainUUID = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)
 | 
			
		||||
                ? safeGetUUID(deviceProfileUpdateMsg.getDefaultRuleChainIdMSB(), deviceProfileUpdateMsg.getDefaultRuleChainIdLSB())
 | 
			
		||||
                : ruleChainId != null ? ruleChainId.getId() : null;
 | 
			
		||||
        deviceProfile.setDefaultEdgeRuleChainId(defaultEdgeRuleChainUUID != null ? new RuleChainId(defaultEdgeRuleChainUUID) : null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected void setDefaultDashboardId(TenantId tenantId, DashboardId dashboardId, DeviceProfile deviceProfile, DeviceProfileUpdateMsg deviceProfileUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
 | 
			
		||||
        UUID defaultDashboardUUID = isEdgeVersionOlderThan_3_6_2
 | 
			
		||||
    protected void setDefaultDashboardId(TenantId tenantId, DashboardId dashboardId, DeviceProfile deviceProfile, DeviceProfileUpdateMsg deviceProfileUpdateMsg, EdgeVersion edgeVersion) {
 | 
			
		||||
        UUID defaultDashboardUUID = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)
 | 
			
		||||
                ? safeGetUUID(deviceProfileUpdateMsg.getDefaultDashboardIdMSB(), deviceProfileUpdateMsg.getDefaultDashboardIdLSB())
 | 
			
		||||
                : deviceProfile.getDefaultDashboardId() != null ? deviceProfile.getDefaultDashboardId().getId() : (dashboardId != null ? dashboardId.getId() : null);
 | 
			
		||||
        deviceProfile.setDefaultDashboardId(defaultDashboardUUID != null ? new DashboardId(defaultDashboardUUID) : null);
 | 
			
		||||
 | 
			
		||||
@ -27,18 +27,20 @@ import org.thingsboard.server.common.data.id.DeviceId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EntityViewId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.EdgeEntityType;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.EntityViewUpdateMsg;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.processor.BaseEdgeProcessor;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils;
 | 
			
		||||
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
 | 
			
		||||
@Slf4j
 | 
			
		||||
public abstract class BaseEntityViewProcessor extends BaseEdgeProcessor {
 | 
			
		||||
 | 
			
		||||
    protected Pair<Boolean, Boolean> saveOrUpdateEntityView(TenantId tenantId, EntityViewId entityViewId, EntityViewUpdateMsg entityViewUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
 | 
			
		||||
    protected Pair<Boolean, Boolean> saveOrUpdateEntityView(TenantId tenantId, EntityViewId entityViewId, EntityViewUpdateMsg entityViewUpdateMsg, EdgeVersion edgeVersion) {
 | 
			
		||||
        boolean created = false;
 | 
			
		||||
        boolean entityViewNameUpdated = false;
 | 
			
		||||
        EntityView entityView = isEdgeVersionOlderThan_3_6_2
 | 
			
		||||
        EntityView entityView = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)
 | 
			
		||||
                ? createEntityView(tenantId, entityViewId, entityViewUpdateMsg)
 | 
			
		||||
                : JacksonUtil.fromStringIgnoreUnknownProperties(entityViewUpdateMsg.getEntity(), EntityView.class);
 | 
			
		||||
        if (entityView == null) {
 | 
			
		||||
@ -60,7 +62,7 @@ public abstract class BaseEntityViewProcessor extends BaseEdgeProcessor {
 | 
			
		||||
            entityViewNameUpdated = true;
 | 
			
		||||
        }
 | 
			
		||||
        entityView.setName(entityViewName);
 | 
			
		||||
        setCustomerId(tenantId, created ? null : entityViewById.getCustomerId(), entityView, entityViewUpdateMsg, isEdgeVersionOlderThan_3_6_2);
 | 
			
		||||
        setCustomerId(tenantId, created ? null : entityViewById.getCustomerId(), entityView, entityViewUpdateMsg, edgeVersion);
 | 
			
		||||
 | 
			
		||||
        entityViewValidator.validate(entityView, EntityView::getTenantId);
 | 
			
		||||
        if (created) {
 | 
			
		||||
@ -92,5 +94,5 @@ public abstract class BaseEntityViewProcessor extends BaseEdgeProcessor {
 | 
			
		||||
        return entityView;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected abstract void setCustomerId(TenantId tenantId, CustomerId customerId, EntityView entityView, EntityViewUpdateMsg entityViewUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2);
 | 
			
		||||
    protected abstract void setCustomerId(TenantId tenantId, CustomerId customerId, EntityView entityView, EntityViewUpdateMsg entityViewUpdateMsg, EdgeVersion edgeVersion);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -81,8 +81,7 @@ public class EntityViewEdgeProcessor extends BaseEntityViewProcessor {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void saveOrUpdateEntityView(TenantId tenantId, EntityViewId entityViewId, EntityViewUpdateMsg entityViewUpdateMsg, Edge edge, EdgeVersion edgeVersion) {
 | 
			
		||||
        Pair<Boolean, Boolean> resultPair = super.saveOrUpdateEntityView(tenantId, entityViewId, entityViewUpdateMsg,
 | 
			
		||||
                EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion));
 | 
			
		||||
        Pair<Boolean, Boolean> resultPair = super.saveOrUpdateEntityView(tenantId, entityViewId, entityViewUpdateMsg, edgeVersion);
 | 
			
		||||
        Boolean created = resultPair.getFirst();
 | 
			
		||||
        if (created) {
 | 
			
		||||
            createRelationFromEdge(tenantId, edge.getId(), entityViewId);
 | 
			
		||||
@ -140,8 +139,8 @@ public class EntityViewEdgeProcessor extends BaseEntityViewProcessor {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected void setCustomerId(TenantId tenantId, CustomerId customerId, EntityView entityView, EntityViewUpdateMsg entityViewUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
 | 
			
		||||
        CustomerId customerUUID = isEdgeVersionOlderThan_3_6_2
 | 
			
		||||
    protected void setCustomerId(TenantId tenantId, CustomerId customerId, EntityView entityView, EntityViewUpdateMsg entityViewUpdateMsg, EdgeVersion edgeVersion) {
 | 
			
		||||
        CustomerId customerUUID = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)
 | 
			
		||||
                ? safeGetCustomerId(entityViewUpdateMsg.getCustomerIdMSB(), entityViewUpdateMsg.getCustomerIdLSB())
 | 
			
		||||
                : entityView.getCustomerId() != null ? entityView.getCustomerId() : customerId;
 | 
			
		||||
        entityView.setCustomerId(customerUUID);
 | 
			
		||||
 | 
			
		||||
@ -25,18 +25,20 @@ import org.thingsboard.server.common.data.id.EntityIdFactory;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.common.data.relation.EntityRelation;
 | 
			
		||||
import org.thingsboard.server.common.data.relation.RelationTypeGroup;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.RelationUpdateMsg;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.processor.BaseEdgeProcessor;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils;
 | 
			
		||||
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
 | 
			
		||||
@Slf4j
 | 
			
		||||
public abstract class BaseRelationProcessor extends BaseEdgeProcessor {
 | 
			
		||||
 | 
			
		||||
    protected ListenableFuture<Void> processRelationMsg(TenantId tenantId, RelationUpdateMsg relationUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
 | 
			
		||||
    protected ListenableFuture<Void> processRelationMsg(TenantId tenantId, RelationUpdateMsg relationUpdateMsg, EdgeVersion edgeVersion) {
 | 
			
		||||
        log.trace("[{}] processRelationMsg [{}]", tenantId, relationUpdateMsg);
 | 
			
		||||
        try {
 | 
			
		||||
            EntityRelation entityRelation = isEdgeVersionOlderThan_3_6_2
 | 
			
		||||
            EntityRelation entityRelation = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)
 | 
			
		||||
                    ? createEntityRelation(relationUpdateMsg)
 | 
			
		||||
                    : JacksonUtil.fromStringIgnoreUnknownProperties(relationUpdateMsg.getEntity(), EntityRelation.class);
 | 
			
		||||
            if (entityRelation == null) {
 | 
			
		||||
 | 
			
		||||
@ -35,7 +35,6 @@ import org.thingsboard.server.gen.edge.v1.RelationUpdateMsg;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.UpdateMsgType;
 | 
			
		||||
import org.thingsboard.server.gen.transport.TransportProtos;
 | 
			
		||||
import org.thingsboard.server.queue.util.TbCoreComponent;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.HashSet;
 | 
			
		||||
@ -51,7 +50,7 @@ public class RelationEdgeProcessor extends BaseRelationProcessor {
 | 
			
		||||
        log.trace("[{}] executing processRelationMsgFromEdge [{}] from edge [{}]", tenantId, relationUpdateMsg, edge.getId());
 | 
			
		||||
        try {
 | 
			
		||||
            edgeSynchronizationManager.getEdgeId().set(edge.getId());
 | 
			
		||||
            return processRelationMsg(tenantId, relationUpdateMsg, EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion));
 | 
			
		||||
            return processRelationMsg(tenantId, relationUpdateMsg, edgeVersion);
 | 
			
		||||
        } finally {
 | 
			
		||||
            edgeSynchronizationManager.getEdgeId().remove();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -25,16 +25,18 @@ import org.thingsboard.server.common.data.TbResourceInfo;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TbResourceId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.common.data.page.PageDataIterable;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.ResourceUpdateMsg;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.processor.BaseEdgeProcessor;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils;
 | 
			
		||||
 | 
			
		||||
@Slf4j
 | 
			
		||||
public abstract class BaseResourceProcessor extends BaseEdgeProcessor {
 | 
			
		||||
 | 
			
		||||
    protected boolean saveOrUpdateTbResource(TenantId tenantId, TbResourceId tbResourceId, ResourceUpdateMsg resourceUpdateMsg, boolean isEdgeVersionOlderThan_3_6_2) {
 | 
			
		||||
    protected boolean saveOrUpdateTbResource(TenantId tenantId, TbResourceId tbResourceId, ResourceUpdateMsg resourceUpdateMsg, EdgeVersion edgeVersion) {
 | 
			
		||||
        boolean resourceKeyUpdated = false;
 | 
			
		||||
        try {
 | 
			
		||||
            TbResource resource = isEdgeVersionOlderThan_3_6_2
 | 
			
		||||
            TbResource resource = EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)
 | 
			
		||||
                    ? createTbResource(tenantId, resourceUpdateMsg)
 | 
			
		||||
                    : JacksonUtil.fromStringIgnoreUnknownProperties(resourceUpdateMsg.getEntity(), TbResource.class);
 | 
			
		||||
            if (resource == null) {
 | 
			
		||||
 | 
			
		||||
@ -33,7 +33,6 @@ import org.thingsboard.server.gen.edge.v1.EdgeVersion;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.ResourceUpdateMsg;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.UpdateMsgType;
 | 
			
		||||
import org.thingsboard.server.queue.util.TbCoreComponent;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils;
 | 
			
		||||
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
 | 
			
		||||
@ -50,7 +49,7 @@ public class ResourceEdgeProcessor extends BaseResourceProcessor {
 | 
			
		||||
            switch (resourceUpdateMsg.getMsgType()) {
 | 
			
		||||
                case ENTITY_CREATED_RPC_MESSAGE:
 | 
			
		||||
                case ENTITY_UPDATED_RPC_MESSAGE:
 | 
			
		||||
                    boolean resourceKeyUpdated = super.saveOrUpdateTbResource(tenantId, tbResourceId, resourceUpdateMsg, EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion));
 | 
			
		||||
                    boolean resourceKeyUpdated = super.saveOrUpdateTbResource(tenantId, tbResourceId, resourceUpdateMsg, edgeVersion);
 | 
			
		||||
                    if (resourceKeyUpdated) {
 | 
			
		||||
                        saveEdgeEvent(tenantId, edge.getId(), EdgeEventType.TB_RESOURCE, EdgeEventActionType.UPDATED, tbResourceId, null);
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,6 @@
 | 
			
		||||
 */
 | 
			
		||||
package org.thingsboard.server.service.edge.rpc.processor.telemetry;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.JsonProcessingException;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.springframework.stereotype.Component;
 | 
			
		||||
import org.thingsboard.server.common.data.DataConstants;
 | 
			
		||||
@ -37,7 +36,7 @@ public class TelemetryEdgeProcessor extends BaseTelemetryProcessor {
 | 
			
		||||
        return DataConstants.EDGE_MSG_SOURCE;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public DownlinkMsg convertTelemetryEventToDownlink(EdgeEvent edgeEvent) throws JsonProcessingException {
 | 
			
		||||
    public DownlinkMsg convertTelemetryEventToDownlink(EdgeEvent edgeEvent) {
 | 
			
		||||
        if (edgeEvent.getBody() != null) {
 | 
			
		||||
            String bodyStr = edgeEvent.getBody().toString();
 | 
			
		||||
            if (bodyStr.length() > 1000) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user