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,9 +1,15 @@
package com.jetlumen.ordo.api;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
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.runtime.ActionExecution;
import com.jetlumen.ordo.api.runtime.ApprovalTask;
import com.jetlumen.ordo.api.runtime.ProcessContext;
import com.jetlumen.ordo.api.runtime.ProcessEvent;
import com.jetlumen.ordo.api.runtime.ProcessInstance;
import java.util.List;
import java.util.Optional;
@@ -1,4 +1,6 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.definition;
import com.jetlumen.ordo.api.runtime.TaskStatus;
/**
* Decision rule applied when an approval step has more than one candidate.
@@ -1,9 +1,11 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.definition;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import com.jetlumen.ordo.api.spi.ActionHandler;
import com.jetlumen.ordo.api.util.Texts;
/**
* A named step in a process definition. Approval steps have one or more candidate assignees;
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.definition;
/** What happens when an approval step's due time is reached. */
public enum DueThen {
@@ -1,8 +1,9 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.definition;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import com.jetlumen.ordo.api.util.Texts;
/** One branch inside a {@link StepKind#PARALLEL} block. The first step id is the branch start. */
public record ParallelBranch(String id, List<String> stepIds) {
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.definition;
/** Locates an inner step inside a {@link StepKind#PARALLEL} block. */
public record ParallelMembership(ApprovalStep parallel, ParallelBranch branch) {
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.definition;
import java.util.ArrayList;
import java.util.Comparator;
@@ -9,6 +9,7 @@ import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import com.jetlumen.ordo.api.util.Texts;
/** Immutable blueprint for an approval process with explicit step transitions. */
public record ProcessDefinition(String id, int version, String name, List<ApprovalStep> steps,
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.definition;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonProcessingException;
@@ -15,6 +15,7 @@ import java.util.List;
import java.util.Locale;
import java.util.Objects;
import java.util.Set;
import com.jetlumen.ordo.api.util.Jsons;
/** Parses a structural JSON process graph into a {@link ProcessDefinition}. */
public final class ProcessDefinitionParser {
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.definition;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ArrayNode;
@@ -11,6 +11,8 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import com.jetlumen.ordo.api.runtime.ProcessContext;
import com.jetlumen.ordo.api.util.Texts;
/** Closed-set boolean tree evaluated against {@link ProcessContext} variables. */
public sealed interface RoutingPredicate permits RoutingPredicate.Compare, RoutingPredicate.In,
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.definition;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
@@ -9,6 +9,9 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
import java.util.Map;
import java.util.Objects;
import com.jetlumen.ordo.api.spi.RoutingCondition;
import com.jetlumen.ordo.api.util.Jsons;
import com.jetlumen.ordo.api.util.Texts;
/**
* Outgoing-edge condition: either a built-in {@link RoutingPredicate} or a host
@@ -1,7 +1,8 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.definition;
import java.time.Duration;
import java.util.Objects;
import com.jetlumen.ordo.api.util.Texts;
/** Relative SLA on an approval step. */
public record StepDue(Duration after, DueThen then, String to, String action) {
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.definition;
public enum StepKind {
APPROVAL, ACTION, PARALLEL
@@ -1,4 +1,6 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.definition;
import com.jetlumen.ordo.api.util.Texts;
/**
* An outgoing edge from an approval step. When {@link #toStepId()} is {@code null}, matching this
@@ -1,6 +1,6 @@
package com.jetlumen.ordo.api.query;
import com.jetlumen.ordo.api.ProcessStatus;
import com.jetlumen.ordo.api.runtime.ProcessStatus;
import java.time.Instant;
@@ -1,6 +1,6 @@
package com.jetlumen.ordo.api.query;
import com.jetlumen.ordo.api.TaskStatus;
import com.jetlumen.ordo.api.runtime.TaskStatus;
import java.time.Instant;
@@ -1,7 +1,7 @@
package com.jetlumen.ordo.api.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;
@@ -1,6 +1,6 @@
package com.jetlumen.ordo.api.repository;
import com.jetlumen.ordo.api.ApprovalTask;
import com.jetlumen.ordo.api.runtime.ApprovalTask;
import com.jetlumen.ordo.api.query.Page;
import com.jetlumen.ordo.api.query.PageRequest;
import com.jetlumen.ordo.api.query.TaskQuery;
@@ -1,6 +1,6 @@
package com.jetlumen.ordo.api.repository;
import com.jetlumen.ordo.api.InstanceToken;
import com.jetlumen.ordo.api.runtime.InstanceToken;
import java.util.List;
@@ -1,6 +1,6 @@
package com.jetlumen.ordo.api.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;
@@ -1,6 +1,6 @@
package com.jetlumen.ordo.api.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;
@@ -1,6 +1,6 @@
package com.jetlumen.ordo.api.repository;
import com.jetlumen.ordo.api.ProcessInstance;
import com.jetlumen.ordo.api.runtime.ProcessInstance;
import com.jetlumen.ordo.api.query.InstanceQuery;
import com.jetlumen.ordo.api.query.Page;
import com.jetlumen.ordo.api.query.PageRequest;
@@ -1,7 +1,8 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.runtime;
import java.time.Instant;
import java.util.Objects;
import com.jetlumen.ordo.api.util.Texts;
/** Persisted record of an ACTION step invocation. */
public record ActionExecution(String id, String instanceId, String stepId, String actionKey,
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.runtime;
/** Lifecycle of a persisted ACTION-step execution. */
public enum ActionExecutionStatus {
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.runtime;
import java.time.Instant;
@@ -1,6 +1,8 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.runtime;
import java.util.Objects;
import com.jetlumen.ordo.api.definition.StepKind;
import com.jetlumen.ordo.api.util.Texts;
/** Runtime token for one branch of a {@link StepKind#PARALLEL} block. */
public record InstanceToken(String id, String instanceId, String parallelStepId, String branchId, String currentStepId,
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.runtime;
import java.util.Map;
import java.util.Objects;
@@ -1,7 +1,8 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.runtime;
import java.time.Instant;
import java.util.Objects;
import com.jetlumen.ordo.api.util.Texts;
/** Immutable audit record of something that happened to a process instance. */
public record ProcessEvent(String id, String instanceId, String taskId, String stepId, ProcessEventType type,
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.runtime;
/** Kinds of append-only process history events. */
public enum ProcessEventType {
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.runtime;
import java.time.Instant;
@@ -1,6 +1,7 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.runtime;
import java.util.Objects;
import com.jetlumen.ordo.api.util.Texts;
/**
* Read-only engine metadata plus business {@link ProcessContext} for host SPIs.
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.runtime;
public enum ProcessStatus {
RUNNING, APPROVED, REJECTED, WITHDRAWN, CANCELLED
@@ -1,7 +1,8 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.runtime;
import java.time.Instant;
import java.util.Objects;
import com.jetlumen.ordo.api.util.Texts;
/** Immutable audit record created when an approval task is completed. */
public record TaskAction(String actor, String comment, Instant operatedAt) {
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.runtime;
public enum TaskStatus {
PENDING, APPROVED, REJECTED,
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.runtime;
/** Status of a parallel-branch token. */
public enum TokenStatus {
@@ -1,4 +1,6 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.spi;
import com.jetlumen.ordo.api.runtime.ProcessRuntime;
/**
* Executes a named action step against the running instance. Hosts supply a
@@ -1,4 +1,7 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.spi;
import com.jetlumen.ordo.api.definition.ApprovalStep;
import com.jetlumen.ordo.api.runtime.ProcessRuntime;
/**
* Resolves the actual assignee for a single candidate of an approval step when its task is
@@ -1,6 +1,7 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.spi;
import java.util.List;
import com.jetlumen.ordo.api.runtime.ProcessRuntime;
/**
* A single ACTION implementation keyed by {@link #key()}, matching {@code action} on the step
@@ -1,7 +1,8 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.spi;
import java.util.List;
import java.util.Map;
import com.jetlumen.ordo.api.runtime.ProcessRuntime;
/**
* A single routing condition keyed by {@link #key()}, matching {@code when.ref}. Spring collects
@@ -1,9 +1,10 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.spi;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
import java.util.Set;
import com.jetlumen.ordo.api.util.Texts;
/** Host-registered keys for designers and REST dropdowns; not used by the engine at runtime. */
public interface OrdoCatalog {
@@ -1,4 +1,6 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.spi;
import com.jetlumen.ordo.api.runtime.ProcessEvent;
/**
* Host hook invoked after a process mutation has been committed. Implementations must not throw
@@ -1,6 +1,7 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.spi;
import java.util.Map;
import com.jetlumen.ordo.api.runtime.ProcessRuntime;
/**
* Evaluates a named routing condition ({@code when.ref}) against the running instance.
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.util;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.api;
package com.jetlumen.ordo.api.util;
/** Shared blank-string checks used by domain records and the engine. */
public final class Texts {
@@ -8,6 +8,13 @@ import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
import com.jetlumen.ordo.api.definition.ApprovalStep;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
import com.jetlumen.ordo.api.definition.ProcessDefinitionParser;
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;
class ProcessDefinitionParserTest {
@@ -7,6 +7,14 @@ import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import com.jetlumen.ordo.api.definition.ApprovalPolicy;
import com.jetlumen.ordo.api.definition.ApprovalStep;
import com.jetlumen.ordo.api.definition.ParallelBranch;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
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;
class ProcessDefinitionTest {
@@ -5,6 +5,7 @@ import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertInstanceOf;
import static org.junit.jupiter.api.Assertions.assertThrows;
import com.jetlumen.ordo.api.definition.RoutingWhen;
class RoutingWhenTest {
@@ -1,6 +1,6 @@
package com.jetlumen.ordo.api.query;
import com.jetlumen.ordo.api.TaskStatus;
import com.jetlumen.ordo.api.runtime.TaskStatus;
import org.junit.jupiter.api.Test;
import java.time.Instant;
@@ -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;
@@ -1,9 +1,9 @@
package com.jetlumen.ordo.example;
import com.jetlumen.ordo.api.ApprovalStep;
import com.jetlumen.ordo.api.definition.ApprovalStep;
import com.jetlumen.ordo.api.OrdoEngine;
import com.jetlumen.ordo.api.ProcessContext;
import com.jetlumen.ordo.api.ProcessDefinition;
import com.jetlumen.ordo.api.runtime.ProcessContext;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
import com.jetlumen.ordo.core.InMemoryOrdoEngine;
import java.util.List;
@@ -1,8 +1,8 @@
package com.jetlumen.ordo.spring.jdbc;
package com.jetlumen.ordo.spring;
import com.jetlumen.ordo.api.OrdoEngine;
import com.jetlumen.ordo.api.ProcessDefinition;
import com.jetlumen.ordo.api.ProcessDefinitionParser;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
import com.jetlumen.ordo.api.definition.ProcessDefinitionParser;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.io.Resource;
@@ -1,4 +1,4 @@
package com.jetlumen.ordo.spring.jdbc;
package com.jetlumen.ordo.spring;
import com.jetlumen.ordo.api.OrdoEngine;
import org.springframework.context.SmartLifecycle;
@@ -1,12 +1,12 @@
package com.jetlumen.ordo.spring.jdbc;
import com.jetlumen.ordo.api.ActionHandler;
import com.jetlumen.ordo.api.AssigneeResolver;
import com.jetlumen.ordo.api.NamedAction;
import com.jetlumen.ordo.api.NamedCondition;
import com.jetlumen.ordo.api.spi.ActionHandler;
import com.jetlumen.ordo.api.spi.AssigneeResolver;
import com.jetlumen.ordo.api.spi.NamedAction;
import com.jetlumen.ordo.api.spi.NamedCondition;
import com.jetlumen.ordo.api.OrdoEngine;
import com.jetlumen.ordo.api.OrdoEventListener;
import com.jetlumen.ordo.api.RoutingCondition;
import com.jetlumen.ordo.api.spi.OrdoEventListener;
import com.jetlumen.ordo.api.spi.RoutingCondition;
import com.jetlumen.ordo.api.TransactionExecutor;
import com.jetlumen.ordo.api.repository.ActionExecutionRepository;
import com.jetlumen.ordo.api.repository.ApprovalTaskRepository;
@@ -17,6 +17,8 @@ import com.jetlumen.ordo.api.repository.ProcessInstanceRepository;
import com.jetlumen.ordo.core.DefaultOrdoEngine;
import com.jetlumen.ordo.core.spi.DispatchingActionHandler;
import com.jetlumen.ordo.core.spi.DispatchingRoutingCondition;
import com.jetlumen.ordo.spring.OrdoDefinitionLoader;
import com.jetlumen.ordo.spring.OrdoDuePoller;
import com.jetlumen.ordo.spring.OrdoProperties;
import com.jetlumen.ordo.storage.jdbc.JdbcActionExecutionRepository;
import com.jetlumen.ordo.storage.jdbc.JdbcApprovalTaskRepository;
@@ -2,9 +2,9 @@ package com.jetlumen.ordo.spring.rest;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.jetlumen.ordo.api.Jsons;
import com.jetlumen.ordo.api.ProcessDefinition;
import com.jetlumen.ordo.api.ProcessDefinitionParser;
import com.jetlumen.ordo.api.util.Jsons;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
import com.jetlumen.ordo.api.definition.ProcessDefinitionParser;
import java.util.Map;
@@ -1,6 +1,6 @@
package com.jetlumen.ordo.spring.rest;
import com.jetlumen.ordo.api.OrdoCatalog;
import com.jetlumen.ordo.api.spi.OrdoCatalog;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -1,8 +1,8 @@
package com.jetlumen.ordo.spring.rest;
import com.jetlumen.ordo.api.OrdoEngine;
import com.jetlumen.ordo.api.ProcessDefinition;
import com.jetlumen.ordo.api.ProcessDefinitionParser;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
import com.jetlumen.ordo.api.definition.ProcessDefinitionParser;
import com.jetlumen.ordo.api.query.PageRequest;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -1,12 +1,12 @@
package com.jetlumen.ordo.spring.rest;
import com.jetlumen.ordo.api.ActionExecution;
import com.jetlumen.ordo.api.ApprovalTask;
import com.jetlumen.ordo.api.runtime.ActionExecution;
import com.jetlumen.ordo.api.runtime.ApprovalTask;
import com.jetlumen.ordo.api.OrdoEngine;
import com.jetlumen.ordo.api.ProcessContext;
import com.jetlumen.ordo.api.ProcessEvent;
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.ProcessEvent;
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.PageRequest;
import org.springframework.http.ResponseEntity;
@@ -1,8 +1,8 @@
package com.jetlumen.ordo.spring.rest;
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 com.jetlumen.ordo.api.OrdoEngine;
import com.jetlumen.ordo.core.spi.RegistryOrdoCatalog;
import com.jetlumen.ordo.spring.OrdoProperties;
@@ -1,8 +1,8 @@
package com.jetlumen.ordo.spring.rest;
import com.jetlumen.ordo.api.ApprovalTask;
import com.jetlumen.ordo.api.runtime.ApprovalTask;
import com.jetlumen.ordo.api.OrdoEngine;
import com.jetlumen.ordo.api.TaskStatus;
import com.jetlumen.ordo.api.runtime.TaskStatus;
import com.jetlumen.ordo.api.query.PageRequest;
import com.jetlumen.ordo.api.query.TaskQuery;
import org.springframework.http.ResponseEntity;
@@ -1,20 +1,20 @@
package com.jetlumen.ordo.spring.jdbc;
import com.jetlumen.ordo.api.ActionHandler;
import com.jetlumen.ordo.api.ApprovalStep;
import com.jetlumen.ordo.api.ApprovalTask;
import com.jetlumen.ordo.api.AssigneeResolver;
import com.jetlumen.ordo.api.NamedAction;
import com.jetlumen.ordo.api.NamedCondition;
import com.jetlumen.ordo.api.spi.ActionHandler;
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.spi.NamedAction;
import com.jetlumen.ordo.api.spi.NamedCondition;
import com.jetlumen.ordo.api.OrdoEngine;
import com.jetlumen.ordo.api.OrdoEventListener;
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.RoutingCondition;
import com.jetlumen.ordo.api.StepTransition;
import com.jetlumen.ordo.api.spi.OrdoEventListener;
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.spi.RoutingCondition;
import com.jetlumen.ordo.api.definition.StepTransition;
import com.jetlumen.ordo.api.query.PageRequest;
import com.jetlumen.ordo.api.repository.ProcessDefinitionRepository;
import com.jetlumen.ordo.core.spi.DispatchingActionHandler;
@@ -34,6 +34,7 @@ import java.util.UUID;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import com.jetlumen.ordo.spring.OrdoDefinitionLoader;
class OrdoJdbcAutoConfigurationTest {
@@ -1,10 +1,10 @@
package com.jetlumen.ordo.spring.rest;
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 com.jetlumen.ordo.api.OrdoEngine;
import com.jetlumen.ordo.api.ProcessRuntime;
import com.jetlumen.ordo.api.runtime.ProcessRuntime;
import com.jetlumen.ordo.spring.jdbc.OrdoFlywayAutoConfiguration;
import com.jetlumen.ordo.spring.jdbc.OrdoJdbcAutoConfiguration;
import org.junit.jupiter.api.Test;
@@ -1,7 +1,7 @@
package com.jetlumen.ordo.storage.jdbc;
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,6 +1,6 @@
package com.jetlumen.ordo.storage.jdbc;
import com.jetlumen.ordo.api.ApprovalTask;
import com.jetlumen.ordo.api.runtime.ApprovalTask;
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.storage.jdbc;
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 com.jetlumen.ordo.storage.jdbc.dialect.SqlDialect;
import com.jetlumen.ordo.storage.jdbc.dialect.SqlDialects;
@@ -1,10 +1,10 @@
package com.jetlumen.ordo.storage.jdbc;
import com.jetlumen.ordo.api.ApprovalStep;
import com.jetlumen.ordo.api.ParallelBranch;
import com.jetlumen.ordo.api.ProcessDefinition;
import com.jetlumen.ordo.api.StepKind;
import com.jetlumen.ordo.api.StepTransition;
import com.jetlumen.ordo.api.definition.ApprovalStep;
import com.jetlumen.ordo.api.definition.ParallelBranch;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
import com.jetlumen.ordo.api.definition.StepKind;
import com.jetlumen.ordo.api.definition.StepTransition;
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.storage.jdbc;
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.storage.jdbc;
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,7 +1,7 @@
package com.jetlumen.ordo.storage.jdbc.mapper;
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 java.sql.PreparedStatement;
import java.sql.ResultSet;
@@ -1,18 +1,19 @@
package com.jetlumen.ordo.storage.jdbc.mapper;
import com.jetlumen.ordo.api.ApprovalPolicy;
import com.jetlumen.ordo.api.DueThen;
import com.jetlumen.ordo.api.StepDue;
import com.jetlumen.ordo.api.StepKind;
import com.jetlumen.ordo.api.definition.ApprovalPolicy;
import com.jetlumen.ordo.api.definition.DueThen;
import com.jetlumen.ordo.api.definition.StepDue;
import com.jetlumen.ordo.api.definition.StepKind;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.Duration;
import com.jetlumen.ordo.api.definition.ApprovalStep;
/**
* Maps rows of {@code ordo_approval_step}. A step's candidate list lives in the separate
* {@code ordo_step_candidate} table, so this only reads the scalar step columns; the repository
* assembles the full {@link com.jetlumen.ordo.api.ApprovalStep} once candidates are loaded.
* assembles the full {@link com.jetlumen.ordo.api.definition.ApprovalStep} once candidates are loaded.
*/
public final class ApprovalStepMapper {
private ApprovalStepMapper() {
@@ -1,8 +1,8 @@
package com.jetlumen.ordo.storage.jdbc.mapper;
import com.jetlumen.ordo.api.ApprovalTask;
import com.jetlumen.ordo.api.TaskAction;
import com.jetlumen.ordo.api.TaskStatus;
import com.jetlumen.ordo.api.runtime.ApprovalTask;
import com.jetlumen.ordo.api.runtime.TaskAction;
import com.jetlumen.ordo.api.runtime.TaskStatus;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
@@ -2,8 +2,8 @@ package com.jetlumen.ordo.storage.jdbc.mapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.jetlumen.ordo.api.Jsons;
import com.jetlumen.ordo.api.ProcessContext;
import com.jetlumen.ordo.api.util.Jsons;
import com.jetlumen.ordo.api.runtime.ProcessContext;
import java.util.Map;
@@ -1,7 +1,7 @@
package com.jetlumen.ordo.storage.jdbc.mapper;
import com.jetlumen.ordo.api.ProcessEvent;
import com.jetlumen.ordo.api.ProcessEventType;
import com.jetlumen.ordo.api.runtime.ProcessEvent;
import com.jetlumen.ordo.api.runtime.ProcessEventType;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
@@ -1,7 +1,7 @@
package com.jetlumen.ordo.storage.jdbc.mapper;
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 java.sql.PreparedStatement;
import java.sql.ResultSet;
@@ -1,6 +1,6 @@
package com.jetlumen.ordo.storage.jdbc.mapper;
import com.jetlumen.ordo.api.RoutingWhen;
import com.jetlumen.ordo.api.definition.RoutingWhen;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -1,12 +1,12 @@
package com.jetlumen.ordo.storage.jdbc;
import com.jetlumen.ordo.api.ActionExecution;
import com.jetlumen.ordo.api.ActionExecutionStatus;
import com.jetlumen.ordo.api.ApprovalStep;
import com.jetlumen.ordo.api.ProcessContext;
import com.jetlumen.ordo.api.ProcessDefinition;
import com.jetlumen.ordo.api.ProcessInstance;
import com.jetlumen.ordo.api.ProcessStatus;
import com.jetlumen.ordo.api.runtime.ActionExecution;
import com.jetlumen.ordo.api.runtime.ActionExecutionStatus;
import com.jetlumen.ordo.api.definition.ApprovalStep;
import com.jetlumen.ordo.api.runtime.ProcessContext;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
import com.jetlumen.ordo.api.runtime.ProcessInstance;
import com.jetlumen.ordo.api.runtime.ProcessStatus;
import com.jetlumen.ordo.api.query.Page;
import com.jetlumen.ordo.api.query.PageRequest;
import org.junit.jupiter.api.BeforeEach;
@@ -1,13 +1,13 @@
package com.jetlumen.ordo.storage.jdbc;
import com.jetlumen.ordo.api.ApprovalStep;
import com.jetlumen.ordo.api.ApprovalTask;
import com.jetlumen.ordo.api.ProcessContext;
import com.jetlumen.ordo.api.ProcessDefinition;
import com.jetlumen.ordo.api.ProcessInstance;
import com.jetlumen.ordo.api.ProcessStatus;
import com.jetlumen.ordo.api.TaskAction;
import com.jetlumen.ordo.api.TaskStatus;
import com.jetlumen.ordo.api.definition.ApprovalStep;
import com.jetlumen.ordo.api.runtime.ApprovalTask;
import com.jetlumen.ordo.api.runtime.ProcessContext;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
import com.jetlumen.ordo.api.runtime.ProcessInstance;
import com.jetlumen.ordo.api.runtime.ProcessStatus;
import com.jetlumen.ordo.api.runtime.TaskAction;
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,19 +1,19 @@
package com.jetlumen.ordo.storage.jdbc;
import com.jetlumen.ordo.api.ActionHandler;
import com.jetlumen.ordo.api.ApprovalStep;
import com.jetlumen.ordo.api.ApprovalTask;
import com.jetlumen.ordo.api.AssigneeResolver;
import com.jetlumen.ordo.api.spi.ActionHandler;
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.ParallelBranch;
import com.jetlumen.ordo.api.ProcessContext;
import com.jetlumen.ordo.api.ProcessDefinition;
import com.jetlumen.ordo.api.ProcessInstance;
import com.jetlumen.ordo.api.ProcessStatus;
import com.jetlumen.ordo.api.RoutingCondition;
import com.jetlumen.ordo.api.StepTransition;
import com.jetlumen.ordo.api.TaskAction;
import com.jetlumen.ordo.api.TaskStatus;
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.ProcessInstance;
import com.jetlumen.ordo.api.runtime.ProcessStatus;
import com.jetlumen.ordo.api.spi.RoutingCondition;
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.core.DefaultOrdoEngine;
import com.jetlumen.ordo.storage.jdbc.dialect.SqlDialect;
import com.jetlumen.ordo.storage.jdbc.dialect.SqlDialects;
@@ -1,25 +1,25 @@
package com.jetlumen.ordo.storage.jdbc;
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.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.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.ProcessStatus;
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.ProcessStatus;
import com.jetlumen.ordo.api.query.PageRequest;
import com.jetlumen.ordo.api.RoutingCondition;
import com.jetlumen.ordo.api.StepKind;
import com.jetlumen.ordo.api.StepDue;
import com.jetlumen.ordo.api.StepTransition;
import com.jetlumen.ordo.api.TaskStatus;
import com.jetlumen.ordo.api.spi.RoutingCondition;
import com.jetlumen.ordo.api.definition.StepKind;
import com.jetlumen.ordo.api.definition.StepDue;
import com.jetlumen.ordo.api.definition.StepTransition;
import com.jetlumen.ordo.api.runtime.TaskStatus;
import com.jetlumen.ordo.api.exception.InstanceAlreadyCompletedException;
import com.jetlumen.ordo.api.exception.UnauthorizedInstanceOperationException;
import com.jetlumen.ordo.api.exception.NoRouteFoundException;
@@ -1,19 +1,19 @@
package com.jetlumen.ordo.storage.jdbc;
import com.jetlumen.ordo.api.ActionHandler;
import com.jetlumen.ordo.api.ApprovalStep;
import com.jetlumen.ordo.api.ApprovalTask;
import com.jetlumen.ordo.api.AssigneeResolver;
import com.jetlumen.ordo.api.spi.ActionHandler;
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.ParallelBranch;
import com.jetlumen.ordo.api.ProcessContext;
import com.jetlumen.ordo.api.ProcessDefinition;
import com.jetlumen.ordo.api.ProcessInstance;
import com.jetlumen.ordo.api.ProcessStatus;
import com.jetlumen.ordo.api.RoutingCondition;
import com.jetlumen.ordo.api.StepTransition;
import com.jetlumen.ordo.api.TaskAction;
import com.jetlumen.ordo.api.TaskStatus;
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.ProcessInstance;
import com.jetlumen.ordo.api.runtime.ProcessStatus;
import com.jetlumen.ordo.api.spi.RoutingCondition;
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.core.DefaultOrdoEngine;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assumptions;
@@ -1,13 +1,13 @@
package com.jetlumen.ordo.storage.jdbc;
import com.jetlumen.ordo.api.ApprovalPolicy;
import com.jetlumen.ordo.api.ApprovalStep;
import com.jetlumen.ordo.api.ParallelBranch;
import com.jetlumen.ordo.api.ProcessDefinition;
import com.jetlumen.ordo.api.StepDue;
import com.jetlumen.ordo.api.StepKind;
import com.jetlumen.ordo.api.RoutingPredicate;
import com.jetlumen.ordo.api.StepTransition;
import com.jetlumen.ordo.api.definition.ApprovalPolicy;
import com.jetlumen.ordo.api.definition.ApprovalStep;
import com.jetlumen.ordo.api.definition.ParallelBranch;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
import com.jetlumen.ordo.api.definition.StepDue;
import com.jetlumen.ordo.api.definition.StepKind;
import com.jetlumen.ordo.api.definition.RoutingPredicate;
import com.jetlumen.ordo.api.definition.StepTransition;
import com.jetlumen.ordo.api.query.Page;
import com.jetlumen.ordo.api.query.PageRequest;
import org.junit.jupiter.api.BeforeEach;
@@ -1,12 +1,12 @@
package com.jetlumen.ordo.storage.jdbc;
import com.jetlumen.ordo.api.ApprovalStep;
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.ProcessStatus;
import com.jetlumen.ordo.api.definition.ApprovalStep;
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.ProcessStatus;
import com.jetlumen.ordo.api.query.Page;
import com.jetlumen.ordo.api.query.PageRequest;
import org.junit.jupiter.api.BeforeEach;
@@ -1,10 +1,10 @@
package com.jetlumen.ordo.storage.jdbc;
import com.jetlumen.ordo.api.ApprovalStep;
import com.jetlumen.ordo.api.ProcessContext;
import com.jetlumen.ordo.api.ProcessDefinition;
import com.jetlumen.ordo.api.ProcessInstance;
import com.jetlumen.ordo.api.ProcessStatus;
import com.jetlumen.ordo.api.definition.ApprovalStep;
import com.jetlumen.ordo.api.runtime.ProcessContext;
import com.jetlumen.ordo.api.definition.ProcessDefinition;
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;