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 {
|
@RequestPart MultipartFile file) throws ThingsboardException {
|
||||||
checkParameter(OTA_PACKAGE_ID, strOtaPackageId);
|
checkParameter(OTA_PACKAGE_ID, strOtaPackageId);
|
||||||
checkParameter(CHECKSUM_ALGORITHM, checksumAlgorithmStr);
|
checkParameter(CHECKSUM_ALGORITHM, checksumAlgorithmStr);
|
||||||
|
OtaPackageId otaPackageId = new OtaPackageId(toUUID(strOtaPackageId));
|
||||||
|
OtaPackageInfo otaPackageInfo = checkOtaPackageInfoId(otaPackageId, Operation.READ);
|
||||||
try {
|
try {
|
||||||
OtaPackageId otaPackageId = new OtaPackageId(toUUID(strOtaPackageId));
|
|
||||||
OtaPackageInfo otaPackageInfo = checkOtaPackageInfoId(otaPackageId, Operation.READ);
|
|
||||||
|
|
||||||
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());
|
ChecksumAlgorithm checksumAlgorithm = ChecksumAlgorithm.valueOf(checksumAlgorithmStr.toUpperCase());
|
||||||
|
byte[] data = file.getBytes();
|
||||||
byte[] bytes = file.getBytes();
|
|
||||||
if (StringUtils.isEmpty(checksum)) {
|
if (StringUtils.isEmpty(checksum)) {
|
||||||
checksum = otaPackageService.generateChecksum(checksumAlgorithm, ByteBuffer.wrap(bytes));
|
checksum = otaPackageService.generateChecksum(checksumAlgorithm, ByteBuffer.wrap(data));
|
||||||
}
|
}
|
||||||
|
return tbOtaPackageService.saveOtaPackageData(otaPackageInfo, checksum, checksumAlgorithm,
|
||||||
otaPackage.setChecksumAlgorithm(checksumAlgorithm);
|
data, file.getOriginalFilename(), file.getContentType(), getCurrentUser(), null);
|
||||||
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);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
tbOtaPackageService.saveOtaPackageData(null, null, getCurrentUser(), e);
|
tbOtaPackageService.saveOtaPackageData(otaPackageInfo, null, null,
|
||||||
|
null, null, null, getCurrentUser(), e);
|
||||||
throw handleException(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.DataConstants;
|
||||||
import org.thingsboard.server.common.data.Event;
|
import org.thingsboard.server.common.data.Event;
|
||||||
import org.thingsboard.server.common.data.StringUtils;
|
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.edge.Edge;
|
||||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||||
import org.thingsboard.server.common.data.id.EdgeId;
|
import org.thingsboard.server.common.data.id.EdgeId;
|
||||||
@ -300,7 +299,6 @@ public class RuleChainController extends BaseController {
|
|||||||
getCurrentUser());
|
getCurrentUser());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Get Rule Chains (getRuleChains)",
|
@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)
|
notes = "Returns a page of Rule Chains owned by tenant. " + RULE_CHAIN_DESCRIPTION + PAGE_DATA_PARAMETERS + TENANT_AUTHORITY_PARAGRAPH)
|
||||||
@PreAuthorize("hasAuthority('TENANT_ADMIN')")
|
@PreAuthorize("hasAuthority('TENANT_ADMIN')")
|
||||||
@ -538,8 +536,7 @@ public class RuleChainController extends BaseController {
|
|||||||
RuleChainId ruleChainId = new RuleChainId(toUUID(strRuleChainId));
|
RuleChainId ruleChainId = new RuleChainId(toUUID(strRuleChainId));
|
||||||
RuleChain ruleChain = checkRuleChain(ruleChainId, Operation.READ);
|
RuleChain ruleChain = checkRuleChain(ruleChainId, Operation.READ);
|
||||||
|
|
||||||
return tbRuleChainNotifyService.assignUnassignRuleChainToEdge(getTenantId(), ruleChain, edge,
|
return tbRuleChainNotifyService.assignRuleChainToEdge(getTenantId(), ruleChain, edge, getCurrentUser());
|
||||||
ActionType.ASSIGNED_TO_EDGE, getCurrentUser());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "Unassign rule chain from edge (unassignRuleChainFromEdge)",
|
@ApiOperation(value = "Unassign rule chain from edge (unassignRuleChainFromEdge)",
|
||||||
@ -561,8 +558,7 @@ public class RuleChainController extends BaseController {
|
|||||||
RuleChainId ruleChainId = new RuleChainId(toUUID(strRuleChainId));
|
RuleChainId ruleChainId = new RuleChainId(toUUID(strRuleChainId));
|
||||||
RuleChain ruleChain = checkRuleChain(ruleChainId, Operation.READ);
|
RuleChain ruleChain = checkRuleChain(ruleChainId, Operation.READ);
|
||||||
|
|
||||||
return tbRuleChainNotifyService.assignUnassignRuleChainToEdge(getTenantId(), ruleChain, edge,
|
return tbRuleChainNotifyService.unassignRuleChainToEdge(getTenantId(), ruleChain, edge, getCurrentUser());
|
||||||
ActionType.UNASSIGNED_FROM_EDGE, getCurrentUser());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "Get Edge Rule Chains (getEdgeRuleChains)",
|
@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.SaveOtaPackageInfoRequest;
|
||||||
import org.thingsboard.server.common.data.audit.ActionType;
|
import org.thingsboard.server.common.data.audit.ActionType;
|
||||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
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.OtaPackageId;
|
||||||
import org.thingsboard.server.common.data.id.TenantId;
|
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.queue.util.TbCoreComponent;
|
||||||
import org.thingsboard.server.service.entitiy.AbstractTbEntityService;
|
import org.thingsboard.server.service.entitiy.AbstractTbEntityService;
|
||||||
import org.thingsboard.server.service.security.model.SecurityUser;
|
import org.thingsboard.server.service.security.model.SecurityUser;
|
||||||
|
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@TbCoreComponent
|
@TbCoreComponent
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@ -65,15 +67,30 @@ public class DefaultTbOtaPackageService extends AbstractTbEntityService implemen
|
|||||||
ActionType.DELETED, user, e, otaPackageInfo.getId().toString());
|
ActionType.DELETED, user, e, otaPackageInfo.getId().toString());
|
||||||
throw handleException(e);
|
throw handleException(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public OtaPackageInfo saveOtaPackageData(EntityId otaPackageId, OtaPackage otaPackage, SecurityUser user, Exception e) throws ThingsboardException {
|
public OtaPackageInfo saveOtaPackageData(OtaPackageInfo otaPackageInfo, String checksum, ChecksumAlgorithm checksumAlgorithm,
|
||||||
TenantId tenantId = otaPackage.getTenantId();
|
byte[] data, String filename, String contentType, SecurityUser user, Exception e) throws ThingsboardException {
|
||||||
|
TenantId tenantId = otaPackageInfo.getTenantId();
|
||||||
|
OtaPackageId otaPackageId = otaPackageInfo.getId();
|
||||||
if (e == null) {
|
if (e == null) {
|
||||||
try {
|
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);
|
OtaPackageInfo savedOtaPackage = otaPackageService.saveOtaPackage(otaPackage);
|
||||||
notificationEntityService.notifyEntity(tenantId, savedOtaPackage.getId(), savedOtaPackage, null,
|
notificationEntityService.notifyEntity(tenantId, savedOtaPackage.getId(), savedOtaPackage, null,
|
||||||
ActionType.UPDATED, user, null);
|
ActionType.UPDATED, user, null);
|
||||||
@ -89,6 +106,4 @@ public class DefaultTbOtaPackageService extends AbstractTbEntityService implemen
|
|||||||
throw handleException(e);
|
throw handleException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,11 +15,10 @@
|
|||||||
*/
|
*/
|
||||||
package org.thingsboard.server.service.entitiy.otaPackageController;
|
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.OtaPackageInfo;
|
||||||
import org.thingsboard.server.common.data.SaveOtaPackageInfoRequest;
|
import org.thingsboard.server.common.data.SaveOtaPackageInfoRequest;
|
||||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
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;
|
import org.thingsboard.server.service.security.model.SecurityUser;
|
||||||
|
|
||||||
public interface TbOtaPackageService {
|
public interface TbOtaPackageService {
|
||||||
@ -28,5 +27,6 @@ public interface TbOtaPackageService {
|
|||||||
|
|
||||||
void delete(OtaPackageInfo otaPackageInfo, SecurityUser user) throws ThingsboardException;
|
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
|
@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();
|
RuleChainId ruleChainId = ruleChain.getId();
|
||||||
try {
|
try {
|
||||||
RuleChain savedRuleChain = checkNotNull(ruleChainService.assignRuleChainToEdge(tenantId, ruleChainId, edge.getId()));
|
RuleChain savedRuleChain = checkNotNull(ruleChainService.assignRuleChainToEdge(tenantId, ruleChainId, edge.getId()));
|
||||||
notificationEntityService.notifyAssignOrUnassignEntityToEdge(tenantId, ruleChainId,
|
notificationEntityService.notifyAssignOrUnassignEntityToEdge(tenantId, ruleChainId,
|
||||||
null, edge.getId(),
|
null, edge.getId(),
|
||||||
savedRuleChain, actionType,
|
savedRuleChain, ActionType.ASSIGNED_TO_EDGE,
|
||||||
user, ruleChainId.toString(), edge.getId().toString(), edge.getName());
|
user, ruleChainId.toString(), edge.getId().toString(), edge.getName());
|
||||||
return savedRuleChain;
|
return savedRuleChain;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
notificationEntityService.notifyCreateOrUpdateOrDelete(tenantId, null, emptyId(EntityType.RULE_CHAIN),
|
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);
|
throw handleException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,7 +15,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.thingsboard.server.service.entitiy.ruleChain;
|
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.edge.Edge;
|
||||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||||
import org.thingsboard.server.common.data.id.TenantId;
|
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,
|
RuleChainMetaData saveRuleChainMetaData(TenantId tenantId, RuleChain ruleChain, RuleChainMetaData ruleChainMetaData,
|
||||||
boolean updateRelated, SecurityUser user) throws ThingsboardException;
|
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;
|
SecurityUser user) throws ThingsboardException;
|
||||||
|
|
||||||
RuleChain setEdgeTemplateRootRuleChain(TenantId tenantId, RuleChain ruleChain, SecurityUser user) throws ThingsboardException;
|
RuleChain setEdgeTemplateRootRuleChain(TenantId tenantId, RuleChain ruleChain, SecurityUser user) throws ThingsboardException;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user