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:
+1
-1
@@ -43,7 +43,7 @@ class JdbcActionExecutionRepositoryTest {
|
||||
assertTrue(repository.complete("ex-1", ActionExecutionStatus.SUCCESS, null, T0.plusSeconds(2)));
|
||||
Page<ActionExecution> page = repository.query("inst-1", new PageRequest(0, 10));
|
||||
assertEquals(1, page.totalElements());
|
||||
ActionExecution stored = page.content().getFirst();
|
||||
ActionExecution stored = page.content().get(0);
|
||||
assertEquals(ActionExecutionStatus.SUCCESS, stored.status());
|
||||
assertEquals(T0.plusSeconds(2), stored.finishedAt());
|
||||
assertFalse(repository.complete("ex-1", ActionExecutionStatus.FAILED, "nope", T0.plusSeconds(3)));
|
||||
|
||||
+14
-14
@@ -55,11 +55,11 @@ class JdbcOrdoEngineIntegrationTest {
|
||||
void completesASequentialApprovalProcess() {
|
||||
ProcessInstance instance = engine.start("leave", "alice",
|
||||
new ProcessContext(Map.of("requestId", "LEAVE-2026-001")));
|
||||
ApprovalTask managerTask = engine.findPendingTasksByInstanceId(instance.id()).getFirst();
|
||||
ApprovalTask managerTask = engine.findPendingTasksByInstanceId(instance.id()).get(0);
|
||||
assertEquals("maria", managerTask.assignee());
|
||||
|
||||
engine.approve(managerTask.id(), "maria", "ok");
|
||||
ApprovalTask hrTask = engine.findPendingTasksByInstanceId(instance.id()).getFirst();
|
||||
ApprovalTask hrTask = engine.findPendingTasksByInstanceId(instance.id()).get(0);
|
||||
assertEquals("henry", hrTask.assignee());
|
||||
assertEquals(ProcessStatus.RUNNING, engine.findInstance(instance.id()).orElseThrow().status());
|
||||
|
||||
@@ -74,7 +74,7 @@ class JdbcOrdoEngineIntegrationTest {
|
||||
@Test
|
||||
void rejectionTerminatesTheProcess() {
|
||||
ProcessInstance instance = engine.start("leave", "alice");
|
||||
ApprovalTask task = engine.findPendingTasksByInstanceId(instance.id()).getFirst();
|
||||
ApprovalTask task = engine.findPendingTasksByInstanceId(instance.id()).get(0);
|
||||
|
||||
ApprovalTask rejectedTask = engine.reject(task.id(), "maria", "Insufficient leave balance");
|
||||
|
||||
@@ -87,14 +87,14 @@ class JdbcOrdoEngineIntegrationTest {
|
||||
@Test
|
||||
void rejectsRepeatedApprovalsWithoutDuplicatingTheFlow() {
|
||||
ProcessInstance instance = engine.start("leave", "alice");
|
||||
ApprovalTask managerTask = engine.findPendingTasksByInstanceId(instance.id()).getFirst();
|
||||
ApprovalTask managerTask = engine.findPendingTasksByInstanceId(instance.id()).get(0);
|
||||
engine.approve(managerTask.id(), "maria");
|
||||
|
||||
assertThrows(TaskAlreadyCompletedException.class, () -> engine.approve(managerTask.id(), "maria"));
|
||||
|
||||
assertEquals(2, engine.findTasks(instance.id()).size());
|
||||
assertEquals(1, engine.findPendingTasksByInstanceId(instance.id()).size());
|
||||
assertEquals("hr", engine.findPendingTasksByInstanceId(instance.id()).getFirst().stepId());
|
||||
assertEquals("hr", engine.findPendingTasksByInstanceId(instance.id()).get(0).stepId());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -110,7 +110,7 @@ class JdbcOrdoEngineIntegrationTest {
|
||||
ApprovalStep.single("hr", "HR approval", "henry"))));
|
||||
|
||||
ProcessInstance instance = failingEngine.start("leave2", "alice");
|
||||
ApprovalTask managerTask = failingEngine.findPendingTasksByInstanceId(instance.id()).getFirst();
|
||||
ApprovalTask managerTask = failingEngine.findPendingTasksByInstanceId(instance.id()).get(0);
|
||||
assertThrows(IllegalStateException.class, () -> failingEngine.approve(managerTask.id(), "maria"));
|
||||
|
||||
// the conditional task completion must have been rolled back
|
||||
@@ -137,7 +137,7 @@ class JdbcOrdoEngineIntegrationTest {
|
||||
List.of(StepTransition.endWhen("manager", "never", 0))));
|
||||
|
||||
ProcessInstance instance = failingEngine.start("leave-noroute", "alice");
|
||||
ApprovalTask managerTask = failingEngine.findPendingTasksByInstanceId(instance.id()).getFirst();
|
||||
ApprovalTask managerTask = failingEngine.findPendingTasksByInstanceId(instance.id()).get(0);
|
||||
assertThrows(NoRouteFoundException.class, () -> failingEngine.approve(managerTask.id(), "maria"));
|
||||
|
||||
ApprovalTask storedTask = failingEngine.findTask(managerTask.id()).orElseThrow();
|
||||
@@ -155,11 +155,11 @@ class JdbcOrdoEngineIntegrationTest {
|
||||
OrdoEngine secondEngine = newEngine(AssigneeResolver.direct());
|
||||
|
||||
assertEquals(instance, secondEngine.findInstance(instance.id()).orElseThrow());
|
||||
ApprovalTask managerTask = secondEngine.findPendingTasksByInstanceId(instance.id()).getFirst();
|
||||
ApprovalTask managerTask = secondEngine.findPendingTasksByInstanceId(instance.id()).get(0);
|
||||
secondEngine.approve(managerTask.id(), "maria");
|
||||
|
||||
assertEquals(ProcessStatus.RUNNING, engine.findInstance(instance.id()).orElseThrow().status());
|
||||
assertEquals("henry", engine.findPendingTasksByInstanceId(instance.id()).getFirst().assignee());
|
||||
assertEquals("henry", engine.findPendingTasksByInstanceId(instance.id()).get(0).assignee());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -168,7 +168,7 @@ class JdbcOrdoEngineIntegrationTest {
|
||||
ApprovalStep.single("director", "Director approval", "diana"))));
|
||||
|
||||
ProcessInstance instance = engine.start("leave", "alice");
|
||||
assertEquals("diana", engine.findPendingTasksByInstanceId(instance.id()).getFirst().assignee());
|
||||
assertEquals("diana", engine.findPendingTasksByInstanceId(instance.id()).get(0).assignee());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -181,7 +181,7 @@ class JdbcOrdoEngineIntegrationTest {
|
||||
@Test
|
||||
void initiatorCanWithdrawWhileALaterStepIsPending() {
|
||||
ProcessInstance instance = engine.start("leave", "alice");
|
||||
engine.approve(engine.findPendingTasksByInstanceId(instance.id()).getFirst().id(), "maria");
|
||||
engine.approve(engine.findPendingTasksByInstanceId(instance.id()).get(0).id(), "maria");
|
||||
|
||||
ProcessInstance withdrawn = engine.withdraw(instance.id(), "alice", "changed plans");
|
||||
|
||||
@@ -202,7 +202,7 @@ class JdbcOrdoEngineIntegrationTest {
|
||||
ProcessInstance instance = engine.start("leave", "alice");
|
||||
assertThrows(UnauthorizedInstanceOperationException.class,
|
||||
() -> engine.withdraw(instance.id(), "mallory"));
|
||||
engine.reject(engine.findPendingTasksByInstanceId(instance.id()).getFirst().id(), "maria");
|
||||
engine.reject(engine.findPendingTasksByInstanceId(instance.id()).get(0).id(), "maria");
|
||||
assertThrows(InstanceAlreadyCompletedException.class, () -> engine.withdraw(instance.id(), "alice"));
|
||||
}
|
||||
|
||||
@@ -232,11 +232,11 @@ class JdbcOrdoEngineIntegrationTest {
|
||||
StepTransition.end("fail"))));
|
||||
|
||||
ProcessInstance instance = actionEngine.start("leave-action", "alice");
|
||||
actionEngine.approve(actionEngine.findPendingTasksByInstanceId(instance.id()).getFirst().id(), "maria");
|
||||
actionEngine.approve(actionEngine.findPendingTasksByInstanceId(instance.id()).get(0).id(), "maria");
|
||||
|
||||
assertEquals(ProcessStatus.APPROVED, actionEngine.findInstance(instance.id()).orElseThrow().status());
|
||||
assertEquals(ActionExecutionStatus.SUCCESS,
|
||||
actionEngine.queryActionExecutions(instance.id(), new PageRequest(0, 10)).content().getFirst().status());
|
||||
actionEngine.queryActionExecutions(instance.id(), new PageRequest(0, 10)).content().get(0).status());
|
||||
assertEquals(ActionExecutionStatus.FAILED,
|
||||
actionEngine.queryActionExecutions(instance.id(), new PageRequest(0, 10)).content().get(1).status());
|
||||
List<ProcessEventType> types = actionEngine.queryHistory(instance.id(), new PageRequest(0, 50)).content()
|
||||
|
||||
+3
-3
@@ -110,9 +110,9 @@ class JdbcPostgresIntegrationTest {
|
||||
|
||||
ProcessInstance instance = engine.start("leave-pg", "alice",
|
||||
new ProcessContext(Map.of("requestId", "LEAVE-2026-001", "days", 5)));
|
||||
ApprovalTask managerTask = engine.findPendingTasksByInstanceId(instance.id()).getFirst();
|
||||
ApprovalTask managerTask = engine.findPendingTasksByInstanceId(instance.id()).get(0);
|
||||
engine.approve(managerTask.id(), "maria", "ok");
|
||||
ApprovalTask hrTask = engine.findPendingTasksByInstanceId(instance.id()).getFirst();
|
||||
ApprovalTask hrTask = engine.findPendingTasksByInstanceId(instance.id()).get(0);
|
||||
engine.approve(hrTask.id(), "henry", "ok");
|
||||
|
||||
ProcessInstance finished = engine.findInstance(instance.id()).orElseThrow();
|
||||
@@ -207,7 +207,7 @@ class JdbcPostgresIntegrationTest {
|
||||
ApprovalStep.single("hr", "HR approval", "henry"))));
|
||||
|
||||
ProcessInstance instance = failingEngine.start("leave-rollback-pg", "alice");
|
||||
ApprovalTask managerTask = failingEngine.findPendingTasksByInstanceId(instance.id()).getFirst();
|
||||
ApprovalTask managerTask = failingEngine.findPendingTasksByInstanceId(instance.id()).get(0);
|
||||
assertThrows(IllegalStateException.class, () -> failingEngine.approve(managerTask.id(), "maria"));
|
||||
|
||||
// the conditional task completion must have been rolled back
|
||||
|
||||
+1
-1
@@ -50,7 +50,7 @@ class JdbcProcessHistoryRepositoryTest {
|
||||
|
||||
Page<ProcessEvent> first = repository.query("inst-1", new PageRequest(0, 1));
|
||||
assertEquals(1, first.content().size());
|
||||
assertEquals("e1", first.content().getFirst().id());
|
||||
assertEquals("e1", first.content().get(0).id());
|
||||
assertTrue(first.hasNext());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user