com.atlassian.bamboo.build.creation
Class JobCreationService

java.lang.Object
  extended by com.atlassian.bamboo.build.creation.PlanCreationTemplate
      extended by com.atlassian.bamboo.build.creation.JobCreationService
All Implemented Interfaces:
PlanCreationService

public class JobCreationService
extends PlanCreationTemplate


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.atlassian.bamboo.build.creation.PlanCreationService
PlanCreationService.EnablePlan
 
Field Summary
static java.lang.String BUILD_DESCRIPTION
           
static java.lang.String BUILD_KEY
           
static java.lang.String BUILD_NAME
           
static java.lang.String CLONE_JOB
           
static java.lang.String EXISTING_STAGE
           
static java.lang.String JOB_KEY_TO_CLONE
           
static java.lang.String MASTER_JOB_KEY
           
static java.lang.String NEW_STAGE_MARKER
           
static java.lang.String STAGE_DESCRIPTION
           
static java.lang.String STAGE_MANUAL
           
static java.lang.String STAGE_NAME
           
static java.lang.String SUB_BUILD_KEY
           
 
Fields inherited from class com.atlassian.bamboo.build.creation.PlanCreationTemplate
aclUpdateHelper, artifactDefinitionManager, artifactSubscriptionManager, auditLogService, authenticationContext, bambooLicenseManager, branchCommitInformationManager, buildDefinitionConverter, buildStrategyConfigHelper, eventPublisher, notificationManager, planManager, planValidationService, projectManager, repositoryConfigHelper, repositoryDefinitionManager, variableDefinitionManager, vcsBranchManager, webRepositoryConfigHelper
 
