com.atlassian.bamboo.ant.task
Class AntBuildTaskConfigurator

java.lang.Object
  extended by com.atlassian.bamboo.ant.task.AntBuildTaskConfigurator
All Implemented Interfaces:
TaskConfigurator

public class AntBuildTaskConfigurator
extends java.lang.Object
implements TaskConfigurator

Generic configurator for Ant build tasks. By default uses information in AntTaskDescriptor to handle configuration of relevant task parameters.

Each method may be extended to provide handling for any custom task property and also to validate the parameters. Override createTaskDescriptor(com.atlassian.bamboo.task.TaskDefinition) to provide our own Ant task descriptor, otherwise by default its class must be specified as module param SingleAntBuildTask.PARAM_DESCRIPTOR_CLASS.

Since:
3.4
See Also:
SingleAntBuildTask

Field Summary
static java.lang.String ANT_BUILD_TASK_UI_BEAN
           
 
Constructor Summary
AntBuildTaskConfigurator(com.atlassian.plugin.PluginAccessor pluginAccessor, WebPropertyConfigurators configurators)
           
 
Method Summary
protected  AntTaskDescriptor createTaskDescriptor(TaskDefinition taskDefinition)
          Create Ant task descriptor for given definition.
 java.util.Map<java.lang.String,java.lang.String> generateTaskConfigMap(ActionParametersMap params, TaskDefinition previousTaskDefinition)
          Convert the params from the ui into a config map to be stored in the database for the taskDefinition.
 void populateContextForCreate(java.util.Map<java.lang.String,java.lang.Object> context)
          Provide any required context to be used when rendering the freemarker template for creating a task definition.
 void populateContextForEdit(java.util.Map<java.lang.String,java.lang.Object> context, TaskDefinition taskDefinition)
          Provide any required context to be used when rendering the freemarker template for view editing a task definition
 void populateContextForView(java.util.Map<java.lang.String,java.lang.Object> context, TaskDefinition taskDefinition)
          Provide any required context to be used when rendering the freemarker template for viewing a task definition
 void validate(ActionParametersMap params, ErrorCollection errorCollection)
          Validate the params submitted from the UI for this task definition
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ANT_BUILD_TASK_UI_BEAN

public static final java.lang.String ANT_BUILD_TASK_UI_BEAN
See Also:
Constant Field Values
Constructor Detail

AntBuildTaskConfigurator

public AntBuildTaskConfigurator(com.atlassian.plugin.PluginAccessor pluginAccessor,
                                WebPropertyConfigurators configurators)
Method Detail

populateContextForView

public void populateContextForView(@NotNull
                                   java.util.Map<java.lang.String,java.lang.Object> context,
                                   @NotNull
                                   TaskDefinition taskDefinition)
Description copied from interface: TaskConfigurator
Provide any required context to be used when rendering the freemarker template for viewing a task definition

Specified by:
populateContextForView in interface TaskConfigurator
Parameters:
context - map to put your context in.
taskDefinition - existing task definition

populateContextForEdit

public void populateContextForEdit(@NotNull
                                   java.util.Map<java.lang.String,java.lang.Object> context,
                                   @NotNull
                                   TaskDefinition taskDefinition)
Description copied from interface: TaskConfigurator
Provide any required context to be used when rendering the freemarker template for view editing a task definition

Specified by:
populateContextForEdit in interface TaskConfigurator
Parameters:
context - map to put your context in.
taskDefinition - existing task definition

populateContextForCreate

public void populateContextForCreate(@NotNull
                                     java.util.Map<java.lang.String,java.lang.Object> context)
Description copied from interface: TaskConfigurator
Provide any required context to be used when rendering the freemarker template for creating a task definition. Allows you to add any default values for initial creation

Specified by:
populateContextForCreate in interface TaskConfigurator
Parameters:
context - map to put your context in.

validate

public void validate(@NotNull
                     ActionParametersMap params,
                     @NotNull
                     ErrorCollection errorCollection)
Description copied from interface: TaskConfigurator
Validate the params submitted from the UI for this task definition

Specified by:
validate in interface TaskConfigurator
Parameters:
params - - request paramaters
errorCollection - - collection to put any errors in.

generateTaskConfigMap

@NotNull
public java.util.Map<java.lang.String,java.lang.String> generateTaskConfigMap(@NotNull
                                                                                      ActionParametersMap params,
                                                                                      @Nullable
                                                                                      TaskDefinition previousTaskDefinition)
Description copied from interface: TaskConfigurator
Convert the params from the ui into a config map to be stored in the database for the taskDefinition. Can assume validation has occured in the #validate method

Specified by:
generateTaskConfigMap in interface TaskConfigurator
Parameters:
params - - request paramaters
previousTaskDefinition - - the previous immutable TaskDefinition before saving or null if Task is being created
Returns:
the configuration map to be stored in the database

createTaskDescriptor

protected AntTaskDescriptor createTaskDescriptor(@Nullable
                                                 TaskDefinition taskDefinition)
Create Ant task descriptor for given definition.

Parameters:
taskDefinition - task definition, may be null
Returns:
Ant task descriptor


Copyright © 2013 Atlassian Software Systems Pty Ltd. All Rights Reserved.