Fix Ota Package Ids
This commit is contained in:
parent
c0e84e2242
commit
ad20b5d866
@ -44,7 +44,7 @@ public class AssetImportService extends BaseEntityImportService<AssetId, Asset,
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Asset prepareAndSave(EntitiesImportCtx ctx, Asset asset, EntityExportData<Asset> exportData, IdProvider idProvider) {
|
||||
protected Asset prepareAndSave(EntitiesImportCtx ctx, Asset asset, Asset old, EntityExportData<Asset> exportData, IdProvider idProvider) {
|
||||
return assetService.saveAsset(asset);
|
||||
}
|
||||
|
||||
|
||||
@ -64,6 +64,7 @@ import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@ -104,7 +105,7 @@ public abstract class BaseEntityImportService<I extends EntityId, E extends Expo
|
||||
}
|
||||
|
||||
// sw.startNew("prepareAndSave");
|
||||
E savedEntity = prepareAndSave(ctx, entity, exportData, idProvider);
|
||||
E savedEntity = prepareAndSave(ctx, entity, existingEntity, exportData, idProvider);
|
||||
|
||||
importResult.setSavedEntity(savedEntity);
|
||||
importResult.setOldEntity(existingEntity);
|
||||
@ -129,7 +130,7 @@ public abstract class BaseEntityImportService<I extends EntityId, E extends Expo
|
||||
|
||||
protected abstract void setOwner(TenantId tenantId, E entity, IdProvider idProvider);
|
||||
|
||||
protected abstract E prepareAndSave(EntitiesImportCtx ctx, E entity, D exportData, IdProvider idProvider);
|
||||
protected abstract E prepareAndSave(EntitiesImportCtx ctx, E entity, E oldEntity, D exportData, IdProvider idProvider);
|
||||
|
||||
|
||||
protected void processAfterSaved(EntitiesImportCtx ctx, EntityImportResult<E> importResult, D exportData, IdProvider idProvider) throws ThingsboardException {
|
||||
@ -346,4 +347,8 @@ public abstract class BaseEntityImportService<I extends EntityId, E extends Expo
|
||||
|
||||
}
|
||||
|
||||
protected <T extends EntityId, O> T getOldEntityField(O oldEntity, Function<O,T> getter){
|
||||
return oldEntity == null ? null : getter.apply(oldEntity);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -19,6 +19,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.thingsboard.server.common.data.Customer;
|
||||
import org.thingsboard.server.common.data.EntityType;
|
||||
import org.thingsboard.server.common.data.asset.Asset;
|
||||
import org.thingsboard.server.common.data.edge.EdgeEventActionType;
|
||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||
import org.thingsboard.server.common.data.id.CustomerId;
|
||||
@ -45,7 +46,7 @@ public class CustomerImportService extends BaseEntityImportService<CustomerId, C
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Customer prepareAndSave(EntitiesImportCtx ctx, Customer customer, EntityExportData<Customer> exportData, IdProvider idProvider) {
|
||||
protected Customer prepareAndSave(EntitiesImportCtx ctx, Customer customer, Customer old, EntityExportData<Customer> exportData, IdProvider idProvider) {
|
||||
if (!customer.isPublic()) {
|
||||
return customerService.saveCustomer(customer);
|
||||
} else {
|
||||
|
||||
@ -24,6 +24,7 @@ import org.thingsboard.common.util.JacksonUtil;
|
||||
import org.thingsboard.server.common.data.Dashboard;
|
||||
import org.thingsboard.server.common.data.EntityType;
|
||||
import org.thingsboard.server.common.data.ShortCustomerInfo;
|
||||
import org.thingsboard.server.common.data.asset.Asset;
|
||||
import org.thingsboard.server.common.data.edge.EdgeEventActionType;
|
||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||
import org.thingsboard.server.common.data.id.CustomerId;
|
||||
@ -71,7 +72,7 @@ public class DashboardImportService extends BaseEntityImportService<DashboardId,
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Dashboard prepareAndSave(EntitiesImportCtx ctx, Dashboard dashboard, EntityExportData<Dashboard> exportData, IdProvider idProvider) {
|
||||
protected Dashboard prepareAndSave(EntitiesImportCtx ctx, Dashboard dashboard, Dashboard old, EntityExportData<Dashboard> exportData, IdProvider idProvider) {
|
||||
var tenantId = ctx.getTenantId();
|
||||
JsonNode configuration = dashboard.getConfiguration();
|
||||
JsonNode entityAliases = configuration.get("entityAliases");
|
||||
|
||||
@ -19,6 +19,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.thingsboard.server.common.data.Device;
|
||||
import org.thingsboard.server.common.data.EntityType;
|
||||
import org.thingsboard.server.common.data.asset.Asset;
|
||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||
import org.thingsboard.server.common.data.id.DeviceId;
|
||||
import org.thingsboard.server.common.data.id.TenantId;
|
||||
@ -43,10 +44,10 @@ public class DeviceImportService extends BaseEntityImportService<DeviceId, Devic
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Device prepareAndSave(EntitiesImportCtx ctx, Device device, DeviceExportData exportData, IdProvider idProvider) {
|
||||
protected Device prepareAndSave(EntitiesImportCtx ctx, Device device, Device old, DeviceExportData exportData, IdProvider idProvider) {
|
||||
device.setDeviceProfileId(idProvider.getInternalId(device.getDeviceProfileId()));
|
||||
device.setFirmwareId(idProvider.getInternalId(device.getFirmwareId()));
|
||||
device.setSoftwareId(idProvider.getInternalId(device.getSoftwareId()));
|
||||
device.setFirmwareId(getOldEntityField(old, Device::getFirmwareId));
|
||||
device.setSoftwareId(getOldEntityField(old, Device::getSoftwareId));
|
||||
if (exportData.getCredentials() != null && ctx.isSaveCredentials()) {
|
||||
exportData.getCredentials().setId(null);
|
||||
exportData.getCredentials().setDeviceId(null);
|
||||
|
||||
@ -19,9 +19,11 @@ import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.thingsboard.server.common.data.DeviceProfile;
|
||||
import org.thingsboard.server.common.data.EntityType;
|
||||
import org.thingsboard.server.common.data.asset.Asset;
|
||||
import org.thingsboard.server.common.data.edge.EdgeEventActionType;
|
||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||
import org.thingsboard.server.common.data.id.DeviceProfileId;
|
||||
import org.thingsboard.server.common.data.id.EntityId;
|
||||
import org.thingsboard.server.common.data.id.TenantId;
|
||||
import org.thingsboard.server.common.data.plugin.ComponentLifecycleEvent;
|
||||
import org.thingsboard.server.common.data.sync.ie.EntityImportSettings;
|
||||
@ -33,6 +35,7 @@ import org.thingsboard.server.common.data.sync.ie.EntityExportData;
|
||||
import org.thingsboard.server.service.sync.vc.data.EntitiesImportCtx;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
|
||||
@Service
|
||||
@TbCoreComponent
|
||||
@ -48,11 +51,11 @@ public class DeviceProfileImportService extends BaseEntityImportService<DevicePr
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DeviceProfile prepareAndSave(EntitiesImportCtx ctx, DeviceProfile deviceProfile, EntityExportData<DeviceProfile> exportData, IdProvider idProvider) {
|
||||
protected DeviceProfile prepareAndSave(EntitiesImportCtx ctx, DeviceProfile deviceProfile, DeviceProfile old, EntityExportData<DeviceProfile> exportData, IdProvider idProvider) {
|
||||
deviceProfile.setDefaultRuleChainId(idProvider.getInternalId(deviceProfile.getDefaultRuleChainId()));
|
||||
deviceProfile.setDefaultDashboardId(idProvider.getInternalId(deviceProfile.getDefaultDashboardId()));
|
||||
deviceProfile.setFirmwareId(idProvider.getInternalId(deviceProfile.getFirmwareId()));
|
||||
deviceProfile.setSoftwareId(idProvider.getInternalId(deviceProfile.getSoftwareId()));
|
||||
deviceProfile.setFirmwareId(getOldEntityField(old, DeviceProfile::getFirmwareId));
|
||||
deviceProfile.setSoftwareId(getOldEntityField(old, DeviceProfile::getSoftwareId));
|
||||
return deviceProfileService.saveDeviceProfile(deviceProfile);
|
||||
}
|
||||
|
||||
|
||||
@ -21,6 +21,7 @@ import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.thingsboard.server.common.data.EntityType;
|
||||
import org.thingsboard.server.common.data.EntityView;
|
||||
import org.thingsboard.server.common.data.asset.Asset;
|
||||
import org.thingsboard.server.common.data.audit.ActionType;
|
||||
import org.thingsboard.server.common.data.edge.EdgeEventActionType;
|
||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||
@ -51,7 +52,7 @@ public class EntityViewImportService extends BaseEntityImportService<EntityViewI
|
||||
}
|
||||
|
||||
@Override
|
||||
protected EntityView prepareAndSave(EntitiesImportCtx ctx, EntityView entityView, EntityExportData<EntityView> exportData, IdProvider idProvider) {
|
||||
protected EntityView prepareAndSave(EntitiesImportCtx ctx, EntityView entityView, EntityView old, EntityExportData<EntityView> exportData, IdProvider idProvider) {
|
||||
entityView.setEntityId(idProvider.getInternalId(entityView.getEntityId()));
|
||||
return entityViewService.saveEntityView(entityView);
|
||||
}
|
||||
|
||||
@ -17,9 +17,12 @@ package org.thingsboard.server.service.sync.ie.importing.impl;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.thingsboard.common.util.JacksonUtil;
|
||||
import org.thingsboard.common.util.TbStopWatch;
|
||||
import org.thingsboard.server.common.data.EntityType;
|
||||
import org.thingsboard.server.common.data.asset.Asset;
|
||||
import org.thingsboard.server.common.data.edge.EdgeEventActionType;
|
||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||
import org.thingsboard.server.common.data.id.RuleChainId;
|
||||
@ -41,6 +44,7 @@ import java.util.LinkedHashSet;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@TbCoreComponent
|
||||
@RequiredArgsConstructor
|
||||
@ -65,7 +69,8 @@ public class RuleChainImportService extends BaseEntityImportService<RuleChainId,
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RuleChain prepareAndSave(EntitiesImportCtx ctx, RuleChain ruleChain, RuleChainExportData exportData, IdProvider idProvider) {
|
||||
protected RuleChain prepareAndSave(EntitiesImportCtx ctx, RuleChain ruleChain, RuleChain old, RuleChainExportData exportData, IdProvider idProvider) {
|
||||
TbStopWatch sw = TbStopWatch.create("prepare");
|
||||
RuleChainMetaData metaData = exportData.getMetaData();
|
||||
Optional.ofNullable(metaData.getNodes()).orElse(Collections.emptyList())
|
||||
.forEach(ruleNode -> {
|
||||
@ -87,10 +92,19 @@ public class RuleChainImportService extends BaseEntityImportService<RuleChainId,
|
||||
});
|
||||
ruleChain.setFirstRuleNodeId(null);
|
||||
|
||||
sw.startNew("save");
|
||||
ruleChain = ruleChainService.saveRuleChain(ruleChain);
|
||||
exportData.getMetaData().setRuleChainId(ruleChain.getId());
|
||||
sw.startNew("save metadata");
|
||||
ruleChainService.saveRuleChainMetaData(ctx.getTenantId(), exportData.getMetaData());
|
||||
return ruleChainService.findRuleChainById(ctx.getTenantId(), ruleChain.getId());
|
||||
sw.startNew("find");
|
||||
var result = ruleChainService.findRuleChainById(ctx.getTenantId(), ruleChain.getId());
|
||||
sw.stop();
|
||||
for (var task : sw.getTaskInfo()) {
|
||||
log.info("[{}] Executed: {} in {}ms", ctx.getTenantId(), task.getTaskName(), task.getTimeMillis());
|
||||
}
|
||||
log.info("[{}] Total time: {}ms", ctx.getTenantId(), sw.getTotalTimeMillis());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -18,6 +18,7 @@ package org.thingsboard.server.service.sync.ie.importing.impl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.thingsboard.server.common.data.EntityType;
|
||||
import org.thingsboard.server.common.data.asset.Asset;
|
||||
import org.thingsboard.server.common.data.edge.EdgeEventActionType;
|
||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||
import org.thingsboard.server.common.data.id.TenantId;
|
||||
@ -51,7 +52,7 @@ public class WidgetsBundleImportService extends BaseEntityImportService<WidgetsB
|
||||
}
|
||||
|
||||
@Override
|
||||
protected WidgetsBundle prepareAndSave(EntitiesImportCtx ctx, WidgetsBundle widgetsBundle, WidgetsBundleExportData exportData, IdProvider idProvider) {
|
||||
protected WidgetsBundle prepareAndSave(EntitiesImportCtx ctx, WidgetsBundle widgetsBundle, WidgetsBundle old, WidgetsBundleExportData exportData, IdProvider idProvider) {
|
||||
WidgetsBundle savedWidgetsBundle = widgetsBundleService.saveWidgetsBundle(widgetsBundle);
|
||||
if (widgetsBundle.getId() == null) {
|
||||
for (WidgetTypeDetails widget : exportData.getWidgets()) {
|
||||
|
||||
@ -26,6 +26,9 @@
|
||||
</appender>
|
||||
|
||||
<logger name="org.thingsboard.server" level="INFO" />
|
||||
<logger name="org.springframework.jdbc.core" level="TRACE" />
|
||||
<logger name="org.hibernate.SQL" level="DEBUG" />
|
||||
<logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" />
|
||||
|
||||
<!-- <logger name="org.thingsboard.server.service.queue" level="TRACE" />-->
|
||||
<!-- <logger name="org.thingsboard.server.service.transport" level="TRACE" />-->
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user