Class ActivityTreeUtil
java.lang.Object
com.evolveum.midpoint.schema.util.task.ActivityTreeUtil
Utility methods for navigating throughout activity trees, potentially distributed throughout a task tree.
(There are also variants that traverse only local activities in a task.)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classActivity state with all the necessary context: the path, the task, and the partial states of coordinated workers.static classActivity state in local context: just the path and the state.static interfacestatic interfacestatic interfacestatic interface -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic @NotNull List<ActivityStateType>getAllLocalStates(@NotNull TaskActivityStateType taskActivityState) getSubtasksForPath(TaskType task, ActivityPath activityPath, TaskResolver taskResolver) static booleanWe know this by comparing task OIDs (except for worker ones): all must be the same to be non-delegated.static voidprocessLocalStates(@NotNull TaskType task, @NotNull ActivityTreeUtil.LocalActivityStateProcessor processor) Processes local activity state objects using the same rules as intransformLocalStates(TaskType, LocalActivityStateTransformer)(TaskType, ActivityStateTransformer)}: all states are treated the same.static voidprocessStates(@NotNull TaskType rootTask, @NotNull TaskResolver resolver, @NotNull ActivityTreeUtil.ActivityStateProcessor processor) Processes activity state objects using the same rules as intransformStates(TaskType, TaskResolver, ActivityStateTransformer): delegation states are ignored, distribution states are considered, along with all their workers' states.static @NotNull TreeNode<ActivityTreeUtil.ActivityStateInLocalContext>toLocalStateTree(@NotNull TaskType task) Creates aTreeNodeofActivityTreeUtil.ActivityStateInLocalContextobjects for activities locally contained in the task.static @NotNull TreeNode<ActivityTreeUtil.ActivityStateInContext>toStateTree(@NotNull TaskType rootTask, @NotNull TaskResolver resolver) Special case oftransformStates(TaskType, TaskResolver, ActivityStateTransformer): creates aTreeNodeofActivityTreeUtil.ActivityStateInContextobjects.static <X> @NotNull TreeNode<X>transformLocalStates(@NotNull TaskType rootTask, @NotNull ActivityTreeUtil.LocalActivityStateTransformer<X> transformer) Transforms task-local activity state objects into custom ones, organized into a tree.static <X> @NotNull TreeNode<X>transformStates(@NotNull TaskType rootTask, @NotNull TaskResolver resolver, @NotNull ActivityTreeUtil.ActivityStateTransformer<X> transformer) Transforms activity state objects into custom ones, organized into a tree.
-
Constructor Details
-
ActivityTreeUtil
public ActivityTreeUtil()
-
-
Method Details
-
transformStates
@NotNull public static <X> @NotNull TreeNode<X> transformStates(@NotNull @NotNull TaskType rootTask, @NotNull @NotNull TaskResolver resolver, @NotNull @NotNull ActivityTreeUtil.ActivityStateTransformer<X> transformer) Transforms activity state objects into custom ones, organized into a tree. Delegation states are ignored. Distribution states are considered, and their workers' states are packed along them. -
transformLocalStates
@NotNull public static <X> @NotNull TreeNode<X> transformLocalStates(@NotNull @NotNull TaskType rootTask, @NotNull @NotNull ActivityTreeUtil.LocalActivityStateTransformer<X> transformer) Transforms task-local activity state objects into custom ones, organized into a tree. Does not distinguish between local, delegated, and distributed states: all are treated the same. -
processStates
public static void processStates(@NotNull @NotNull TaskType rootTask, @NotNull @NotNull TaskResolver resolver, @NotNull @NotNull ActivityTreeUtil.ActivityStateProcessor processor) Processes activity state objects using the same rules as intransformStates(TaskType, TaskResolver, ActivityStateTransformer): delegation states are ignored, distribution states are considered, along with all their workers' states. -
processLocalStates
public static void processLocalStates(@NotNull @NotNull TaskType task, @NotNull @NotNull ActivityTreeUtil.LocalActivityStateProcessor processor) Processes local activity state objects using the same rules as intransformLocalStates(TaskType, LocalActivityStateTransformer)(TaskType, ActivityStateTransformer)}: all states are treated the same. -
toStateTree
@NotNull public static @NotNull TreeNode<ActivityTreeUtil.ActivityStateInContext> toStateTree(@NotNull @NotNull TaskType rootTask, @NotNull @NotNull TaskResolver resolver) Special case oftransformStates(TaskType, TaskResolver, ActivityStateTransformer): creates aTreeNodeofActivityTreeUtil.ActivityStateInContextobjects. -
toLocalStateTree
@NotNull public static @NotNull TreeNode<ActivityTreeUtil.ActivityStateInLocalContext> toLocalStateTree(@NotNull @NotNull TaskType task) Creates aTreeNodeofActivityTreeUtil.ActivityStateInLocalContextobjects for activities locally contained in the task. -
hasDelegatedActivity
We know this by comparing task OIDs (except for worker ones): all must be the same to be non-delegated. -
getSubtasksForPath
@NotNull public static @NotNull List<TaskType> getSubtasksForPath(TaskType task, ActivityPath activityPath, TaskResolver taskResolver) -
getAllLocalStates
@NotNull public static @NotNull List<ActivityStateType> getAllLocalStates(@NotNull @NotNull TaskActivityStateType taskActivityState)
-