refactoring: OtaPackageController: saveOtaPackageData, RuleChainController: fix bug test delete
This commit is contained in:
parent
993052bbe3
commit
beaa064a44
@ -182,36 +182,21 @@ public class OtaPackageController extends BaseController {
|
||||
@RequestPart MultipartFile file) throws ThingsboardException {
|
||||
checkParameter(OTA_PACKAGE_ID, strOtaPackageId);
|
||||
checkParameter(CHECKSUM_ALGORITHM, checksumAlgorithmStr);
|
||||
try {
|
||||
OtaPackageId otaPackageId = new OtaPackageId(toUUID(strOtaPackageId));
|
||||
OtaPackageInfo otaPackageInfo = checkOtaPackageInfoId(otaPackageId, Operation.READ);
|
||||
try {
|
||||
|
||||
OtaPackage otaPackage = new OtaPackage(otaPackageId);
|
||||
otaPackage.setCreatedTime(otaPackageInfo.getCreatedTime());
|
||||
otaPackage.setTenantId(getTenantId());
|
||||
otaPackage.setDeviceProfileId(otaPackageInfo.getDeviceProfileId());
|
||||
otaPackage.setType(otaPackageInfo.getType());
|
||||
otaPackage.setTitle(otaPackageInfo.getTitle());
|
||||
otaPackage.setVersion(otaPackageInfo.getVersion());
|
||||
otaPackage.setTag(otaPackageInfo.getTag());
|
||||
otaPackage.setAdditionalInfo(otaPackageInfo.getAdditionalInfo());
|
||||
|
||||
ChecksumAlgorithm checksumAlgorithm = ChecksumAlgorithm.valueOf(checksumAlgorithmStr.toUpperCase());
|
||||
|
||||
byte[] bytes = file.getBytes();
|
||||
byte[] data = file.getBytes();
|
||||
if (StringUtils.isEmpty(checksum)) {
|
||||
checksum = otaPackageService.generateChecksum(checksumAlgorithm, ByteBuffer.wrap(bytes));
|
||||
checksum = otaPackageService.generateChecksum(checksumAlgorithm, ByteBuffer.wrap(data));
|
||||
}
|
||||
|
||||
otaPackage.setChecksumAlgorithm(checksumAlgorithm);
|
||||
otaPackage.setChecksum(checksum);
|
||||
otaPackage.setFileName(file.getOriginalFilename());
|
||||
otaPackage.setContentType(file.getContentType());
|
||||
otaPackage.setData(ByteBuffer.wrap(bytes));
|
||||
otaPackage.setDataSize((long) bytes.length);
|
||||
return tbOtaPackageService.saveOtaPackageData(otaPackageId, otaPackage, getCurrentUser(), null);
|
||||
return tbOtaPackageService.saveOtaPackageData(otaPackageInfo, checksum, checksumAlgorithm,
|
||||
data, file.getOriginalFilename(), file.getContentType(), getCurrentUser(), null);
|
||||
} catch (Exception e) {
|
||||
tbOtaPackageService.saveOtaPackageData(null, null, getCurrentUser(), e);
|
||||
tbOtaPackageService.saveOtaPackageData(otaPackageInfo, null, null,
|
||||
null, null, null, getCurrentUser(), e);
|
||||
throw handleException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@ -43,7 +43,6 @@ import org.thingsboard.server.actors.tenant.DebugTbRateLimits;
|
||||
import org.thingsboard.server.common.data.DataConstants;
|
||||
import org.thingsboard.server.common.data.Event;
|
||||
import org.thingsboard.server.common.data.StringUtils;
|
||||
import org.thingsboard.server.common.data.audit.ActionType;
|
||||
import org.thingsboard.server.common.data.edge.Edge;
|
||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||
import org.thingsboard.server.common.data.id.EdgeId;
|
||||
@ -300,7 +299,6 @@ public class RuleChainController extends BaseController {
|
||||
getCurrentUser());
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "Get Rule Chains (getRuleChains)",
|
||||
notes = "Returns a page of Rule Chains owned by tenant. " + RULE_CHAIN_DESCRIPTION + PAGE_DATA_PARAMETERS + TENANT_AUTHORITY_PARAGRAPH)
|
||||
@PreAuthorize("hasAuthority('TENANT_ADMIN')")
|
||||
@ -538,8 +536,7 @@ public class RuleChainController extends BaseController {
|
||||
RuleChainId ruleChainId = new RuleChainId(toUUID(strRuleChainId));
|
||||
RuleChain ruleChain = checkRuleChain(ruleChainId, Operation.READ);
|
||||
|
||||
return tbRuleChainNotifyService.assignUnassignRuleChainToEdge(getTenantId(), ruleChain, edge,
|
||||
ActionType.ASSIGNED_TO_EDGE, getCurrentUser());
|
||||
return tbRuleChainNotifyService.assignRuleChainToEdge(getTenantId(), ruleChain, edge, getCurrentUser());
|
||||
}
|
||||
|
||||
@ApiOperation(value = "Unassign rule chain from edge (unassignRuleChainFromEdge)",
|
||||
@ -561,8 +558,7 @@ public class RuleChainController extends BaseController {
|
||||
RuleChainId ruleChainId = new RuleChainId(toUUID(strRuleChainId));
|
||||
RuleChain ruleChain = checkRuleChain(ruleChainId, Operation.READ);
|
||||
|
||||
return tbRuleChainNotifyService.assignUnassignRuleChainToEdge(getTenantId(), ruleChain, edge,
|
||||
ActionType.UNASSIGNED_FROM_EDGE, getCurrentUser());
|
||||
return tbRuleChainNotifyService.unassignRuleChainToEdge(getTenantId(), ruleChain, edge, getCurrentUser());
|
||||
}
|
||||
|
||||
@ApiOperation(value = "Get Edge Rule Chains (getEdgeRuleChains)",
|
||||
|
||||
@ -24,13 +24,15 @@ import org.thingsboard.server.common.data.OtaPackageInfo;
|
||||
import org.thingsboard.server.common.data.SaveOtaPackageInfoRequest;
|
||||
import org.thingsboard.server.common.data.audit.ActionType;
|
||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||
import org.thingsboard.server.common.data.id.EntityId;
|
||||
import org.thingsboard.server.common.data.id.OtaPackageId;
|
||||
import org.thingsboard.server.common.data.id.TenantId;
|
||||
import org.thingsboard.server.common.data.ota.ChecksumAlgorithm;
|
||||
import org.thingsboard.server.queue.util.TbCoreComponent;
|
||||
import org.thingsboard.server.service.entitiy.AbstractTbEntityService;
|
||||
import org.thingsboard.server.service.security.model.SecurityUser;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
@Service
|
||||
@TbCoreComponent
|
||||
@AllArgsConstructor
|
||||
@ -65,15 +67,30 @@ public class DefaultTbOtaPackageService extends AbstractTbEntityService implemen
|
||||
ActionType.DELETED, user, e, otaPackageInfo.getId().toString());
|
||||
throw handleException(e);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public OtaPackageInfo saveOtaPackageData(EntityId otaPackageId, OtaPackage otaPackage, SecurityUser user, Exception e) throws ThingsboardException {
|
||||
TenantId tenantId = otaPackage.getTenantId();
|
||||
public OtaPackageInfo saveOtaPackageData(OtaPackageInfo otaPackageInfo, String checksum, ChecksumAlgorithm checksumAlgorithm,
|
||||
byte[] data, String filename, String contentType, SecurityUser user, Exception e) throws ThingsboardException {
|
||||
TenantId tenantId = otaPackageInfo.getTenantId();
|
||||
OtaPackageId otaPackageId = otaPackageInfo.getId();
|
||||
if (e == null) {
|
||||
try {
|
||||
OtaPackage otaPackage = new OtaPackage(otaPackageId);
|
||||
otaPackage.setCreatedTime(otaPackageInfo.getCreatedTime());
|
||||
otaPackage.setTenantId(tenantId);
|
||||
otaPackage.setDeviceProfileId(otaPackageInfo.getDeviceProfileId());
|
||||
otaPackage.setType(otaPackageInfo.getType());
|
||||
otaPackage.setTitle(otaPackageInfo.getTitle());
|
||||
otaPackage.setVersion(otaPackageInfo.getVersion());
|
||||
otaPackage.setTag(otaPackageInfo.getTag());
|
||||
otaPackage.setAdditionalInfo(otaPackageInfo.getAdditionalInfo());
|
||||
otaPackage.setChecksumAlgorithm(checksumAlgorithm);
|
||||
otaPackage.setChecksum(checksum);
|
||||
otaPackage.setFileName(filename);
|
||||
otaPackage.setContentType(contentType);
|
||||
otaPackage.setData(ByteBuffer.wrap(data));
|
||||
otaPackage.setDataSize((long) data.length);
|
||||
OtaPackageInfo savedOtaPackage = otaPackageService.saveOtaPackage(otaPackage);
|
||||
notificationEntityService.notifyEntity(tenantId, savedOtaPackage.getId(), savedOtaPackage, null,
|
||||
ActionType.UPDATED, user, null);
|
||||
@ -89,6 +106,4 @@ public class DefaultTbOtaPackageService extends AbstractTbEntityService implemen
|
||||
throw handleException(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -15,11 +15,10 @@
|
||||
*/
|
||||
package org.thingsboard.server.service.entitiy.otaPackageController;
|
||||
|
||||
import org.thingsboard.server.common.data.OtaPackage;
|
||||
import org.thingsboard.server.common.data.OtaPackageInfo;
|
||||
import org.thingsboard.server.common.data.SaveOtaPackageInfoRequest;
|
||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||
import org.thingsboard.server.common.data.id.EntityId;
|
||||
import org.thingsboard.server.common.data.ota.ChecksumAlgorithm;
|
||||
import org.thingsboard.server.service.security.model.SecurityUser;
|
||||
|
||||
public interface TbOtaPackageService {
|
||||
@ -28,5 +27,6 @@ public interface TbOtaPackageService {
|
||||
|
||||
void delete(OtaPackageInfo otaPackageInfo, SecurityUser user) throws ThingsboardException;
|
||||
|
||||
OtaPackageInfo saveOtaPackageData(EntityId otaPackageId, OtaPackage otaPackage, SecurityUser user, Exception e) throws ThingsboardException;
|
||||
OtaPackageInfo saveOtaPackageData(OtaPackageInfo otaPackageInfo, String checksum, ChecksumAlgorithm checksumAlgorithm,
|
||||
byte[] data, String filename, String contentType, SecurityUser securityUser, Exception e) throws ThingsboardException;
|
||||
}
|
||||
|
||||
@ -202,18 +202,35 @@ public class DefaultTbRuleChainNotifyService extends AbstractTbEntityService imp
|
||||
}
|
||||
|
||||
@Override
|
||||
public RuleChain assignUnassignRuleChainToEdge(TenantId tenantId, RuleChain ruleChain, Edge edge, ActionType actionType, SecurityUser user) throws ThingsboardException {
|
||||
public RuleChain assignRuleChainToEdge(TenantId tenantId, RuleChain ruleChain, Edge edge, SecurityUser user) throws ThingsboardException {
|
||||
RuleChainId ruleChainId = ruleChain.getId();
|
||||
try {
|
||||
RuleChain savedRuleChain = checkNotNull(ruleChainService.assignRuleChainToEdge(tenantId, ruleChainId, edge.getId()));
|
||||
notificationEntityService.notifyAssignOrUnassignEntityToEdge(tenantId, ruleChainId,
|
||||
null, edge.getId(),
|
||||
savedRuleChain, actionType,
|
||||
savedRuleChain, ActionType.ASSIGNED_TO_EDGE,
|
||||
user, ruleChainId.toString(), edge.getId().toString(), edge.getName());
|
||||
return savedRuleChain;
|
||||
} catch (Exception e) {
|
||||
notificationEntityService.notifyCreateOrUpdateOrDelete(tenantId, null, emptyId(EntityType.RULE_CHAIN),
|
||||
null, user, actionType, false, e, ruleChainId.toString(), edge.getId().toString());
|
||||
null, user, ActionType.ASSIGNED_TO_EDGE, false, e, ruleChainId.toString(), edge.getId().toString());
|
||||
throw handleException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public RuleChain unassignRuleChainToEdge(TenantId tenantId, RuleChain ruleChain, Edge edge, SecurityUser user) throws ThingsboardException {
|
||||
RuleChainId ruleChainId = ruleChain.getId();
|
||||
try {
|
||||
RuleChain savedRuleChain = checkNotNull(ruleChainService.unassignRuleChainFromEdge(tenantId, ruleChainId, edge.getId(), false));
|
||||
notificationEntityService.notifyAssignOrUnassignEntityToEdge(tenantId, ruleChainId,
|
||||
null, edge.getId(),
|
||||
savedRuleChain, ActionType.UNASSIGNED_FROM_EDGE,
|
||||
user, ruleChainId.toString(), edge.getId().toString(), edge.getName());
|
||||
return savedRuleChain;
|
||||
} catch (Exception e) {
|
||||
notificationEntityService.notifyCreateOrUpdateOrDelete(tenantId, null, emptyId(EntityType.RULE_CHAIN),
|
||||
null, user, ActionType.UNASSIGNED_FROM_EDGE, false, e, ruleChainId.toString(), edge.getId().toString());
|
||||
throw handleException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,7 +15,6 @@
|
||||
*/
|
||||
package org.thingsboard.server.service.entitiy.ruleChain;
|
||||
|
||||
import org.thingsboard.server.common.data.audit.ActionType;
|
||||
import org.thingsboard.server.common.data.edge.Edge;
|
||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||
import org.thingsboard.server.common.data.id.TenantId;
|
||||
@ -34,7 +33,9 @@ public interface TbRuleChainNotifyService extends SimpleTbEntityService<RuleChai
|
||||
RuleChainMetaData saveRuleChainMetaData(TenantId tenantId, RuleChain ruleChain, RuleChainMetaData ruleChainMetaData,
|
||||
boolean updateRelated, SecurityUser user) throws ThingsboardException;
|
||||
|
||||
RuleChain assignUnassignRuleChainToEdge(TenantId tenantId, RuleChain ruleChain, Edge edge, ActionType actionType,
|
||||
RuleChain assignRuleChainToEdge(TenantId tenantId, RuleChain ruleChain, Edge edge,
|
||||
SecurityUser user) throws ThingsboardException;
|
||||
RuleChain unassignRuleChainToEdge(TenantId tenantId, RuleChain ruleChain, Edge edge,
|
||||
SecurityUser user) throws ThingsboardException;
|
||||
|
||||
RuleChain setEdgeTemplateRootRuleChain(TenantId tenantId, RuleChain ruleChain, SecurityUser user) throws ThingsboardException;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user