multi pom
This commit is contained in:
@@ -87,9 +87,11 @@ public class AnalysisResult {
|
||||
ep.setName(resolver.resolveValue(ep.getName(), properties));
|
||||
}
|
||||
if (ep.getMetadata() != null) {
|
||||
Map<String, String> resolvedMeta = new java.util.HashMap<>();
|
||||
for (var entry : ep.getMetadata().entrySet()) {
|
||||
entry.setValue(resolver.resolveValue(entry.getValue(), properties));
|
||||
resolvedMeta.put(entry.getKey(), resolver.resolveValue(entry.getValue(), properties));
|
||||
}
|
||||
ep.setMetadata(resolvedMeta);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ public class EntryPoint {
|
||||
private String name; // e.g., "POST /orders" or "Kafka Topic: orders"
|
||||
private final String className;
|
||||
private final String methodName;
|
||||
private final String sourceFile;
|
||||
private Map<String, String> metadata; // e.g., path, topic, exchange
|
||||
@Builder.Default
|
||||
private final List<Parameter> parameters = java.util.Collections.emptyList();
|
||||
|
||||
@@ -15,6 +15,7 @@ public class TriggerPoint {
|
||||
private String event;
|
||||
private final String className;
|
||||
private final String methodName;
|
||||
private final String sourceFile;
|
||||
private final String sourceModule;
|
||||
private final String stateMachineId; // Optional: to link to a specific SM instance
|
||||
private final int lineNumber;
|
||||
|
||||
@@ -82,40 +82,49 @@ public class SiblingDependencyResolver {
|
||||
Set<Path> siblings = new HashSet<>();
|
||||
Path pom = projectDir.resolve("pom.xml");
|
||||
if (Files.exists(pom)) {
|
||||
log.info("Found pom.xml at {}", pom);
|
||||
String content = Files.readString(pom);
|
||||
Matcher matcher = MAVEN_DEPENDENCY.matcher(content);
|
||||
|
||||
Set<String> targetArtifacts = new HashSet<>();
|
||||
while (matcher.find()) {
|
||||
targetArtifacts.add(matcher.group(2)); // Just tracking artifactId for simplicity
|
||||
Matcher matcher = Pattern.compile("<artifactId>(.*?)</artifactId>").matcher(content);
|
||||
// We want artifacts from the <dependencies> section
|
||||
int depsStart = content.indexOf("<dependencies>");
|
||||
int depsEnd = content.indexOf("</dependencies>");
|
||||
if (depsStart != -1 && depsEnd > depsStart) {
|
||||
String depsContent = content.substring(depsStart, depsEnd);
|
||||
Matcher depMatcher = Pattern.compile("<artifactId>(.*?)</artifactId>").matcher(depsContent);
|
||||
while (depMatcher.find()) {
|
||||
targetArtifacts.add(depMatcher.group(1));
|
||||
}
|
||||
}
|
||||
log.info("Found maven target artifacts: {}", targetArtifacts);
|
||||
|
||||
if (!targetArtifacts.isEmpty()) {
|
||||
Path rootDir = findMavenRoot(projectDir);
|
||||
log.info("Resolved Maven root to: {}", rootDir);
|
||||
if (rootDir != null) {
|
||||
// Find all pom.xml files in the workspace (excluding node_modules, build, etc.)
|
||||
try (Stream<Path> paths = Files.walk(rootDir)) {
|
||||
paths.filter(p -> p.getFileName().toString().equals("pom.xml")
|
||||
&& !p.toString().contains("/target/")
|
||||
&& !p.toString().contains("/node_modules/"))
|
||||
.forEach(p -> {
|
||||
try {
|
||||
String pContent = Files.readString(p);
|
||||
Matcher artMatcher = Pattern.compile("<artifactId>(.*?)</artifactId>").matcher(pContent);
|
||||
if (artMatcher.find()) {
|
||||
String artifactId = artMatcher.group(1);
|
||||
if (targetArtifacts.contains(artifactId)) {
|
||||
Path siblingDir = p.getParent();
|
||||
// Don't add ourselves
|
||||
if (!siblingDir.equals(projectDir)) {
|
||||
log.info("Discovered local Maven sibling dependency: {}", siblingDir);
|
||||
siblings.add(siblingDir);
|
||||
}
|
||||
}
|
||||
List<Path> allPoms = paths.filter(p -> p.getFileName().toString().equals("pom.xml"))
|
||||
.filter(p -> !p.toString().contains("/target/"))
|
||||
.collect(Collectors.toList());
|
||||
log.info("Scanned {} total pom.xml files under {}", allPoms.size(), rootDir);
|
||||
|
||||
for (Path p : allPoms) {
|
||||
try {
|
||||
String pContent = Files.readString(p);
|
||||
String artifactId = extractOwnArtifactId(pContent);
|
||||
log.info("Checking artifactId {} in {}", artifactId, p);
|
||||
if (artifactId != null && targetArtifacts.contains(artifactId)) {
|
||||
Path siblingDir = p.getParent();
|
||||
if (!siblingDir.equals(projectDir)) {
|
||||
log.info("Discovered local Maven sibling dependency: {}", siblingDir);
|
||||
siblings.add(siblingDir);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// ignore
|
||||
}
|
||||
});
|
||||
} catch (IOException e) {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -123,6 +132,21 @@ public class SiblingDependencyResolver {
|
||||
return siblings;
|
||||
}
|
||||
|
||||
private String extractOwnArtifactId(String pomContent) {
|
||||
// Strip <parent> block if it exists
|
||||
String content = pomContent;
|
||||
int parentEnd = pomContent.indexOf("</parent>");
|
||||
if (parentEnd != -1) {
|
||||
content = pomContent.substring(parentEnd);
|
||||
}
|
||||
|
||||
Matcher matcher = Pattern.compile("<artifactId>(.*?)</artifactId>").matcher(content);
|
||||
if (matcher.find()) {
|
||||
return matcher.group(1);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private Path findMavenRoot(Path start) {
|
||||
Path current = start.toAbsolutePath();
|
||||
Path lastPomDir = null;
|
||||
|
||||
@@ -125,6 +125,7 @@ public class GenericEventDetector {
|
||||
.event(eventValue)
|
||||
.className(context.getFqn(type))
|
||||
.methodName(method != null ? method.getName().getIdentifier() : "initializer")
|
||||
.sourceFile(context.getRelativePath(context.getFqn(type)))
|
||||
.lineNumber(cu.getLineNumber(node.getStartPosition()))
|
||||
.build();
|
||||
}
|
||||
|
||||
@@ -26,12 +26,52 @@ public class SpringMvcDetector {
|
||||
if (isRestController(node)) {
|
||||
processController(node, entryPoints);
|
||||
}
|
||||
// Support WebFlux RouterFunction beans
|
||||
processRouterFunctions(node, entryPoints);
|
||||
return super.visit(node);
|
||||
}
|
||||
});
|
||||
return entryPoints;
|
||||
}
|
||||
|
||||
private void processRouterFunctions(TypeDeclaration td, List<EntryPoint> entryPoints) {
|
||||
for (MethodDeclaration method : td.getMethods()) {
|
||||
if (isBeanMethod(method) && method.getReturnType2() != null && method.getReturnType2().toString().contains("RouterFunction")) {
|
||||
method.accept(new ASTVisitor() {
|
||||
@Override
|
||||
public boolean visit(MethodInvocation call) {
|
||||
String name = call.getName().getIdentifier();
|
||||
String verb = getHttpVerb(name);
|
||||
if (verb != null && !call.arguments().isEmpty()) {
|
||||
Expression pathArg = (Expression) call.arguments().get(0);
|
||||
String path = constantResolver.resolve(pathArg, context);
|
||||
if (path == null) path = pathArg.toString().replaceAll("\"", "");
|
||||
|
||||
entryPoints.add(EntryPoint.builder()
|
||||
.type(EntryPoint.Type.REST)
|
||||
.name(verb + " " + path)
|
||||
.className(context.getFqn(td))
|
||||
.methodName(method.getName().getIdentifier())
|
||||
.sourceFile(context.getRelativePath(context.getFqn(td)))
|
||||
.metadata(Map.of("path", path, "verb", verb, "style", "WebFlux Functional"))
|
||||
.build());
|
||||
}
|
||||
return super.visit(call);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isBeanMethod(MethodDeclaration method) {
|
||||
for (Object mod : method.modifiers()) {
|
||||
if (mod instanceof Annotation ann && ann.getTypeName().getFullyQualifiedName().endsWith("Bean")) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean isRestController(TypeDeclaration node) {
|
||||
for (Object modifier : node.modifiers()) {
|
||||
if (modifier instanceof Annotation annotation) {
|
||||
@@ -123,6 +163,7 @@ public class SpringMvcDetector {
|
||||
.name(verb + " " + fullPath)
|
||||
.className(context.getFqn(controller))
|
||||
.methodName(method.getName().getIdentifier())
|
||||
.sourceFile(context.getRelativePath(context.getFqn(controller)))
|
||||
.metadata(metadata)
|
||||
.parameters(parameters)
|
||||
.build();
|
||||
|
||||
@@ -7,19 +7,7 @@ import click.kamil.springstatemachineexporter.model.State;
|
||||
import click.kamil.springstatemachineexporter.model.Transition;
|
||||
import click.kamil.springstatemachineexporter.model.TransitionType;
|
||||
import click.kamil.springstatemachineexporter.ast.common.CodebaseContext;
|
||||
import org.eclipse.jdt.core.dom.ASTVisitor;
|
||||
import org.eclipse.jdt.core.dom.ClassInstanceCreation;
|
||||
import org.eclipse.jdt.core.dom.CompilationUnit;
|
||||
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.MethodDeclaration;
|
||||
import org.eclipse.jdt.core.dom.MethodInvocation;
|
||||
import org.eclipse.jdt.core.dom.SimpleName;
|
||||
import org.eclipse.jdt.core.dom.ITypeBinding;
|
||||
import org.eclipse.jdt.core.dom.MethodReference;
|
||||
import org.eclipse.jdt.core.dom.TypeDeclaration;
|
||||
import org.eclipse.jdt.core.dom.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
@@ -290,11 +278,30 @@ public class AstTransitionParser {
|
||||
for (MethodDeclaration md : td.getMethods()) {
|
||||
if (md.getName().getIdentifier().equals(binding.getName()) &&
|
||||
md.parameters().size() == binding.getParameterTypes().length) {
|
||||
|
||||
// Special case: if it's a getter/factory for Action/Guard, look into the return statement
|
||||
if (md.getBody() != null) {
|
||||
if (md.getBody().statements().size() == 1) {
|
||||
Object stmt = md.getBody().statements().get(0);
|
||||
if (stmt instanceof org.eclipse.jdt.core.dom.ReturnStatement rs) {
|
||||
Expression retExpr = rs.getExpression();
|
||||
if (isLambdaOrAnonymous(retExpr)) {
|
||||
return retExpr.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return md.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// FALLBACK: Manual resolution by name if binding failed
|
||||
TypeDeclaration currentClass = findEnclosingType(mi);
|
||||
if (currentClass != null) {
|
||||
return resolveMethodManually(mi.getName().getIdentifier(), currentClass, context);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -322,12 +329,55 @@ public class AstTransitionParser {
|
||||
return null;
|
||||
}
|
||||
|
||||
private static String resolveMethodManually(String methodName, TypeDeclaration td, CodebaseContext context) {
|
||||
// Search in this class
|
||||
for (MethodDeclaration md : td.getMethods()) {
|
||||
if (md.getName().getIdentifier().equals(methodName)) {
|
||||
// Found it. Apply the return-statement-extraction logic here too
|
||||
if (md.getBody() != null && md.getBody().statements().size() == 1) {
|
||||
Object stmt = md.getBody().statements().get(0);
|
||||
if (stmt instanceof org.eclipse.jdt.core.dom.ReturnStatement rs) {
|
||||
Expression retExpr = rs.getExpression();
|
||||
if (isLambdaOrAnonymous(retExpr)) {
|
||||
return retExpr.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
return md.toString();
|
||||
}
|
||||
}
|
||||
|
||||
// Search in superclass
|
||||
if (td.getSuperclassType() != null) {
|
||||
String superName = td.getSuperclassType().toString();
|
||||
// Try to resolve simple name to FQN if possible, or just search by simple name
|
||||
TypeDeclaration superTd = context.getTypeDeclaration(superName);
|
||||
if (superTd != null) {
|
||||
return resolveMethodManually(methodName, superTd, context);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private static TypeDeclaration findEnclosingType(ASTNode node) {
|
||||
ASTNode current = node;
|
||||
while (current != null) {
|
||||
if (current instanceof TypeDeclaration td) return td;
|
||||
current = current.getParent();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static void parseGuard(Object arg, Transition t, CompilationUnit cu, CodebaseContext context) {
|
||||
QuotedExpression quotedExpr = QuotedExpression.of(arg);
|
||||
if (quotedExpr != null) {
|
||||
String internalLogic = extractInternalLogic(quotedExpr.getExpression(), cu, context);
|
||||
int lineNumber = cu.getLineNumber(quotedExpr.getExpression().getStartPosition());
|
||||
t.setGuard(Guard.of(quotedExpr.toStringWithoutQuotes(), isLambdaOrAnonymous(quotedExpr.getExpression()), internalLogic, lineNumber));
|
||||
TypeDeclaration td = findEnclosingType(quotedExpr.getExpression());
|
||||
String fqn = td != null ? context.getFqn(td) : null;
|
||||
String sourceFile = fqn != null ? context.getRelativePath(fqn) : null;
|
||||
t.setGuard(Guard.of(quotedExpr.toStringWithoutQuotes(), isLambdaOrAnonymous(quotedExpr.getExpression()), internalLogic, lineNumber, fqn, sourceFile));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -336,7 +386,10 @@ public class AstTransitionParser {
|
||||
if (quotedExpr != null) {
|
||||
String internalLogic = extractInternalLogic(quotedExpr.getExpression(), cu, context);
|
||||
int lineNumber = cu.getLineNumber(quotedExpr.getExpression().getStartPosition());
|
||||
t.getActions().add(Action.of(quotedExpr.toStringWithoutQuotes(), isLambdaOrAnonymous(quotedExpr.getExpression()), internalLogic, lineNumber));
|
||||
TypeDeclaration td = findEnclosingType(quotedExpr.getExpression());
|
||||
String fqn = td != null ? context.getFqn(td) : null;
|
||||
String sourceFile = fqn != null ? context.getRelativePath(fqn) : null;
|
||||
t.getActions().add(Action.of(quotedExpr.toStringWithoutQuotes(), isLambdaOrAnonymous(quotedExpr.getExpression()), internalLogic, lineNumber, fqn, sourceFile));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,9 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
public class CodebaseContext {
|
||||
private final Map<String, CompilationUnit> classes = new HashMap<>();
|
||||
private final Map<String, Path> classPaths = new HashMap<>();
|
||||
@@ -30,6 +32,23 @@ public class CodebaseContext {
|
||||
private Map<String, Map<String, String>> allProperties = new HashMap<>();
|
||||
private List<LibraryHint> libraryHints = new ArrayList<>();
|
||||
private final ObjectMapper objectMapper = new ObjectMapper();
|
||||
private Path projectRoot;
|
||||
|
||||
public void setProjectRoot(Path root) {
|
||||
this.projectRoot = root;
|
||||
}
|
||||
|
||||
public String getRelativePath(Path fullPath) {
|
||||
if (projectRoot != null && fullPath.isAbsolute() && fullPath.startsWith(projectRoot)) {
|
||||
return projectRoot.relativize(fullPath).toString();
|
||||
}
|
||||
return fullPath.getFileName().toString();
|
||||
}
|
||||
|
||||
public String getRelativePath(String fqn) {
|
||||
Path path = classPaths.get(fqn);
|
||||
return path != null ? getRelativePath(path) : null;
|
||||
}
|
||||
|
||||
public void loadLibraryHints(Path hintsFile) throws IOException {
|
||||
if (Files.exists(hintsFile)) {
|
||||
@@ -83,9 +102,10 @@ public class CodebaseContext {
|
||||
activeIgnore.addAll(customIgnorePatterns);
|
||||
|
||||
List<Path> javaFiles = FileUtils.findFilesWithExtension(rootDirs, ".java", activeIgnore);
|
||||
log.info("CodebaseContext found {} java files across {} root directories", javaFiles.size(), rootDirs.size());
|
||||
for (Path javaFile : javaFiles) {
|
||||
String source = Files.readString(javaFile);
|
||||
CompilationUnit cu = parse(source, javaFile.getFileName().toString());
|
||||
CompilationUnit cu = parse(source, javaFile.toAbsolutePath().toString());
|
||||
allCus.add(cu);
|
||||
|
||||
String packageName = cu.getPackage() != null ? cu.getPackage().getName().getFullyQualifiedName() : "";
|
||||
@@ -97,9 +117,9 @@ public class CodebaseContext {
|
||||
}
|
||||
}
|
||||
|
||||
private void indexType(TypeDeclaration td, String packageName, Path javaFile) {
|
||||
private void indexType(TypeDeclaration td, String parentFqn, Path javaFile) {
|
||||
String simpleName = td.getName().getIdentifier();
|
||||
String fqn = packageName.isEmpty() ? simpleName : packageName + "." + simpleName;
|
||||
String fqn = parentFqn.isEmpty() ? simpleName : parentFqn + "." + simpleName;
|
||||
|
||||
classes.put(fqn, (CompilationUnit) td.getRoot());
|
||||
classPaths.put(fqn, javaFile);
|
||||
@@ -118,6 +138,13 @@ public class CodebaseContext {
|
||||
String itfName = itf.toString();
|
||||
interfaceToImpls.computeIfAbsent(itfName, k -> new ArrayList<>()).add(fqn);
|
||||
}
|
||||
|
||||
// Recursively index nested types
|
||||
for (Object type : td.getTypes()) {
|
||||
if (type instanceof TypeDeclaration nestedTd) {
|
||||
indexType(nestedTd, fqn, javaFile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public List<String> getImplementations(String interfaceName) {
|
||||
@@ -320,25 +347,38 @@ public class CodebaseContext {
|
||||
}
|
||||
|
||||
public String getFqn(TypeDeclaration td) {
|
||||
StringBuilder sb = new StringBuilder(td.getName().getIdentifier());
|
||||
ASTNode current = td.getParent();
|
||||
while (current instanceof TypeDeclaration parent) {
|
||||
sb.insert(0, parent.getName().getIdentifier() + ".");
|
||||
current = parent.getParent();
|
||||
}
|
||||
|
||||
CompilationUnit cu = (CompilationUnit) td.getRoot();
|
||||
String packageName = cu.getPackage() != null ? cu.getPackage().getName().getFullyQualifiedName() : "";
|
||||
String simpleName = td.getName().getIdentifier();
|
||||
return packageName.isEmpty() ? simpleName : packageName + "." + simpleName;
|
||||
String fqn = sb.toString();
|
||||
return packageName.isEmpty() ? fqn : packageName + "." + fqn;
|
||||
}
|
||||
|
||||
private TypeDeclaration findTypeInCu(CompilationUnit cu, String fqn) {
|
||||
String packageName = cu.getPackage() != null ? cu.getPackage().getName().getFullyQualifiedName() : "";
|
||||
for (Object type : cu.types()) {
|
||||
if (type instanceof TypeDeclaration td) {
|
||||
String simpleName = td.getName().getIdentifier();
|
||||
String typeFqn = packageName.isEmpty() ? simpleName : packageName + "." + simpleName;
|
||||
if (typeFqn.equals(fqn))
|
||||
return td;
|
||||
TypeDeclaration found = findNestedType(td, fqn);
|
||||
if (found != null) return found;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private TypeDeclaration findNestedType(TypeDeclaration td, String targetFqn) {
|
||||
if (getFqn(td).equals(targetFqn)) return td;
|
||||
for (TypeDeclaration nested : td.getTypes()) {
|
||||
TypeDeclaration found = findNestedType(nested, targetFqn);
|
||||
if (found != null) return found;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public Path getPath(String className) {
|
||||
return classPaths.get(className);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package click.kamil.springstatemachineexporter.model;
|
||||
|
||||
public record Action(String expression, boolean isLambda, String internalLogic, Integer lineNumber) {
|
||||
public static Action of(String expression, boolean isLambda, String internalLogic, Integer lineNumber) {
|
||||
return expression != null ? new Action(expression, isLambda, internalLogic, lineNumber) : null;
|
||||
public record Action(String expression, boolean isLambda, String internalLogic, Integer lineNumber, String className, String sourceFile) {
|
||||
public static Action of(String expression, boolean isLambda, String internalLogic, Integer lineNumber, String className, String sourceFile) {
|
||||
return expression != null ? new Action(expression, isLambda, internalLogic, lineNumber, className, sourceFile) : null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package click.kamil.springstatemachineexporter.model;
|
||||
|
||||
public record Guard(String expression, boolean isLambda, String internalLogic, Integer lineNumber) {
|
||||
public static Guard of(String expression, boolean isLambda, String internalLogic, Integer lineNumber) {
|
||||
return expression != null ? new Guard(expression, isLambda, internalLogic, lineNumber) : null;
|
||||
public record Guard(String expression, boolean isLambda, String internalLogic, Integer lineNumber, String className, String sourceFile) {
|
||||
public static Guard of(String expression, boolean isLambda, String internalLogic, Integer lineNumber, String className, String sourceFile) {
|
||||
return expression != null ? new Guard(expression, isLambda, internalLogic, lineNumber, className, sourceFile) : null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,10 +68,23 @@ public class ExportService {
|
||||
allPaths.add(inputDir);
|
||||
allPaths.addAll(siblingResolver.resolveSiblings(inputDir));
|
||||
|
||||
context.setSourcepath(allPaths.stream()
|
||||
// Find project root (common ancestor)
|
||||
Path projectRoot = inputDir.toAbsolutePath();
|
||||
for (Path p : allPaths) {
|
||||
Path ap = p.toAbsolutePath();
|
||||
while (projectRoot != null && !ap.startsWith(projectRoot)) {
|
||||
projectRoot = projectRoot.getParent();
|
||||
}
|
||||
}
|
||||
context.setProjectRoot(projectRoot);
|
||||
log.info("Project root resolved to: {}", projectRoot);
|
||||
|
||||
List<String> sourcepaths = allPaths.stream()
|
||||
.map(p -> p.resolve("src/main/java").toString())
|
||||
.filter(p -> Files.exists(Path.of(p)))
|
||||
.collect(Collectors.toList()));
|
||||
.collect(Collectors.toList());
|
||||
log.info("Setting JDT sourcepath: {}", sourcepaths);
|
||||
context.setSourcepath(sourcepaths);
|
||||
context.setResolveBindings(true);
|
||||
|
||||
Path hintsFile = inputDir.resolve("hints.json");
|
||||
|
||||
@@ -131,6 +131,12 @@ public class RegressionTest {
|
||||
root.resolve("state_machines/multi_module_sample/core-module"),
|
||||
Path.of("src/test/resources/golden/OrderStateMachineConfig"),
|
||||
"OrderStateMachineConfig"
|
||||
),
|
||||
new TestScenario(
|
||||
"Maven Multi-Module Sample",
|
||||
root.resolve("state_machines/maven_multi_module/core-module"),
|
||||
Path.of("src/test/resources/golden/MavenOrderStateMachine"),
|
||||
"MavenOrderStateMachine"
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -236,8 +236,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value1\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 86
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 86,
|
||||
"className" : "click.kamil.examples.statemachine.complex.ComplexStateMachineConfig",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/complex/ComplexStateMachineConfig.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -255,8 +257,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value2\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 87
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 87,
|
||||
"className" : "click.kamil.examples.statemachine.complex.ComplexStateMachineConfig",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/complex/ComplexStateMachineConfig.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -288,8 +292,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 92
|
||||
"internalLogic" : "context -> {\n Object header=context.getMessageHeader(headerName);\n return expected.equals(header);\n}\n",
|
||||
"lineNumber" : 92,
|
||||
"className" : "click.kamil.examples.statemachine.complex.ComplexStateMachineConfig",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/complex/ComplexStateMachineConfig.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -321,8 +327,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value3\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 97
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 97,
|
||||
"className" : "click.kamil.examples.statemachine.complex.ComplexStateMachineConfig",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/complex/ComplexStateMachineConfig.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -354,8 +362,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"reset\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 102
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 102,
|
||||
"className" : "click.kamil.examples.statemachine.complex.ComplexStateMachineConfig",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/complex/ComplexStateMachineConfig.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -387,8 +397,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 107
|
||||
"internalLogic" : "context -> {\n Object header=context.getMessageHeader(headerName);\n return expected.equals(header);\n}\n",
|
||||
"lineNumber" : 107,
|
||||
"className" : "click.kamil.examples.statemachine.complex.ComplexStateMachineConfig",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/complex/ComplexStateMachineConfig.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -420,8 +432,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goTo13\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 112
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 112,
|
||||
"className" : "click.kamil.examples.statemachine.complex.ComplexStateMachineConfig",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/complex/ComplexStateMachineConfig.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -439,8 +453,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goTo14\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 113
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 113,
|
||||
"className" : "click.kamil.examples.statemachine.complex.ComplexStateMachineConfig",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/complex/ComplexStateMachineConfig.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -472,8 +488,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goBack10\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 118
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 118,
|
||||
"className" : "click.kamil.examples.statemachine.complex.ComplexStateMachineConfig",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/complex/ComplexStateMachineConfig.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -505,8 +523,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"loop12\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 123
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 123,
|
||||
"className" : "click.kamil.examples.statemachine.complex.ComplexStateMachineConfig",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/complex/ComplexStateMachineConfig.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -538,8 +558,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"stepBack\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 128
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 128,
|
||||
"className" : "click.kamil.examples.statemachine.complex.ComplexStateMachineConfig",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/complex/ComplexStateMachineConfig.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -557,8 +579,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 129
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 129,
|
||||
"className" : "click.kamil.examples.statemachine.complex.ComplexStateMachineConfig",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/complex/ComplexStateMachineConfig.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -590,8 +614,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"forward9\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 134
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 134,
|
||||
"className" : "click.kamil.examples.statemachine.complex.ComplexStateMachineConfig",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/complex/ComplexStateMachineConfig.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"event" : "AUDIT_EVENT",
|
||||
"className" : "click.kamil.examples.enterprise.api.SecurityInterceptor",
|
||||
"methodName" : "preHandle",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/SecurityInterceptor.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 17
|
||||
@@ -11,6 +12,7 @@
|
||||
"event" : "PLACE_ORDER",
|
||||
"className" : "click.kamil.examples.enterprise.service.OrderServiceImpl",
|
||||
"methodName" : "place",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/service/OrderServiceImpl.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 16
|
||||
@@ -18,6 +20,7 @@
|
||||
"event" : "CANCEL_ORDER",
|
||||
"className" : "click.kamil.examples.enterprise.service.OrderServiceImpl",
|
||||
"methodName" : "cancel",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/service/OrderServiceImpl.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 21
|
||||
@@ -25,6 +28,7 @@
|
||||
"event" : "PAY_ORDER",
|
||||
"className" : "click.kamil.examples.enterprise.service.ReactivePaymentService",
|
||||
"methodName" : "processPayment",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/service/ReactivePaymentService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 18
|
||||
@@ -32,6 +36,7 @@
|
||||
"event" : "SHIP_ORDER",
|
||||
"className" : "click.kamil.examples.enterprise.messaging.ShippingJmsListener",
|
||||
"methodName" : "onShippingReady",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/messaging/ShippingJmsListener.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 17
|
||||
@@ -39,6 +44,7 @@
|
||||
"event" : "RETURN_ORDER",
|
||||
"className" : "click.kamil.examples.enterprise.messaging.ReturnsRabbitListener",
|
||||
"methodName" : "onReturn",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/messaging/ReturnsRabbitListener.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 17
|
||||
@@ -48,6 +54,7 @@
|
||||
"name" : "POST /api/enterprise/orders/place",
|
||||
"className" : "click.kamil.examples.enterprise.api.OrderApi",
|
||||
"methodName" : "placeOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/OrderApi.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/enterprise/orders/place",
|
||||
"verb" : "POST"
|
||||
@@ -58,6 +65,7 @@
|
||||
"name" : "POST /api/enterprise/orders/{id}/cancel",
|
||||
"className" : "click.kamil.examples.enterprise.api.OrderApi",
|
||||
"methodName" : "cancelOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/OrderApi.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/enterprise/orders/{id}/cancel",
|
||||
"verb" : "POST"
|
||||
@@ -72,6 +80,7 @@
|
||||
"name" : "POST /api/enterprise/orders/place",
|
||||
"className" : "click.kamil.examples.enterprise.api.OrderController",
|
||||
"methodName" : "placeOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/enterprise/orders/place",
|
||||
"verb" : "POST"
|
||||
@@ -82,6 +91,7 @@
|
||||
"name" : "POST /api/enterprise/orders/{id}/cancel",
|
||||
"className" : "click.kamil.examples.enterprise.api.OrderController",
|
||||
"methodName" : "cancelOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/enterprise/orders/{id}/cancel",
|
||||
"verb" : "POST"
|
||||
@@ -96,6 +106,7 @@
|
||||
"name" : "INTERCEPTOR: SecurityInterceptor.preHandle",
|
||||
"className" : "click.kamil.examples.enterprise.api.SecurityInterceptor",
|
||||
"methodName" : "preHandle",
|
||||
"sourceFile" : null,
|
||||
"metadata" : {
|
||||
"interceptorType" : "Spring MVC Interceptor"
|
||||
},
|
||||
@@ -105,6 +116,7 @@
|
||||
"name" : "POST /api/enterprise/payments",
|
||||
"className" : "click.kamil.examples.enterprise.api.ReactivePaymentController",
|
||||
"methodName" : "pay",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/ReactivePaymentController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/enterprise/payments",
|
||||
"verb" : "POST"
|
||||
@@ -119,6 +131,7 @@
|
||||
"name" : "JMS: shipping.queue",
|
||||
"className" : "click.kamil.examples.enterprise.messaging.ShippingJmsListener",
|
||||
"methodName" : "onShippingReady",
|
||||
"sourceFile" : null,
|
||||
"metadata" : {
|
||||
"protocol" : "JMS",
|
||||
"destination" : "shipping.queue"
|
||||
@@ -133,6 +146,7 @@
|
||||
"name" : "RABBIT: returns.queue",
|
||||
"className" : "click.kamil.examples.enterprise.messaging.ReturnsRabbitListener",
|
||||
"methodName" : "onReturn",
|
||||
"sourceFile" : null,
|
||||
"metadata" : {
|
||||
"protocol" : "RABBIT",
|
||||
"destination" : "returns.queue"
|
||||
@@ -149,6 +163,7 @@
|
||||
"name" : "POST /api/enterprise/orders/place",
|
||||
"className" : "click.kamil.examples.enterprise.api.OrderController",
|
||||
"methodName" : "placeOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/enterprise/orders/place",
|
||||
"verb" : "POST"
|
||||
@@ -160,6 +175,7 @@
|
||||
"event" : "PLACE_ORDER",
|
||||
"className" : "click.kamil.examples.enterprise.service.OrderServiceImpl",
|
||||
"methodName" : "place",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/service/OrderServiceImpl.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 16
|
||||
@@ -170,6 +186,7 @@
|
||||
"name" : "POST /api/enterprise/orders/{id}/cancel",
|
||||
"className" : "click.kamil.examples.enterprise.api.OrderController",
|
||||
"methodName" : "cancelOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/enterprise/orders/{id}/cancel",
|
||||
"verb" : "POST"
|
||||
@@ -185,6 +202,7 @@
|
||||
"event" : "CANCEL_ORDER",
|
||||
"className" : "click.kamil.examples.enterprise.service.OrderServiceImpl",
|
||||
"methodName" : "cancel",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/service/OrderServiceImpl.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 21
|
||||
@@ -195,6 +213,7 @@
|
||||
"name" : "INTERCEPTOR: SecurityInterceptor.preHandle",
|
||||
"className" : "click.kamil.examples.enterprise.api.SecurityInterceptor",
|
||||
"methodName" : "preHandle",
|
||||
"sourceFile" : null,
|
||||
"metadata" : {
|
||||
"interceptorType" : "Spring MVC Interceptor"
|
||||
},
|
||||
@@ -205,6 +224,7 @@
|
||||
"event" : "AUDIT_EVENT",
|
||||
"className" : "click.kamil.examples.enterprise.api.SecurityInterceptor",
|
||||
"methodName" : "preHandle",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/SecurityInterceptor.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 17
|
||||
@@ -215,6 +235,7 @@
|
||||
"name" : "POST /api/enterprise/payments",
|
||||
"className" : "click.kamil.examples.enterprise.api.ReactivePaymentController",
|
||||
"methodName" : "pay",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/ReactivePaymentController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/enterprise/payments",
|
||||
"verb" : "POST"
|
||||
@@ -230,6 +251,7 @@
|
||||
"event" : "PAY_ORDER",
|
||||
"className" : "click.kamil.examples.enterprise.service.ReactivePaymentService",
|
||||
"methodName" : "processPayment",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/service/ReactivePaymentService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 18
|
||||
@@ -240,6 +262,7 @@
|
||||
"name" : "JMS: shipping.queue",
|
||||
"className" : "click.kamil.examples.enterprise.messaging.ShippingJmsListener",
|
||||
"methodName" : "onShippingReady",
|
||||
"sourceFile" : null,
|
||||
"metadata" : {
|
||||
"protocol" : "JMS",
|
||||
"destination" : "shipping.queue"
|
||||
@@ -255,6 +278,7 @@
|
||||
"event" : "SHIP_ORDER",
|
||||
"className" : "click.kamil.examples.enterprise.messaging.ShippingJmsListener",
|
||||
"methodName" : "onShippingReady",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/messaging/ShippingJmsListener.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 17
|
||||
@@ -265,6 +289,7 @@
|
||||
"name" : "RABBIT: returns.queue",
|
||||
"className" : "click.kamil.examples.enterprise.messaging.ReturnsRabbitListener",
|
||||
"methodName" : "onReturn",
|
||||
"sourceFile" : null,
|
||||
"metadata" : {
|
||||
"protocol" : "RABBIT",
|
||||
"destination" : "returns.queue"
|
||||
@@ -280,6 +305,7 @@
|
||||
"event" : "RETURN_ORDER",
|
||||
"className" : "click.kamil.examples.enterprise.messaging.ReturnsRabbitListener",
|
||||
"methodName" : "onReturn",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/messaging/ReturnsRabbitListener.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 17
|
||||
@@ -321,7 +347,9 @@
|
||||
"expression" : "(c) -> true",
|
||||
"isLambda" : true,
|
||||
"internalLogic" : "(c) -> true",
|
||||
"lineNumber" : 41
|
||||
"lineNumber" : 41,
|
||||
"className" : "click.kamil.examples.enterprise.config.EnterpriseStateMachineConfig",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/config/EnterpriseStateMachineConfig.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"event" : "FINISH",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "finishOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 34
|
||||
@@ -11,6 +12,7 @@
|
||||
"event" : "AUDIT_EVENT",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor",
|
||||
"methodName" : "preHandle",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/AuditInterceptor.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 16
|
||||
@@ -18,6 +20,7 @@
|
||||
"event" : "EXTERNAL_TRIGGER",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||
"methodName" : "processSubmit",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 19
|
||||
@@ -25,6 +28,7 @@
|
||||
"event" : "SUBMIT_EVENT",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||
"methodName" : "processSubmit",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 20
|
||||
@@ -32,6 +36,7 @@
|
||||
"event" : "CANCEL_EVENT",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||
"methodName" : "processCancel",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 25
|
||||
@@ -39,6 +44,7 @@
|
||||
"event" : "[LIFECYCLE:RESTORE]",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||
"methodName" : "resumeOrder",
|
||||
"sourceFile" : null,
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 29
|
||||
@@ -46,6 +52,7 @@
|
||||
"event" : "REACTIVE_EVENT",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.ReactiveOrderService",
|
||||
"methodName" : "processReactive",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/ReactiveOrderService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 18
|
||||
@@ -55,6 +62,7 @@
|
||||
"name" : "POST /api/orders/submit",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/submit",
|
||||
"verb" : "POST"
|
||||
@@ -65,6 +73,7 @@
|
||||
"name" : "POST /api/orders/cancel",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "cancelOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/cancel",
|
||||
"verb" : "POST"
|
||||
@@ -75,6 +84,7 @@
|
||||
"name" : "POST /api/orders/finish",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "finishOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/finish",
|
||||
"verb" : "POST"
|
||||
@@ -85,6 +95,7 @@
|
||||
"name" : "POST /api/orders/resume",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "resumeOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/resume",
|
||||
"verb" : "POST"
|
||||
@@ -99,6 +110,7 @@
|
||||
"name" : "POST /api/orders/reactive",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "reactiveOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/reactive",
|
||||
"verb" : "POST"
|
||||
@@ -113,6 +125,7 @@
|
||||
"name" : "INTERCEPTOR: AuditInterceptor.preHandle",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor",
|
||||
"methodName" : "preHandle",
|
||||
"sourceFile" : null,
|
||||
"metadata" : {
|
||||
"interceptorType" : "Spring MVC Interceptor"
|
||||
},
|
||||
@@ -124,6 +137,7 @@
|
||||
"name" : "POST /api/orders/submit",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/submit",
|
||||
"verb" : "POST"
|
||||
@@ -135,6 +149,7 @@
|
||||
"event" : "EXTERNAL_TRIGGER",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||
"methodName" : "processSubmit",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 19
|
||||
@@ -145,6 +160,7 @@
|
||||
"name" : "POST /api/orders/submit",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/submit",
|
||||
"verb" : "POST"
|
||||
@@ -156,6 +172,7 @@
|
||||
"event" : "SUBMIT_EVENT",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||
"methodName" : "processSubmit",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 20
|
||||
@@ -166,6 +183,7 @@
|
||||
"name" : "POST /api/orders/cancel",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "cancelOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/cancel",
|
||||
"verb" : "POST"
|
||||
@@ -177,6 +195,7 @@
|
||||
"event" : "CANCEL_EVENT",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||
"methodName" : "processCancel",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 25
|
||||
@@ -187,6 +206,7 @@
|
||||
"name" : "POST /api/orders/finish",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "finishOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/finish",
|
||||
"verb" : "POST"
|
||||
@@ -198,6 +218,7 @@
|
||||
"event" : "FINISH",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "finishOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 34
|
||||
@@ -208,6 +229,7 @@
|
||||
"name" : "POST /api/orders/resume",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "resumeOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/resume",
|
||||
"verb" : "POST"
|
||||
@@ -223,6 +245,7 @@
|
||||
"event" : "[LIFECYCLE:RESTORE]",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||
"methodName" : "resumeOrder",
|
||||
"sourceFile" : null,
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 29
|
||||
@@ -233,6 +256,7 @@
|
||||
"name" : "POST /api/orders/reactive",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "reactiveOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/reactive",
|
||||
"verb" : "POST"
|
||||
@@ -248,6 +272,7 @@
|
||||
"event" : "REACTIVE_EVENT",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.ReactiveOrderService",
|
||||
"methodName" : "processReactive",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/ReactiveOrderService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 18
|
||||
@@ -258,6 +283,7 @@
|
||||
"name" : "INTERCEPTOR: AuditInterceptor.preHandle",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor",
|
||||
"methodName" : "preHandle",
|
||||
"sourceFile" : null,
|
||||
"metadata" : {
|
||||
"interceptorType" : "Spring MVC Interceptor"
|
||||
},
|
||||
@@ -268,6 +294,7 @@
|
||||
"event" : "AUDIT_EVENT",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor",
|
||||
"methodName" : "preHandle",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/AuditInterceptor.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 16
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"event" : "FINISH",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "finishOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 34
|
||||
@@ -11,6 +12,7 @@
|
||||
"event" : "AUDIT_EVENT",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor",
|
||||
"methodName" : "preHandle",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/AuditInterceptor.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 16
|
||||
@@ -18,6 +20,7 @@
|
||||
"event" : "EXTERNAL_TRIGGER",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||
"methodName" : "processSubmit",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 19
|
||||
@@ -25,6 +28,7 @@
|
||||
"event" : "SUBMIT_EVENT",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||
"methodName" : "processSubmit",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 20
|
||||
@@ -32,6 +36,7 @@
|
||||
"event" : "CANCEL_EVENT",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||
"methodName" : "processCancel",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 25
|
||||
@@ -39,6 +44,7 @@
|
||||
"event" : "[LIFECYCLE:RESTORE]",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||
"methodName" : "resumeOrder",
|
||||
"sourceFile" : null,
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 29
|
||||
@@ -46,6 +52,7 @@
|
||||
"event" : "REACTIVE_EVENT",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.ReactiveOrderService",
|
||||
"methodName" : "processReactive",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/ReactiveOrderService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 18
|
||||
@@ -55,6 +62,7 @@
|
||||
"name" : "POST /api/orders/submit",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/submit",
|
||||
"verb" : "POST"
|
||||
@@ -65,6 +73,7 @@
|
||||
"name" : "POST /api/orders/cancel",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "cancelOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/cancel",
|
||||
"verb" : "POST"
|
||||
@@ -75,6 +84,7 @@
|
||||
"name" : "POST /api/orders/finish",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "finishOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/finish",
|
||||
"verb" : "POST"
|
||||
@@ -85,6 +95,7 @@
|
||||
"name" : "POST /api/orders/resume",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "resumeOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/resume",
|
||||
"verb" : "POST"
|
||||
@@ -99,6 +110,7 @@
|
||||
"name" : "POST /api/orders/reactive",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "reactiveOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/reactive",
|
||||
"verb" : "POST"
|
||||
@@ -113,6 +125,7 @@
|
||||
"name" : "INTERCEPTOR: AuditInterceptor.preHandle",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor",
|
||||
"methodName" : "preHandle",
|
||||
"sourceFile" : null,
|
||||
"metadata" : {
|
||||
"interceptorType" : "Spring MVC Interceptor"
|
||||
},
|
||||
@@ -124,6 +137,7 @@
|
||||
"name" : "POST /api/orders/submit",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/submit",
|
||||
"verb" : "POST"
|
||||
@@ -135,6 +149,7 @@
|
||||
"event" : "EXTERNAL_TRIGGER",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||
"methodName" : "processSubmit",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 19
|
||||
@@ -145,6 +160,7 @@
|
||||
"name" : "POST /api/orders/submit",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/submit",
|
||||
"verb" : "POST"
|
||||
@@ -156,6 +172,7 @@
|
||||
"event" : "SUBMIT_EVENT",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||
"methodName" : "processSubmit",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 20
|
||||
@@ -166,6 +183,7 @@
|
||||
"name" : "POST /api/orders/cancel",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "cancelOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/cancel",
|
||||
"verb" : "POST"
|
||||
@@ -177,6 +195,7 @@
|
||||
"event" : "CANCEL_EVENT",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||
"methodName" : "processCancel",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 25
|
||||
@@ -187,6 +206,7 @@
|
||||
"name" : "POST /api/orders/finish",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "finishOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/finish",
|
||||
"verb" : "POST"
|
||||
@@ -198,6 +218,7 @@
|
||||
"event" : "FINISH",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "finishOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 34
|
||||
@@ -208,6 +229,7 @@
|
||||
"name" : "POST /api/orders/resume",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "resumeOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/resume",
|
||||
"verb" : "POST"
|
||||
@@ -223,6 +245,7 @@
|
||||
"event" : "[LIFECYCLE:RESTORE]",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||
"methodName" : "resumeOrder",
|
||||
"sourceFile" : null,
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 29
|
||||
@@ -233,6 +256,7 @@
|
||||
"name" : "POST /api/orders/reactive",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||
"methodName" : "reactiveOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/orders/reactive",
|
||||
"verb" : "POST"
|
||||
@@ -248,6 +272,7 @@
|
||||
"event" : "REACTIVE_EVENT",
|
||||
"className" : "click.kamil.examples.statemachine.extended.service.ReactiveOrderService",
|
||||
"methodName" : "processReactive",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/ReactiveOrderService.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 18
|
||||
@@ -258,6 +283,7 @@
|
||||
"name" : "INTERCEPTOR: AuditInterceptor.preHandle",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor",
|
||||
"methodName" : "preHandle",
|
||||
"sourceFile" : null,
|
||||
"metadata" : {
|
||||
"interceptorType" : "Spring MVC Interceptor"
|
||||
},
|
||||
@@ -268,6 +294,7 @@
|
||||
"event" : "AUDIT_EVENT",
|
||||
"className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor",
|
||||
"methodName" : "preHandle",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/AuditInterceptor.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 16
|
||||
|
||||
@@ -320,8 +320,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value1\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 120
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 120,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -353,8 +355,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value1\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 126
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 126,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -372,8 +376,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value2\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 127
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 127,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -405,8 +411,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 132
|
||||
"internalLogic" : "context -> {\n Object header=context.getMessageHeader(headerName);\n return expected.equals(header);\n}\n",
|
||||
"lineNumber" : 132,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -438,8 +446,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value3\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 137
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 137,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -471,8 +481,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"reset\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 142
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 142,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -504,8 +516,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 147
|
||||
"internalLogic" : "context -> {\n Object header=context.getMessageHeader(headerName);\n return expected.equals(header);\n}\n",
|
||||
"lineNumber" : 147,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -537,8 +551,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goTo13\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 152
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 152,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -556,8 +572,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goTo14\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 153
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 153,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -589,8 +607,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goBack10\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 158
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 158,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -622,8 +642,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"loop12\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 163
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 163,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -655,8 +677,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"stepBack\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 168
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 168,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -674,8 +698,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 169
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 169,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -707,8 +733,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"forward9\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 174
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 174,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -754,8 +782,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 31
|
||||
"internalLogic" : "context -> {\n Object header=context.getMessageHeader(headerName);\n return expected.equals(header);\n}\n",
|
||||
"lineNumber" : 31,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.F1StateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/F1StateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
|
||||
@@ -320,8 +320,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value1\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 120
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 120,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -353,8 +355,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value1\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 126
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 126,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -372,8 +376,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value2\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 127
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 127,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -405,8 +411,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 132
|
||||
"internalLogic" : "context -> {\n Object header=context.getMessageHeader(headerName);\n return expected.equals(header);\n}\n",
|
||||
"lineNumber" : 132,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -438,8 +446,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value3\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 137
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 137,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -471,8 +481,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"reset\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 142
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 142,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -504,8 +516,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 147
|
||||
"internalLogic" : "context -> {\n Object header=context.getMessageHeader(headerName);\n return expected.equals(header);\n}\n",
|
||||
"lineNumber" : 147,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -537,8 +551,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goTo13\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 152
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 152,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -556,8 +572,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goTo14\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 153
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 153,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -589,8 +607,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goBack10\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 158
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 158,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -622,8 +642,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"loop12\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 163
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 163,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -655,8 +677,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"stepBack\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 168
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 168,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -674,8 +698,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 169
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 169,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -707,8 +733,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"forward9\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 174
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 174,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractFStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractFStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -754,8 +782,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 33
|
||||
"internalLogic" : "context -> {\n Object header=context.getMessageHeader(headerName);\n return expected.equals(header);\n}\n",
|
||||
"lineNumber" : 33,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.F2StateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/F2StateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
|
||||
@@ -236,8 +236,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value1\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 98
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 98,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractGStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractGStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -269,8 +271,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"stepBack\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 104
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 104,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractGStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractGStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -288,8 +292,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 105
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 105,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractGStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractGStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -321,8 +327,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"forward9\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 110
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 110,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractGStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractGStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
|
||||
@@ -236,8 +236,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value1\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 98
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 98,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractGStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractGStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -269,8 +271,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"stepBack\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 104
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 104,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractGStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractGStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -288,8 +292,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 105
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 105,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractGStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractGStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -321,8 +327,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"forward9\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 110
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 110,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.AbstractGStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate3/AbstractGStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"event" : "INHERITED_SUBMIT",
|
||||
"className" : "click.kamil.examples.statemachine.inheritance.service.ProcessingServiceImpl",
|
||||
"methodName" : "doProcess",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritance/service/ProcessingServiceImpl.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 15
|
||||
@@ -13,6 +14,7 @@
|
||||
"name" : "POST /api/v2/orders/submit",
|
||||
"className" : "click.kamil.examples.statemachine.inheritance.api.OrderApi",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritance/api/OrderApi.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/v2/orders/submit",
|
||||
"verb" : "POST"
|
||||
@@ -23,6 +25,7 @@
|
||||
"name" : "POST /api/v2/orders/submit",
|
||||
"className" : "click.kamil.examples.statemachine.inheritance.api.OrderControllerImpl",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritance/api/OrderControllerImpl.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/v2/orders/submit",
|
||||
"verb" : "POST"
|
||||
@@ -35,6 +38,7 @@
|
||||
"name" : "POST /api/v2/orders/submit",
|
||||
"className" : "click.kamil.examples.statemachine.inheritance.api.OrderControllerImpl",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritance/api/OrderControllerImpl.java",
|
||||
"metadata" : {
|
||||
"path" : "/api/v2/orders/submit",
|
||||
"verb" : "POST"
|
||||
@@ -46,6 +50,7 @@
|
||||
"event" : "INHERITED_SUBMIT",
|
||||
"className" : "click.kamil.examples.statemachine.inheritance.service.ProcessingServiceImpl",
|
||||
"methodName" : "doProcess",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritance/service/ProcessingServiceImpl.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 15
|
||||
|
||||
@@ -55,7 +55,9 @@
|
||||
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
||||
"isLambda" : true,
|
||||
"internalLogic" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
||||
"lineNumber" : 29
|
||||
"lineNumber" : 29,
|
||||
"className" : "click.kamil.examples.statemachine.enumstate.KamilEnumStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/enumstate/KamilEnumStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : null
|
||||
@@ -113,7 +115,9 @@
|
||||
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return true;\n }\n}\n",
|
||||
"isLambda" : true,
|
||||
"internalLogic" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return true;\n }\n}\n",
|
||||
"lineNumber" : 46
|
||||
"lineNumber" : 46,
|
||||
"className" : "click.kamil.examples.statemachine.enumstate.KamilEnumStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/enumstate/KamilEnumStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -132,7 +136,9 @@
|
||||
"expression" : "guard1",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 52
|
||||
"lineNumber" : 52,
|
||||
"className" : "click.kamil.examples.statemachine.enumstate.KamilEnumStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/enumstate/KamilEnumStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -151,7 +157,9 @@
|
||||
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
||||
"isLambda" : true,
|
||||
"internalLogic" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
||||
"lineNumber" : 53
|
||||
"lineNumber" : 53,
|
||||
"className" : "click.kamil.examples.statemachine.enumstate.KamilEnumStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/enumstate/KamilEnumStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 2
|
||||
@@ -210,12 +218,16 @@
|
||||
"expression" : "new Action<OrderStates,OrderEvents>(){\n @Override public void execute( StateContext<OrderStates,OrderEvents> context){\n }\n}\n",
|
||||
"isLambda" : true,
|
||||
"internalLogic" : "new Action<OrderStates,OrderEvents>(){\n @Override public void execute( StateContext<OrderStates,OrderEvents> context){\n }\n}\n",
|
||||
"lineNumber" : 63
|
||||
"lineNumber" : 63,
|
||||
"className" : "click.kamil.examples.statemachine.enumstate.KamilEnumStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/enumstate/KamilEnumStateMachineConfiguration.java"
|
||||
}, {
|
||||
"expression" : "action2",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 67
|
||||
"lineNumber" : 67,
|
||||
"className" : "click.kamil.examples.statemachine.enumstate.KamilEnumStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/enumstate/KamilEnumStateMachineConfiguration.java"
|
||||
} ],
|
||||
"order" : null
|
||||
} ],
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
digraph statemachine {
|
||||
rankdir=LR;
|
||||
node [shape=rounded, style=filled, fillcolor=white, fontname="Arial"];
|
||||
edge [fontname="Arial", fontsize=10];
|
||||
|
||||
_start [shape=circle, label="", fillcolor=black, width=0.1];
|
||||
_start -> INIT;
|
||||
DONE [fillcolor=lightgray];
|
||||
INIT -> BUSY [label="SUBMIT / loggingAction()", style="solid", color="black"];
|
||||
BUSY -> DONE [label="ORDER_EVENT", style="solid", color="black"];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,150 @@
|
||||
{
|
||||
"metadata" : {
|
||||
"triggers" : [ {
|
||||
"event" : "SUBMIT",
|
||||
"className" : "click.kamil.maven.core.MavenOrderStateMachine.OrderController",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "core-module/src/main/java/click/kamil/maven/core/MavenOrderStateMachine.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 40
|
||||
}, {
|
||||
"event" : "ORDER_EVENT",
|
||||
"className" : "click.kamil.maven.core.MavenOrderStateMachine.OrderService",
|
||||
"methodName" : "onMessage",
|
||||
"sourceFile" : "core-module/src/main/java/click/kamil/maven/core/MavenOrderStateMachine.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 52
|
||||
} ],
|
||||
"entryPoints" : [ {
|
||||
"type" : "REST",
|
||||
"name" : "POST /maven/orders/submit",
|
||||
"className" : "click.kamil.maven.core.MavenOrderStateMachine.OrderController",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "core-module/src/main/java/click/kamil/maven/core/MavenOrderStateMachine.java",
|
||||
"metadata" : {
|
||||
"path" : "/maven/orders/submit",
|
||||
"verb" : "POST"
|
||||
},
|
||||
"parameters" : [ {
|
||||
"name" : "orderId",
|
||||
"type" : "String",
|
||||
"annotations" : [ "RequestBody" ]
|
||||
} ]
|
||||
}, {
|
||||
"type" : "REST",
|
||||
"name" : "POST /reactive/order",
|
||||
"className" : "click.kamil.maven.api.ReactiveOrderApi",
|
||||
"methodName" : "orderRoutes",
|
||||
"sourceFile" : "api-module/src/main/java/click/kamil/maven/api/ReactiveOrderApi.java",
|
||||
"metadata" : {
|
||||
"path" : "/reactive/order",
|
||||
"verb" : "POST",
|
||||
"style" : "WebFlux Functional"
|
||||
},
|
||||
"parameters" : [ ]
|
||||
}, {
|
||||
"type" : "REST",
|
||||
"name" : "POST /maven/orders/submit",
|
||||
"className" : "click.kamil.maven.api.MavenOrderApi",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "api-module/src/main/java/click/kamil/maven/api/MavenOrderApi.java",
|
||||
"metadata" : {
|
||||
"path" : "/maven/orders/submit",
|
||||
"verb" : "POST"
|
||||
},
|
||||
"parameters" : [ {
|
||||
"name" : "orderId",
|
||||
"type" : "String",
|
||||
"annotations" : [ "RequestBody" ]
|
||||
} ]
|
||||
}, {
|
||||
"type" : "JMS",
|
||||
"name" : "JMS: order.queue",
|
||||
"className" : "click.kamil.maven.api.JmsOrderListener",
|
||||
"methodName" : "onMessage",
|
||||
"sourceFile" : null,
|
||||
"metadata" : {
|
||||
"protocol" : "JMS",
|
||||
"destination" : "order.queue"
|
||||
},
|
||||
"parameters" : [ {
|
||||
"name" : "message",
|
||||
"type" : "String",
|
||||
"annotations" : [ ]
|
||||
} ]
|
||||
} ],
|
||||
"callChains" : [ {
|
||||
"entryPoint" : {
|
||||
"type" : "REST",
|
||||
"name" : "POST /maven/orders/submit",
|
||||
"className" : "click.kamil.maven.core.MavenOrderStateMachine.OrderController",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "core-module/src/main/java/click/kamil/maven/core/MavenOrderStateMachine.java",
|
||||
"metadata" : {
|
||||
"path" : "/maven/orders/submit",
|
||||
"verb" : "POST"
|
||||
},
|
||||
"parameters" : [ {
|
||||
"name" : "orderId",
|
||||
"type" : "String",
|
||||
"annotations" : [ "RequestBody" ]
|
||||
} ]
|
||||
},
|
||||
"methodChain" : [ "click.kamil.maven.core.MavenOrderStateMachine.OrderController.submitOrder" ],
|
||||
"triggerPoint" : {
|
||||
"event" : "SUBMIT",
|
||||
"className" : "click.kamil.maven.core.MavenOrderStateMachine.OrderController",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "core-module/src/main/java/click/kamil/maven/core/MavenOrderStateMachine.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 40
|
||||
}
|
||||
} ],
|
||||
"properties" : {
|
||||
"default" : { }
|
||||
}
|
||||
},
|
||||
"name" : "click.kamil.maven.core.MavenOrderStateMachine",
|
||||
"renderChoicesAsDiamonds" : true,
|
||||
"startStates" : [ "INIT" ],
|
||||
"transitions" : [ {
|
||||
"type" : "EXTERNAL",
|
||||
"sourceStates" : [ {
|
||||
"rawName" : "\"INIT\"",
|
||||
"fullIdentifier" : "INIT"
|
||||
} ],
|
||||
"targetStates" : [ {
|
||||
"rawName" : "\"BUSY\"",
|
||||
"fullIdentifier" : "BUSY"
|
||||
} ],
|
||||
"event" : "SUBMIT",
|
||||
"guard" : null,
|
||||
"actions" : [ {
|
||||
"expression" : "loggingAction()",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : "context -> {\n System.out.println(\"LOG: State transition in progress...\");\n}\n",
|
||||
"lineNumber" : 25,
|
||||
"className" : "click.kamil.maven.core.MavenOrderStateMachine",
|
||||
"sourceFile" : "core-module/src/main/java/click/kamil/maven/core/MavenOrderStateMachine.java"
|
||||
} ],
|
||||
"order" : null
|
||||
}, {
|
||||
"type" : "EXTERNAL",
|
||||
"sourceStates" : [ {
|
||||
"rawName" : "\"BUSY\"",
|
||||
"fullIdentifier" : "BUSY"
|
||||
} ],
|
||||
"targetStates" : [ {
|
||||
"rawName" : "\"DONE\"",
|
||||
"fullIdentifier" : "DONE"
|
||||
} ],
|
||||
"event" : "ORDER_EVENT",
|
||||
"guard" : null,
|
||||
"actions" : [ ],
|
||||
"order" : null
|
||||
} ],
|
||||
"endStates" : [ "DONE" ]
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
@startuml
|
||||
!pragma layout smetana
|
||||
set separator none
|
||||
hide empty description
|
||||
hide stereotype
|
||||
skinparam state {
|
||||
BackgroundColor white
|
||||
BorderColor #94a3b8
|
||||
BorderThickness 1
|
||||
FontName Inter
|
||||
FontSize 9
|
||||
FontStyle bold
|
||||
RoundCorner 20
|
||||
Padding 1
|
||||
}
|
||||
skinparam shadowing false
|
||||
skinparam ArrowFontName JetBrains Mono
|
||||
skinparam ArrowFontSize 8
|
||||
skinparam ArrowColor #cbd5e1
|
||||
skinparam ArrowThickness 1
|
||||
skinparam dpi 110
|
||||
skinparam svgLinkTarget _self
|
||||
|
||||
[*] --> INIT
|
||||
|
||||
|
||||
INIT -[#1E90FF,bold]-> BUSY <<external>> <<e_SUBMIT>> : SUBMIT / loggingAction()
|
||||
BUSY -[#1E90FF,bold]-> DONE <<external>> <<e_ORDER_EVENT>> : ORDER_EVENT
|
||||
|
||||
DONE --> [*]
|
||||
@enduml
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="INIT">
|
||||
<state id="INIT">
|
||||
<transition target="BUSY" event="SUBMIT"/>
|
||||
</state>
|
||||
<state id="BUSY">
|
||||
<transition target="DONE" event="ORDER_EVENT"/>
|
||||
</state>
|
||||
<state id="DONE">
|
||||
</state>
|
||||
</scxml>
|
||||
|
||||
@@ -0,0 +1,679 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>State Machine Explorer - click.kamil.maven.core.MavenOrderStateMachine</title>
|
||||
<!-- Popper and Tippy for tooltips -->
|
||||
<script src="https://unpkg.com/@popperjs/core@2"></script>
|
||||
<script src="https://unpkg.com/tippy.js@6"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/tippy.js@6/animations/scale.css"/>
|
||||
<!-- SVG Pan & Zoom -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/svg-pan-zoom@3.6.1/dist/svg-pan-zoom.min.js"></script>
|
||||
<!-- Google Fonts -->
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;900&family=JetBrains+Mono:wght@400;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--sidebar-bg: #ffffff;
|
||||
--main-bg: #f8fafc;
|
||||
--accent: #ef4444;
|
||||
--primary: #3b82f6;
|
||||
--text: #0f172a;
|
||||
--text-muted: #64748b;
|
||||
--border: #e2e8f0;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
display: flex;
|
||||
height: 100vh;
|
||||
font-family: 'Inter', -apple-system, sans-serif;
|
||||
background: var(--main-bg);
|
||||
color: var(--text);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
width: 480px;
|
||||
min-width: 350px;
|
||||
max-width: 900px;
|
||||
background: var(--sidebar-bg);
|
||||
border-right: 2px solid var(--border);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
box-shadow: 10px 0 15px rgba(0,0,0,0.02);
|
||||
z-index: 10;
|
||||
overflow-x: hidden;
|
||||
resize: horizontal;
|
||||
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 {
|
||||
content: '⋮';
|
||||
position: absolute;
|
||||
right: 2px; top: 50%;
|
||||
transform: translateY(-50%);
|
||||
color: var(--border);
|
||||
font-size: 1.2rem;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.sidebar-header {
|
||||
padding: 30px 30px 10px;
|
||||
}
|
||||
|
||||
header h1 { font-weight: 900; font-size: 1.6rem; color: var(--text); margin: 0 0 5px 0; letter-spacing: -0.5px; }
|
||||
header p { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--text-muted); margin: 0 0 15px 0; opacity: 0.7; }
|
||||
|
||||
.tabs {
|
||||
display: flex;
|
||||
padding: 0 30px;
|
||||
border-bottom: 1px solid var(--border);
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.tab {
|
||||
padding: 10px 0;
|
||||
font-size: 0.85rem;
|
||||
font-weight: 600;
|
||||
color: var(--text-muted);
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
transition: color 0.2s;
|
||||
}
|
||||
|
||||
.tab:hover { color: var(--text); }
|
||||
.tab.active { color: var(--primary); }
|
||||
.tab.active::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: -1px; left: 0; right: 0;
|
||||
height: 2px;
|
||||
background: var(--primary);
|
||||
}
|
||||
|
||||
.tab-content {
|
||||
flex-grow: 1;
|
||||
padding: 25px 30px;
|
||||
overflow-y: auto;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.tab-content.active { display: block; }
|
||||
|
||||
.ep-card, .flow-card {
|
||||
padding: 18px;
|
||||
background: #fff;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 14px;
|
||||
margin-bottom: 15px;
|
||||
cursor: pointer;
|
||||
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
box-shadow: 0 1px 3px rgba(0,0,0,0.04);
|
||||
position: relative;
|
||||
word-break: break-all;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
.ep-card:hover, .flow-card:hover {
|
||||
border-color: var(--primary);
|
||||
transform: translateX(5px);
|
||||
box-shadow: 0 15px 30px -10px rgba(59, 130, 246, 0.15);
|
||||
}
|
||||
|
||||
.ep-type {
|
||||
font-size: 0.6rem;
|
||||
font-weight: 900;
|
||||
padding: 3px 8px;
|
||||
border-radius: 6px;
|
||||
display: inline-block;
|
||||
margin-bottom: 10px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.8px;
|
||||
}
|
||||
.type-rest { background: #eff6ff; color: #1d4ed8; }
|
||||
.type-custom { background: #fef2f2; color: #b91c1c; }
|
||||
.type-jms { background: #f5f3ff; color: #7c3aed; }
|
||||
.type-sqs { background: #fff7ed; color: #ea580c; }
|
||||
.type-sns { background: #fff1f2; color: #e11d48; }
|
||||
.type-kafka { background: #fefce8; color: #854d0e; }
|
||||
.type-rabbit { background: #f0fdf4; color: #166534; }
|
||||
|
||||
.ep-name, .flow-name { font-weight: 700; font-size: 0.95rem; margin-bottom: 6px; color: var(--text); }
|
||||
.ep-fqn, .flow-desc { font-family: 'Inter', sans-serif; font-size: 0.75rem; color: var(--text-muted); opacity: 0.9; line-height: 1.4; }
|
||||
|
||||
#main { flex-grow: 1; position: relative; background: var(--main-bg); overflow: hidden; }
|
||||
#svg-container {
|
||||
position: absolute;
|
||||
top: 0; left: 0; right: 0; bottom: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
svg {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* SVG Interactivity Styles */
|
||||
svg a { text-decoration: none !important; }
|
||||
|
||||
.active-path {
|
||||
stroke: var(--accent) !important;
|
||||
stroke-width: 2.5px !important;
|
||||
filter: drop-shadow(0 0 8px rgba(239, 68, 68, 0.3));
|
||||
transition: all 0.3s;
|
||||
}
|
||||
|
||||
.active-path text, a.active-path text {
|
||||
fill: #000 !important;
|
||||
font-weight: 900 !important;
|
||||
paint-order: stroke;
|
||||
stroke: #fff;
|
||||
stroke-width: 3.5px;
|
||||
}
|
||||
|
||||
.dimmed {
|
||||
opacity: 0.2 !important;
|
||||
filter: grayscale(1);
|
||||
transition: opacity 0.4s ease;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* Tippy Styling */
|
||||
.tippy-box[data-theme~='modern'] {
|
||||
background-color: #fff;
|
||||
color: var(--text);
|
||||
box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 16px;
|
||||
padding: 0;
|
||||
max-width: 550px !important;
|
||||
}
|
||||
|
||||
.tooltip-content {
|
||||
padding: 20px;
|
||||
max-width: 500px;
|
||||
word-break: break-word;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
.payload-box {
|
||||
background: #0f172a;
|
||||
color: #e2e8f0;
|
||||
border-radius: 8px;
|
||||
padding: 12px;
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
font-size: 0.75rem;
|
||||
line-height: 1.5;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.payload-param {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.payload-param:last-child { margin-bottom: 0; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="sidebar">
|
||||
<div class="sidebar-header">
|
||||
<header>
|
||||
<h1>Explorer</h1>
|
||||
<p>click.kamil.maven.core.MavenOrderStateMachine</p>
|
||||
</header>
|
||||
</div>
|
||||
|
||||
<div class="tabs">
|
||||
<div class="tab active" data-tab="explorer">Explorer</div>
|
||||
<div class="tab" data-tab="flows">Business Flows</div>
|
||||
</div>
|
||||
|
||||
<div id="tab-explorer" class="tab-content active">
|
||||
<div id="ep-list"></div>
|
||||
</div>
|
||||
|
||||
<div id="tab-flows" class="tab-content">
|
||||
<div id="flow-list"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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">
|
||||
<?xml version="1.0" encoding="us-ascii" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="100%" preserveAspectRatio="xMidYMid meet" version="1.1" viewBox="0 0 187 255" width="100%" zoomAndPan="magnify"><defs/><g><ellipse cx="35.5208" cy="34.375" fill="#222222" rx="11.4583" ry="11.4583" style="stroke:#222222;stroke-width:1.1458333333333333;"/><rect fill="#FFFFFF" height="45.8333" rx="14.3229" ry="14.3229" style="stroke:#94A3B8;stroke-width:1.1458333333333333;" width="57.2917" x="6.875" y="101.9792"/><text fill="#000000" font-family="Inter" font-size="10.3125" font-weight="bold" lengthAdjust="spacing" textLength="21.7708" x="24.6354" y="128.7932">INIT</text><rect fill="#FFFFFF" height="45.8333" rx="14.3229" ry="14.3229" style="stroke:#94A3B8;stroke-width:1.1458333333333333;" width="57.2917" x="6.875" y="202.8125"/><text fill="#000000" font-family="Inter" font-size="10.3125" font-weight="bold" lengthAdjust="spacing" textLength="27.5" x="21.7708" y="229.6266">BUSY</text><rect fill="#FFFFFF" height="45.8333" rx="14.3229" ry="14.3229" style="stroke:#94A3B8;stroke-width:1.1458333333333333;" width="57.2917" x="68.75" y="13.75"/><text fill="#000000" font-family="Inter" font-size="10.3125" font-weight="bold" lengthAdjust="spacing" textLength="29.7917" x="82.5" y="40.5641">DONE</text><ellipse cx="97.3958" cy="123.75" fill="none" rx="12.6042" ry="12.6042" style="stroke:#222222;stroke-width:1.1458333333333333;"/><ellipse cx="97.3958" cy="123.75" fill="#222222" rx="6.875" ry="6.875" style="stroke:#222222;stroke-width:1.1458333333333333;"/><polygon fill="#CBD5E1" points="35.5208,101.6748,40.1042,91.3623,35.5208,95.9456,30.9375,91.3623,35.5208,101.6748" style="stroke:#CBD5E1;stroke-width:1.1458333333333333;"/><path d="M35.5208,50.4929 C35.5208,63.9394 35.5208,78.5626 35.5208,94.7998 " fill="none" style="stroke:#CBD5E1;stroke-width:1.1458333333333333;"/><polygon fill="#1E90FF" points="35.5208,202.7749,40.1042,192.4624,35.5208,197.0457,30.9375,192.4624,35.5208,202.7749" style="stroke:#1E90FF;stroke-width:1.1458333333333333;"/><path d="M35.5208,147.9113 C35.5208,164.2413 35.5208,179.5846 35.5208,195.8999 " fill="none" style="stroke:#1E90FF;stroke-width:2.2916666666666665;"/><a href="#link_ORDER_EVENT" target="_self" title="#link_ORDER_EVENT" xlink:actuate="onRequest" xlink:href="#link_ORDER_EVENT" xlink:show="new" xlink:title="#link_ORDER_EVENT" xlink:type="simple"><text fill="#0000FF" font-family="JetBrains Mono" font-size="9.1667" lengthAdjust="spacing" text-decoration="underline" textLength="142.0833" x="36.6667" y="178.4456">ORDER_EVENT / loggingAction()</text></a><polygon fill="#CBD5E1" points="97.3958,110.7767,101.9792,100.4642,97.3958,105.0475,92.8125,100.4642,97.3958,110.7767" style="stroke:#CBD5E1;stroke-width:1.1458333333333333;"/><path d="M97.3958,59.9435 C97.3958,76.0566 97.3958,90.453 97.3958,103.9017 " fill="none" style="stroke:#CBD5E1;stroke-width:1.1458333333333333;"/><!--SRC=[RP5lJy8m4CRVzrESuOqQYSm_2HX20Z8IZ881D364a6CzjeQkNTeYJkDtjmF4XVYgrz-rzpntTv8PZ5C4YRbUEx0fELJ8BFcOCZJej06b5R54S09ACvS39niPaJcXrGvRHuQqopDYTYLKyI_r41t15mFeOBIAZLuhVg-bhxT9XAE2QyF9x5YbSOFNY_g1JX8HhHHP2u5dFQtS05E2ll9IUp0MdmIDtulB9S52I-x1QATb51cugddmZ9mB5VjQtsM72NAzAVWIfIrxRnkZDmVH1t8TWq9PUD9A__TiQwL-dDbt5YtuBGN7oNA3VocU2GY2MjdaU_mer6g29lPBcLkIIyQcvpEeLblG7_GdZB7YWEgq4eIDMgztKKnXvhETb_4RD9lquMUcKBPQnMK-77N3qJny3GSJJ-vWEgr8Br3cK8ulGUeuzbDgHyN6JyzcCyQwmq6uTU2T_000]--></g></svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script id="metadata-json" type="application/json">
|
||||
{
|
||||
"name" : "click.kamil.maven.core.MavenOrderStateMachine",
|
||||
"states" : [ {
|
||||
"rawName" : "DONE",
|
||||
"fullIdentifier" : "DONE"
|
||||
}, {
|
||||
"rawName" : "\"INIT\"",
|
||||
"fullIdentifier" : "INIT"
|
||||
}, {
|
||||
"rawName" : "\"BUSY\"",
|
||||
"fullIdentifier" : "BUSY"
|
||||
}, {
|
||||
"rawName" : "INIT",
|
||||
"fullIdentifier" : "INIT"
|
||||
} ],
|
||||
"transitions" : [ {
|
||||
"type" : "EXTERNAL",
|
||||
"sourceStates" : [ {
|
||||
"rawName" : "\"INIT\"",
|
||||
"fullIdentifier" : "INIT"
|
||||
} ],
|
||||
"targetStates" : [ {
|
||||
"rawName" : "\"BUSY\"",
|
||||
"fullIdentifier" : "BUSY"
|
||||
} ],
|
||||
"event" : "ORDER_EVENT",
|
||||
"guard" : null,
|
||||
"actions" : [ {
|
||||
"expression" : "loggingAction()",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : "context -> {\n System.out.println(\"LOG: State transition in progress...\");\n}\n",
|
||||
"lineNumber" : 23
|
||||
} ],
|
||||
"order" : null
|
||||
} ],
|
||||
"startStates" : [ "INIT" ],
|
||||
"endStates" : [ "DONE" ],
|
||||
"renderChoicesAsDiamonds" : true,
|
||||
"flows" : [ ],
|
||||
"metadata" : {
|
||||
"triggers" : [ {
|
||||
"event" : "ORDER_EVENT",
|
||||
"className" : "click.kamil.maven.core.OrderService",
|
||||
"methodName" : "onMessage",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 34
|
||||
} ],
|
||||
"entryPoints" : [ {
|
||||
"type" : "REST",
|
||||
"name" : "POST /reactive/order",
|
||||
"className" : "click.kamil.maven.api.ReactiveOrderApi",
|
||||
"methodName" : "orderRoutes",
|
||||
"metadata" : {
|
||||
"path" : "/reactive/order",
|
||||
"verb" : "POST",
|
||||
"style" : "WebFlux Functional"
|
||||
},
|
||||
"parameters" : [ ]
|
||||
}, {
|
||||
"type" : "JMS",
|
||||
"name" : "JMS: order.queue",
|
||||
"className" : "click.kamil.maven.api.JmsOrderListener",
|
||||
"methodName" : "onMessage",
|
||||
"metadata" : {
|
||||
"protocol" : "JMS",
|
||||
"destination" : "order.queue"
|
||||
},
|
||||
"parameters" : [ {
|
||||
"name" : "message",
|
||||
"type" : "String",
|
||||
"annotations" : [ ]
|
||||
} ]
|
||||
} ],
|
||||
"callChains" : [ ],
|
||||
"properties" : {
|
||||
"default" : { }
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<script>
|
||||
const metadata = JSON.parse(document.getElementById('metadata-json').textContent);
|
||||
let panZoomInstance;
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const svg = document.querySelector('#svg-container svg');
|
||||
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();
|
||||
populateSidebar();
|
||||
populateFlows();
|
||||
attachInteractivity();
|
||||
});
|
||||
|
||||
function setupTabs() {
|
||||
const flows = metadata.flows || [];
|
||||
if (flows.length === 0) {
|
||||
document.querySelector('.tabs').style.display = 'none';
|
||||
document.querySelector('.tab-content[data-tab="flows"]')?.remove();
|
||||
return;
|
||||
}
|
||||
|
||||
document.querySelectorAll('.tab').forEach(tab => {
|
||||
tab.addEventListener('click', () => {
|
||||
document.querySelectorAll('.tab, .tab-content').forEach(el => el.classList.remove('active'));
|
||||
tab.classList.add('active');
|
||||
document.getElementById('tab-' + tab.dataset.tab).classList.add('active');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function populateSidebar() {
|
||||
const list = document.getElementById('ep-list');
|
||||
const entryPoints = metadata.metadata.entryPoints || [];
|
||||
const machineEvents = new Set(metadata.transitions.map(t => t.event).filter(Boolean));
|
||||
|
||||
entryPoints.forEach(ep => {
|
||||
// Quality Filter: Hide if it doesn't trigger a machine event
|
||||
const chains = (metadata.metadata.callChains || []).filter(c =>
|
||||
c.entryPoint.className === ep.className &&
|
||||
c.entryPoint.methodName === ep.methodName &&
|
||||
machineEvents.has(c.triggerPoint.event)
|
||||
);
|
||||
|
||||
if (chains.length === 0) return;
|
||||
|
||||
const card = document.createElement('div');
|
||||
card.className = 'ep-card';
|
||||
card.innerHTML = `
|
||||
<div class="ep-type type-${ep.type.toLowerCase()}">${ep.type}</div>
|
||||
<div class="ep-name">${ep.name}</div>
|
||||
<div class="ep-fqn">${ep.className}.${ep.methodName}</div>
|
||||
`;
|
||||
card.onmouseenter = () => highlightEntryPoint(ep);
|
||||
card.onmouseleave = clearHighlights;
|
||||
list.appendChild(card);
|
||||
});
|
||||
}
|
||||
|
||||
function populateFlows() {
|
||||
const list = document.getElementById('flow-list');
|
||||
const flows = metadata.flows || [];
|
||||
|
||||
if (flows.length === 0) {
|
||||
list.innerHTML = '<p style="color:var(--text-muted); font-size:0.8rem; font-style:italic;">No business flows defined.</p>';
|
||||
return;
|
||||
}
|
||||
|
||||
flows.forEach(flow => {
|
||||
const card = document.createElement('div');
|
||||
card.className = 'flow-card';
|
||||
card.innerHTML = `
|
||||
<div class="flow-name">${flow.name}</div>
|
||||
<div class="flow-desc">${flow.description}</div>
|
||||
`;
|
||||
card.onmouseenter = () => highlightFlow(flow);
|
||||
card.onmouseleave = clearHighlights;
|
||||
list.appendChild(card);
|
||||
});
|
||||
}
|
||||
|
||||
function highlightEntryPoint(ep) {
|
||||
clearHighlights();
|
||||
const machineEvents = new Set(metadata.transitions.map(t => t.event).filter(Boolean));
|
||||
const chains = metadata.metadata.callChains || [];
|
||||
const relevantEvents = chains
|
||||
.filter(c => c.entryPoint.className === ep.className && c.entryPoint.methodName === ep.methodName && machineEvents.has(c.triggerPoint.event))
|
||||
.map(c => c.triggerPoint.event);
|
||||
|
||||
if (relevantEvents.length === 0) return;
|
||||
highlightEvents(relevantEvents);
|
||||
}
|
||||
|
||||
function highlightFlow(flow) {
|
||||
clearHighlights();
|
||||
if (!flow.steps || flow.steps.length === 0) return;
|
||||
highlightEvents(flow.steps);
|
||||
}
|
||||
|
||||
function highlightEvents(steps) {
|
||||
const svg = document.querySelector('#svg-container svg');
|
||||
|
||||
// Dim everything first
|
||||
svg.querySelectorAll('path, rect, circle, ellipse, text, polygon').forEach(el => {
|
||||
el.classList.add('dimmed');
|
||||
});
|
||||
|
||||
steps.forEach(step => {
|
||||
let linkId = "";
|
||||
if (step.includes("->")) {
|
||||
// Named Choice Branch: "SRC->TGT"
|
||||
const parts = step.split("->");
|
||||
linkId = "#link_anon_" + normalize(parts[0]) + "_" + normalize(parts[1]);
|
||||
} else {
|
||||
// Standard Event
|
||||
linkId = "#link_" + normalize(step);
|
||||
}
|
||||
|
||||
svg.querySelectorAll('a').forEach(link => {
|
||||
const href = link.getAttribute('xlink:href') || link.getAttribute('href');
|
||||
if (href === linkId) {
|
||||
highlightLinkGroup(link);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Un-dim all state nodes for context
|
||||
svg.querySelectorAll('rect, circle, ellipse, polygon').forEach(el => {
|
||||
const isChoice = el.tagName === 'polygon' && el.points?.numberOfItems === 4;
|
||||
if (isChoice || ['rect', 'circle', 'ellipse'].includes(el.tagName)) {
|
||||
el.classList.remove('dimmed');
|
||||
let next = el.nextElementSibling;
|
||||
while(next && next.tagName === 'text') {
|
||||
next.classList.remove('dimmed');
|
||||
next = next.nextElementSibling;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function highlightLinkGroup(link) {
|
||||
link.classList.add('active-path');
|
||||
link.querySelectorAll('*').forEach(child => child.classList.remove('dimmed'));
|
||||
|
||||
// Find path and polygon immediately before the <a> tag (interleaved)
|
||||
let prev = link.previousElementSibling;
|
||||
let foundPath = false;
|
||||
let foundPolygon = false;
|
||||
while (prev) {
|
||||
if (prev.tagName === 'path' && !foundPath) {
|
||||
prev.classList.remove('dimmed');
|
||||
prev.classList.add('active-path');
|
||||
foundPath = true;
|
||||
} else if (prev.tagName === 'polygon' && !foundPolygon && prev.points?.numberOfItems !== 4) {
|
||||
prev.classList.remove('dimmed');
|
||||
prev.classList.add('active-path');
|
||||
foundPolygon = true;
|
||||
} else if (['rect', 'circle', 'ellipse'].includes(prev.tagName) ||
|
||||
(prev.tagName === 'polygon' && prev.points?.numberOfItems === 4)) {
|
||||
// Hit a state node, stop traversal
|
||||
break;
|
||||
}
|
||||
if (foundPath && foundPolygon) break;
|
||||
prev = prev.previousElementSibling;
|
||||
}
|
||||
}
|
||||
|
||||
function clearHighlights() {
|
||||
document.querySelectorAll('.dimmed, .active-path').forEach(el => {
|
||||
el.classList.remove('dimmed', 'active-path');
|
||||
});
|
||||
}
|
||||
|
||||
function attachInteractivity() {
|
||||
const svg = document.querySelector('#svg-container svg');
|
||||
const transitions = metadata.transitions || [];
|
||||
|
||||
svg.querySelectorAll('a').forEach(link => {
|
||||
const href = link.getAttribute('xlink:href') || link.getAttribute('href');
|
||||
if (!href || !href.startsWith('#link_')) return;
|
||||
|
||||
const linkId = href.replace('#link_', '');
|
||||
const isAnon = linkId.startsWith('anon_');
|
||||
|
||||
let metaTrans = null;
|
||||
if (isAnon) {
|
||||
metaTrans = transitions.find(t =>
|
||||
!t.event &&
|
||||
"anon_" + normalize(t.sourceStates[0].fullIdentifier) + "_" + normalize(t.targetStates[0].fullIdentifier) === linkId
|
||||
);
|
||||
} else {
|
||||
metaTrans = transitions.find(t => normalize(t.event) === linkId);
|
||||
}
|
||||
|
||||
if (metaTrans || isAnon) {
|
||||
link.style.cursor = 'pointer';
|
||||
const setupTippy = (el) => {
|
||||
tippy(el, {
|
||||
content: createTooltip(isAnon ? "Internal logic" : linkId, metaTrans),
|
||||
allowHTML: true,
|
||||
theme: 'modern',
|
||||
interactive: true,
|
||||
appendTo: document.body,
|
||||
placement: 'right',
|
||||
offset: [0, 20]
|
||||
});
|
||||
};
|
||||
setupTippy(link);
|
||||
let path = link.previousElementSibling;
|
||||
while(path && path.tagName !== 'path') path = path.previousElementSibling;
|
||||
if (path) {
|
||||
path.style.cursor = 'pointer';
|
||||
setupTippy(path);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function normalize(s) {
|
||||
if (!s) return "";
|
||||
return s.replace(/[^a-zA-Z0-9]/g, '_');
|
||||
}
|
||||
|
||||
function createTooltip(name, trans) {
|
||||
const chains = (metadata.metadata.callChains || []).filter(c => normalize(c.triggerPoint.event) === name);
|
||||
|
||||
let html = `<div class="tooltip-content">
|
||||
<div style="font-weight:900; font-size:1.1rem; margin-bottom:12px; border-bottom:1px solid #eee; padding-bottom:8px; line-height:1.3;">
|
||||
${name === 'Internal logic' ? name : 'Event: <span style="color:var(--accent)">' + name + '</span>'}
|
||||
</div>`;
|
||||
|
||||
if (trans && trans.guard) {
|
||||
const lineInfo = trans.guard.lineNumber ? ` <span style="color:#94a3b8; font-weight:400; font-size:0.6rem;">(Line: ${trans.guard.lineNumber})</span>` : '';
|
||||
html += `<div style="font-size:0.7rem; font-weight:800; color:#94a3b8; text-transform:uppercase; margin-bottom:4px">Guard${lineInfo}</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 => {
|
||||
const lineInfo = action.lineNumber ? ` <span style="color:#94a3b8; font-weight:400; font-size:0.6rem;">(Line: ${action.lineNumber})</span>` : '';
|
||||
html += `<div style="font-size:0.7rem; font-weight:800; color:#94a3b8; text-transform:uppercase; margin-bottom:4px">Action${lineInfo}</div>
|
||||
<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) {
|
||||
html += `<div style="font-size:0.7rem; font-weight:800; color:#94a3b8; text-transform:uppercase; margin-bottom:10px; border-top:1px solid #eee; padding-top:10px">Triggered by</div>`;
|
||||
chains.forEach(c => {
|
||||
html += `<div style="margin-bottom:20px">
|
||||
<div style="font-weight:700; font-size:0.85rem; color:var(--text);">${c.entryPoint.name}</div>
|
||||
${renderParameters(c.entryPoint.parameters)}
|
||||
<div style="margin-left:10px; border-left:2px solid #e2e8f0; padding-left:12px; margin-top:10px">
|
||||
${c.methodChain.map((m, i) => `<div style="font-size:0.7rem; color:#475569; margin-top:4px; font-family:'JetBrains Mono', monospace;"><b>${i+1}</b> ${m}</div>`).join('')}
|
||||
</div>
|
||||
</div>`;
|
||||
});
|
||||
}
|
||||
html += `</div>`;
|
||||
return html;
|
||||
}
|
||||
|
||||
function renderParameters(params) {
|
||||
if (!params || params.length === 0) return "";
|
||||
let html = `<div style="font-size:0.65rem; font-weight:700; color:#94a3b8; margin-top:8px; margin-bottom:4px; text-transform:uppercase;">Input Data</div>`;
|
||||
html += `<div class="payload-box">`;
|
||||
params.forEach(p => {
|
||||
const annotation = (p.annotations || []).find(a => a.endsWith("RequestBody") || a.endsWith("PathVariable") || a.endsWith("RequestParam"));
|
||||
const cleanAnn = annotation ? "@" + annotation.substring(annotation.lastIndexOf('.') + 1) : "";
|
||||
html += `<div class="payload-param">
|
||||
<span style="color:#f43f5e; font-size:0.65rem; font-weight:bold;">${cleanAnn}</span>
|
||||
<span style="color:#38bdf8;">${p.type}</span>
|
||||
<span style="color:#a3e635;">${p.name}</span>
|
||||
</div>`;
|
||||
});
|
||||
html += `</div>`;
|
||||
return html;
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,66 @@
|
||||
{
|
||||
"metadata" : {
|
||||
"triggers" : [ {
|
||||
"event" : "ORDER_EVENT",
|
||||
"className" : "click.kamil.maven.core.OrderService",
|
||||
"methodName" : "onMessage",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 34
|
||||
} ],
|
||||
"entryPoints" : [ {
|
||||
"type" : "REST",
|
||||
"name" : "POST /reactive/order",
|
||||
"className" : "click.kamil.maven.api.ReactiveOrderApi",
|
||||
"methodName" : "orderRoutes",
|
||||
"metadata" : {
|
||||
"path" : "/reactive/order",
|
||||
"verb" : "POST",
|
||||
"style" : "WebFlux Functional"
|
||||
},
|
||||
"parameters" : [ ]
|
||||
}, {
|
||||
"type" : "JMS",
|
||||
"name" : "JMS: order.queue",
|
||||
"className" : "click.kamil.maven.api.JmsOrderListener",
|
||||
"methodName" : "onMessage",
|
||||
"metadata" : {
|
||||
"protocol" : "JMS",
|
||||
"destination" : "order.queue"
|
||||
},
|
||||
"parameters" : [ {
|
||||
"name" : "message",
|
||||
"type" : "String",
|
||||
"annotations" : [ ]
|
||||
} ]
|
||||
} ],
|
||||
"callChains" : [ ],
|
||||
"properties" : {
|
||||
"default" : { }
|
||||
}
|
||||
},
|
||||
"name" : "click.kamil.maven.core.MavenOrderStateMachine",
|
||||
"renderChoicesAsDiamonds" : true,
|
||||
"startStates" : [ "INIT" ],
|
||||
"transitions" : [ {
|
||||
"type" : "EXTERNAL",
|
||||
"sourceStates" : [ {
|
||||
"rawName" : "\"INIT\"",
|
||||
"fullIdentifier" : "INIT"
|
||||
} ],
|
||||
"targetStates" : [ {
|
||||
"rawName" : "\"BUSY\"",
|
||||
"fullIdentifier" : "BUSY"
|
||||
} ],
|
||||
"event" : "ORDER_EVENT",
|
||||
"guard" : null,
|
||||
"actions" : [ {
|
||||
"expression" : "loggingAction()",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : "context -> {\n System.out.println(\"LOG: State transition in progress...\");\n}\n",
|
||||
"lineNumber" : 23
|
||||
} ],
|
||||
"order" : null
|
||||
} ],
|
||||
"endStates" : [ "DONE" ]
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
@startuml
|
||||
!pragma layout smetana
|
||||
set separator none
|
||||
hide empty description
|
||||
hide stereotype
|
||||
skinparam state {
|
||||
BackgroundColor white
|
||||
BorderColor #94a3b8
|
||||
BorderThickness 1
|
||||
FontName Inter
|
||||
FontSize 9
|
||||
FontStyle bold
|
||||
RoundCorner 20
|
||||
Padding 1
|
||||
}
|
||||
skinparam shadowing false
|
||||
skinparam ArrowFontName JetBrains Mono
|
||||
skinparam ArrowFontSize 8
|
||||
skinparam ArrowColor #cbd5e1
|
||||
skinparam ArrowThickness 1
|
||||
skinparam dpi 110
|
||||
skinparam svgLinkTarget _self
|
||||
|
||||
[*] --> INIT
|
||||
|
||||
|
||||
INIT -[#1E90FF,bold]-> BUSY <<external>> <<e_ORDER_EVENT>> : ORDER_EVENT / loggingAction()
|
||||
|
||||
DONE --> [*]
|
||||
@enduml
|
||||
|
||||
@@ -250,8 +250,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value1\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 91
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 91,
|
||||
"className" : "click.kamil.examples.statemachine.inheritancestate.AbstractOneStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritancestate/AbstractOneStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -283,8 +285,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value1\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 97
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 97,
|
||||
"className" : "click.kamil.examples.statemachine.inheritancestate.AbstractOneStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritancestate/AbstractOneStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -302,8 +306,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value2\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 98
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 98,
|
||||
"className" : "click.kamil.examples.statemachine.inheritancestate.AbstractOneStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritancestate/AbstractOneStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -335,8 +341,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 103
|
||||
"internalLogic" : "context -> {\n Object header=context.getMessageHeader(headerName);\n return expected.equals(header);\n}\n",
|
||||
"lineNumber" : 103,
|
||||
"className" : "click.kamil.examples.statemachine.inheritancestate.AbstractOneStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritancestate/AbstractOneStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -368,8 +376,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value3\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 108
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 108,
|
||||
"className" : "click.kamil.examples.statemachine.inheritancestate.AbstractOneStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritancestate/AbstractOneStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -401,8 +411,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"reset\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 113
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 113,
|
||||
"className" : "click.kamil.examples.statemachine.inheritancestate.AbstractOneStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritancestate/AbstractOneStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -434,8 +446,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 118
|
||||
"internalLogic" : "context -> {\n Object header=context.getMessageHeader(headerName);\n return expected.equals(header);\n}\n",
|
||||
"lineNumber" : 118,
|
||||
"className" : "click.kamil.examples.statemachine.inheritancestate.AbstractOneStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritancestate/AbstractOneStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -467,8 +481,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goTo13\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 123
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 123,
|
||||
"className" : "click.kamil.examples.statemachine.inheritancestate.AbstractOneStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritancestate/AbstractOneStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -486,8 +502,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goTo14\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 124
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 124,
|
||||
"className" : "click.kamil.examples.statemachine.inheritancestate.AbstractOneStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritancestate/AbstractOneStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -519,8 +537,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goBack10\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 129
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 129,
|
||||
"className" : "click.kamil.examples.statemachine.inheritancestate.AbstractOneStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritancestate/AbstractOneStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -552,8 +572,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"loop12\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 134
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 134,
|
||||
"className" : "click.kamil.examples.statemachine.inheritancestate.AbstractOneStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritancestate/AbstractOneStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -585,8 +607,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"stepBack\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 139
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 139,
|
||||
"className" : "click.kamil.examples.statemachine.inheritancestate.AbstractOneStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritancestate/AbstractOneStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -604,8 +628,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 140
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 140,
|
||||
"className" : "click.kamil.examples.statemachine.inheritancestate.AbstractOneStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritancestate/AbstractOneStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -637,8 +663,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"forward9\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 145
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 145,
|
||||
"className" : "click.kamil.examples.statemachine.inheritancestate.AbstractOneStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritancestate/AbstractOneStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"event" : "SUBMIT",
|
||||
"className" : "click.kamil.multi.core.OrderController",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "core-module/src/main/java/click/kamil/multi/core/OrderController.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 18
|
||||
@@ -13,6 +14,7 @@
|
||||
"name" : "POST /orders/submit",
|
||||
"className" : "click.kamil.multi.core.OrderController",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "core-module/src/main/java/click/kamil/multi/core/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/orders/submit",
|
||||
"verb" : "POST"
|
||||
@@ -27,6 +29,7 @@
|
||||
"name" : "POST /orders/submit",
|
||||
"className" : "click.kamil.multi.api.OrderApi",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "api-module/src/main/java/click/kamil/multi/api/OrderApi.java",
|
||||
"metadata" : {
|
||||
"path" : "/orders/submit",
|
||||
"verb" : "POST"
|
||||
@@ -43,6 +46,7 @@
|
||||
"name" : "POST /orders/submit",
|
||||
"className" : "click.kamil.multi.core.OrderController",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "core-module/src/main/java/click/kamil/multi/core/OrderController.java",
|
||||
"metadata" : {
|
||||
"path" : "/orders/submit",
|
||||
"verb" : "POST"
|
||||
@@ -58,6 +62,7 @@
|
||||
"event" : "SUBMIT",
|
||||
"className" : "click.kamil.multi.core.OrderController",
|
||||
"methodName" : "submitOrder",
|
||||
"sourceFile" : "core-module/src/main/java/click/kamil/multi/core/OrderController.java",
|
||||
"sourceModule" : null,
|
||||
"stateMachineId" : null,
|
||||
"lineNumber" : 18
|
||||
@@ -86,7 +91,9 @@
|
||||
"expression" : "processAction()",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : "@Override default void execute(StateContext<String,String> context){\n System.out.println(\"Processing order: \" + context.getMessageHeader(\"orderId\"));\n}\n",
|
||||
"lineNumber" : 31
|
||||
"lineNumber" : 31,
|
||||
"className" : "click.kamil.multi.core.OrderStateMachineConfig",
|
||||
"sourceFile" : "core-module/src/main/java/click/kamil/multi/core/OrderStateMachineConfig.java"
|
||||
} ],
|
||||
"order" : null
|
||||
}, {
|
||||
|
||||
@@ -55,7 +55,9 @@
|
||||
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
||||
"isLambda" : true,
|
||||
"internalLogic" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
||||
"lineNumber" : 29
|
||||
"lineNumber" : 29,
|
||||
"className" : "click.kamil.examples.statemachine.simple.SimpleEnumStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/simple/SimpleEnumStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : null
|
||||
@@ -99,7 +101,9 @@
|
||||
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
||||
"isLambda" : true,
|
||||
"internalLogic" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
||||
"lineNumber" : 46
|
||||
"lineNumber" : 46,
|
||||
"className" : "click.kamil.examples.statemachine.simple.SimpleEnumStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/simple/SimpleEnumStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -132,7 +136,9 @@
|
||||
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return true;\n }\n}\n",
|
||||
"isLambda" : true,
|
||||
"internalLogic" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return true;\n }\n}\n",
|
||||
"lineNumber" : 55
|
||||
"lineNumber" : 55,
|
||||
"className" : "click.kamil.examples.statemachine.simple.SimpleEnumStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/simple/SimpleEnumStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -151,7 +157,9 @@
|
||||
"expression" : "guard1",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 61
|
||||
"lineNumber" : 61,
|
||||
"className" : "click.kamil.examples.statemachine.simple.SimpleEnumStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/simple/SimpleEnumStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -170,7 +178,9 @@
|
||||
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
||||
"isLambda" : true,
|
||||
"internalLogic" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
|
||||
"lineNumber" : 62
|
||||
"lineNumber" : 62,
|
||||
"className" : "click.kamil.examples.statemachine.simple.SimpleEnumStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/simple/SimpleEnumStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 2
|
||||
@@ -229,12 +239,16 @@
|
||||
"expression" : "new Action<OrderStates,OrderEvents>(){\n @Override public void execute( StateContext<OrderStates,OrderEvents> context){\n ;\n }\n}\n",
|
||||
"isLambda" : true,
|
||||
"internalLogic" : "new Action<OrderStates,OrderEvents>(){\n @Override public void execute( StateContext<OrderStates,OrderEvents> context){\n ;\n }\n}\n",
|
||||
"lineNumber" : 72
|
||||
"lineNumber" : 72,
|
||||
"className" : "click.kamil.examples.statemachine.simple.SimpleEnumStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/simple/SimpleEnumStateMachineConfiguration.java"
|
||||
}, {
|
||||
"expression" : "action2",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 77
|
||||
"lineNumber" : 77,
|
||||
"className" : "click.kamil.examples.statemachine.simple.SimpleEnumStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/simple/SimpleEnumStateMachineConfiguration.java"
|
||||
} ],
|
||||
"order" : null
|
||||
} ],
|
||||
|
||||
@@ -320,8 +320,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value1\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 120
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 120,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.AbstractThreeStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate2/AbstractThreeStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -353,8 +355,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value1\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 126
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 126,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.AbstractThreeStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate2/AbstractThreeStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -372,8 +376,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value2\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 127
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 127,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.AbstractThreeStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate2/AbstractThreeStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -405,8 +411,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 132
|
||||
"internalLogic" : "context -> {\n Object header=context.getMessageHeader(headerName);\n return expected.equals(header);\n}\n",
|
||||
"lineNumber" : 132,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.AbstractThreeStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate2/AbstractThreeStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -438,8 +446,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value3\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 137
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 137,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.AbstractThreeStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate2/AbstractThreeStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -471,8 +481,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"reset\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 142
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 142,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.AbstractThreeStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate2/AbstractThreeStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -504,8 +516,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 147
|
||||
"internalLogic" : "context -> {\n Object header=context.getMessageHeader(headerName);\n return expected.equals(header);\n}\n",
|
||||
"lineNumber" : 147,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.AbstractThreeStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate2/AbstractThreeStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -537,8 +551,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goTo13\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 152
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 152,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.AbstractThreeStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate2/AbstractThreeStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -556,8 +572,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goTo14\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 153
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 153,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.AbstractThreeStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate2/AbstractThreeStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -589,8 +607,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goBack10\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 158
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 158,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.AbstractThreeStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate2/AbstractThreeStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -622,8 +642,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"loop12\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 163
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 163,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.AbstractThreeStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate2/AbstractThreeStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -655,8 +677,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"stepBack\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 168
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 168,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.AbstractThreeStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate2/AbstractThreeStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -674,8 +698,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 169
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 169,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.AbstractThreeStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate2/AbstractThreeStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -707,8 +733,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"forward9\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 174
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 174,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.AbstractThreeStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate2/AbstractThreeStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -754,8 +782,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 31
|
||||
"internalLogic" : "context -> {\n Object header=context.getMessageHeader(headerName);\n return expected.equals(header);\n}\n",
|
||||
"lineNumber" : 31,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.ThreeStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate2/ThreeStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
|
||||
@@ -320,8 +320,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value1\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 120
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 120,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.AbstractTwoStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate/AbstractTwoStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -353,8 +355,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value1\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 126
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 126,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.AbstractTwoStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate/AbstractTwoStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -372,8 +376,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value2\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 127
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 127,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.AbstractTwoStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate/AbstractTwoStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -405,8 +411,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardEventHeaderEquals(\"header1\",\"foo\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 132
|
||||
"internalLogic" : "context -> {\n Object header=context.getMessageHeader(headerName);\n return expected.equals(header);\n}\n",
|
||||
"lineNumber" : 132,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.AbstractTwoStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate/AbstractTwoStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -438,8 +446,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"value3\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 137
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 137,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.AbstractTwoStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate/AbstractTwoStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -471,8 +481,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"reset\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 142
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 142,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.AbstractTwoStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate/AbstractTwoStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -504,8 +516,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardEventHeaderEquals(\"header2\",\"bar\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 147
|
||||
"internalLogic" : "context -> {\n Object header=context.getMessageHeader(headerName);\n return expected.equals(header);\n}\n",
|
||||
"lineNumber" : 147,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.AbstractTwoStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate/AbstractTwoStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -537,8 +551,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goTo13\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 152
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 152,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.AbstractTwoStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate/AbstractTwoStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -556,8 +572,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goTo14\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 153
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 153,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.AbstractTwoStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate/AbstractTwoStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -589,8 +607,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"goBack10\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 158
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 158,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.AbstractTwoStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate/AbstractTwoStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -622,8 +642,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"loop12\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 163
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 163,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.AbstractTwoStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate/AbstractTwoStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -655,8 +677,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"stepBack\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 168
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 168,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.AbstractTwoStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate/AbstractTwoStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
@@ -674,8 +698,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"stepBackMore\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 169
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 169,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.AbstractTwoStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate/AbstractTwoStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 1
|
||||
@@ -707,8 +733,10 @@
|
||||
"guard" : {
|
||||
"expression" : "guardVarEquals(\"forward9\")",
|
||||
"isLambda" : false,
|
||||
"internalLogic" : null,
|
||||
"lineNumber" : 174
|
||||
"internalLogic" : "context -> {\n Object var=context.getExtendedState().getVariables().get(\"var\");\n return expected.equals(var);\n}\n",
|
||||
"lineNumber" : 174,
|
||||
"className" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.AbstractTwoStateMachineConfiguration",
|
||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritanceextrafunctionsstate/AbstractTwoStateMachineConfiguration.java"
|
||||
},
|
||||
"actions" : [ ],
|
||||
"order" : 0
|
||||
|
||||
Reference in New Issue
Block a user