Class TaskConfigurationServiceImpl

java.lang.Object
com.atlassian.bamboo.task.TaskConfigurationServiceImpl
All Implemented Interfaces:
TaskConfigurationService

@Internal public class TaskConfigurationServiceImpl extends Object implements TaskConfigurationService
  • Constructor Details

  • Method Details

    • createTask

      public TaskDefinition createTask(@NotNull @NotNull PlanKey planKey, @NotNull @NotNull TaskModuleDescriptor taskDescriptor, @Nullable @Nullable String userDescription, boolean isEnabled, @NotNull @NotNull Map<String,String> configuration, @NotNull @NotNull TaskRootDirectorySelector taskRootDirectorySelector)
      Description copied from interface: TaskConfigurationService
      Create a task Definition and save it against the plan
      Specified by:
      createTask in interface TaskConfigurationService
      Parameters:
      planKey - of the plan to add the taskDefinition to, plan should be Buildable
      taskDescriptor - for the taskDefinition to be added
      userDescription - description the user has specified for this taskDefinition
      isEnabled - - set enabled/disabled state of the newly created task
      configuration - configuration from the plugin for this taskDefinition
      taskRootDirectorySelector - - data defining root of working directory of task
      Returns:
      the TaskDefinition created
    • createTask

      public TaskDefinition createTask(@NotNull @NotNull PlanKey planKey, @NotNull @NotNull TaskModuleDescriptor taskDescriptor, @Nullable @Nullable String userDescription, boolean isEnabled, @NotNull @NotNull List<TaskConditionConfig> conditions, @NotNull @NotNull Map<String,String> configuration, @NotNull @NotNull TaskRootDirectorySelector taskRootDirectorySelector)
      Description copied from interface: TaskConfigurationService
      Create a task Definition and save it against the plan
      Specified by:
      createTask in interface TaskConfigurationService
      Parameters:
      planKey - of the plan to add the taskDefinition to, plan should be Buildable
      taskDescriptor - for the taskDefinition to be added
      userDescription - description the user has specified for this taskDefinition
      isEnabled - - set enabled/disabled state of the newly created task
      conditions - - task conditions
      configuration - configuration from the plugin for this taskDefinition
      taskRootDirectorySelector - - data defining root of working directory of task
      Returns:
      the TaskDefinition created
    • createTaskList

      public void createTaskList(PlanKey planKey, @NotNull @NotNull List<TaskDefinition> taskDefinitions)
      Description copied from interface: TaskConfigurationService
      Initializes task list of a plan with the provided list. WARNING: If plan has existing tasks they are erased. It is assumed that the list is well-formed (i.e. ids are properly initialized) It can be used when automatically creating Jobs.
      Specified by:
      createTaskList in interface TaskConfigurationService
      Parameters:
      planKey - - the plan the task list belongs to
      taskDefinitions - - list of the tasks to be added
    • moveTask

      public void moveTask(@NotNull @NotNull PlanKey planKey, long taskId, long beforeId, long afterId, boolean isFinal)
      Description copied from interface: TaskConfigurationService
      Move a taskDefinition from one spot in its list, to another. And save changes. Uses the before and after tasks to ensure that the task list is in the same state the user saw when editing.
      Specified by:
      moveTask in interface TaskConfigurationService
      Parameters:
      planKey - the plan the taskDefinition is in
      taskId - ID of the TaskDefinition to move
      beforeId - ID of the taskDefinition that will be before the moving Task, -1 if the beginning of the list
      afterId - ID of the taskDefinition that will be after the moving Task, -1 if the end of the list
      isFinal - whether the task being moved is finalising or not, may or may not require changing.
    • deleteTask

      public void deleteTask(@NotNull @NotNull PlanKey planKey, long taskId)
      Description copied from interface: TaskConfigurationService
      Delete a given taskDefinition
      Specified by:
      deleteTask in interface TaskConfigurationService
      Parameters:
      planKey - for the plan to delete the TaskDefinition from
      taskId - of the TaskDefinition to delete.
    • editTask

      public TaskDefinition editTask(@NotNull @NotNull PlanKey planKey, long taskId, @Nullable @Nullable String userDescription, boolean isEnabled, @NotNull @NotNull Map<String,String> taskConfigurationMap, @NotNull @NotNull TaskRootDirectorySelector taskRootDirectorySelector) throws IllegalArgumentException
      Description copied from interface: TaskConfigurationService
      Update the details of specific taskDefinition
      Specified by:
      editTask in interface TaskConfigurationService
      Parameters:
      planKey - - the plan the taskDefintion belongs to, must be buildable
      taskId - - the taskDefinition to edit
      userDescription - - new user description
      isEnabled - - set new enabled/disabled state
      taskConfigurationMap - - new task Configuration
      taskRootDirectorySelector - - data defining root of working directory of task
      Returns:
      TaskDefinition with updates.
      Throws:
      IllegalArgumentException - if planKey or taskId is invalid.
    • editTask

      public TaskDefinition editTask(@NotNull @NotNull PlanKey planKey, long taskId, @Nullable @Nullable String userDescription, boolean isEnabled, @NotNull @NotNull List<TaskConditionConfig> conditions, @NotNull @NotNull Map<String,String> taskConfigurationMap, @NotNull @NotNull TaskRootDirectorySelector taskRootDirectorySelector) throws IllegalArgumentException
      Description copied from interface: TaskConfigurationService
      Update the details of specific taskDefinition
      Specified by:
      editTask in interface TaskConfigurationService
      Parameters:
      planKey - - the plan the taskDefintion belongs to, must be buildable
      taskId - - the taskDefinition to edit
      userDescription - - new user description
      isEnabled - - set new enabled/disabled state
      conditions - - task conditions
      taskConfigurationMap - - new task Configuration
      taskRootDirectorySelector - - data defining root of working directory of task
      Returns:
      TaskDefinition with updates.
      Throws:
      IllegalArgumentException - if planKey or taskId is invalid.
    • setTaskState

      public TaskDefinition setTaskState(@NotNull @NotNull PlanKey planKey, long taskId, boolean disabled) throws IllegalArgumentException
      Description copied from interface: TaskConfigurationService
      Update the disable state of specific taskDefinition
      Specified by:
      setTaskState in interface TaskConfigurationService
      Parameters:
      planKey - - the plan the taskDefintion belongs to, must be buildable
      taskId - - the taskDefinition to edit
      disabled - - set new enabled/disabled state
      Returns:
      TaskDefinition with updates.
      Throws:
      IllegalArgumentException - if planKey or taskId is invalid.
    • getRelevantTasksForRepositoryId

      public List<TaskDefinition> getRelevantTasksForRepositoryId(@NotNull @NotNull ImmutableJob job, long repositoryId)
      Description copied from interface: TaskConfigurationService
      Return relevant TaskDefinition for given Job and repositoryId
      Specified by:
      getRelevantTasksForRepositoryId in interface TaskConfigurationService
      Returns:
    • updateRepositoryIdsInJobsTasks

      public void updateRepositoryIdsInJobsTasks(@NotNull @NotNull Job job, Map<Long,Long> repositoryIdsChanges)
      Description copied from interface: TaskConfigurationService
      Updates task configurations affected by repository edition.
      Specified by:
      updateRepositoryIdsInJobsTasks in interface TaskConfigurationService
      repositoryIdsChanges - mapping between old and new repositories ids
    • getTasksRequirements

      @NotNull public @NotNull Collection<Requirement> getTasksRequirements(@NotNull @NotNull PlanKey planKey)
      Description copied from interface: TaskConfigurationService
      Return Requirements for all tasks of Plan represented by PlanKey
      Specified by:
      getTasksRequirements in interface TaskConfigurationService
      Returns:
      requirements for the Jobs TaskTypes
    • moveFinalBar

      public void moveFinalBar(PlanKey planKey, long beforeId, long afterId) throws IllegalArgumentException, IllegalStateException
      Description copied from interface: TaskConfigurationService
      Moves the final Bar to a specific location in the list.
      Specified by:
      moveFinalBar in interface TaskConfigurationService
      Parameters:
      planKey - - the plan the task list belongs to
      beforeId - - the id of the task we want before the bar, -1 if beginning of list
      afterId - - the id of the task we want after the bar, -1 if end of list
      Throws:
      IllegalArgumentException - if plan does not exist
      IllegalStateException - if task list has changed since move requested
    • getTaskById

      @Nullable protected @Nullable TaskDefinition getTaskById(@NotNull @NotNull List<TaskDefinition> tasks, long id)