Package com.xebialabs.xlrelease.domain
Class TaskGroup
- java.lang.Object
-
- com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem
-
- com.xebialabs.xlrelease.domain.PlanItem
-
- com.xebialabs.xlrelease.domain.Task
-
- com.xebialabs.xlrelease.domain.TaskGroup
-
- All Implemented Interfaces:
ConfigurationItem
,Lockable
,TaskContainer
,VisitableItem
,java.io.Serializable
,java.lang.Comparable<BaseConfigurationItem>
- Direct Known Subclasses:
ParallelGroup
,SequentialGroup
@Metadata(label="Task Group (Parallel or Sequential)", versioned=false, virtual=true) public abstract class TaskGroup extends Task implements TaskContainer
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<Task>
tasks
-
Fields inherited from class com.xebialabs.xlrelease.domain.Task
CATEGORY_INPUT, CATEGORY_OUTPUT, delayDuringBlackout, DUE_SOON_THRESHOLD, executionId, failureHandler, failuresCount, hasBeenDelayed, hasBeenFlagged, IS_AUTOMATED_AND_IN_PROGRESS, maxCommentSize, originalScheduledStartDate, postponedDueToBlackout, postponedUntilEnvironmentsAreReserved, precondition, status, tags, taskFailureHandlerEnabled, taskRecoverOp, team, UNKNOWN_TASK_TYPE, variableMapping, waitForScheduledStartDate
-
Fields inherited from class com.xebialabs.xlrelease.domain.PlanItem
BY_TITLE, description, dueDate, endDate, flagComment, flagStatus, overdueNotified, owner, plannedDuration, scheduledStartDate, startDate, title
-
Fields inherited from class com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem
id, syntheticProperties, type
-
Fields inherited from interface com.xebialabs.deployit.plugin.api.udm.ConfigurationItem
SYNTHETIC_PROPERTIES_FIELD, TYPE_FIELD
-
-
Constructor Summary
Constructors Constructor Description TaskGroup()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Changes
abort()
void
accept(ReleaseVisitor visitor)
void
addTask(Task task, int position)
void
deleteTask(Task task)
Changes
fail(java.lang.String targetId, java.lang.String failReason)
Changes
fail(java.lang.String targetId, java.lang.String failReason, boolean fromAbort)
Changes
fail(java.lang.String targetId, java.lang.String failReason, User user, boolean fromAbort)
java.util.List<Task>
getAllTasks()
java.util.List<PlanItem>
getChildren()
int
getDelayedCount()
int
getFlaggedCount()
Task
getTask(java.lang.Integer index)
java.util.List<Task>
getTasks()
protected java.util.List<java.lang.String>
getUnboundRequiredVariables()
boolean
isFailureHandlerEnabled()
boolean
isSkippableOrRetriable()
boolean
isUpdatable()
Changes
markAsDone(java.lang.String targetId, TaskStatus status)
Changes
resetToPlanned()
Changes
retry(java.lang.String targetId)
abstract void
setTasks(java.util.List<Task> tasks)
Changes
startNow(java.lang.String targetId, boolean shouldBePending)
protected abstract Changes
startSubTasksIfPreconditionNotInProgress()
protected abstract Changes
tryToStartPlanningTargets(Task task)
protected void
updateGroupStatusIfNecessary(Changes changes)
-
Methods inherited from class com.xebialabs.xlrelease.domain.Task
addWatcher, applyDefaults, canBeBackup, canScheduleTaskStart, canStartNow, checkDatesValidity, clearComments, delayDuringBlackoutHasChanged, deleteAttachment, execute, fail, failureHandlerHasChanged, findComment, freezeVariables, freezeVariablesInCustomFields, fromType, fromType, generateExecutionId, getAbortScript, getAttachments, getCiUid, getComments, getConfigurationUri, getContainer, getDisplayPath, getElapsedDurationFraction, getExecutionId, getFacets, getFailureHandler, getFailuresCount, getInputVariables, getMaxCommentSize, getOriginalScheduledStartDate, getPhase, getPrecondition, getReferencedVariables, getRelease, getReleaseOwner, getReleaseUid, getStatus, getTags, getTaskRecoverOp, getTaskType, getTeam, getUrl, getVariableMapping, getVariableUsages, getWatchers, hasAbortScript, hasBeenDelayed, hasBeenFlagged, hasBeenStarted, hasFailureHandlerScript, hasTaskRecoverOp, hasTeam, hasVariableMapping, isAborted, isAbortScriptInProgress, isActive, isAssignedTo, isAutomated, isCheckAttributes, isCompletedInAdvance, isDefaultTaskType, isDefunct, isDelayDuringBlackout, isDone, isDoneInAdvance, isDueSoon, isDueSoonNotified, isFacetInProgress, isFailed, isFailing, isFailureHandlerInProgress, isGate, isInProgress, isLocked, isMovable, isNotYetReached, isParallelGroup, isPending, isPlanned, isPostponedDueToBlackout, isPostponedUntilEnvironmentsAreReserved, isPreconditionEnabled, isPreconditionInProgress, isSkipped, isSkippedInAdvance, isStillExecutingScript, isSupportedInWorkflow, isTaskFailureHandlerEnabled, isTaskGroup, isWaitForScheduledStartDate, isWaitingForInput, lock, ownerHasBeenReassigned, postponeUntilEnvironmentsAreReserved, preconditionHasChanged, removeWatcher, reopen, replaceTask, setAttachments, setCheckAttributes, setCiUid, setConfigurationUri, setContainer, setDelayDuringBlackout, setDueSoonNotified, setExecutionId, setFacets, setFailureHandler, setFailuresCount, setFlagStatus, setHasBeenDelayed, setHasBeenFlagged, setLocked, setMaxCommentSize, setOriginalScheduledStartDate, setPostponedDueToBlackout, setPostponedUntilEnvironmentsAreReserved, setPrecondition, setReleaseUid, setScheduledStartDate, setStatus, setSupportedInWorkflow, setTags, setTaskFailureHandlerEnabled, setTaskRecoverOp, setTeam, setVariableMapping, setWaitForScheduledStartDate, setWatchers, shouldFacetBeChecked, shouldFreezeVariableMapping, shouldNotifyDueSoon, shouldPreconditionBeChecked, start, startPending, startWithInput, teamHasBeenReassigned, unlock, updateComment
-
Methods inherited from class com.xebialabs.xlrelease.domain.PlanItem
calculateDueDate, checkDatesValidity, getActualDuration, getComputedPlannedDuration, getDescription, getDueDate, getEndDate, getEndOrDueDate, getFlagComment, getFlagStatus, getOrCalculateDueDate, getOwner, getPlannedDuration, getScheduledStartDate, getStartDate, getStartOrScheduledDate, getTitle, hasDueDate, hasEndDate, hasEndOrDueDate, hasOwner, hasOwner, hasPlannedDuration, hasScheduledStartDate, hasStartDate, hasStartOrScheduledDate, hasTitle, hasTitle, hasValidStartDates, isFlagged, isOverdue, isOverdueNotified, isTitleContaining, moveChildren, setDates, setDescription, setDueDate, setEndDate, setFlagComment, setOverdueNotified, setOwner, setPlannedDuration, setStartAndEndDatesIfEmpty, setStartDate, setTitle, shouldNotifyOverdue, updateDates, updateDuration
-
Methods inherited from class com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem
compareTo, equals, get$ciAttributes, get$directoryReference, get$externalProperties, get$internalId, get$referenceId, get$securedCi, get$securedDirectoryReference, get$token, get$validationMessages, getId, getName, getProperty, getPropertyDescriptor, getType, hashCode, hasProperty, set$ciAttributes, set$directoryReference, set$externalProperties, set$internalId, set$referenceId, set$securedCi, set$securedDirectoryReference, set$token, set$validationMessages, setId, setProperty, setType, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.xebialabs.deployit.plugin.api.udm.ConfigurationItem
get$directoryReference, get$internalId, get$referenceId, get$securedCi, get$securedDirectoryReference, get$validationMessages, getId, getName, getProperty, getType, hasProperty, setId, setProperty
-
Methods inherited from interface com.xebialabs.xlrelease.domain.TaskContainer
getTitle, isLocked, replaceTask, replaceTask
-
-
-
-
Field Detail
-
tasks
@Property(asContainment=true, required=false) protected java.util.List<Task> tasks
-
-
Method Detail
-
getTasks
public java.util.List<Task> getTasks()
- Specified by:
getTasks
in interfaceTaskContainer
-
setTasks
public abstract void setTasks(java.util.List<Task> tasks)
- Specified by:
setTasks
in interfaceTaskContainer
-
getTask
public Task getTask(java.lang.Integer index)
-
getAllTasks
public java.util.List<Task> getAllTasks()
- Overrides:
getAllTasks
in classTask
-
getChildren
public java.util.List<PlanItem> getChildren()
- Overrides:
getChildren
in classTask
-
accept
public void accept(ReleaseVisitor visitor)
- Specified by:
accept
in interfaceVisitableItem
- Overrides:
accept
in classTask
-
startSubTasksIfPreconditionNotInProgress
protected abstract Changes startSubTasksIfPreconditionNotInProgress()
-
startNow
public Changes startNow(java.lang.String targetId, boolean shouldBePending)
-
markAsDone
public Changes markAsDone(java.lang.String targetId, TaskStatus status)
- Overrides:
markAsDone
in classTask
- Parameters:
targetId
- since tasks nest, this can either be the id of this task or the id of one of its children
-
fail
public Changes fail(java.lang.String targetId, java.lang.String failReason)
-
fail
public Changes fail(java.lang.String targetId, java.lang.String failReason, boolean fromAbort)
-
fail
public Changes fail(java.lang.String targetId, java.lang.String failReason, User user, boolean fromAbort)
-
resetToPlanned
public Changes resetToPlanned()
- Overrides:
resetToPlanned
in classTask
-
updateGroupStatusIfNecessary
protected void updateGroupStatusIfNecessary(Changes changes)
-
isUpdatable
public boolean isUpdatable()
- Overrides:
isUpdatable
in classTask
-
isSkippableOrRetriable
public boolean isSkippableOrRetriable()
-
getFlaggedCount
public int getFlaggedCount()
- Overrides:
getFlaggedCount
in classTask
-
getDelayedCount
public int getDelayedCount()
- Overrides:
getDelayedCount
in classTask
-
getUnboundRequiredVariables
protected java.util.List<java.lang.String> getUnboundRequiredVariables()
- Overrides:
getUnboundRequiredVariables
in classTask
-
deleteTask
public void deleteTask(Task task)
- Overrides:
deleteTask
in classTask
-
addTask
public void addTask(Task task, int position)
- Specified by:
addTask
in interfaceTaskContainer
-
isFailureHandlerEnabled
public boolean isFailureHandlerEnabled()
- Overrides:
isFailureHandlerEnabled
in classTask
-
-