com.atlassian.bamboo.build.creation
Class ChainCreationService

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

public class ChainCreationService
extends PlanCreationTemplate


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.atlassian.bamboo.build.creation.PlanCreationService
PlanCreationService.EnablePlan
 
Field Summary
 
Fields inherited from class com.atlassian.bamboo.build.creation.PlanCreationTemplate
aclUpdateHelper, auditLogService, authenticationContext, bambooLicenseManager, buildDefinitionConverter, builderConfigHelper, buildStrategyConfigHelper, eventManager, planManager, planValidationService, projectManager, repositoryConfigHelper, webRepositoryConfigHelper
 
Constructor Summary
ChainCreationService(PlanManager planManager, ProjectManager projectManager, BambooAclUpdateHelper aclUpdateHelper, BambooAuthenticationContext authenticationContext, BambooLicenseManager bambooLicenseManager, HibernateMutableAclService aclService, PlanScheduler planScheduler, RepositoryConfigHelper repositoryConfigHelper, BuildStrategyConfigHelper buildStrategyConfigHelper, BuilderConfigHelper builderConfigHelper, WebRepositoryConfigHelper webRepositoryConfigHelper, com.atlassian.event.EventManager eventManager, PlanValidationService planValidationService, AuditLogService auditLogService, BuildDefinitionConverter buildDefinitionConverter, NotificationManager notificationManager, JobCreationService jobCreationService)
           
 
Method Summary
 void cleanBuildConfiguration(BuildConfiguration buildConfiguration, Plan plan)
          Clean build configuration for saving.
 BuildConfiguration getBuildConfigurationWithDefaults()
           
protected  org.acegisecurity.acls.MutableAcl getDefaultPermissionsForPlan()
          Generate the permissions to be stored against the plan on creation
 Chain 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 prepareBuildConfiguration(BuildConfiguration buildConfiguration, Plan plan)
          Prepare build configuration for saving.
protected  void preparePlanDetails(Plan plan, ActionParametersMap params)
          Prepare the plan object for saving.
protected  void saveAndUpdateParents(Plan plan)
          Perform any necessary database operations required before saving the plan.
protected  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 validateChainDetails(com.opensymphony.xwork.ValidationAware validationAware, ActionParametersMap params)
           
 void validateCloneDetails(com.opensymphony.xwork.ValidationAware validationAware, ActionParametersMap params)
           
 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, createPlan, logBuildConfiguration, savePlan
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ChainCreationService

public ChainCreationService(PlanManager planManager,
                            ProjectManager projectManager,
                            BambooAclUpdateHelper aclUpdateHelper,
                            BambooAuthenticationContext authenticationContext,
                            BambooLicenseManager bambooLicenseManager,
                            HibernateMutableAclService aclService,
                            PlanScheduler planScheduler,
                            RepositoryConfigHelper repositoryConfigHelper,
                            BuildStrategyConfigHelper buildStrategyConfigHelper,
                            BuilderConfigHelper builderConfigHelper,
                            WebRepositoryConfigHelper webRepositoryConfigHelper,
                            com.atlassian.event.EventManager eventManager,
                            PlanValidationService planValidationService,
                            AuditLogService auditLogService,
                            BuildDefinitionConverter buildDefinitionConverter,
                            NotificationManager notificationManager,
                            JobCreationService jobCreationService)
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.

validateChainDetails

public void validateChainDetails(com.opensymphony.xwork.ValidationAware validationAware,
                                 ActionParametersMap params)

validateCloneDetails

public void validateCloneDetails(com.opensymphony.xwork.ValidationAware validationAware,
                                 ActionParametersMap params)

getNewInstance

public Chain 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)
                                  throws PlanCreationDeniedException
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
Throws:
PlanCreationDeniedException - if cloning required but can't be completed due to licensing restrictions

prepareBuildConfiguration

protected void prepareBuildConfiguration(@NotNull
                                         BuildConfiguration buildConfiguration,
                                         @NotNull
                                         Plan plan)
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

protected 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

protected 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

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


Copyright © 2010 Atlassian. All Rights Reserved.