Process images for system dashboard resource
This commit is contained in:
parent
1199490654
commit
ee0e2a6802
@ -17,15 +17,19 @@ package org.thingsboard.server.dao.resource;
|
|||||||
|
|
||||||
import com.google.common.hash.Hashing;
|
import com.google.common.hash.Hashing;
|
||||||
import com.google.common.util.concurrent.ListenableFuture;
|
import com.google.common.util.concurrent.ListenableFuture;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.hibernate.exception.ConstraintViolationException;
|
import org.hibernate.exception.ConstraintViolationException;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.context.annotation.Primary;
|
import org.springframework.context.annotation.Primary;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.event.TransactionalEventListener;
|
import org.springframework.transaction.event.TransactionalEventListener;
|
||||||
|
import org.thingsboard.common.util.JacksonUtil;
|
||||||
import org.thingsboard.common.util.RegexUtils;
|
import org.thingsboard.common.util.RegexUtils;
|
||||||
import org.thingsboard.server.cache.resourceInfo.ResourceInfoCacheKey;
|
import org.thingsboard.server.cache.resourceInfo.ResourceInfoCacheKey;
|
||||||
import org.thingsboard.server.cache.resourceInfo.ResourceInfoEvictEvent;
|
import org.thingsboard.server.cache.resourceInfo.ResourceInfoEvictEvent;
|
||||||
|
import org.thingsboard.server.common.data.Dashboard;
|
||||||
import org.thingsboard.server.common.data.EntityType;
|
import org.thingsboard.server.common.data.EntityType;
|
||||||
import org.thingsboard.server.common.data.ResourceType;
|
import org.thingsboard.server.common.data.ResourceType;
|
||||||
import org.thingsboard.server.common.data.TbResource;
|
import org.thingsboard.server.common.data.TbResource;
|
||||||
@ -54,7 +58,7 @@ import static org.thingsboard.server.dao.service.Validator.validateId;
|
|||||||
|
|
||||||
@Service("TbResourceDaoService")
|
@Service("TbResourceDaoService")
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@AllArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Primary
|
@Primary
|
||||||
public class BaseResourceService extends AbstractCachedEntityService<ResourceInfoCacheKey, TbResourceInfo, ResourceInfoEvictEvent> implements ResourceService {
|
public class BaseResourceService extends AbstractCachedEntityService<ResourceInfoCacheKey, TbResourceInfo, ResourceInfoEvictEvent> implements ResourceService {
|
||||||
|
|
||||||
@ -62,6 +66,8 @@ public class BaseResourceService extends AbstractCachedEntityService<ResourceInf
|
|||||||
protected final TbResourceDao resourceDao;
|
protected final TbResourceDao resourceDao;
|
||||||
protected final TbResourceInfoDao resourceInfoDao;
|
protected final TbResourceInfoDao resourceInfoDao;
|
||||||
protected final ResourceDataValidator resourceValidator;
|
protected final ResourceDataValidator resourceValidator;
|
||||||
|
@Autowired @Lazy
|
||||||
|
private ImageService imageService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TbResource saveResource(TbResource resource, boolean doValidate) {
|
public TbResource saveResource(TbResource resource, boolean doValidate) {
|
||||||
@ -243,6 +249,11 @@ public class BaseResourceService extends AbstractCachedEntityService<ResourceInf
|
|||||||
public TbResource createOrUpdateSystemResource(ResourceType resourceType, String resourceKey, String data) {
|
public TbResource createOrUpdateSystemResource(ResourceType resourceType, String resourceKey, String data) {
|
||||||
if (resourceType == ResourceType.DASHBOARD) {
|
if (resourceType == ResourceType.DASHBOARD) {
|
||||||
data = checkSystemResourcesUsage(data, ResourceType.JS_MODULE);
|
data = checkSystemResourcesUsage(data, ResourceType.JS_MODULE);
|
||||||
|
|
||||||
|
Dashboard dashboard = JacksonUtil.fromString(data, Dashboard.class);
|
||||||
|
dashboard.setTenantId(TenantId.SYS_TENANT_ID);
|
||||||
|
imageService.replaceBase64WithImageUrl(dashboard);
|
||||||
|
data = JacksonUtil.toString(dashboard);
|
||||||
}
|
}
|
||||||
|
|
||||||
TbResource resource = findResourceByTenantIdAndKey(TenantId.SYS_TENANT_ID, resourceType, resourceKey);
|
TbResource resource = findResourceByTenantIdAndKey(TenantId.SYS_TENANT_ID, resourceType, resourceKey);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user