chore: target Java 17 and document usage plus roadmap

Lower the compiler baseline to 17, rename listDefinitions to queryDefinitions, and align README/usage/roadmap with planned vs out-of-scope work.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
0264408
2026-09-15 10:55:30 +08:00
co-authored by Cursor
parent f3220fd0a0
commit 5795778112
20 changed files with 604 additions and 110 deletions
@@ -46,7 +46,7 @@ public interface OrdoEngine {
Page<ProcessInstance> queryInstances(InstanceQuery query, PageRequest pageRequest);
/** Paginated listing of all registered process definitions. */
Page<ProcessDefinition> listDefinitions(PageRequest pageRequest);
Page<ProcessDefinition> queryDefinitions(PageRequest pageRequest);
/** Instance timeline, oldest-first; see {@link com.jetlumen.ordo.api.repository.ProcessHistoryRepository#query}. */
Page<ProcessEvent> queryHistory(String instanceId, PageRequest pageRequest);
@@ -59,7 +59,7 @@ public record ProcessDefinition(String id, String name, List<ApprovalStep> steps
transitions.add(StepTransition.always(steps.get(i).id(), steps.get(i + 1).id()));
}
if (!steps.isEmpty()) {
transitions.add(StepTransition.end(steps.getLast().id()));
transitions.add(StepTransition.end(steps.get(steps.size() - 1).id()));
}
return new ProcessDefinition(id, name, steps, transitions);
}
@@ -59,7 +59,7 @@ class ProcessDefinitionParserTest {
""";
ProcessDefinition definition = ProcessDefinitionParser.fromJson(json);
assertEquals("manager", definition.steps().getFirst().id());
assertEquals("manager", definition.steps().get(0).id());
assertEquals("hr", definition.steps().get(1).id());
}
@@ -171,7 +171,7 @@ class ProcessDefinitionParserTest {
}
""";
ProcessDefinition definition = ProcessDefinitionParser.fromJson(json);
assertEquals(StepKind.APPROVAL, definition.steps().getFirst().kind());
assertEquals(StepKind.APPROVAL, definition.steps().get(0).kind());
assertEquals(ApprovalStep.action("notify", "Notify HR", "leave-approved-mail"), definition.steps().get(1));
}
}
@@ -115,7 +115,7 @@ class ProcessDefinitionTest {
ProcessDefinition definition = new ProcessDefinition("notify", "Notify", List.of(
ApprovalStep.action("mail", "Send mail", "leave-approved-mail")),
List.of(StepTransition.end("mail")));
assertEquals(StepKind.ACTION, definition.steps().getFirst().kind());
assertEquals("leave-approved-mail", definition.steps().getFirst().actionKey());
assertEquals(StepKind.ACTION, definition.steps().get(0).kind());
assertEquals("leave-approved-mail", definition.steps().get(0).actionKey());
}
}