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 71020ae47e..34e56275e2 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 @@ -393,12 +393,12 @@ public class DefaultSolutionService implements SolutionService { provisionAlarmRules(ctx); + provisionCalculatedFields(ctx); + Set> telemetryLoading = launchEmulators(ctx, devices, assets); waitForTelemetryCompletion(telemetryLoading); - provisionCalculatedFields(ctx); - ctx.getSolutionInstructions().setDetails(prepareInstructions(ctx, request)); List ruleChainDefs = loadListOfEntitiesIfFileExists(ctx.getTempDir(), "rule_chains.json", new TypeReference<>() {}); @@ -1297,27 +1297,7 @@ public class DefaultSolutionService implements SolutionService { List cfs = loadListOfEntitiesIfFileExists(ctx.getTempDir(), "calculated_fields.json", new TypeReference<>() { }); cfs.addAll(loadListOfEntitiesFromDirectory(ctx.getTempDir(), "calculated_fields", CalculatedFieldDefinition.class)); - - List createOnly = new ArrayList<>(); - TreeMap> ordered = new TreeMap<>(); - - for (CalculatedFieldDefinition cf : cfs) { - if (cf.getReprocessingOrder() == null || cf.getReprocessingOrder() < 0) { - createOnly.add(cf); - } else { - ordered.computeIfAbsent(cf.getReprocessingOrder(), integer -> new ArrayList<>()).add(cf); - } - } - - createOnly.forEach(cf -> ctx.register(createCalculatedField(cf, ctx))); - - for (Map.Entry> entry : ordered.entrySet()) { - List cfDefs = entry.getValue(); - for (CalculatedFieldDefinition cfDef : cfDefs) { - CalculatedField calculatedField = createCalculatedField(cfDef, ctx); - ctx.register(calculatedField); - } - } + cfs.forEach(cf -> ctx.register(createCalculatedField(cf, ctx))); } private CalculatedField createCalculatedField(CalculatedField cf, SolutionInstallContext ctx) { diff --git a/application/src/main/java/org/thingsboard/server/service/solutions/data/definition/CalculatedFieldDefinition.java b/application/src/main/java/org/thingsboard/server/service/solutions/data/definition/CalculatedFieldDefinition.java index 1dcc7a6bbd..536d3ce279 100644 --- a/application/src/main/java/org/thingsboard/server/service/solutions/data/definition/CalculatedFieldDefinition.java +++ b/application/src/main/java/org/thingsboard/server/service/solutions/data/definition/CalculatedFieldDefinition.java @@ -23,6 +23,4 @@ import org.thingsboard.server.common.data.cf.CalculatedField; @EqualsAndHashCode(callSuper = true) public class CalculatedFieldDefinition extends CalculatedField { - private Integer reprocessingOrder; - }