com.atlassian.bamboo.build.creation
Class BuildCreationService

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

public class BuildCreationService
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, artifactDefinitionManager, artifactSubscriptionManager, auditLogService, authenticationContext, bambooLicenseManager, buildDefinitionConverter, buildStrategyConfigHelper, eventManager, planManager, planValidationService, projectManager, repositoryConfigHelper, webRepositoryConfigHelper
 
Constructor Summary
BuildCreationService(PlanManager planManager, ProjectManager projectManager, BambooAclUpdateHelper aclUpdateHelper, BambooAuthenticationContext authenticationContext, BambooLicenseManager bambooLicenseManager, HibernateMutableAclService aclService, PlanScheduler planScheduler, RepositoryConfigHelper repositoryConfigHelper, BuildStrategyConfigHelper buildStrategyConfigHelper, WebRepositoryConfigHelper webRepositoryConfigHelper, com.atlassian.event.EventManager eventManager, BuildDefinitionConverter buildDefinitionConverter, NotificationManager notificationManager, PlanValidationService planValidationService, AuditLogService auditLogService, ArtifactDefinitionManager artifactDefinitionManager, ArtifactSubscriptionManager artifactSubscriptionManager)
           
 
Method Summary
protected  void cleanBuildConfiguration(BuildConfiguration buildConfiguration, Plan plan)
          Clean build configuration for saving.
 BuildConfiguration getBuildConfigurationWithDefaults()
           
 java.util.List<PlanConfigHelper> getComponentsOnPage()
           
protected  org.acegisecurity.acls.MutableAcl getDefaultPermissionsForPlan()
          Generate the permissions to be stored against the plan on creation
 Build 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 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

BuildCreationService

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

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

protected 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

getComponentsOnPage

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


Copyright © 2011 Atlassian. All Rights Reserved.