public class ChainCreationServiceImpl extends PlanCreationTemplate implements ChainCreationService
PlanCreationService.EnablePlan
aclUpdateHelper, artifactDefinitionManager, artifactSubscriptionManager, auditLogService, authenticationContext, bambooLicenseManager, branchCommitInformationManager, buildDefinitionConverter, eventPublisher, notificationManager, planManager, planValidationService, projectManager, repositoryDefinitionManager, triggerConfigurationService, variableDefinitionManager, vcsBranchManager
BRANCH_DEPENDENCY_TRIGGER_CFG_KEY, CHAIN_DESCRIPTION, CHAIN_KEY, CHAIN_NAME, DEPENDENCIES_CONFIGURATION_PREFIX, PUBLIC_PLAN_ACCESS, TRIGGER_DEPENDENCIES_ONLY_AFTER_ALL_STAGES
EXISTING_PROJECT_KEY, NEW_PROJECT_MARKER, PROJECT_DESCRIPTION, PROJECT_KEY, PROJECT_NAME
Constructor and Description |
---|
ChainCreationServiceImpl(PlanManager planManager,
ProjectManager projectManager,
BambooAclUpdateHelper aclUpdateHelper,
BambooAuthenticationContext authenticationContext,
BambooLicenseManager bambooLicenseManager,
HibernateMutableAclService aclService,
PlanScheduler planScheduler,
com.atlassian.event.api.EventPublisher eventPublisher,
PlanValidationService planValidationService,
AuditLogService auditLogService,
BuildDefinitionConverter buildDefinitionConverter,
NotificationManager notificationManager,
JobCreationService jobCreationService,
ArtifactDefinitionManager artifactDefinitionManager,
ArtifactSubscriptionManager artifactSubscriptionManager,
VariableDefinitionManager variableDefinitionManager,
RepositoryDefinitionManager repositoryDefinitionManager,
TaskConfigurationService taskConfigurationService,
ScopedExclusionService scopedExclusionService,
BranchCommitInformationManager branchCommitInformationManager,
VcsBranchManager vcsBranchManager,
BranchDetectionService branchDetectionService,
TriggerConfigurationService triggerConfigurationService,
PlanVcsRevisionHistoryService planVcsRevisionHistoryService,
BuildNumberGeneratorService buildNumberGeneratorService,
LabelManager labelManager) |
Modifier and Type | Method and Description |
---|---|
void |
cleanBuildConfiguration(BuildConfiguration buildConfiguration,
Plan plan)
Clean build configuration for saving.
|
String |
createPlan(BuildConfiguration buildConfiguration,
ActionParametersMap params,
PlanCreationService.EnablePlan enabled)
Creates a plan from its components and saves it to the database
|
BuildConfiguration |
getBuildConfigurationWithDefaults() |
protected org.acegisecurity.acls.MutableAcl |
getDefaultPermissionsForPlan(boolean accessForAllUsers)
Generate the permissions to be stored against the plan on creation.
|
Chain |
getNewInstance() |
protected boolean |
performCloneIfRequired(BuildConfiguration buildConfiguration,
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.
|
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.atlassian.struts.ValidationAware validationAware,
ActionParametersMap params) |
void |
validateChainDetails(com.opensymphony.xwork.ValidationAware validationAware,
ActionParametersMap params) |
void |
validateCloneDetails(com.atlassian.struts.ValidationAware validationAware,
ActionParametersMap params) |
void |
validateCloneDetails(com.opensymphony.xwork.ValidationAware validationAware,
ActionParametersMap params) |
void |
validatePlan(com.atlassian.struts.ValidationAware validationAware,
BuildConfiguration buildConfiguration,
ActionParametersMap params)
Validates plan details and build configuration details for initial plan creation.
|
void |
validatePlan(com.opensymphony.xwork.ValidationAware validationAware,
BuildConfiguration buildConfiguration,
ActionParametersMap actionParametersMap) |
cleanBuildConfiguration, clonePlanPermissionsToSession, logBuildConfiguration, savePlan, validateThrowingPlanCreationException
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
savePlan
public ChainCreationServiceImpl(PlanManager planManager, ProjectManager projectManager, BambooAclUpdateHelper aclUpdateHelper, BambooAuthenticationContext authenticationContext, BambooLicenseManager bambooLicenseManager, HibernateMutableAclService aclService, PlanScheduler planScheduler, com.atlassian.event.api.EventPublisher eventPublisher, PlanValidationService planValidationService, AuditLogService auditLogService, BuildDefinitionConverter buildDefinitionConverter, NotificationManager notificationManager, JobCreationService jobCreationService, ArtifactDefinitionManager artifactDefinitionManager, ArtifactSubscriptionManager artifactSubscriptionManager, VariableDefinitionManager variableDefinitionManager, RepositoryDefinitionManager repositoryDefinitionManager, TaskConfigurationService taskConfigurationService, ScopedExclusionService scopedExclusionService, BranchCommitInformationManager branchCommitInformationManager, VcsBranchManager vcsBranchManager, BranchDetectionService branchDetectionService, TriggerConfigurationService triggerConfigurationService, PlanVcsRevisionHistoryService planVcsRevisionHistoryService, BuildNumberGeneratorService buildNumberGeneratorService, LabelManager labelManager)
public void validatePlan(com.atlassian.struts.ValidationAware validationAware, BuildConfiguration buildConfiguration, ActionParametersMap params)
PlanCreationService
validatePlan
in interface PlanCreationService
validationAware
- - object to add errors to (usually an action class)buildConfiguration
- - build configuration to validateparams
- - parameter map containing any plan details not in the build configuration.public void validateChainDetails(com.atlassian.struts.ValidationAware validationAware, ActionParametersMap params)
validateChainDetails
in interface ChainCreationService
public void validateCloneDetails(com.atlassian.struts.ValidationAware validationAware, ActionParametersMap params)
validateCloneDetails
in interface ChainCreationService
public Chain getNewInstance()
getNewInstance
in interface PlanCreationService
protected org.acegisecurity.acls.MutableAcl getDefaultPermissionsForPlan(boolean accessForAllUsers)
PlanCreationTemplate
getDefaultPermissionsForPlan
in class PlanCreationTemplate
accessForAllUsers
- anyone that can access Bamboo instance
(logged-in users and depending on configuration anonymous)
will be able to view this plan.public BuildConfiguration getBuildConfigurationWithDefaults()
getBuildConfigurationWithDefaults
in interface PlanCreationService
protected void preparePlanDetails(@NotNull Plan plan, @NotNull ActionParametersMap params)
PlanCreationTemplate
preparePlanDetails
in class PlanCreationTemplate
plan
- to add properties toparams
- containing any properties provided from the UI.protected boolean performCloneIfRequired(@NotNull BuildConfiguration buildConfiguration, @NotNull PlanCreationBean planCreationBean, @NotNull ActionParametersMap params) throws PlanCreationDeniedException
PlanCreationTemplate
performCloneIfRequired
in class PlanCreationTemplate
buildConfiguration
- for any extra configuration to override when cloningplanCreationBean
- containing the plan and acls (currently does not contain buildConfiguration)params
- containing any properties provided from the UIPlanCreationDeniedException
- if cloning required but can't be completed due to licensing restrictionsprotected void prepareBuildConfiguration(@NotNull BuildConfiguration buildConfiguration, @NotNull Plan plan, @NotNull PlanCreationBean planCreationBean)
PlanCreationTemplate
prepareBuildConfiguration
in class PlanCreationTemplate
buildConfiguration
- the current build configuration.plan
- the current plan (will already have details populated)public void cleanBuildConfiguration(@NotNull BuildConfiguration buildConfiguration, @NotNull Plan plan)
PlanCreationTemplate
cleanBuildConfiguration
in interface ChainCreationService
cleanBuildConfiguration
in class PlanCreationTemplate
buildConfiguration
- the current build configuration.plan
- the current plan (will already have details populated)public String createPlan(@NotNull BuildConfiguration buildConfiguration, @NotNull ActionParametersMap params, @NotNull PlanCreationService.EnablePlan enabled) throws PlanCreationDeniedException, PlanCreationException
PlanCreationService
createPlan
in interface PlanCreationService
createPlan
in class PlanCreationTemplate
buildConfiguration
- of the plan to createparams
- containing any other required params NOT in the buildConfigurationenabled
- whether the plan should start enabled or disabledPlanCreationDeniedException
- if plan creation fails because you already have too many plans.PlanCreationException
- if plan creation fails for any other reasonprotected void setFullPlanKey(@NotNull Plan plan)
PlanCreationTemplate
setFullPlanKey
in class PlanCreationTemplate
plan
- - complete plan to be savedprotected void saveAndUpdateParents(@NotNull Plan plan)
PlanCreationTemplate
saveAndUpdateParents
in class PlanCreationTemplate
plan
- - complete plan (except for full key) to be savedprotected void performPostCreateAction(@NotNull Plan plan)
PlanCreationTemplate
performPostCreateAction
in class PlanCreationTemplate
plan
- created planpublic void triggerCreationCompleteEvents(PlanKey planKey)
PlanCreationTemplate
triggerCreationCompleteEvents
in interface PlanCreationService
triggerCreationCompleteEvents
in class PlanCreationTemplate
public void validatePlan(com.opensymphony.xwork.ValidationAware validationAware, BuildConfiguration buildConfiguration, ActionParametersMap actionParametersMap)
validatePlan
in interface PlanCreationService
public void validateChainDetails(com.opensymphony.xwork.ValidationAware validationAware, ActionParametersMap params)
validateChainDetails
in interface ChainCreationService
public void validateCloneDetails(com.opensymphony.xwork.ValidationAware validationAware, ActionParametersMap params)
validateCloneDetails
in interface ChainCreationService
Copyright © 2018 Atlassian Software Systems Pty Ltd. All rights reserved.