refactor: split public types into definition, runtime, and spi packages

Keep Maven modules unchanged. Hosts import models and SPIs from the new packages; OrdoEngine stays at com.jetlumen.ordo.api.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
0264408
2026-09-20 11:18:10 +08:00
co-authored by Cursor
parent d743939964
commit f0ddaf7694
99 changed files with 365 additions and 304 deletions
@@ -1,28 +1,28 @@
package com.jetlumen.ordo.core;
import com.jetlumen.ordo.api.ActionExecution;
import com.jetlumen.ordo.api.ActionExecutionStatus;
import com.jetlumen.ordo.api.ActionHandler;
import com.jetlumen.ordo.api.ApprovalPolicy;
import com.jetlumen.ordo.api.ApprovalStep;
import com.jetlumen.ordo.api.ApprovalTask;
import com.jetlumen.ordo.api.AssigneeResolver;
import com.jetlumen.ordo.api.runtime.ActionExecution;
import com.jetlumen.ordo.api.runtime.ActionExecutionStatus;
import com.jetlumen.ordo.api.spi.ActionHandler;
import com.jetlumen.ordo.api.definition.ApprovalPolicy;
import com.jetlumen.ordo.api.definition.ApprovalStep;
import com.jetlumen.ordo.api.runtime.ApprovalTask;
import com.jetlumen.ordo.api.spi.AssigneeResolver;
import com.jetlumen.ordo.api.OrdoEngine;
import com.jetlumen.ordo.api.OrdoEventListener;
import com.jetlumen.ordo.api.ProcessContext;
import com.jetlumen.ordo.api.ProcessDefinition;
import com.jetlumen.ordo.api.ProcessEvent;
import com.jetlumen.ordo.api.ProcessRuntime;
import com.jetlumen.ordo.api.ProcessEventType;
import com.jetlumen.ordo.api.ProcessInstance;
import com.jetlumen.ordo.api.ProcessStatus;
import com.jetlumen.ordo.api.RoutingCondition;
import com.jetlumen.ordo.api.RoutingWhen;
import com.jetlumen.ordo.api.StepDue;
import com.jetlumen.ordo.api.StepKind;
import com.jetlumen.ordo.api.StepTransition;
import com.jetlumen.ordo.api.TaskAction;
import com.jetlumen.ordo.api.TaskStatus;
import com.jetlumen.ordo.api.spi.OrdoEventListener;
import com.jetlumen.ordo.api.runtime.ProcessContext;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
import com.jetlumen.ordo.api.runtime.ProcessEvent;
import com.jetlumen.ordo.api.runtime.ProcessRuntime;
import com.jetlumen.ordo.api.runtime.ProcessEventType;
import com.jetlumen.ordo.api.runtime.ProcessInstance;
import com.jetlumen.ordo.api.runtime.ProcessStatus;
import com.jetlumen.ordo.api.spi.RoutingCondition;
import com.jetlumen.ordo.api.definition.RoutingWhen;
import com.jetlumen.ordo.api.definition.StepDue;
import com.jetlumen.ordo.api.definition.StepKind;
import com.jetlumen.ordo.api.definition.StepTransition;
import com.jetlumen.ordo.api.runtime.TaskAction;
import com.jetlumen.ordo.api.runtime.TaskStatus;
import com.jetlumen.ordo.api.TransactionExecutor;
import com.jetlumen.ordo.api.exception.DefinitionNotFoundException;
import com.jetlumen.ordo.api.exception.InstanceAlreadyCompletedException;
@@ -36,10 +36,10 @@ import com.jetlumen.ordo.api.query.InstanceQuery;
import com.jetlumen.ordo.api.query.Page;
import com.jetlumen.ordo.api.query.PageRequest;
import com.jetlumen.ordo.api.query.TaskQuery;
import com.jetlumen.ordo.api.InstanceToken;
import com.jetlumen.ordo.api.ParallelBranch;
import com.jetlumen.ordo.api.ParallelMembership;
import com.jetlumen.ordo.api.TokenStatus;
import com.jetlumen.ordo.api.runtime.InstanceToken;
import com.jetlumen.ordo.api.definition.ParallelBranch;
import com.jetlumen.ordo.api.definition.ParallelMembership;
import com.jetlumen.ordo.api.runtime.TokenStatus;
import com.jetlumen.ordo.api.repository.ActionExecutionRepository;
import com.jetlumen.ordo.api.repository.ApprovalTaskRepository;
import com.jetlumen.ordo.api.repository.InstanceTokenRepository;
@@ -59,7 +59,9 @@ import java.util.Optional;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicLong;
import static com.jetlumen.ordo.api.Texts.requireText;
import static com.jetlumen.ordo.api.util.Texts.requireText;
import com.jetlumen.ordo.core.routing.RoutingPredicateEvaluator;
/**
* Repository-backed implementation of the approval runtime with explicit step transitions.
@@ -1,16 +1,16 @@
package com.jetlumen.ordo.core;
import com.jetlumen.ordo.api.ActionExecution;
import com.jetlumen.ordo.api.ActionHandler;
import com.jetlumen.ordo.api.ApprovalTask;
import com.jetlumen.ordo.api.AssigneeResolver;
import com.jetlumen.ordo.api.runtime.ActionExecution;
import com.jetlumen.ordo.api.spi.ActionHandler;
import com.jetlumen.ordo.api.runtime.ApprovalTask;
import com.jetlumen.ordo.api.spi.AssigneeResolver;
import com.jetlumen.ordo.api.OrdoEngine;
import com.jetlumen.ordo.api.OrdoEventListener;
import com.jetlumen.ordo.api.ProcessContext;
import com.jetlumen.ordo.api.ProcessDefinition;
import com.jetlumen.ordo.api.ProcessEvent;
import com.jetlumen.ordo.api.ProcessInstance;
import com.jetlumen.ordo.api.RoutingCondition;
import com.jetlumen.ordo.api.spi.OrdoEventListener;
import com.jetlumen.ordo.api.runtime.ProcessContext;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
import com.jetlumen.ordo.api.runtime.ProcessEvent;
import com.jetlumen.ordo.api.runtime.ProcessInstance;
import com.jetlumen.ordo.api.spi.RoutingCondition;
import com.jetlumen.ordo.api.query.InstanceQuery;
import com.jetlumen.ordo.api.query.Page;
import com.jetlumen.ordo.api.query.PageRequest;
@@ -1,7 +1,7 @@
package com.jetlumen.ordo.core.repository;
import com.jetlumen.ordo.api.ActionExecution;
import com.jetlumen.ordo.api.ActionExecutionStatus;
import com.jetlumen.ordo.api.runtime.ActionExecution;
import com.jetlumen.ordo.api.runtime.ActionExecutionStatus;
import com.jetlumen.ordo.api.query.Page;
import com.jetlumen.ordo.api.query.PageRequest;
import com.jetlumen.ordo.api.repository.ActionExecutionRepository;
@@ -1,8 +1,8 @@
package com.jetlumen.ordo.core.repository;
import com.jetlumen.ordo.api.ApprovalTask;
import com.jetlumen.ordo.api.ProcessInstance;
import com.jetlumen.ordo.api.TaskStatus;
import com.jetlumen.ordo.api.runtime.ApprovalTask;
import com.jetlumen.ordo.api.runtime.ProcessInstance;
import com.jetlumen.ordo.api.runtime.TaskStatus;
import com.jetlumen.ordo.api.query.Page;
import com.jetlumen.ordo.api.query.PageRequest;
import com.jetlumen.ordo.api.query.TaskQuery;
@@ -1,7 +1,7 @@
package com.jetlumen.ordo.core.repository;
import com.jetlumen.ordo.api.InstanceToken;
import com.jetlumen.ordo.api.TokenStatus;
import com.jetlumen.ordo.api.runtime.InstanceToken;
import com.jetlumen.ordo.api.runtime.TokenStatus;
import com.jetlumen.ordo.api.repository.InstanceTokenRepository;
import java.util.ArrayList;
@@ -1,6 +1,6 @@
package com.jetlumen.ordo.core.repository;
import com.jetlumen.ordo.api.ProcessDefinition;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
import com.jetlumen.ordo.api.query.Page;
import com.jetlumen.ordo.api.query.PageRequest;
import com.jetlumen.ordo.api.repository.ProcessDefinitionRepository;
@@ -1,6 +1,6 @@
package com.jetlumen.ordo.core.repository;
import com.jetlumen.ordo.api.ProcessEvent;
import com.jetlumen.ordo.api.runtime.ProcessEvent;
import com.jetlumen.ordo.api.query.Page;
import com.jetlumen.ordo.api.query.PageRequest;
import com.jetlumen.ordo.api.repository.ProcessHistoryRepository;
@@ -1,7 +1,7 @@
package com.jetlumen.ordo.core.repository;
import com.jetlumen.ordo.api.ProcessInstance;
import com.jetlumen.ordo.api.ProcessStatus;
import com.jetlumen.ordo.api.runtime.ProcessInstance;
import com.jetlumen.ordo.api.runtime.ProcessStatus;
import com.jetlumen.ordo.api.query.InstanceQuery;
import com.jetlumen.ordo.api.query.Page;
import com.jetlumen.ordo.api.query.PageRequest;
@@ -1,13 +1,13 @@
package com.jetlumen.ordo.core;
package com.jetlumen.ordo.core.routing;
import com.jetlumen.ordo.api.ProcessContext;
import com.jetlumen.ordo.api.RoutingPredicate;
import com.jetlumen.ordo.api.RoutingPredicate.And;
import com.jetlumen.ordo.api.RoutingPredicate.Compare;
import com.jetlumen.ordo.api.RoutingPredicate.In;
import com.jetlumen.ordo.api.RoutingPredicate.Not;
import com.jetlumen.ordo.api.RoutingPredicate.Op;
import com.jetlumen.ordo.api.RoutingPredicate.Or;
import com.jetlumen.ordo.api.runtime.ProcessContext;
import com.jetlumen.ordo.api.definition.RoutingPredicate;
import com.jetlumen.ordo.api.definition.RoutingPredicate.And;
import com.jetlumen.ordo.api.definition.RoutingPredicate.Compare;
import com.jetlumen.ordo.api.definition.RoutingPredicate.In;
import com.jetlumen.ordo.api.definition.RoutingPredicate.Not;
import com.jetlumen.ordo.api.definition.RoutingPredicate.Op;
import com.jetlumen.ordo.api.definition.RoutingPredicate.Or;
import java.util.Map;
import java.util.Objects;
@@ -1,8 +1,8 @@
package com.jetlumen.ordo.core.spi;
import com.jetlumen.ordo.api.ActionHandler;
import com.jetlumen.ordo.api.NamedAction;
import com.jetlumen.ordo.api.ProcessRuntime;
import com.jetlumen.ordo.api.spi.ActionHandler;
import com.jetlumen.ordo.api.spi.NamedAction;
import com.jetlumen.ordo.api.runtime.ProcessRuntime;
import java.util.List;
import java.util.Map;
@@ -1,8 +1,8 @@
package com.jetlumen.ordo.core.spi;
import com.jetlumen.ordo.api.NamedCondition;
import com.jetlumen.ordo.api.ProcessRuntime;
import com.jetlumen.ordo.api.RoutingCondition;
import com.jetlumen.ordo.api.spi.NamedCondition;
import com.jetlumen.ordo.api.runtime.ProcessRuntime;
import com.jetlumen.ordo.api.spi.RoutingCondition;
import java.util.List;
import java.util.Map;
@@ -1,6 +1,6 @@
package com.jetlumen.ordo.core.spi;
import com.jetlumen.ordo.api.Texts;
import com.jetlumen.ordo.api.util.Texts;
import java.util.LinkedHashMap;
import java.util.List;
@@ -1,8 +1,8 @@
package com.jetlumen.ordo.core.spi;
import com.jetlumen.ordo.api.NamedAction;
import com.jetlumen.ordo.api.NamedCondition;
import com.jetlumen.ordo.api.OrdoCatalog;
import com.jetlumen.ordo.api.spi.NamedAction;
import com.jetlumen.ordo.api.spi.NamedCondition;
import com.jetlumen.ordo.api.spi.OrdoCatalog;
import java.util.List;
import java.util.Objects;
@@ -1,25 +1,25 @@
package com.jetlumen.ordo.core;
import com.jetlumen.ordo.api.ActionExecution;
import com.jetlumen.ordo.api.ActionExecutionStatus;
import com.jetlumen.ordo.api.AssigneeResolver;
import com.jetlumen.ordo.api.ApprovalPolicy;
import com.jetlumen.ordo.api.ApprovalStep;
import com.jetlumen.ordo.api.ApprovalTask;
import com.jetlumen.ordo.api.ParallelBranch;
import com.jetlumen.ordo.api.ProcessContext;
import com.jetlumen.ordo.api.ProcessDefinition;
import com.jetlumen.ordo.api.ProcessEvent;
import com.jetlumen.ordo.api.ProcessEventType;
import com.jetlumen.ordo.api.ProcessInstance;
import com.jetlumen.ordo.api.ProcessRuntime;
import com.jetlumen.ordo.api.ProcessStatus;
import com.jetlumen.ordo.api.RoutingCondition;
import com.jetlumen.ordo.api.RoutingPredicate;
import com.jetlumen.ordo.api.StepDue;
import com.jetlumen.ordo.api.StepKind;
import com.jetlumen.ordo.api.StepTransition;
import com.jetlumen.ordo.api.TaskStatus;
import com.jetlumen.ordo.api.runtime.ActionExecution;
import com.jetlumen.ordo.api.runtime.ActionExecutionStatus;
import com.jetlumen.ordo.api.spi.AssigneeResolver;
import com.jetlumen.ordo.api.definition.ApprovalPolicy;
import com.jetlumen.ordo.api.definition.ApprovalStep;
import com.jetlumen.ordo.api.runtime.ApprovalTask;
import com.jetlumen.ordo.api.definition.ParallelBranch;
import com.jetlumen.ordo.api.runtime.ProcessContext;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
import com.jetlumen.ordo.api.runtime.ProcessEvent;
import com.jetlumen.ordo.api.runtime.ProcessEventType;
import com.jetlumen.ordo.api.runtime.ProcessInstance;
import com.jetlumen.ordo.api.runtime.ProcessRuntime;
import com.jetlumen.ordo.api.runtime.ProcessStatus;
import com.jetlumen.ordo.api.spi.RoutingCondition;
import com.jetlumen.ordo.api.definition.RoutingPredicate;
import com.jetlumen.ordo.api.definition.StepDue;
import com.jetlumen.ordo.api.definition.StepKind;
import com.jetlumen.ordo.api.definition.StepTransition;
import com.jetlumen.ordo.api.runtime.TaskStatus;
import com.jetlumen.ordo.api.exception.DefinitionNotFoundException;
import com.jetlumen.ordo.api.exception.InstanceAlreadyCompletedException;
import com.jetlumen.ordo.api.exception.InstanceNotFoundException;
@@ -1,7 +1,7 @@
package com.jetlumen.ordo.core;
import com.jetlumen.ordo.api.ProcessContext;
import com.jetlumen.ordo.api.RoutingPredicate;
import com.jetlumen.ordo.api.runtime.ProcessContext;
import com.jetlumen.ordo.api.definition.RoutingPredicate;
import org.junit.jupiter.api.Test;
import java.util.List;
@@ -9,6 +9,7 @@ import java.util.Map;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import com.jetlumen.ordo.core.routing.RoutingPredicateEvaluator;
class RoutingPredicateEvaluatorTest {
@@ -1,10 +1,10 @@
package com.jetlumen.ordo.core.repository;
import com.jetlumen.ordo.api.ApprovalTask;
import com.jetlumen.ordo.api.ProcessContext;
import com.jetlumen.ordo.api.ProcessInstance;
import com.jetlumen.ordo.api.ProcessStatus;
import com.jetlumen.ordo.api.TaskStatus;
import com.jetlumen.ordo.api.runtime.ApprovalTask;
import com.jetlumen.ordo.api.runtime.ProcessContext;
import com.jetlumen.ordo.api.runtime.ProcessInstance;
import com.jetlumen.ordo.api.runtime.ProcessStatus;
import com.jetlumen.ordo.api.runtime.TaskStatus;
import com.jetlumen.ordo.api.query.Page;
import com.jetlumen.ordo.api.query.PageRequest;
import com.jetlumen.ordo.api.query.TaskQuery;
@@ -1,7 +1,7 @@
package com.jetlumen.ordo.core.repository;
import com.jetlumen.ordo.api.ApprovalStep;
import com.jetlumen.ordo.api.ProcessDefinition;
import com.jetlumen.ordo.api.definition.ApprovalStep;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
import com.jetlumen.ordo.api.query.Page;
import com.jetlumen.ordo.api.query.PageRequest;
import org.junit.jupiter.api.Test;
@@ -1,8 +1,8 @@
package com.jetlumen.ordo.core.repository;
import com.jetlumen.ordo.api.ProcessContext;
import com.jetlumen.ordo.api.ProcessInstance;
import com.jetlumen.ordo.api.ProcessStatus;
import com.jetlumen.ordo.api.runtime.ProcessContext;
import com.jetlumen.ordo.api.runtime.ProcessInstance;
import com.jetlumen.ordo.api.runtime.ProcessStatus;
import com.jetlumen.ordo.api.query.InstanceQuery;
import com.jetlumen.ordo.api.query.Page;
import com.jetlumen.ordo.api.query.PageRequest;
@@ -1,9 +1,9 @@
package com.jetlumen.ordo.core.spi;
import com.jetlumen.ordo.api.NamedAction;
import com.jetlumen.ordo.api.NamedCondition;
import com.jetlumen.ordo.api.ProcessContext;
import com.jetlumen.ordo.api.ProcessRuntime;
import com.jetlumen.ordo.api.spi.NamedAction;
import com.jetlumen.ordo.api.spi.NamedCondition;
import com.jetlumen.ordo.api.runtime.ProcessContext;
import com.jetlumen.ordo.api.runtime.ProcessRuntime;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;