Package com.atlassian.bamboo.plan.branch
Class ChainBranchManagerImpl
java.lang.Object
com.atlassian.bamboo.plan.branch.ChainBranchManagerImpl
- All Implemented Interfaces:
ChainBranchManager
-
Constructor Summary
ConstructorsConstructorDescriptionChainBranchManagerImpl(PlanDao planDao, com.atlassian.bandana.BandanaManager bandanaManager, VcsBranchManager vcsBranchManager, PlanManager planManager, com.atlassian.event.api.EventPublisher eventPublisher, CustomVariableContext customVariableContext) -
Method Summary
Modifier and TypeMethodDescriptionvoidclearInvalidMetadataFlagInBranches(long masterId) Clears 'invalid' flag in all branches of a chain.intgetBranchCount(@NotNull ImmutablePlan plan) Returns the number of branches the given plan hasgetBranchesForChain(@NotNull PlanKey chainKey) Get all feature branches associated with the chain identified by the given key@NotNull List<ChainBranch> getBranchesForChain(@NotNull ImmutableChain chain) Get all feature branches associated with the given chaingetBranchesForJob(Job job) @NotNull List<ChainBranchIdentifier> getBranchIdentifiersForChain(@NotNull PlanIdentifier chain) Get all feature branches associated with the given chain, however on pulls up minimal details about each branch.getBranchWithName(ImmutableChain masterPlan, String branchName) longRetrieving suggested number for next branch key in given chain.Returns a list of plans that currently have branchesvoidhandleVcsBranchDeletedOfPlanBranch(@NotNull ImmutableChain chainBranch, @NotNull PlanRepositoryDefinition planRepositoryDefinition) Handles deletion of a VCS branch from any of the plan branch's repositories.voidhandleVcsBranchDeletedOfPlanBranch(ImmutableChain chainBranch) Handles deletion of a VCS branch from plan branch's default repository.booleanhasBranches(@NotNull Plan plan) Returns whether or not the given plan has any branchesbooleanisPlanBranchNameConflicting(ImmutableChain masterPlan, long planIdToIgnore, String branchName) Verifies whether aChainBranchname is unique with a given masterChainvoidmarkMetadataInvalid(@NotNull PlanKey branchKey) Marks the chain as 'invalid', which means metadata no longer match vcs data.voidupdateNextBranchKeyNumber(ImmutablePlan chain, long number) Set suggested number for next branch key in given chainvoidupdatePlanBranchMetadata(@NotNull PlanKey branchKey) Update plan branch metadata to reflect the current state of chain.
-
Constructor Details
-
ChainBranchManagerImpl
public ChainBranchManagerImpl(PlanDao planDao, com.atlassian.bandana.BandanaManager bandanaManager, VcsBranchManager vcsBranchManager, PlanManager planManager, com.atlassian.event.api.EventPublisher eventPublisher, CustomVariableContext customVariableContext)
-
-
Method Details
-
getBranchesForChain
@NotNull public @NotNull List<ChainBranch> getBranchesForChain(@NotNull @NotNull ImmutableChain chain) Description copied from interface:ChainBranchManagerGet all feature branches associated with the given chain- Specified by:
getBranchesForChainin interfaceChainBranchManager- Parameters:
chain- - the master- Returns:
- List
ChainBranchs associated with the given chain.
-
getBranchesForChain
Description copied from interface:ChainBranchManagerGet all feature branches associated with the chain identified by the given key- Specified by:
getBranchesForChainin interfaceChainBranchManager- Parameters:
chainKey- - the chain key- Returns:
- List
ChainBranchs associated with the chain identified by the given key.
-
getBranchesForJob
- Specified by:
getBranchesForJobin interfaceChainBranchManager
-
getBranchIdentifiersForChain
@NotNull public @NotNull List<ChainBranchIdentifier> getBranchIdentifiersForChain(@NotNull @NotNull PlanIdentifier chain) Description copied from interface:ChainBranchManagerGet all feature branches associated with the given chain, however on pulls up minimal details about each branch.- Specified by:
getBranchIdentifiersForChainin interfaceChainBranchManager- Parameters:
chain- - the master- Returns:
- List
ChainBranchIdentifierfor branches associated with the given Chain.
-
hasBranches
Description copied from interface:ChainBranchManagerReturns whether or not the given plan has any branches- Specified by:
hasBranchesin interfaceChainBranchManager- Parameters:
plan- to check for branches for- Returns:
- true if branches exist of the plan
-
getBranchCount
Description copied from interface:ChainBranchManagerReturns the number of branches the given plan has- Specified by:
getBranchCountin interfaceChainBranchManager- Parameters:
plan- to check for branches for- Returns:
- number of branches for the plan
-
getPlansWithBranches
Description copied from interface:ChainBranchManagerReturns a list of plans that currently have branches- Specified by:
getPlansWithBranchesin interfaceChainBranchManager- Returns:
- a list of plan ids of the plans with branches.
-
isPlanBranchNameConflicting
public boolean isPlanBranchNameConflicting(ImmutableChain masterPlan, long planIdToIgnore, String branchName) Description copied from interface:ChainBranchManagerVerifies whether aChainBranchname is unique with a given masterChain- Specified by:
isPlanBranchNameConflictingin interfaceChainBranchManager- Parameters:
masterPlan- the master chain within which the name has to be uniqueplanIdToIgnore- the id of the ChainBranch that has to be ignored during lookup (when you're saving a ChainBranch, you should supply its id here)branchName- displayed name of the ChainBranch inside the master's plan- Returns:
- true if the name is in conflict
-
getBranchWithName
Description copied from interface:ChainBranchManager- Specified by:
getBranchWithNamein interfaceChainBranchManager- Parameters:
masterPlan-branchName-- Returns:
ChainBranchIdentifieror null if no such branch exists
-
handleVcsBranchDeletedOfPlanBranch
Description copied from interface:ChainBranchManagerHandles deletion of a VCS branch from plan branch's default repository. If the passed in chain is a plan branch it will be disabled and it's default VCS branch will be marked as deleted.- Specified by:
handleVcsBranchDeletedOfPlanBranchin interfaceChainBranchManager- Parameters:
chainBranch- the plan branch of which a default VCS branch was deleted
-
handleVcsBranchDeletedOfPlanBranch
public void handleVcsBranchDeletedOfPlanBranch(@NotNull @NotNull ImmutableChain chainBranch, @NotNull @NotNull PlanRepositoryDefinition planRepositoryDefinition) Description copied from interface:ChainBranchManagerHandles deletion of a VCS branch from any of the plan branch's repositories. If the passed in chain is a plan branch it will be disabled. If the deleted branch is the default branch it will mark that VCS branch as deleted.- Specified by:
handleVcsBranchDeletedOfPlanBranchin interfaceChainBranchManager- Parameters:
chainBranch- the plan branch of which a VCS branch was deletedplanRepositoryDefinition- plan repository whose branch was deleted
-
getNextBranchKeyNumber
Description copied from interface:ChainBranchManagerRetrieving suggested number for next branch key in given chain. If it's first branch it will return 0.- Specified by:
getNextBranchKeyNumberin interfaceChainBranchManager- Parameters:
chain-- Returns:
-
updateNextBranchKeyNumber
Description copied from interface:ChainBranchManagerSet suggested number for next branch key in given chain- Specified by:
updateNextBranchKeyNumberin interfaceChainBranchManager- Parameters:
chain-number-
-
clearInvalidMetadataFlagInBranches
public void clearInvalidMetadataFlagInBranches(long masterId) Description copied from interface:ChainBranchManagerClears 'invalid' flag in all branches of a chain.- Specified by:
clearInvalidMetadataFlagInBranchesin interfaceChainBranchManager
-
updatePlanBranchMetadata
Description copied from interface:ChainBranchManagerUpdate plan branch metadata to reflect the current state of chain.- Specified by:
updatePlanBranchMetadatain interfaceChainBranchManager
-
markMetadataInvalid
Description copied from interface:ChainBranchManagerMarks the chain as 'invalid', which means metadata no longer match vcs data.- Specified by:
markMetadataInvalidin interfaceChainBranchManager
-