v2.3 extended analysis render update
This commit is contained in:
@@ -18,6 +18,8 @@ import java.util.Set;
|
|||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
public class AnalysisResult {
|
public class AnalysisResult {
|
||||||
private final String name;
|
private final String name;
|
||||||
|
@Builder.Default
|
||||||
|
private final Set<click.kamil.springstatemachineexporter.model.State> states = java.util.Collections.emptySet();
|
||||||
private final List<Transition> transitions;
|
private final List<Transition> transitions;
|
||||||
private final Set<String> startStates;
|
private final Set<String> startStates;
|
||||||
private final Set<String> endStates;
|
private final Set<String> endStates;
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ import org.eclipse.jdt.core.dom.ASTVisitor;
|
|||||||
import org.eclipse.jdt.core.dom.ClassInstanceCreation;
|
import org.eclipse.jdt.core.dom.ClassInstanceCreation;
|
||||||
import org.eclipse.jdt.core.dom.CompilationUnit;
|
import org.eclipse.jdt.core.dom.CompilationUnit;
|
||||||
import org.eclipse.jdt.core.dom.Expression;
|
import org.eclipse.jdt.core.dom.Expression;
|
||||||
|
import org.eclipse.jdt.core.dom.IMethodBinding;
|
||||||
|
import org.eclipse.jdt.core.dom.ASTNode;
|
||||||
import org.eclipse.jdt.core.dom.LambdaExpression;
|
import org.eclipse.jdt.core.dom.LambdaExpression;
|
||||||
import org.eclipse.jdt.core.dom.MethodDeclaration;
|
import org.eclipse.jdt.core.dom.MethodDeclaration;
|
||||||
import org.eclipse.jdt.core.dom.MethodInvocation;
|
import org.eclipse.jdt.core.dom.MethodInvocation;
|
||||||
@@ -175,15 +177,15 @@ public class AstTransitionParser {
|
|||||||
Expression secondArg = resolveArg((Expression) args.get(1), argsMap);
|
Expression secondArg = resolveArg((Expression) args.get(1), argsMap);
|
||||||
if ("last".equals(methodName)) {
|
if ("last".equals(methodName)) {
|
||||||
// For 'last', the second argument is an action, not a guard
|
// For 'last', the second argument is an action, not a guard
|
||||||
parseAction(secondArg, t);
|
parseAction(secondArg, t, cu);
|
||||||
} else {
|
} else {
|
||||||
// For 'first' and 'then', the second argument is a guard
|
// For 'first' and 'then', the second argument is a guard
|
||||||
parseGuard(secondArg, t);
|
parseGuard(secondArg, t, cu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (args.size() > 2) {
|
if (args.size() > 2) {
|
||||||
Expression thirdArg = resolveArg((Expression) args.get(2), argsMap);
|
Expression thirdArg = resolveArg((Expression) args.get(2), argsMap);
|
||||||
parseAction(thirdArg, t);
|
parseAction(thirdArg, t, cu);
|
||||||
}
|
}
|
||||||
t.setOrder(orderCounter++);
|
t.setOrder(orderCounter++);
|
||||||
transitions.add(t);
|
transitions.add(t);
|
||||||
@@ -226,28 +228,43 @@ public class AstTransitionParser {
|
|||||||
}
|
}
|
||||||
case "guard" -> {
|
case "guard" -> {
|
||||||
Expression resolved = resolveArg((Expression) args.get(0), argsMap);
|
Expression resolved = resolveArg((Expression) args.get(0), argsMap);
|
||||||
parseGuard(resolved, t);
|
parseGuard(resolved, t, cu);
|
||||||
}
|
}
|
||||||
case "action" -> {
|
case "action" -> {
|
||||||
Expression resolved = resolveArg((Expression) args.get(0), argsMap);
|
Expression resolved = resolveArg((Expression) args.get(0), argsMap);
|
||||||
parseAction(resolved, t);
|
parseAction(resolved, t, cu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void parseGuard(Object arg, Transition t) {
|
private static String extractInternalLogic(Expression expr, CompilationUnit cu) {
|
||||||
|
if (expr instanceof MethodInvocation mi) {
|
||||||
|
IMethodBinding binding = mi.resolveMethodBinding();
|
||||||
|
if (binding != null) {
|
||||||
|
ASTNode declNode = cu.findDeclaringNode(binding.getKey());
|
||||||
|
if (declNode instanceof MethodDeclaration md) {
|
||||||
|
return md.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void parseGuard(Object arg, Transition t, CompilationUnit cu) {
|
||||||
QuotedExpression quotedExpr = QuotedExpression.of(arg);
|
QuotedExpression quotedExpr = QuotedExpression.of(arg);
|
||||||
if (quotedExpr != null) {
|
if (quotedExpr != null) {
|
||||||
t.setGuard(Guard.of(quotedExpr.toStringWithoutQuotes(), isLambdaOrAnonymous(quotedExpr.getExpression())));
|
String internalLogic = extractInternalLogic(quotedExpr.getExpression(), cu);
|
||||||
|
t.setGuard(Guard.of(quotedExpr.toStringWithoutQuotes(), isLambdaOrAnonymous(quotedExpr.getExpression()), internalLogic));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void parseAction(Object arg, Transition t) {
|
private static void parseAction(Object arg, Transition t, CompilationUnit cu) {
|
||||||
QuotedExpression quotedExpr = QuotedExpression.of(arg);
|
QuotedExpression quotedExpr = QuotedExpression.of(arg);
|
||||||
if (quotedExpr != null) {
|
if (quotedExpr != null) {
|
||||||
t.getActions().add(Action.of(quotedExpr.toStringWithoutQuotes(), isLambdaOrAnonymous(quotedExpr.getExpression())));
|
String internalLogic = extractInternalLogic(quotedExpr.getExpression(), cu);
|
||||||
|
t.getActions().add(Action.of(quotedExpr.toStringWithoutQuotes(), isLambdaOrAnonymous(quotedExpr.getExpression()), internalLogic));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,23 @@ public class TransitionStateUtils {
|
|||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Set<State> findAllStates(Collection<Transition> transitions, Set<String> initialStates, Set<String> endStates) {
|
||||||
|
Set<State> allStates = new java.util.HashSet<>();
|
||||||
|
if (transitions != null) {
|
||||||
|
transitions.forEach(t -> {
|
||||||
|
if (t.getSourceStates() != null) allStates.addAll(t.getSourceStates());
|
||||||
|
if (t.getTargetStates() != null) allStates.addAll(t.getTargetStates());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (initialStates != null) {
|
||||||
|
initialStates.forEach(s -> allStates.add(State.of(s)));
|
||||||
|
}
|
||||||
|
if (endStates != null) {
|
||||||
|
endStates.forEach(s -> allStates.add(State.of(s)));
|
||||||
|
}
|
||||||
|
return allStates;
|
||||||
|
}
|
||||||
|
|
||||||
private static Stream<String> normalizeStates(Collection<State> states) {
|
private static Stream<String> normalizeStates(Collection<State> states) {
|
||||||
return states.stream()
|
return states.stream()
|
||||||
.map(State::toString)
|
.map(State::toString)
|
||||||
|
|||||||
@@ -198,15 +198,15 @@ public class PlantUml implements StateMachineExporter {
|
|||||||
}
|
}
|
||||||
if (t.getGuard() != null) {
|
if (t.getGuard() != null) {
|
||||||
String g = t.getGuard().expression();
|
String g = t.getGuard().expression();
|
||||||
if (useLambdaGuards && g.contains("->")) {
|
if (useLambdaGuards && t.getGuard().isLambda()) {
|
||||||
parts.add("[" + LAMBDA + "]");
|
parts.add("[" + LAMBDA + "]");
|
||||||
} else {
|
} else {
|
||||||
parts.add("[" + g.replace("\r", "").replace("\n", "\\n") + "]");
|
parts.add("[" + g.replaceAll("[\\n\\r]+", " ").replaceAll("\\s{2,}", " ").trim() + "]");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (t.getActions() != null && !t.getActions().isEmpty()) {
|
if (t.getActions() != null && !t.getActions().isEmpty()) {
|
||||||
parts.add("/ " + t.getActions().stream()
|
parts.add("/ " + t.getActions().stream()
|
||||||
.map(a -> a.expression().contains("->") ? LAMBDA : a.expression().replace("\r", "").replace("\n", "\\n"))
|
.map(a -> (useLambdaGuards && a.isLambda()) ? LAMBDA : a.expression().replaceAll("[\\n\\r]+", " ").replaceAll("\\s{2,}", " ").trim())
|
||||||
.collect(Collectors.joining(", ")));
|
.collect(Collectors.joining(", ")));
|
||||||
}
|
}
|
||||||
Optional.ofNullable(t.getOrder())
|
Optional.ofNullable(t.getOrder())
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package click.kamil.springstatemachineexporter.model;
|
package click.kamil.springstatemachineexporter.model;
|
||||||
|
|
||||||
public record Action(String expression, boolean isLambda) {
|
public record Action(String expression, boolean isLambda, String internalLogic) {
|
||||||
public static Action of(String expression, boolean isLambda) {
|
public static Action of(String expression, boolean isLambda, String internalLogic) {
|
||||||
return expression != null ? new Action(expression, isLambda) : null;
|
return expression != null ? new Action(expression, isLambda, internalLogic) : null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package click.kamil.springstatemachineexporter.model;
|
package click.kamil.springstatemachineexporter.model;
|
||||||
|
|
||||||
public record Guard(String expression, boolean isLambda) {
|
public record Guard(String expression, boolean isLambda, String internalLogic) {
|
||||||
public static Guard of(String expression, boolean isLambda) {
|
public static Guard of(String expression, boolean isLambda, String internalLogic) {
|
||||||
return expression != null ? new Guard(expression, isLambda) : null;
|
return expression != null ? new Guard(expression, isLambda, internalLogic) : null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -147,9 +147,11 @@ public class ExportService {
|
|||||||
|
|
||||||
Set<String> startStates = TransitionStateUtils.findStartStates(transitions, initialStatesAst);
|
Set<String> startStates = TransitionStateUtils.findStartStates(transitions, initialStatesAst);
|
||||||
Set<String> endStates = TransitionStateUtils.findEndStates(transitions, endStatesAst);
|
Set<String> endStates = TransitionStateUtils.findEndStates(transitions, endStatesAst);
|
||||||
|
Set<click.kamil.springstatemachineexporter.model.State> allStates = TransitionStateUtils.findAllStates(transitions, initialStatesAst, endStatesAst);
|
||||||
|
|
||||||
AnalysisResult result = AnalysisResult.builder()
|
AnalysisResult result = AnalysisResult.builder()
|
||||||
.name(className)
|
.name(className)
|
||||||
|
.states(allStates)
|
||||||
.transitions(transitions)
|
.transitions(transitions)
|
||||||
.startStates(startStates)
|
.startStates(startStates)
|
||||||
.endStates(endStates)
|
.endStates(endStates)
|
||||||
@@ -172,11 +174,13 @@ public class ExportService {
|
|||||||
|
|
||||||
List<Transition> transitions = AstTransitionParser.parseTransitions(m, context);
|
List<Transition> transitions = AstTransitionParser.parseTransitions(m, context);
|
||||||
|
|
||||||
Set<String> startStates = TransitionStateUtils.findStartStates(transitions);
|
Set<String> startStates = TransitionStateUtils.findStartStates(transitions, null);
|
||||||
Set<String> endStates = TransitionStateUtils.findEndStates(transitions);
|
Set<String> endStates = TransitionStateUtils.findEndStates(transitions, null);
|
||||||
|
Set<click.kamil.springstatemachineexporter.model.State> allStates = TransitionStateUtils.findAllStates(transitions, null, null);
|
||||||
|
|
||||||
AnalysisResult result = AnalysisResult.builder()
|
AnalysisResult result = AnalysisResult.builder()
|
||||||
.name(uniqueName)
|
.name(uniqueName)
|
||||||
|
.states(allStates)
|
||||||
.transitions(transitions)
|
.transitions(transitions)
|
||||||
.startStates(startStates)
|
.startStates(startStates)
|
||||||
.endStates(endStates)
|
.endStates(endStates)
|
||||||
|
|||||||
@@ -233,7 +233,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value1\")",
|
"expression" : "guardVarEquals(\"value1\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -250,7 +251,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value2\")",
|
"expression" : "guardVarEquals(\"value2\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -281,7 +283,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -312,7 +315,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value3\")",
|
"expression" : "guardVarEquals(\"value3\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -343,7 +347,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"reset\")",
|
"expression" : "guardVarEquals(\"reset\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -374,7 +379,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -405,7 +411,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goTo13\")",
|
"expression" : "guardVarEquals(\"goTo13\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -422,7 +429,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goTo14\")",
|
"expression" : "guardVarEquals(\"goTo14\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -453,7 +461,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goBack10\")",
|
"expression" : "guardVarEquals(\"goBack10\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -484,7 +493,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"loop12\")",
|
"expression" : "guardVarEquals(\"loop12\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -515,7 +525,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"stepBack\")",
|
"expression" : "guardVarEquals(\"stepBack\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -532,7 +543,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"stepBackMore\")",
|
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -563,7 +575,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"forward9\")",
|
"expression" : "guardVarEquals(\"forward9\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
|
|||||||
@@ -293,7 +293,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "(c) -> true",
|
"expression" : "(c) -> true",
|
||||||
"isLambda" : true
|
"isLambda" : true,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
|
|||||||
@@ -317,7 +317,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value1\")",
|
"expression" : "guardVarEquals(\"value1\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -348,7 +349,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value1\")",
|
"expression" : "guardVarEquals(\"value1\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -365,7 +367,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value2\")",
|
"expression" : "guardVarEquals(\"value2\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -396,7 +399,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -427,7 +431,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value3\")",
|
"expression" : "guardVarEquals(\"value3\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -458,7 +463,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"reset\")",
|
"expression" : "guardVarEquals(\"reset\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -489,7 +495,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -520,7 +527,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goTo13\")",
|
"expression" : "guardVarEquals(\"goTo13\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -537,7 +545,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goTo14\")",
|
"expression" : "guardVarEquals(\"goTo14\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -568,7 +577,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goBack10\")",
|
"expression" : "guardVarEquals(\"goBack10\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -599,7 +609,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"loop12\")",
|
"expression" : "guardVarEquals(\"loop12\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -630,7 +641,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"stepBack\")",
|
"expression" : "guardVarEquals(\"stepBack\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -647,7 +659,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"stepBackMore\")",
|
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -678,7 +691,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"forward9\")",
|
"expression" : "guardVarEquals(\"forward9\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -723,7 +737,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 231 KiB After Width: | Height: | Size: 223 KiB |
@@ -317,7 +317,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value1\")",
|
"expression" : "guardVarEquals(\"value1\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -348,7 +349,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value1\")",
|
"expression" : "guardVarEquals(\"value1\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -365,7 +367,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value2\")",
|
"expression" : "guardVarEquals(\"value2\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -396,7 +399,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -427,7 +431,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value3\")",
|
"expression" : "guardVarEquals(\"value3\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -458,7 +463,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"reset\")",
|
"expression" : "guardVarEquals(\"reset\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -489,7 +495,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -520,7 +527,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goTo13\")",
|
"expression" : "guardVarEquals(\"goTo13\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -537,7 +545,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goTo14\")",
|
"expression" : "guardVarEquals(\"goTo14\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -568,7 +577,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goBack10\")",
|
"expression" : "guardVarEquals(\"goBack10\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -599,7 +609,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"loop12\")",
|
"expression" : "guardVarEquals(\"loop12\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -630,7 +641,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"stepBack\")",
|
"expression" : "guardVarEquals(\"stepBack\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -647,7 +659,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"stepBackMore\")",
|
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -678,7 +691,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"forward9\")",
|
"expression" : "guardVarEquals(\"forward9\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -723,7 +737,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
|
|||||||
@@ -233,7 +233,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value1\")",
|
"expression" : "guardVarEquals(\"value1\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -264,7 +265,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"stepBack\")",
|
"expression" : "guardVarEquals(\"stepBack\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -281,7 +283,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"stepBackMore\")",
|
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -312,7 +315,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"forward9\")",
|
"expression" : "guardVarEquals(\"forward9\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
|
|||||||
@@ -233,7 +233,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value1\")",
|
"expression" : "guardVarEquals(\"value1\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -264,7 +265,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"stepBack\")",
|
"expression" : "guardVarEquals(\"stepBack\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -281,7 +283,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"stepBackMore\")",
|
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -312,7 +315,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"forward9\")",
|
"expression" : "guardVarEquals(\"forward9\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
|
|||||||
@@ -51,7 +51,8 @@
|
|||||||
"event" : "OrderEvents.CANCEL",
|
"event" : "OrderEvents.CANCEL",
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
||||||
"isLambda" : true
|
"isLambda" : true,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : null
|
"order" : null
|
||||||
@@ -107,7 +108,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return true;\n }\n}\n",
|
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return true;\n }\n}\n",
|
||||||
"isLambda" : true
|
"isLambda" : true,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -124,7 +126,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guard1",
|
"expression" : "guard1",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -141,7 +144,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
||||||
"isLambda" : true
|
"isLambda" : true,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 2
|
"order" : 2
|
||||||
@@ -198,10 +202,12 @@
|
|||||||
"guard" : null,
|
"guard" : null,
|
||||||
"actions" : [ {
|
"actions" : [ {
|
||||||
"expression" : "new Action<OrderStates,OrderEvents>(){\n @Override public void execute( StateContext<OrderStates,OrderEvents> context){\n }\n}\n",
|
"expression" : "new Action<OrderStates,OrderEvents>(){\n @Override public void execute( StateContext<OrderStates,OrderEvents> context){\n }\n}\n",
|
||||||
"isLambda" : true
|
"isLambda" : true,
|
||||||
|
"internalLogic" : null
|
||||||
}, {
|
}, {
|
||||||
"expression" : "action2",
|
"expression" : "action2",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
} ],
|
} ],
|
||||||
"order" : null
|
"order" : null
|
||||||
} ],
|
} ],
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 49 KiB |
@@ -27,17 +27,17 @@ state OrderStates.PAID1 <<choice>>
|
|||||||
|
|
||||||
OrderStates.SUBMITTED -[#1E90FF,bold]-> OrderStates.PAID <<external>> <<e_OrderEvents_PAY>> : OrderEvents.PAY
|
OrderStates.SUBMITTED -[#1E90FF,bold]-> OrderStates.PAID <<external>> <<e_OrderEvents_PAY>> : OrderEvents.PAY
|
||||||
OrderStates.PAID -[#1E90FF,bold]-> OrderStates.FULFILLED <<external>> <<e_OrderEvents_FULFILL>> : OrderEvents.FULFILL
|
OrderStates.PAID -[#1E90FF,bold]-> OrderStates.FULFILLED <<external>> <<e_OrderEvents_FULFILL>> : OrderEvents.FULFILL
|
||||||
OrderStates.SUBMITTED -[#1E90FF,bold]-> OrderStates.CANCELED <<external>> <<e_OrderEvents_CANCEL>> : OrderEvents.CANCEL [new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n]
|
OrderStates.SUBMITTED -[#1E90FF,bold]-> OrderStates.CANCELED <<external>> <<e_OrderEvents_CANCEL>> : OrderEvents.CANCEL [λ]
|
||||||
OrderStates.PAID -[#1E90FF,bold]-> OrderStates.CANCELED <<external>> <<e_OrderEvents_CANCEL>> : OrderEvents.CANCEL
|
OrderStates.PAID -[#1E90FF,bold]-> OrderStates.CANCELED <<external>> <<e_OrderEvents_CANCEL>> : OrderEvents.CANCEL
|
||||||
OrderStates.SUBMITTED -[#1E90FF,bold]-> OrderStates.SUBMITTED <<external>> <<e_OrderEvents_ABCD>> : OrderEvents.ABCD
|
OrderStates.SUBMITTED -[#1E90FF,bold]-> OrderStates.SUBMITTED <<external>> <<e_OrderEvents_ABCD>> : OrderEvents.ABCD
|
||||||
OrderStates.SUBMITTED -[#1E90FF,bold]-> OrderStates.PAID1 <<external>> <<e_OrderEvents_ABCD>> : OrderEvents.ABCD
|
OrderStates.SUBMITTED -[#1E90FF,bold]-> OrderStates.PAID1 <<external>> <<e_OrderEvents_ABCD>> : OrderEvents.ABCD
|
||||||
OrderStates.PAID1 -[#FF6347,bold]-> OrderStates.PAID2 <<choice_type>> : [new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return true;\n }\n}\n] (order=0)
|
OrderStates.PAID1 -[#FF6347,bold]-> OrderStates.PAID2 <<choice_type>> : [λ] (order=0)
|
||||||
OrderStates.PAID1 -[#FF6347,bold]-> OrderStates.PAID3 <<choice_type>> : [guard1] (order=1)
|
OrderStates.PAID1 -[#FF6347,bold]-> OrderStates.PAID3 <<choice_type>> : [guard1] (order=1)
|
||||||
OrderStates.PAID1 -[#FF6347,bold]-> OrderStates.HAPPEN <<choice_type>> : [new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n] (order=2)
|
OrderStates.PAID1 -[#FF6347,bold]-> OrderStates.HAPPEN <<choice_type>> : [λ] (order=2)
|
||||||
OrderStates.PAID1 -[#FF6347,bold]-> OrderStates.CANCELED <<choice_type>> : (order=3)
|
OrderStates.PAID1 -[#FF6347,bold]-> OrderStates.CANCELED <<choice_type>> : (order=3)
|
||||||
OrderStates.PAID2 -[#1E90FF,bold]-> OrderStates.CANCELED <<external>>
|
OrderStates.PAID2 -[#1E90FF,bold]-> OrderStates.CANCELED <<external>>
|
||||||
OrderStates.PAID3 -[#1E90FF,bold]-> OrderStates.CANCELED <<external>>
|
OrderStates.PAID3 -[#1E90FF,bold]-> OrderStates.CANCELED <<external>>
|
||||||
OrderStates.PAID2 -[#1E90FF,bold]-> OrderStates.PAID2 <<external>> <<e_OrderEvents_ABCD>> : OrderEvents.ABCD / new Action<OrderStates,OrderEvents>(){\n @Override public void execute( StateContext<OrderStates,OrderEvents> context){\n }\n}\n, action2
|
OrderStates.PAID2 -[#1E90FF,bold]-> OrderStates.PAID2 <<external>> <<e_OrderEvents_ABCD>> : OrderEvents.ABCD / λ, action2
|
||||||
|
|
||||||
OrderStates.CANCELED --> [*]
|
OrderStates.CANCELED --> [*]
|
||||||
OrderStates.FULFILLED --> [*]
|
OrderStates.FULFILLED --> [*]
|
||||||
|
|||||||
@@ -247,7 +247,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value1\")",
|
"expression" : "guardVarEquals(\"value1\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -278,7 +279,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value1\")",
|
"expression" : "guardVarEquals(\"value1\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -295,7 +297,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value2\")",
|
"expression" : "guardVarEquals(\"value2\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -326,7 +329,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -357,7 +361,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value3\")",
|
"expression" : "guardVarEquals(\"value3\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -388,7 +393,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"reset\")",
|
"expression" : "guardVarEquals(\"reset\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -419,7 +425,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -450,7 +457,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goTo13\")",
|
"expression" : "guardVarEquals(\"goTo13\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -467,7 +475,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goTo14\")",
|
"expression" : "guardVarEquals(\"goTo14\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -498,7 +507,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goBack10\")",
|
"expression" : "guardVarEquals(\"goBack10\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -529,7 +539,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"loop12\")",
|
"expression" : "guardVarEquals(\"loop12\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -560,7 +571,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"stepBack\")",
|
"expression" : "guardVarEquals(\"stepBack\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -577,7 +589,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"stepBackMore\")",
|
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -608,7 +621,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"forward9\")",
|
"expression" : "guardVarEquals(\"forward9\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
|
|||||||
@@ -51,7 +51,8 @@
|
|||||||
"event" : "OrderEvents.CANCEL",
|
"event" : "OrderEvents.CANCEL",
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
||||||
"isLambda" : true
|
"isLambda" : true,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : null
|
"order" : null
|
||||||
@@ -93,7 +94,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
||||||
"isLambda" : true
|
"isLambda" : true,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -124,7 +126,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return true;\n }\n}\n",
|
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return true;\n }\n}\n",
|
||||||
"isLambda" : true
|
"isLambda" : true,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -141,7 +144,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guard1",
|
"expression" : "guard1",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -158,7 +162,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
||||||
"isLambda" : true
|
"isLambda" : true,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 2
|
"order" : 2
|
||||||
@@ -215,10 +220,12 @@
|
|||||||
"guard" : null,
|
"guard" : null,
|
||||||
"actions" : [ {
|
"actions" : [ {
|
||||||
"expression" : "new Action<OrderStates,OrderEvents>(){\n @Override public void execute( StateContext<OrderStates,OrderEvents> context){\n ;\n }\n}\n",
|
"expression" : "new Action<OrderStates,OrderEvents>(){\n @Override public void execute( StateContext<OrderStates,OrderEvents> context){\n ;\n }\n}\n",
|
||||||
"isLambda" : true
|
"isLambda" : true,
|
||||||
|
"internalLogic" : null
|
||||||
}, {
|
}, {
|
||||||
"expression" : "action2",
|
"expression" : "action2",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
} ],
|
} ],
|
||||||
"order" : null
|
"order" : null
|
||||||
} ],
|
} ],
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 55 KiB |
@@ -28,18 +28,18 @@ state OrderStates.PAID <<choice>>
|
|||||||
|
|
||||||
OrderStates.SUBMITTED -[#1E90FF,bold]-> OrderStates.PAID <<external>> <<e_OrderEvents_PAY>> : OrderEvents.PAY
|
OrderStates.SUBMITTED -[#1E90FF,bold]-> OrderStates.PAID <<external>> <<e_OrderEvents_PAY>> : OrderEvents.PAY
|
||||||
OrderStates.PAID -[#1E90FF,bold]-> OrderStates.FULFILLED <<external>> <<e_OrderEvents_FULFILL>> : OrderEvents.FULFILL
|
OrderStates.PAID -[#1E90FF,bold]-> OrderStates.FULFILLED <<external>> <<e_OrderEvents_FULFILL>> : OrderEvents.FULFILL
|
||||||
OrderStates.SUBMITTED -[#1E90FF,bold]-> OrderStates.CANCELED <<external>> <<e_OrderEvents_CANCEL>> : OrderEvents.CANCEL [new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n]
|
OrderStates.SUBMITTED -[#1E90FF,bold]-> OrderStates.CANCELED <<external>> <<e_OrderEvents_CANCEL>> : OrderEvents.CANCEL [λ]
|
||||||
OrderStates.PAID -[#1E90FF,bold]-> OrderStates.CANCELED <<external>> <<e_OrderEvents_CANCEL>> : OrderEvents.CANCEL
|
OrderStates.PAID -[#1E90FF,bold]-> OrderStates.CANCELED <<external>> <<e_OrderEvents_CANCEL>> : OrderEvents.CANCEL
|
||||||
OrderStates.SUBMITTED -[#1E90FF,bold]-> OrderStates.SUBMITTED <<external>> <<e_OrderEvents_ABCD>> : OrderEvents.ABCD
|
OrderStates.SUBMITTED -[#1E90FF,bold]-> OrderStates.SUBMITTED <<external>> <<e_OrderEvents_ABCD>> : OrderEvents.ABCD
|
||||||
OrderStates.SUBMITTED -[#FF6347,bold]-> OrderStates.PAID2 <<choice_type>> : [new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n] (order=0)
|
OrderStates.SUBMITTED -[#FF6347,bold]-> OrderStates.PAID2 <<choice_type>> : [λ] (order=0)
|
||||||
OrderStates.SUBMITTED -[#FF6347,bold]-> OrderStates.PAID3 <<choice_type>> : (order=1)
|
OrderStates.SUBMITTED -[#FF6347,bold]-> OrderStates.PAID3 <<choice_type>> : (order=1)
|
||||||
OrderStates.PAID -[#FF6347,bold]-> OrderStates.PAID1 <<choice_type>> : [new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return true;\n }\n}\n] (order=0)
|
OrderStates.PAID -[#FF6347,bold]-> OrderStates.PAID1 <<choice_type>> : [λ] (order=0)
|
||||||
OrderStates.PAID -[#FF6347,bold]-> OrderStates.PAID2 <<choice_type>> : [guard1] (order=1)
|
OrderStates.PAID -[#FF6347,bold]-> OrderStates.PAID2 <<choice_type>> : [guard1] (order=1)
|
||||||
OrderStates.PAID -[#FF6347,bold]-> OrderStates.HAPPEN <<choice_type>> : [new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n] (order=2)
|
OrderStates.PAID -[#FF6347,bold]-> OrderStates.HAPPEN <<choice_type>> : [λ] (order=2)
|
||||||
OrderStates.PAID -[#FF6347,bold]-> OrderStates.PAID3 <<choice_type>> : (order=3)
|
OrderStates.PAID -[#FF6347,bold]-> OrderStates.PAID3 <<choice_type>> : (order=3)
|
||||||
OrderStates.PAID2 -[#1E90FF,bold]-> OrderStates.CANCELED <<external>>
|
OrderStates.PAID2 -[#1E90FF,bold]-> OrderStates.CANCELED <<external>>
|
||||||
OrderStates.PAID3 -[#1E90FF,bold]-> OrderStates.CANCELED <<external>>
|
OrderStates.PAID3 -[#1E90FF,bold]-> OrderStates.CANCELED <<external>>
|
||||||
OrderStates.PAID1 -[#1E90FF,bold]-> OrderStates.PAID1 <<external>> <<e_OrderEvents_ABCD>> : OrderEvents.ABCD / new Action<OrderStates,OrderEvents>(){\n @Override public void execute( StateContext<OrderStates,OrderEvents> context){\n ;\n }\n}\n, action2
|
OrderStates.PAID1 -[#1E90FF,bold]-> OrderStates.PAID1 <<external>> <<e_OrderEvents_ABCD>> : OrderEvents.ABCD / λ, action2
|
||||||
|
|
||||||
OrderStates.CANCELED --> [*]
|
OrderStates.CANCELED --> [*]
|
||||||
OrderStates.FULFILLED --> [*]
|
OrderStates.FULFILLED --> [*]
|
||||||
|
|||||||
@@ -317,7 +317,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value1\")",
|
"expression" : "guardVarEquals(\"value1\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -348,7 +349,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value1\")",
|
"expression" : "guardVarEquals(\"value1\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -365,7 +367,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value2\")",
|
"expression" : "guardVarEquals(\"value2\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -396,7 +399,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -427,7 +431,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value3\")",
|
"expression" : "guardVarEquals(\"value3\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -458,7 +463,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"reset\")",
|
"expression" : "guardVarEquals(\"reset\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -489,7 +495,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -520,7 +527,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goTo13\")",
|
"expression" : "guardVarEquals(\"goTo13\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -537,7 +545,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goTo14\")",
|
"expression" : "guardVarEquals(\"goTo14\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -568,7 +577,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goBack10\")",
|
"expression" : "guardVarEquals(\"goBack10\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -599,7 +609,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"loop12\")",
|
"expression" : "guardVarEquals(\"loop12\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -630,7 +641,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"stepBack\")",
|
"expression" : "guardVarEquals(\"stepBack\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -647,7 +659,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"stepBackMore\")",
|
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -678,7 +691,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"forward9\")",
|
"expression" : "guardVarEquals(\"forward9\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -723,7 +737,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
|
|||||||
@@ -317,7 +317,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value1\")",
|
"expression" : "guardVarEquals(\"value1\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -348,7 +349,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value1\")",
|
"expression" : "guardVarEquals(\"value1\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -365,7 +367,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value2\")",
|
"expression" : "guardVarEquals(\"value2\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -396,7 +399,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -427,7 +431,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"value3\")",
|
"expression" : "guardVarEquals(\"value3\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -458,7 +463,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"reset\")",
|
"expression" : "guardVarEquals(\"reset\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -489,7 +495,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -520,7 +527,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goTo13\")",
|
"expression" : "guardVarEquals(\"goTo13\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -537,7 +545,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goTo14\")",
|
"expression" : "guardVarEquals(\"goTo14\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -568,7 +577,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"goBack10\")",
|
"expression" : "guardVarEquals(\"goBack10\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -599,7 +609,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"loop12\")",
|
"expression" : "guardVarEquals(\"loop12\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -630,7 +641,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"stepBack\")",
|
"expression" : "guardVarEquals(\"stepBack\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
@@ -647,7 +659,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"stepBackMore\")",
|
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 1
|
"order" : 1
|
||||||
@@ -678,7 +691,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "guardVarEquals(\"forward9\")",
|
"expression" : "guardVarEquals(\"forward9\")",
|
||||||
"isLambda" : false
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,599 @@
|
|||||||
|
{
|
||||||
|
"metadata" : {
|
||||||
|
"triggers" : [ ],
|
||||||
|
"entryPoints" : [ ],
|
||||||
|
"callChains" : [ ],
|
||||||
|
"properties" : {
|
||||||
|
"spring.application.name" : "statemachinedemo"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name" : "click.kamil.examples.statemachine.complex.ComplexStateMachineConfig",
|
||||||
|
"renderChoicesAsDiamonds" : true,
|
||||||
|
"startStates" : [ "States.STATE1" ],
|
||||||
|
"transitions" : [ {
|
||||||
|
"type" : "EXTERNAL",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE1",
|
||||||
|
"fullIdentifier" : "States.STATE1"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE2",
|
||||||
|
"fullIdentifier" : "States.STATE2"
|
||||||
|
} ],
|
||||||
|
"event" : "Events.EVENT1",
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : null
|
||||||
|
}, {
|
||||||
|
"type" : "EXTERNAL",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE2",
|
||||||
|
"fullIdentifier" : "States.STATE2"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE3",
|
||||||
|
"fullIdentifier" : "States.STATE3"
|
||||||
|
} ],
|
||||||
|
"event" : "Events.EVENT2",
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : null
|
||||||
|
}, {
|
||||||
|
"type" : "EXTERNAL",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE3",
|
||||||
|
"fullIdentifier" : "States.STATE3"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE4",
|
||||||
|
"fullIdentifier" : "States.STATE4"
|
||||||
|
} ],
|
||||||
|
"event" : "Events.EVENT3",
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : null
|
||||||
|
}, {
|
||||||
|
"type" : "EXTERNAL",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE4",
|
||||||
|
"fullIdentifier" : "States.STATE4"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE5",
|
||||||
|
"fullIdentifier" : "States.STATE5"
|
||||||
|
} ],
|
||||||
|
"event" : "Events.EVENT4",
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : null
|
||||||
|
}, {
|
||||||
|
"type" : "EXTERNAL",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE5",
|
||||||
|
"fullIdentifier" : "States.STATE5"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE6",
|
||||||
|
"fullIdentifier" : "States.STATE6"
|
||||||
|
} ],
|
||||||
|
"event" : "Events.EVENT5",
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : null
|
||||||
|
}, {
|
||||||
|
"type" : "EXTERNAL",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE6",
|
||||||
|
"fullIdentifier" : "States.STATE6"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE7",
|
||||||
|
"fullIdentifier" : "States.STATE7"
|
||||||
|
} ],
|
||||||
|
"event" : "Events.EVENT6",
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : null
|
||||||
|
}, {
|
||||||
|
"type" : "EXTERNAL",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE7",
|
||||||
|
"fullIdentifier" : "States.STATE7"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE8",
|
||||||
|
"fullIdentifier" : "States.STATE8"
|
||||||
|
} ],
|
||||||
|
"event" : "Events.EVENT7",
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : null
|
||||||
|
}, {
|
||||||
|
"type" : "EXTERNAL",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE8",
|
||||||
|
"fullIdentifier" : "States.STATE8"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE9",
|
||||||
|
"fullIdentifier" : "States.STATE9"
|
||||||
|
} ],
|
||||||
|
"event" : "Events.EVENT8",
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : null
|
||||||
|
}, {
|
||||||
|
"type" : "EXTERNAL",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE9",
|
||||||
|
"fullIdentifier" : "States.STATE9"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE10",
|
||||||
|
"fullIdentifier" : "States.STATE10"
|
||||||
|
} ],
|
||||||
|
"event" : "Events.EVENT9",
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : null
|
||||||
|
}, {
|
||||||
|
"type" : "EXTERNAL",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE10",
|
||||||
|
"fullIdentifier" : "States.STATE10"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE11",
|
||||||
|
"fullIdentifier" : "States.STATE11"
|
||||||
|
} ],
|
||||||
|
"event" : "Events.EVENT10",
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : null
|
||||||
|
}, {
|
||||||
|
"type" : "EXTERNAL",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE11",
|
||||||
|
"fullIdentifier" : "States.STATE11"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE12",
|
||||||
|
"fullIdentifier" : "States.STATE12"
|
||||||
|
} ],
|
||||||
|
"event" : "Events.EVENT11",
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : null
|
||||||
|
}, {
|
||||||
|
"type" : "EXTERNAL",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE12",
|
||||||
|
"fullIdentifier" : "States.STATE12"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE13",
|
||||||
|
"fullIdentifier" : "States.STATE13"
|
||||||
|
} ],
|
||||||
|
"event" : "Events.EVENT12",
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : null
|
||||||
|
}, {
|
||||||
|
"type" : "EXTERNAL",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE13",
|
||||||
|
"fullIdentifier" : "States.STATE13"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE14",
|
||||||
|
"fullIdentifier" : "States.STATE14"
|
||||||
|
} ],
|
||||||
|
"event" : "Events.EVENT13",
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : null
|
||||||
|
}, {
|
||||||
|
"type" : "EXTERNAL",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE14",
|
||||||
|
"fullIdentifier" : "States.STATE14"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE15",
|
||||||
|
"fullIdentifier" : "States.STATE15"
|
||||||
|
} ],
|
||||||
|
"event" : "Events.EVENT14",
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : null
|
||||||
|
}, {
|
||||||
|
"type" : "EXTERNAL",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE15",
|
||||||
|
"fullIdentifier" : "States.STATE15"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE16",
|
||||||
|
"fullIdentifier" : "States.STATE16"
|
||||||
|
} ],
|
||||||
|
"event" : "Events.EVENT15",
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : null
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE16",
|
||||||
|
"fullIdentifier" : "States.STATE16"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE17",
|
||||||
|
"fullIdentifier" : "States.STATE17"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : {
|
||||||
|
"expression" : "guardVarEquals(\"value1\")",
|
||||||
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
|
},
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 0
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE16",
|
||||||
|
"fullIdentifier" : "States.STATE16"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE18",
|
||||||
|
"fullIdentifier" : "States.STATE18"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : {
|
||||||
|
"expression" : "guardVarEquals(\"value2\")",
|
||||||
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
|
},
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 1
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE16",
|
||||||
|
"fullIdentifier" : "States.STATE16"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE19",
|
||||||
|
"fullIdentifier" : "States.STATE19"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 2
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE17",
|
||||||
|
"fullIdentifier" : "States.STATE17"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE20",
|
||||||
|
"fullIdentifier" : "States.STATE20"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : {
|
||||||
|
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||||
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
|
},
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 0
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE17",
|
||||||
|
"fullIdentifier" : "States.STATE17"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE16",
|
||||||
|
"fullIdentifier" : "States.STATE16"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 1
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE18",
|
||||||
|
"fullIdentifier" : "States.STATE18"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE19",
|
||||||
|
"fullIdentifier" : "States.STATE19"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : {
|
||||||
|
"expression" : "guardVarEquals(\"value3\")",
|
||||||
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
|
},
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 0
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE18",
|
||||||
|
"fullIdentifier" : "States.STATE18"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE20",
|
||||||
|
"fullIdentifier" : "States.STATE20"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 1
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE19",
|
||||||
|
"fullIdentifier" : "States.STATE19"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE1",
|
||||||
|
"fullIdentifier" : "States.STATE1"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : {
|
||||||
|
"expression" : "guardVarEquals(\"reset\")",
|
||||||
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
|
},
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 0
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE19",
|
||||||
|
"fullIdentifier" : "States.STATE19"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE20",
|
||||||
|
"fullIdentifier" : "States.STATE20"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 1
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE20",
|
||||||
|
"fullIdentifier" : "States.STATE20"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE5",
|
||||||
|
"fullIdentifier" : "States.STATE5"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : {
|
||||||
|
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
||||||
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
|
},
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 0
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE20",
|
||||||
|
"fullIdentifier" : "States.STATE20"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE1",
|
||||||
|
"fullIdentifier" : "States.STATE1"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 1
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE11",
|
||||||
|
"fullIdentifier" : "States.STATE11"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE13",
|
||||||
|
"fullIdentifier" : "States.STATE13"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : {
|
||||||
|
"expression" : "guardVarEquals(\"goTo13\")",
|
||||||
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
|
},
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 0
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE11",
|
||||||
|
"fullIdentifier" : "States.STATE11"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE14",
|
||||||
|
"fullIdentifier" : "States.STATE14"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : {
|
||||||
|
"expression" : "guardVarEquals(\"goTo14\")",
|
||||||
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
|
},
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 1
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE11",
|
||||||
|
"fullIdentifier" : "States.STATE11"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE15",
|
||||||
|
"fullIdentifier" : "States.STATE15"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 2
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE12",
|
||||||
|
"fullIdentifier" : "States.STATE12"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE10",
|
||||||
|
"fullIdentifier" : "States.STATE10"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : {
|
||||||
|
"expression" : "guardVarEquals(\"goBack10\")",
|
||||||
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
|
},
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 0
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE12",
|
||||||
|
"fullIdentifier" : "States.STATE12"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE11",
|
||||||
|
"fullIdentifier" : "States.STATE11"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 1
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE14",
|
||||||
|
"fullIdentifier" : "States.STATE14"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE12",
|
||||||
|
"fullIdentifier" : "States.STATE12"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : {
|
||||||
|
"expression" : "guardVarEquals(\"loop12\")",
|
||||||
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
|
},
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 0
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE14",
|
||||||
|
"fullIdentifier" : "States.STATE14"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE16",
|
||||||
|
"fullIdentifier" : "States.STATE16"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 1
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE9",
|
||||||
|
"fullIdentifier" : "States.STATE9"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE8",
|
||||||
|
"fullIdentifier" : "States.STATE8"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : {
|
||||||
|
"expression" : "guardVarEquals(\"stepBack\")",
|
||||||
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
|
},
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 0
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE9",
|
||||||
|
"fullIdentifier" : "States.STATE9"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE7",
|
||||||
|
"fullIdentifier" : "States.STATE7"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : {
|
||||||
|
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||||
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
|
},
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 1
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE9",
|
||||||
|
"fullIdentifier" : "States.STATE9"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE6",
|
||||||
|
"fullIdentifier" : "States.STATE6"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 2
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE8",
|
||||||
|
"fullIdentifier" : "States.STATE8"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE9",
|
||||||
|
"fullIdentifier" : "States.STATE9"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : {
|
||||||
|
"expression" : "guardVarEquals(\"forward9\")",
|
||||||
|
"isLambda" : false,
|
||||||
|
"internalLogic" : null
|
||||||
|
},
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 0
|
||||||
|
}, {
|
||||||
|
"type" : "CHOICE",
|
||||||
|
"sourceStates" : [ {
|
||||||
|
"rawName" : "States.STATE8",
|
||||||
|
"fullIdentifier" : "States.STATE8"
|
||||||
|
} ],
|
||||||
|
"targetStates" : [ {
|
||||||
|
"rawName" : "States.STATE10",
|
||||||
|
"fullIdentifier" : "States.STATE10"
|
||||||
|
} ],
|
||||||
|
"event" : null,
|
||||||
|
"guard" : null,
|
||||||
|
"actions" : [ ],
|
||||||
|
"order" : 1
|
||||||
|
} ],
|
||||||
|
"endStates" : [ ]
|
||||||
|
}
|
||||||
File diff suppressed because one or more lines are too long
@@ -293,7 +293,8 @@
|
|||||||
"event" : null,
|
"event" : null,
|
||||||
"guard" : {
|
"guard" : {
|
||||||
"expression" : "(c) -> true",
|
"expression" : "(c) -> true",
|
||||||
"isLambda" : true
|
"isLambda" : true,
|
||||||
|
"internalLogic" : null
|
||||||
},
|
},
|
||||||
"actions" : [ ],
|
"actions" : [ ],
|
||||||
"order" : 0
|
"order" : 0
|
||||||
|
|||||||
@@ -50,6 +50,9 @@ public class HtmlExporterCommand implements Callable<Integer> {
|
|||||||
@Option(names = {"--open"}, description = "Automatically open the generated HTML portal in your default browser.")
|
@Option(names = {"--open"}, description = "Automatically open the generated HTML portal in your default browser.")
|
||||||
private boolean openPortal;
|
private boolean openPortal;
|
||||||
|
|
||||||
|
@Option(names = {"--no-diamonds"}, description = "Disable rendering choice pseudostates as PlantUML diamonds (render them as normal state nodes instead).")
|
||||||
|
private boolean noDiamonds;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer call() throws Exception {
|
public Integer call() throws Exception {
|
||||||
var out = spec.commandLine().getOut();
|
var out = spec.commandLine().getOut();
|
||||||
@@ -73,7 +76,9 @@ public class HtmlExporterCommand implements Callable<Integer> {
|
|||||||
// Force HTML and JSON formats for the interactive portal
|
// Force HTML and JSON formats for the interactive portal
|
||||||
List<String> formats = List.of("html", "json");
|
List<String> formats = List.of("html", "json");
|
||||||
|
|
||||||
exportService.runExporter(inputDir, outputDir, formats, true,
|
boolean renderChoicesAsDiamonds = !noDiamonds;
|
||||||
|
|
||||||
|
exportService.runExporter(inputDir, outputDir, formats, renderChoicesAsDiamonds,
|
||||||
activeProfiles != null ? activeProfiles : java.util.Collections.emptyList(),
|
activeProfiles != null ? activeProfiles : java.util.Collections.emptyList(),
|
||||||
flowsFile, machineFilter);
|
flowsFile, machineFilter);
|
||||||
|
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ public class HtmlExporter implements StateMachineExporter {
|
|||||||
public String export(String name, List<Transition> transitions, Set<String> startStates, Set<String> endStates, ExportOptions options) {
|
public String export(String name, List<Transition> transitions, Set<String> startStates, Set<String> endStates, ExportOptions options) {
|
||||||
AnalysisResult mockResult = AnalysisResult.builder()
|
AnalysisResult mockResult = AnalysisResult.builder()
|
||||||
.name(name)
|
.name(name)
|
||||||
|
.states(click.kamil.springstatemachineexporter.ast.app.TransitionStateUtils.findAllStates(transitions, startStates, endStates))
|
||||||
.transitions(transitions)
|
.transitions(transitions)
|
||||||
.startStates(startStates)
|
.startStates(startStates)
|
||||||
.endStates(endStates)
|
.endStates(endStates)
|
||||||
|
|||||||
@@ -48,6 +48,46 @@
|
|||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
resize: horizontal;
|
resize: horizontal;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
transition: width 0.3s ease, min-width 0.3s ease, padding 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar.collapsed {
|
||||||
|
width: 0 !important;
|
||||||
|
min-width: 0 !important;
|
||||||
|
border-right: none;
|
||||||
|
padding: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
resize: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#toggle-sidebar {
|
||||||
|
position: absolute;
|
||||||
|
top: 20px;
|
||||||
|
left: 20px;
|
||||||
|
z-index: 50;
|
||||||
|
background: #fff;
|
||||||
|
border: 1px solid var(--border);
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 8px;
|
||||||
|
cursor: pointer;
|
||||||
|
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
transition: all 0.2s ease;
|
||||||
|
}
|
||||||
|
#toggle-sidebar:hover {
|
||||||
|
background: #f8fafc;
|
||||||
|
border-color: var(--primary);
|
||||||
|
}
|
||||||
|
#toggle-sidebar svg {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
fill: none;
|
||||||
|
stroke: var(--text-muted);
|
||||||
|
stroke-width: 2;
|
||||||
|
stroke-linecap: round;
|
||||||
|
stroke-linejoin: round;
|
||||||
}
|
}
|
||||||
|
|
||||||
#sidebar::after {
|
#sidebar::after {
|
||||||
@@ -244,6 +284,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="main">
|
<div id="main">
|
||||||
|
<button id="toggle-sidebar" aria-label="Toggle Sidebar" title="Toggle Sidebar">
|
||||||
|
<svg viewBox="0 0 24 24"><path d="M4 6h16M4 12h16M4 18h16"></path></svg>
|
||||||
|
</button>
|
||||||
<div id="svg-container">
|
<div id="svg-container">
|
||||||
{{SVG_CONTENT}}
|
{{SVG_CONTENT}}
|
||||||
</div>
|
</div>
|
||||||
@@ -258,9 +301,22 @@
|
|||||||
let panZoomInstance;
|
let panZoomInstance;
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
const svg = document.querySelector('svg');
|
const svg = document.querySelector('#svg-container svg');
|
||||||
panZoomInstance = svgPanZoom(svg, { zoomEnabled: true, controlIconsEnabled: true, fit: true, center: true });
|
panZoomInstance = svgPanZoom(svg, { zoomEnabled: true, controlIconsEnabled: true, fit: true, center: true });
|
||||||
|
|
||||||
|
document.getElementById('toggle-sidebar').addEventListener('click', () => {
|
||||||
|
const sidebar = document.getElementById('sidebar');
|
||||||
|
sidebar.classList.toggle('collapsed');
|
||||||
|
|
||||||
|
// Re-center SVG pan-zoom after transition
|
||||||
|
setTimeout(() => {
|
||||||
|
if (panZoomInstance) {
|
||||||
|
panZoomInstance.resize();
|
||||||
|
panZoomInstance.center();
|
||||||
|
}
|
||||||
|
}, 300);
|
||||||
|
});
|
||||||
|
|
||||||
setupTabs();
|
setupTabs();
|
||||||
populateSidebar();
|
populateSidebar();
|
||||||
populateFlows();
|
populateFlows();
|
||||||
@@ -353,7 +409,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function highlightEvents(steps) {
|
function highlightEvents(steps) {
|
||||||
const svg = document.querySelector('svg');
|
const svg = document.querySelector('#svg-container svg');
|
||||||
|
|
||||||
// Dim everything first
|
// Dim everything first
|
||||||
svg.querySelectorAll('path, rect, circle, ellipse, text, polygon').forEach(el => {
|
svg.querySelectorAll('path, rect, circle, ellipse, text, polygon').forEach(el => {
|
||||||
@@ -427,7 +483,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function attachInteractivity() {
|
function attachInteractivity() {
|
||||||
const svg = document.querySelector('svg');
|
const svg = document.querySelector('#svg-container svg');
|
||||||
const transitions = metadata.transitions || [];
|
const transitions = metadata.transitions || [];
|
||||||
|
|
||||||
svg.querySelectorAll('a').forEach(link => {
|
svg.querySelectorAll('a').forEach(link => {
|
||||||
@@ -491,6 +547,21 @@
|
|||||||
if (trans && trans.guard) {
|
if (trans && trans.guard) {
|
||||||
html += `<div style="font-size:0.7rem; font-weight:800; color:#94a3b8; text-transform:uppercase; margin-bottom:4px">Guard</div>
|
html += `<div style="font-size:0.7rem; font-weight:800; color:#94a3b8; text-transform:uppercase; margin-bottom:4px">Guard</div>
|
||||||
<div style="background:#f1f5f9; padding:6px; border-radius:4px; font-family:monospace; font-size:0.8rem; margin-bottom:12px; border:1px solid #e2e8f0;">${trans.guard.expression}</div>`;
|
<div style="background:#f1f5f9; padding:6px; border-radius:4px; font-family:monospace; font-size:0.8rem; margin-bottom:12px; border:1px solid #e2e8f0;">${trans.guard.expression}</div>`;
|
||||||
|
if (trans.guard.internalLogic) {
|
||||||
|
html += `<div style="font-size:0.65rem; font-weight:800; color:#cbd5e1; text-transform:uppercase; margin-bottom:4px">Internal Logic</div>
|
||||||
|
<pre style="background:#1e293b; color:#f8fafc; padding:8px; border-radius:4px; font-family:'JetBrains Mono', monospace; font-size:0.7rem; overflow-x:auto; margin-bottom:12px;"><code>${trans.guard.internalLogic.replace(/</g, '<').replace(/>/g, '>')}</code></pre>`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (trans && trans.actions && trans.actions.length > 0) {
|
||||||
|
html += `<div style="font-size:0.7rem; font-weight:800; color:#94a3b8; text-transform:uppercase; margin-bottom:4px">Actions</div>`;
|
||||||
|
trans.actions.forEach(action => {
|
||||||
|
html += `<div style="background:#f1f5f9; padding:6px; border-radius:4px; font-family:monospace; font-size:0.8rem; margin-bottom:12px; border:1px solid #e2e8f0;">${action.expression}</div>`;
|
||||||
|
if (action.internalLogic) {
|
||||||
|
html += `<div style="font-size:0.65rem; font-weight:800; color:#cbd5e1; text-transform:uppercase; margin-bottom:4px">Internal Logic</div>
|
||||||
|
<pre style="background:#1e293b; color:#f8fafc; padding:8px; border-radius:4px; font-family:'JetBrains Mono', monospace; font-size:0.7rem; overflow-x:auto; margin-bottom:12px;"><code>${action.internalLogic.replace(/</g, '<').replace(/>/g, '>')}</code></pre>`;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (chains && chains.length > 0) {
|
if (chains && chains.length > 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user