From d68d89d26e86b0fb69915dcdf09ae0243610b413 Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Mon, 27 Apr 2026 20:04:33 +0300 Subject: [PATCH] fix(solutions): invert empty-check guard in deleteSolution The guard around iterating createdEntityIds was checking isEmpty() instead of !isEmpty(), so entity deletion was skipped whenever there was actually data to clean up. --- .../server/service/solutions/DefaultSolutionService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/src/main/java/org/thingsboard/server/service/solutions/DefaultSolutionService.java b/application/src/main/java/org/thingsboard/server/service/solutions/DefaultSolutionService.java index 85489e82fd..b68fe5515c 100644 --- a/application/src/main/java/org/thingsboard/server/service/solutions/DefaultSolutionService.java +++ b/application/src/main/java/org/thingsboard/server/service/solutions/DefaultSolutionService.java @@ -248,7 +248,7 @@ public class DefaultSolutionService implements SolutionService { @Override public void deleteSolution(TenantId tenantId, SolutionTemplateInstalledItemDescriptor descriptor, SecurityUser user) throws ThingsboardException { try { - if (descriptor.getCreatedEntityIds() != null && descriptor.getCreatedEntityIds().isEmpty()) { + if (descriptor.getCreatedEntityIds() != null && !descriptor.getCreatedEntityIds().isEmpty()) { List entityIds = new ArrayList<>(descriptor.getCreatedEntityIds()); // Delete in the descending order of creation to avoid dependency issues. Collections.reverse(entityIds);