From 19941d9fd1ff27f87ddb976bb545b882165d1431 Mon Sep 17 00:00:00 2001 From: ViacheslavKlimov Date: Thu, 7 Nov 2024 13:08:38 +0200 Subject: [PATCH] Minor refactoring for resources import --- .../install/update/DefaultDataUpdateService.java | 15 --------------- .../service/resource/DefaultTbImageService.java | 8 +++----- .../resource/DefaultTbResourceService.java | 11 ++--------- 3 files changed, 5 insertions(+), 29 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/service/install/update/DefaultDataUpdateService.java b/application/src/main/java/org/thingsboard/server/service/install/update/DefaultDataUpdateService.java index 14aa5d0c62..6636de3ff1 100644 --- a/application/src/main/java/org/thingsboard/server/service/install/update/DefaultDataUpdateService.java +++ b/application/src/main/java/org/thingsboard/server/service/install/update/DefaultDataUpdateService.java @@ -35,15 +35,11 @@ import org.thingsboard.server.common.data.query.DynamicValue; import org.thingsboard.server.common.data.query.FilterPredicateValue; import org.thingsboard.server.dao.customer.CustomerDao; import org.thingsboard.server.dao.customer.CustomerService; -import org.thingsboard.server.dao.dashboard.DashboardService; import org.thingsboard.server.dao.device.DeviceConnectivityConfiguration; -import org.thingsboard.server.dao.resource.ImageService; -import org.thingsboard.server.dao.resource.ResourceService; import org.thingsboard.server.dao.rule.RuleChainService; import org.thingsboard.server.dao.settings.AdminSettingsService; import org.thingsboard.server.dao.sql.JpaExecutorService; import org.thingsboard.server.dao.tenant.TenantProfileService; -import org.thingsboard.server.dao.widget.WidgetTypeService; import org.thingsboard.server.service.component.ComponentDiscoveryService; import org.thingsboard.server.service.component.RuleNodeClassInfo; import org.thingsboard.server.utils.TbNodeUpgradeUtils; @@ -85,17 +81,6 @@ public class DefaultDataUpdateService implements DataUpdateService { @Autowired private TenantProfileService tenantProfileService; - @Autowired - private ResourceService resourceService; - @Autowired - private ImageService imageService; - - @Autowired - private DashboardService dashboardService; - - @Autowired - private WidgetTypeService widgetTypeService; - @Override public void updateData(String fromVersion) throws Exception { switch (fromVersion) { diff --git a/application/src/main/java/org/thingsboard/server/service/resource/DefaultTbImageService.java b/application/src/main/java/org/thingsboard/server/service/resource/DefaultTbImageService.java index 8825bc3207..63fe2108f3 100644 --- a/application/src/main/java/org/thingsboard/server/service/resource/DefaultTbImageService.java +++ b/application/src/main/java/org/thingsboard/server/service/resource/DefaultTbImageService.java @@ -185,14 +185,12 @@ public class DefaultTbImageService extends AbstractTbEntityService implements Tb @Override public TbResourceInfo importImage(ResourceExportData imageData, boolean checkExisting, SecurityUser user) throws Exception { - TbResource image = new TbResource(); - image.setTenantId(user.getTenantId()); - accessControlService.checkPermission(user, Resource.TB_RESOURCE, Operation.CREATE, null, image); - - image = imageService.toImage(user.getTenantId(), imageData, checkExisting); + TbResource image = imageService.toImage(user.getTenantId(), imageData, checkExisting); if (checkExisting && image.getId() != null) { accessControlService.checkPermission(user, Resource.TB_RESOURCE, Operation.READ, image.getId(), image); return image; + } else { + accessControlService.checkPermission(user, Resource.TB_RESOURCE, Operation.CREATE, null, image); } return save(image, user); } diff --git a/application/src/main/java/org/thingsboard/server/service/resource/DefaultTbResourceService.java b/application/src/main/java/org/thingsboard/server/service/resource/DefaultTbResourceService.java index 9708b46cef..90ad3e38dd 100644 --- a/application/src/main/java/org/thingsboard/server/service/resource/DefaultTbResourceService.java +++ b/application/src/main/java/org/thingsboard/server/service/resource/DefaultTbResourceService.java @@ -143,10 +143,6 @@ public class DefaultTbResourceService extends AbstractTbEntityService implements @Override public void importResources(List resources, SecurityUser user) throws Exception { for (ResourceExportData resourceData : resources) { - TbResource resource = new TbResource(); - resource.setTenantId(user.getTenantId()); - accessControlService.checkPermission(user, Resource.TB_RESOURCE, Operation.CREATE, null, resource); - TbResourceInfo resourceInfo; if (resourceData.getType() == ResourceType.IMAGE) { resourceInfo = tbImageService.importImage(resourceData, true, user); @@ -172,12 +168,9 @@ public class DefaultTbResourceService extends AbstractTbEntityService implements } private TbResourceInfo importResource(ResourceExportData resourceData, SecurityUser user) throws ThingsboardException { - TbResource resource = new TbResource(); - resource.setTenantId(user.getTenantId()); - accessControlService.checkPermission(user, Resource.TB_RESOURCE, Operation.CREATE, null, resource); - - resource = resourceService.toResource(user.getTenantId(), resourceData); + TbResource resource = resourceService.toResource(user.getTenantId(), resourceData); if (resource.getData() != null) { + accessControlService.checkPermission(user, Resource.TB_RESOURCE, Operation.CREATE, null, resource); return save(resource, user); } else { accessControlService.checkPermission(user, Resource.TB_RESOURCE, Operation.READ, resource.getId(), resource);