Package com.atlassian.bamboo.plan
Interface PlanDao
- All Superinterfaces:
BambooObjectDao<Plan>,BambooObjectWithOidDao<Plan>
- All Known Implementing Classes:
PlanHibernateDao
DAO Manager for
Plan-
Method Summary
Modifier and TypeMethodDescriptionvoidclearInvalidFlagForBranchesOfChain(long masterId) filterFavouritedPlans(@NotNull Collection<? extends ImmutableChain> plans, @NotNull com.atlassian.user.User user) Return a collection ofTopLevelPlans that are a subset of the givenPlans collection that are favourited by theUserfindAllPlans(Class<T> planType) Return aPlancollection for specified plan type.findAllPlans(Class<T> planType, int firstResult, int maxResults) Return aPlancollection for specified plan type.findAllPlansByProject(@NotNull Project project, Class<T> planType) findPlansByProject(@NotNull Project project, Class<T> planType) getAllPlanKeys(Class<T> planType) Returns all plan keys of a particular type, including the plans marked for deletion.<T extends Plan>
@NotNull Collection<T> getAllPlansMarkedForDeletion(Class<T> planType) Returns a list ofPlans that areImmutableDeletable.isMarkedForDeletion()for the given type<T extends Plan>
longgetAllPlansMarkedForDeletionCount(Class<T> planType) Returns a count ofPlans that areImmutableDeletable.isMarkedForDeletion()for the given typeintgetBranchCount(@NotNull ImmutablePlan plan) Returns the number of branches that exist for the given planReturns the number of branches that exist for master plans in Bamboo.@NotNull List<ChainBranch> Returns all branches which have the given chain as their mastergetBranchesForJob(Job job) @NotNull List<ChainBranchIdentifier> getBranchIdentifiersForChain(@NotNull PlanIdentifier chain) Returns minimal data about all branches which have the given chain as their mastergetBranchKeysForChain(@NotNull PlanKey chainKey) Returns the keys of branches that have as master the chain identified by the given chainKey.getFavouritePlansIds(@NotNull com.atlassian.user.User user) Return a collection of Favourite plan ids.getJobKeys(@NotNull PlanKey chainKey) Return all plan keys of Jobs that belong to a Chain@Nullable BambooEntityOidgetMaxPlanOid(int serverKey, @NotNull BambooEntityType entityType) Returns the maxBambooEntityOidthat's currently in use of the specified entity type, with the given server key.<T extends Plan>
TgetPlanByKey(@NotNull PlanKey planKey, Class<T> aClass) Return aPlanthat matches the given key<T extends Plan>
TgetPlanByKey(@NotNull String planKey, Class<T> aClass) Return aPlanthat matches the given key<T extends Plan>
TgetPlanByPartialKeyAndName(@NotNull PlanKey partialPlanKey, @NotNull String planName, Class<T> planType) getPlanClass(@NotNull PlanKey planKey) intgetPlanCount(@NotNull ProjectIdentifier projectIdentifier) How many plans currently exist in aproject.<T extends Plan>
intgetPlanCount(Class<T> planType) How many plans filtered byClasscurrently exist@Nullable PlanIdentifiergetPlanIdentifierForPermissionCheckingByKey(@NotNull String planKey) Return aPlanskeleton providing ONLY id and key, that matches the given key This method should be used only for permission checking using Acegi IfJobkey is provided as a parameter, parent Chain will be returned anyway, as Acegi assertions are defined only forTopLevelPlans<T extends Plan>
@NotNull List<PlanIdentifier> getPlanIdentifiersForProject(@NotNull ProjectIdentifier projectIdentifier, @NotNull Class<T> planType, boolean includeMarkedForDeletion) Returns minimal data about all plans in the given projectgetPlanKeys(Class<T> planType) Returns all plan keys of a particular type, NOT including the plans marked for deletion.getPlanKeysPlanIdsMapping(@NotNull Class<T> aClass) booleanisChainNameConflicting(@NotNull String projectKey, long planIdToIgnore, @NotNull String planName) Verifies whether aChainname is unique with the given projectbooleanisPlanKeyConflicting(@NotNull PlanKey planKey) Verifies whether aPlankey is unique within whole Bamboo installationbooleanisPlanKeyConflicting(@NotNull PlanKey planKey, long idOfChainBeingVerified) Verifies whether aPlankey is unique within whole Bamboo installationvoidmarkPlanForDeletion(PlanKey planKey) Efficiently marks a plan to be deletedvoidPerforms a cleanup task to markChainBranchobjects that have a masterPlanthat is marked to be deleted, but is not marked as deleted.voidPerforms a cleanup task to markJobobjects that have aPlanorChainStagethat is marked to be deleted, but it itself was not marked as deleted.voidMethods inherited from interface com.atlassian.bamboo.persistence3.BambooObjectDao
countAll, countWithRestriction, delete, deleteAll, findAll, findAll, findById, merge, save, saveAllMethods inherited from interface com.atlassian.bamboo.persistence3.BambooObjectWithOidDao
findByOid
-
Method Details
-
getPlanByKey
Return aPlanthat matches the given key- Parameters:
planKey-- Returns:
- plan
-
getPlanByKey
Return aPlanthat matches the given key- Parameters:
planKey-- Returns:
- plan
-
getPlanIdentifierForPermissionCheckingByKey
@Nullable @Nullable PlanIdentifier getPlanIdentifierForPermissionCheckingByKey(@NotNull @NotNull String planKey) Return aPlanskeleton providing ONLY id and key, that matches the given key This method should be used only for permission checking using Acegi IfJobkey is provided as a parameter, parent Chain will be returned anyway, as Acegi assertions are defined only forTopLevelPlans- Parameters:
planKey-- Returns:
- plan
-
getPlanClass
-
isChainNameConflicting
boolean isChainNameConflicting(@NotNull @NotNull String projectKey, long planIdToIgnore, @NotNull @NotNull String planName) Verifies whether aChainname is unique with the given project- Parameters:
projectKey- of the project to look for the plan inplanIdToIgnore- the id of the plan that has to be ignored during lookup (when you're saving a Plan, you should supply the plan id here)planName- - name of the plan inside the project: this is just the plan component of the name (i.e does not include the project component)- Returns:
- true if the name is in conflict
- Since:
- 4.0
-
isPlanKeyConflicting
Verifies whether aPlankey is unique within whole Bamboo installation- Parameters:
planKey- key of the plan to be searched for in the database- Returns:
- true if plan key is conflicting
- Since:
- 4.3
-
isPlanKeyConflicting
Verifies whether aPlankey is unique within whole Bamboo installation- Parameters:
planKey- key of the plan to be searched for in the databaseidOfChainBeingVerified- id of plan that is verified (i.e. if that plan uses the key, it's not a duplicate key)- Returns:
- true if plan key is conflicting
- Since:
- 5.15
-
getPlanByPartialKeyAndName
@Nullable <T extends Plan> T getPlanByPartialKeyAndName(@NotNull @NotNull PlanKey partialPlanKey, @NotNull @NotNull String planName, Class<T> planType) - Parameters:
partialPlanKey-planName-planType-- Returns:
- plan
-
getPlanCount
How many plans filtered byClasscurrently exist- Parameters:
planType-- Returns:
- how many plans exist in the database
-
getPlanCount
How many plans currently exist in aproject.- Parameters:
projectIdentifier- identifier of the project- Returns:
- how many plans exist in the database in a project, excluding ones marked for deletion
-
findPlansByProject
- Parameters:
project-planType-- Returns:
- plans for specifid project
-
findAllPlansByProject
<T extends Plan> List<T> findAllPlansByProject(@NotNull @NotNull Project project, Class<T> planType) - Parameters:
project-planType-- Returns:
- plans for specifid project
-
findAllPlans
Return aPlancollection for specified plan type. Does not include plans marked for deletion.- Type Parameters:
T-- Parameters:
planType- type of plan to be selected from DB- Returns:
Plancollection for specified plan type
-
findAllPlans
@NotNull <T extends Plan> @NotNull List<T> findAllPlans(Class<T> planType, int firstResult, int maxResults) Return aPlancollection for specified plan type. Does not include plans marked for deletion.- Type Parameters:
T-- Parameters:
planType- type of plan to be selected from DBfirstResult- firstResult for a paginated resultsmaxResults- maximum number of results to return- Returns:
Plancollection for specified plan type
-
filterFavouritedPlans
List<ImmutableChain> filterFavouritedPlans(@NotNull @NotNull Collection<? extends ImmutableChain> plans, @NotNull @NotNull com.atlassian.user.User user) Return a collection ofTopLevelPlans that are a subset of the givenPlans collection that are favourited by theUser- Parameters:
plans-user-- Returns:
- favoritedBuilds
-
getFavouritePlansIds
Return a collection of Favourite plan ids.- Parameters:
user-- Returns:
- favouritePlansIds
-
getAllPlansMarkedForDeletion
@Internal @NotNull <T extends Plan> @NotNull Collection<T> getAllPlansMarkedForDeletion(Class<T> planType) Returns a list ofPlans that areImmutableDeletable.isMarkedForDeletion()for the given type- Returns:
- plansMarkedForDeletion
-
getAllPlansMarkedForDeletionCount
Returns a count ofPlans that areImmutableDeletable.isMarkedForDeletion()for the given type- Returns:
- number of plans of a requested type scheduled for deletion
- Since:
- 10.0
-
getPlanKeys
Returns all plan keys of a particular type, NOT including the plans marked for deletion. -
getAllPlanKeys
Returns all plan keys of a particular type, including the plans marked for deletion. -
getJobKeys
Return all plan keys of Jobs that belong to a Chain- Parameters:
chainKey- key of a Chain- Returns:
- list of Job keys
-
getBranchesForChain
Returns all branches which have the given chain as their master- Parameters:
chain- master plan- Returns:
- all branches which have the given chain as their master
-
getBranchesForJob
-
getBranchIdentifiersForChain
@NotNull @NotNull List<ChainBranchIdentifier> getBranchIdentifiersForChain(@NotNull @NotNull PlanIdentifier chain) Returns minimal data about all branches which have the given chain as their master- Parameters:
chain- master- Returns:
- all branches which have the given chain as their master
-
getPlanIdentifiersForProject
@NotNull <T extends Plan> @NotNull List<PlanIdentifier> getPlanIdentifiersForProject(@NotNull @NotNull ProjectIdentifier projectIdentifier, @NotNull @NotNull Class<T> planType, boolean includeMarkedForDeletion) Returns minimal data about all plans in the given project- Parameters:
projectIdentifier- - to get plans forplanType- to filter plans byincludeMarkedForDeletion- - true if you want to include any results currently marked for deletion- Returns:
- plansIdentifiers matching the above criteria.
-
getBranchCount
Returns the number of branches that exist for the given plan- Parameters:
plan- to count branches of- Returns:
- the number of branches that exist for the given plan
-
getBranchesCount
Returns the number of branches that exist for master plans in Bamboo. Only returns masters plans which HAVE branches. Others are omitted.- Returns:
- List of pairs of plan id and their branches count
-
markPlanForDeletion
Efficiently marks a plan to be deleted- Parameters:
planKey-
-
syncDeletionStatusOfPlans
void syncDeletionStatusOfPlans() -
syncDeletionStatusOfJobs
void syncDeletionStatusOfJobs()Performs a cleanup task to markJobobjects that have aPlanorChainStagethat is marked to be deleted, but it itself was not marked as deleted. -
syncDeletionStatusOfChainBranches
void syncDeletionStatusOfChainBranches()Performs a cleanup task to markChainBranchobjects that have a masterPlanthat is marked to be deleted, but is not marked as deleted. -
getMaxPlanOid
@Nullable @Nullable BambooEntityOid getMaxPlanOid(int serverKey, @NotNull @NotNull BambooEntityType entityType) Returns the maxBambooEntityOidthat's currently in use of the specified entity type, with the given server key. Allowed entity types: -BambooEntityType.CHAIN-BambooEntityType.JOB-BambooEntityType.CHAIN_BRANCH-BambooEntityType.JOB_BRANCHReturns null if no OIDs are in use of the specified type with the given server key.- Throws:
IllegalArgumentException- if the entity type is invalid
-
getPlanKeysPlanIdsMapping
- Returns:
- mapping between plans' keys and their ids for given plan class.
-
clearInvalidFlagForBranchesOfChain
void clearInvalidFlagForBranchesOfChain(long masterId) -
getBranchKeysForChain
Returns the keys of branches that have as master the chain identified by the given chainKey.- Parameters:
chainKey- the key of the chain that is the master of the desired branches.- Returns:
- the keys of branches that have as master the chain identified by the given chainKey.
- Since:
- 9.5
-