Skip to content

Commit f6db198

Browse files
committed
1674 - Update Condition definition, remove one hierarchy level
1 parent 2c73c97 commit f6db198

File tree

9 files changed

+589
-597
lines changed

9 files changed

+589
-597
lines changed

server/libs/modules/task-dispatchers/condition/src/main/java/com/bytechef/task/dispatcher/condition/ConditionTaskDispatcherDefinitionFactory.java

Lines changed: 116 additions & 119 deletions
Large diffs are not rendered by default.

server/libs/modules/task-dispatchers/condition/src/main/java/com/bytechef/task/dispatcher/condition/constant/ConditionTaskDispatcherConstants.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public class ConditionTaskDispatcherConstants {
3434
public static final String NUMBER = "number";
3535
public static final String CASE_TRUE = "caseTrue";
3636
public static final String CASE_FALSE = "caseFalse";
37+
public static final String TYPE = "type";
3738

3839
public enum Operation {
3940
EQUALS,

server/libs/modules/task-dispatchers/condition/src/main/java/com/bytechef/task/dispatcher/condition/util/ConditionTaskUtils.java

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,13 @@ public static boolean resolveCase(TaskExecution conditionTaskExecution) {
4646
.parseExpression(MapUtils.getString(conditionTaskExecution.getParameters(), EXPRESSION))
4747
.getValue(Boolean.class);
4848
} else {
49-
List<List<Map<String, Map<String, ?>>>> conditions = MapUtils.getList(
49+
List<List<Map<String, ?>>> conditions = MapUtils.getList(
5050
conditionTaskExecution.getParameters(), ConditionTaskDispatcherConstants.CONDITIONS,
5151
new TypeReference<>() {}, Collections.emptyList());
5252

5353
List<String> conditionExpressions = new ArrayList<>();
5454

55-
for (List<Map<String, Map<String, ?>>> andConditions : conditions) {
55+
for (List<Map<String, ?>> andConditions : conditions) {
5656
conditionExpressions.add(String.join(" && ", getConditionExpressions(andConditions)));
5757
}
5858

@@ -64,26 +64,24 @@ public static boolean resolveCase(TaskExecution conditionTaskExecution) {
6464
return result != null && result;
6565
}
6666

67-
private static List<String> getConditionExpressions(List<Map<String, Map<String, ?>>> conditions) {
67+
private static List<String> getConditionExpressions(List<Map<String, ?>> conditions) {
6868
List<String> conditionExpressions = new ArrayList<>();
6969

70-
for (Map<String, Map<String, ?>> condition : conditions) {
71-
for (String operandType : condition.keySet()) {
72-
Map<String, ?> conditionParts = MapUtils.getMap(condition, operandType);
73-
74-
String conditionTemplate = conditionTemplates
75-
.get(operandType)
76-
.get(MapUtils.getRequiredString(conditionParts, ConditionTaskDispatcherConstants.OPERATION));
77-
78-
conditionExpressions.add(
79-
conditionTemplate
80-
.replace(
81-
"${value1}",
82-
MapUtils.getRequiredString(conditionParts, ConditionTaskDispatcherConstants.VALUE_1))
83-
.replace(
84-
"${value2}",
85-
MapUtils.getRequiredString(conditionParts, ConditionTaskDispatcherConstants.VALUE_2)));
86-
}
70+
for (Map<String, ?> condition : conditions) {
71+
String operandType = MapUtils.getRequiredString(condition, "type");
72+
73+
String conditionTemplate = conditionTemplates
74+
.get(operandType)
75+
.get(MapUtils.getRequiredString(condition, ConditionTaskDispatcherConstants.OPERATION));
76+
77+
conditionExpressions.add(
78+
conditionTemplate
79+
.replace(
80+
"${value1}",
81+
MapUtils.getRequiredString(condition, ConditionTaskDispatcherConstants.VALUE_1))
82+
.replace(
83+
"${value2}",
84+
MapUtils.getRequiredString(condition, ConditionTaskDispatcherConstants.VALUE_2)));
8785
}
8886

8987
return conditionExpressions;

0 commit comments

Comments
 (0)