Constructor Summary
JobCreationService(PlanManager planManager, ProjectManager projectManager, BambooAclUpdateHelper aclUpdateHelper, BambooAuthenticationContext authenticationContext, BambooLicenseManager bambooLicenseManager, HibernateMutableAclService aclService, PlanScheduler planScheduler, RepositoryConfigHelper repositoryConfigHelper, BuildStrategyConfigHelper buildStrategyConfigHelper, WebRepositoryConfigHelper webRepositoryConfigHelper, com.atlassian.event.api.EventPublisher eventPublisher, PlanValidationService planValidationService, AuditLogService auditLogService, BuildDefinitionConverter buildDefinitionConverter, ArtifactDefinitionManager artifactDefinitionManager, ArtifactSubscriptionManager artifactSubscriptionManager, VariableDefinitionManager variableDefinitionManager, RepositoryDefinitionManager repositoryDefinitionManager, TaskConfigurationService taskConfigurationService, ChainBranchManager chainBranchManager, NotificationManager notificationManager, BranchCommitInformationManager branchCommitInformationManager, VcsBranchManager vcsBranchManager)
           
 
Method Summary
 void cleanBuildConfiguration(BuildConfiguration buildConfiguration, Plan plan)
          Clean build configuration for saving.
 boolean cloneBuildable(PlanCreationBean planCreationBean, ActionParametersMap params, Job jobToClone, Job job)
           
 java.util.List<PlanKey> createJobAndBranches(BuildConfiguration buildConfiguration, ActionParametersMap actionParametersMap, PlanCreationService.EnablePlan enabled)
           
 java.lang.String createPlan(BuildConfiguration buildConfiguration, ActionParametersMap actionParametersMap, PlanCreationService.EnablePlan enabled)
          Deprecated. since 4.0 use @{link #createJobAndBranches}
 java.lang.String createSingleJob(BuildConfiguration buildConfiguration, ActionParametersMap actionParametersMap, PlanCreationService.EnablePlan enabled)
           
 BuildConfiguration getBuildConfigurationWithDefaults()
           
 java.util.List<PlanConfigHelper> getComponentsOnPage()
           
protected  org.acegisecurity.acls.MutableAcl getDefaultPermissionsForPlan()
          Generate the permissions to be stored against the plan on creation
 Job getNewInstance()
           
protected  boolean performCloneIfRequired(PlanCreationBean planCreationBean, ActionParametersMap params)
          Using the action parameters determine if cloning is required and if so, perform the clone.
protected  void performPostCreateAction(Plan plan)
          Perform plan specific actions that need to be run immediately after plan creation.
protected  void prepareBuildConfiguration(BuildConfiguration buildConfiguration, Plan plan, PlanCreationBean planCreationBean)
          Prepare build configuration for saving.
protected  void preparePlanDetails(Plan plan, ActionParametersMap params)
          Prepare the plan object for saving.
 void saveAndUpdateParents(Plan plan)
          Perform any necessary database operations required before saving the plan.
 void setFullPlanKey(Plan plan)
          Set the full key for this plan
 void triggerCreationCompleteEvents(PlanKey planKey)
          Trigger the appropriate events after the plan has been saved successfully Calling this method is responsibility of class using this template.
 void validatePlan(com.opensymphony.xwork.ValidationAware validationAware, BuildConfiguration buildConfiguration, ActionParametersMap params)
          Validates plan details and build configuration details for initial plan creation.
 
Methods inherited from class com.atlassian.bamboo.build.creation.PlanCreationTemplate
cleanBuildConfiguration, clonePlanPermissionsToSession, logBuildConfiguration, savePlan
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NEW_STAGE_MARKER

public static final java.lang.String NEW_STAGE_MARKER
See Also:
Constant Field Values

STAGE_NAME

public static final java.lang.String STAGE_NAME
See Also:
Constant Field Values

STAGE_DESCRIPTION

public static final java.lang.String STAGE_DESCRIPTION
See Also:
Constant Field Values

STAGE_MANUAL

public static final java.lang.String STAGE_MANUAL
See Also:
Constant Field Values

EXISTING_STAGE

public static final java.lang.String EXISTING_STAGE
See Also:
Constant Field Values

BUILD_KEY

public static final java.lang.String BUILD_KEY
See Also:
Constant Field Values

MASTER_JOB_KEY

public static final java.lang.String MASTER_JOB_KEY
See Also:
Constant Field Values

SUB_BUILD_KEY

public static final java.lang.String SUB_BUILD_KEY
See Also:
Constant Field Values

BUILD_NAME

public static final java.lang.String BUILD_NAME
See Also:
Constant Field Values

BUILD_DESCRIPTION

public static final java.lang.String BUILD_DESCRIPTION
See Also:
Constant Field Values

CLONE_JOB

public static final java.lang.String CLONE_JOB
See Also:
Constant Field Values

JOB_KEY_TO_CLONE

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

JobCreationService

public JobCreationService(PlanManager planManager,
                          ProjectManager projectManager,
                          BambooAclUpdateHelper aclUpdateHelper,
                          BambooAuthenticationContext authenticationContext,
                          BambooLicenseManager bambooLicenseManager,
                          HibernateMutableAclService aclService,
                          PlanScheduler planScheduler,
                          RepositoryConfigHelper repositoryConfigHelper,
                          BuildStrategyConfigHelper buildStrategyConfigHelper,
                          WebRepositoryConfigHelper webRepositoryConfigHelper,
                          com.atlassian.event.api.EventPublisher eventPublisher,
                          PlanValidationService planValidationService,
                          AuditLogService auditLogService,
                          BuildDefinitionConverter buildDefinitionConverter,
                          ArtifactDefinitionManager artifactDefinitionManager,
                          ArtifactSubscriptionManager artifactSubscriptionManager,
                          VariableDefinitionManager variableDefinitionManager,
                          RepositoryDefinitionManager repositoryDefinitionManager,
                          TaskConfigurationService taskConfigurationService,
                          ChainBranchManager chainBranchManager,
                          NotificationManager notificationManager,
                          BranchCommitInformationManager branchCommitInformationManager,
                          VcsBranchManager vcsBranchManager)
Method Detail

validatePlan

public void validatePlan(com.opensymphony.xwork.ValidationAware validationAware,
                         BuildConfiguration buildConfiguration,
                         ActionParametersMap params)
Description copied from interface: PlanCreationService
Validates plan details and build configuration details for initial plan creation. Adds errors to the validationAware object.

Parameters:
validationAware - - object to add errors to (usually an action class)
buildConfiguration - - build configuration to validate
params - - parameter map containing any plan details not in the build configuration.

getNewInstance

public Job getNewInstance()
Returns:
A new plan instance, concrete type determined by implementation classes

getDefaultPermissionsForPlan

protected org.acegisecurity.acls.MutableAcl getDefaultPermissionsForPlan()
Description copied from class: PlanCreationTemplate
Generate the permissions to be stored against the plan on creation

Specified by:
getDefaultPermissionsForPlan in class PlanCreationTemplate
Returns:
the permissions to be stored against the plan on creation

getBuildConfigurationWithDefaults

public BuildConfiguration getBuildConfigurationWithDefaults()
Returns:
A buildConfiguration instance with the requried defaults populated

preparePlanDetails

protected void preparePlanDetails(@NotNull
                                  Plan plan,
                                  @NotNull
                                  ActionParametersMap params)
Description copied from class: PlanCreationTemplate
Prepare the plan object for saving.

Specified by:
preparePlanDetails in class PlanCreationTemplate
Parameters:
plan - to add properties to
params - containing any properties provided from the UI.

performCloneIfRequired

protected boolean performCloneIfRequired(@NotNull
                                         PlanCreationBean planCreationBean,
                                         @NotNull
                                         ActionParametersMap params)
Description copied from class: PlanCreationTemplate
Using the action parameters determine if cloning is required and if so, perform the clone. Cloned details are put in the PlanCreationBean.

Specified by:
performCloneIfRequired in class PlanCreationTemplate
Parameters:
planCreationBean - containing the plan and acls (currently does not contain buildConfiguration)
params - containing any properties provided from the UI
Returns:
true if cloning has been completed

cloneBuildable

public boolean cloneBuildable(@NotNull
                              PlanCreationBean planCreationBean,
                              @NotNull
                              ActionParametersMap params,
                              Job jobToClone,
                              Job job)

prepareBuildConfiguration

protected void prepareBuildConfiguration(@NotNull
                                         BuildConfiguration buildConfiguration,
                                         @NotNull
                                         Plan plan,
                                         @NotNull
                                         PlanCreationBean planCreationBean)
Description copied from class: PlanCreationTemplate
Prepare build configuration for saving. Only occurs if cloning did NOT occur.

Specified by:
prepareBuildConfiguration in class PlanCreationTemplate
Parameters:
buildConfiguration - the current build configuration.
plan - the current plan (will already have details populated)

cleanBuildConfiguration

public void cleanBuildConfiguration(@NotNull
                                    BuildConfiguration buildConfiguration,
                                    @NotNull
                                    Plan plan)
Description copied from class: PlanCreationTemplate
Clean build configuration for saving. Build Config may have been cloned.

Specified by:
cleanBuildConfiguration in class PlanCreationTemplate
Parameters:
buildConfiguration - the current build configuration.
plan - the current plan (will already have details populated)

setFullPlanKey

public void setFullPlanKey(@NotNull
                           Plan plan)
Description copied from class: PlanCreationTemplate
Set the full key for this plan

Specified by:
setFullPlanKey in class PlanCreationTemplate
Parameters:
plan - - complete plan to be saved

saveAndUpdateParents

public void saveAndUpdateParents(@NotNull
                                 Plan plan)
Description copied from class: PlanCreationTemplate
Perform any necessary database operations required before saving the plan. E.g. creation of new projects.

Specified by:
saveAndUpdateParents in class PlanCreationTemplate
Parameters:
plan - - complete plan (except for full key) to be saved

performPostCreateAction

protected void performPostCreateAction(@NotNull
                                       Plan plan)
Description copied from class: PlanCreationTemplate
Perform plan specific actions that need to be run immediately after plan creation.

Specified by:
performPostCreateAction in class PlanCreationTemplate
Parameters:
plan - created plan

triggerCreationCompleteEvents

public void triggerCreationCompleteEvents(PlanKey planKey)
Description copied from class: PlanCreationTemplate
Trigger the appropriate events after the plan has been saved successfully Calling this method is responsibility of class using this template.

Specified by:
triggerCreationCompleteEvents in interface PlanCreationService
Specified by:
triggerCreationCompleteEvents in class PlanCreationTemplate

getComponentsOnPage

public java.util.List<PlanConfigHelper> getComponentsOnPage()

createSingleJob

public java.lang.String createSingleJob(@NotNull
                                        BuildConfiguration buildConfiguration,
                                        @NotNull
                                        ActionParametersMap actionParametersMap,
                                        @NotNull
                                        PlanCreationService.EnablePlan enabled)
                                 throws PlanCreationDeniedException,
                                        PlanCreationException
Throws:
PlanCreationDeniedException
PlanCreationException

createPlan

@Deprecated
public java.lang.String createPlan(@NotNull
                                              BuildConfiguration buildConfiguration,
                                              @NotNull
                                              ActionParametersMap actionParametersMap,
                                              @NotNull
                                              PlanCreationService.EnablePlan enabled)
                            throws PlanCreationDeniedException,
                                   PlanCreationException
Deprecated. since 4.0 use @{link #createJobAndBranches}

This method will also create the job branches

Specified by:
createPlan in interface PlanCreationService
Overrides:
createPlan in class PlanCreationTemplate
Parameters:
buildConfiguration - of the plan to create
actionParametersMap - containing any other required params NOT in the buildConfiguration
enabled - whether the plan should start enabled or disabled
Returns:
the full key of the created plan
Throws:
PlanCreationDeniedException - if plan creation fails because you already have too many plans.
PlanCreationException - if plan creation fails for any other reason

createJobAndBranches

public java.util.List<PlanKey> createJobAndBranches(@NotNull
                                                    BuildConfiguration buildConfiguration,
                                                    @NotNull
                                                    ActionParametersMap actionParametersMap,
                                                    @NotNull
                                                    PlanCreationService.EnablePlan enabled)
                                             throws PlanCreationDeniedException,
                                                    PlanCreationException
Throws:
PlanCreationDeniedException
PlanCreationException


Copyright © 2012 Atlassian. All Rights Reserved.