|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface PlanManager
Manager for all Plan types within Bamboo
Use this manager if you need to address Builds, Plans, etc.
Method Summary | ||
---|---|---|
boolean |
assertPlanPermission(PlanIdentifier plan)
Used to validate user permission for plan. |
|
void |
createPlan(Plan plan)
Same as savePlan, but create permissions used instead of edit permissions. |
|
void |
deletePlan(Plan plan)
Removes the plan object from the database. |
|
java.util.Set<ImmutableChain> |
filterFavouritedPlans(java.util.Collection<? extends ImmutableChain> plans,
com.atlassian.user.User user)
Return a set of Plan s that are a subset of the given TopLevelPlan s collection that are favourited by the User |
|
java.util.List<TopLevelPlan> |
getAllPlans()
Returns all TopLevelPlan 's |
|
|
getAllPlans(java.lang.Class<T> planType)
Returns all Plan 's filtered by Class . |
|
|
getAllPlansByProject(Project project,
java.lang.Class<T> planType)
Returns all Plan 's filtered by Project and Class , including the plans marked for
deletion. |
|
|
getAllPlansMarkedForDeletion(java.lang.Class<T> planType)
Returns a list of Plan s that are com.atlassian.bamboo.plan.Plan#markForDeletion()
for the given type |
|
java.util.List<TopLevelPlan> |
getAllPlansUnrestricted()
Returns all TopLevelPlan 's ignoring permissions |
|
java.util.Set<ImmutableChain> |
getFavouritePlans(com.atlassian.user.User user)
|
|
Plan |
getPlanById(long id)
Returns a Plan by its id |
|
|
getPlanById(long id,
java.lang.Class<T> planType)
Returns a Plan by its id and Class |
|
Plan |
getPlanByKey(PlanKey planKey)
Returns a Plan by its PlanKey |
|
|
getPlanByKey(PlanKey planKey,
java.lang.Class<T> planType)
Returns a Plan by its PlanKey and Class |
|
Plan |
getPlanByKey(java.lang.String planKey)
Returns a Plan by its planKey |
|
|
getPlanByKey(java.lang.String planKey,
java.lang.Class<T> planType)
Returns a Plan by its planKey and Class |
|
|
getPlanByKeyIfOfType(PlanKey planKey,
java.lang.Class<T> planType)
Returns a Plan by its planKey and if it's of the type Class . |
|
|
getPlanByKeyIfOfType(java.lang.String planKey,
java.lang.Class<T> planType)
Returns a Plan by its planKey and if it's of the type Class . |
|
|
getPlanByName(java.lang.String projectKey,
java.lang.String planName,
java.lang.Class<T> planType)
Deprecated. since 4.0 implementation no longer guarantees exception on using the method with incorrect planType parameter but throws only when the result is not unique. Use: isChainNameConflicting(java.lang.String, long, java.lang.String) |
|
|
getPlanByPartialKeyAndName(PlanKey partialPlanKey,
java.lang.String planName,
java.lang.Class<T> planType)
Returns a Plan that matches the start of the given PlanKey and the full plan name |
|
Plan |
getPlanByResultKey(PlanResultKey planResultKey)
Returns a Plan by a PlanResultKey |
|
|
getPlanByResultKey(PlanResultKey planResultKey,
java.lang.Class<T> planType)
Returns a Plan from a PlanResultKey and Class |
|
java.lang.Class<? extends Plan> |
getPlanClass(PlanKey planKey)
|
|
int |
getPlanCount()
|
|
|
getPlanCount(java.lang.Class<T> planType)
How many plans filtered by Class currently exist |
|
PlanIdentifier |
getPlanIdentifierForPermissionCheckingByKey(java.lang.String planKey)
Returns a Plan skeleton skeleton providing ONLY id and key, that matches the given key This method should
be used only for permission checking using Acegi
If Job key is provided as a parameter, parent Chain will be returned anyway, as Acegi assertions are
defined only for TopLevelPlan s |
|
|
getPlanIdentifiersForProject(ProjectIdentifier project,
java.lang.Class<T> planType,
boolean includeMarkedForDeletion)
Retrieve a list of plans for a given project. |
|
java.util.List<TopLevelPlan> |
getPlansByProject(Project project)
Returns all TopLevelPlan 's filtered by Project |
|
|
getPlansByProject(Project project,
java.lang.Class<T> planType)
Returns all Plan 's filtered by Project and Class |
|
|
getProjectPlanMap(java.lang.Class<T> planType,
boolean includeEmptyProjects)
Return mapping of Project to Plan of given type |
|
boolean |
isChainNameConflicting(java.lang.String projectKey,
long planIdToIgnore,
java.lang.String planName)
Verifies whether a Chain name is unique with the given project
|
|
boolean |
isPlanCreationAllowed()
Check whether or not a plan can be created or not (based on licensing etc) |
|
java.util.Map<PlanKey,PlanKey> |
movePlanToProject(Plan plan,
Project project,
java.lang.String newPlanKey,
java.lang.String newBuildName)
Deprecated. since 4.0 use MovePlanService instead |
|
void |
savePlan(Plan plan)
Saves the Plan |
|
void |
setPlanSuspendedState(Plan plan,
boolean newState)
Persists enable/disable state of a plan. |
|
void |
triggerConfigUpdatedEventsForPlansInProject(Project project)
Triggers updated events for every plan in a project regardless of permissions. |
|
void |
updateNamesAndDescription(java.lang.String projectName,
java.lang.String buildName,
java.lang.String description,
Plan plan)
Deprecated. since 4.0 For some reason we stopped using this in ~3.3, therefore there must be something wrong with it. Not sure what... |
Method Detail |
---|
@Nullable Plan getPlanById(long id) throws IncorrectPlanTypeException
Plan
by its id
id
- of the plan
IncorrectPlanTypeException
- if plan cannot be found@Nullable <T extends Plan> T getPlanById(long id, java.lang.Class<T> planType) throws IncorrectPlanTypeException
Plan
by its id and Class
id
- of the planplanType
- - the type of the plan to retrieve
IncorrectPlanTypeException
- if plan cannot be found with the correct type@Nullable Plan getPlanByKey(@NotNull java.lang.String planKey) throws IncorrectPlanTypeException
Plan
by its planKey
planKey
- of the plan to find
IncorrectPlanTypeException
- if plan cannot be found with the correct type (should never happen)@Nullable PlanIdentifier getPlanIdentifierForPermissionCheckingByKey(@NotNull java.lang.String planKey)
Plan
skeleton skeleton providing ONLY id and key, that matches the given key This method should
be used only for permission checking using Acegi
If Job
key is provided as a parameter, parent Chain will be returned anyway, as Acegi assertions are
defined only for TopLevelPlan
s
planKey
- of the plan to find
IncorrectPlanTypeException
- if plan cannot be found with the correct type (should never happen)@Nullable java.lang.Class<? extends Plan> getPlanClass(@NotNull PlanKey planKey)
@Nullable <T extends Plan> T getPlanByKey(@NotNull java.lang.String planKey, java.lang.Class<T> planType) throws IncorrectPlanTypeException
Plan
by its planKey and Class
planKey
- to search forplanType
- - the type of the plan to retrieve
IncorrectPlanTypeException
- if plan cannot be found with the correct type@Nullable <T extends Plan> T getPlanByKeyIfOfType(@NotNull java.lang.String planKey, @NotNull java.lang.Class<T> planType)
Plan
by its planKey and if it's of the type Class
. Does not throw IncorrectPlanTypeException
. Should only be used when the type of the plan can not be known.
T
- planKey
- planType
-
@Nullable <T extends Plan> T getPlanByKeyIfOfType(@NotNull PlanKey planKey, @NotNull java.lang.Class<T> planType)
Plan
by its planKey and if it's of the type Class
. Does not throw IncorrectPlanTypeException
. Should only be used when the type of the plan can not be known.
planKey
- to search forplanType
- the type of the plan to retrieve
@Nullable Plan getPlanByKey(@NotNull PlanKey planKey) throws IncorrectPlanTypeException
Plan
by its PlanKey
planKey
- to search for
IncorrectPlanTypeException
- if plan cannot be found with the correct type (should never happen)boolean assertPlanPermission(@NotNull PlanIdentifier plan)
plan
- to check the permissions of
@Nullable <T extends Plan> T getPlanByKey(@NotNull PlanKey planKey, java.lang.Class<T> planType) throws IncorrectPlanTypeException
Plan
by its PlanKey
and Class
planKey
- to search forplanType
- - the type of the plan to retrieve
IncorrectPlanTypeException
- if plan cannot be found with the correct type@Nullable Plan getPlanByResultKey(@NotNull PlanResultKey planResultKey) throws IncorrectPlanTypeException
Plan
by a PlanResultKey
planResultKey
- to look for the parent plan
IncorrectPlanTypeException
- if plan cannot be found with the correct type (should never happen)@Nullable <T extends Plan> T getPlanByResultKey(@NotNull PlanResultKey planResultKey, java.lang.Class<T> planType) throws IncorrectPlanTypeException
Plan
from a PlanResultKey
and Class
planResultKey
- to look for the parent planplanType
- - the type of the plan to retrieve
IncorrectPlanTypeException
- if plan cannot be found with the correct type@Nullable @Deprecated <T extends Plan> T getPlanByName(@NotNull java.lang.String projectKey, @NotNull java.lang.String planName, java.lang.Class<T> planType) throws IncorrectPlanTypeException
isChainNameConflicting(java.lang.String, long, java.lang.String)
Plan
from a project with the given plan name and Class
It is not possible to use this method if the planType parameter is a marker interface type such as Plan
,
Buildable
or TopLevelPlan
since it is possible to have a Chain
and a Job
that share the same name.
projectKey
- of the project to look for the plan inplanName
- - name of the plan inside the project: this is just the plan component of the name (i.e does
not include the project component)planType
- - the type of the plan to retrieve
IncorrectPlanTypeException
- if the result is not uniqueboolean isChainNameConflicting(@NotNull java.lang.String projectKey, long planIdToIgnore, @NotNull java.lang.String planName)
Chain
name is unique with the given project
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)
@Nullable <T extends Plan> T getPlanByPartialKeyAndName(@NotNull PlanKey partialPlanKey, @NotNull java.lang.String planName, java.lang.Class<T> planType) throws IncorrectPlanTypeException
Plan
that matches the start of the given PlanKey
and the full plan name
partialPlanKey
- - the start of the plan keyplanName
- - name of the plan to search for: this is just the plan component of the name (i.e does not
include the project component)planType
- - the type of the plan to retrieve
IncorrectPlanTypeException
- if plan cannot be found with the correct type@NotNull java.util.List<TopLevelPlan> getAllPlans()
TopLevelPlan
's
java.util.List<TopLevelPlan> getAllPlansUnrestricted()
TopLevelPlan
's ignoring permissions
@NotNull <T extends Plan> java.util.List<T> getAllPlans(java.lang.Class<T> planType)
Plan
's filtered by Class
. Does not include plans marked for deletion.
planType
- - the type of the plan to retrieve
DescriptionProvider.getName()
@NotNull java.util.List<TopLevelPlan> getPlansByProject(Project project)
TopLevelPlan
's filtered by Project
project
- - that the plans will belong to
TopLevelPlan
plans contained within the given project@NotNull <T extends Plan> java.util.List<T> getPlansByProject(Project project, java.lang.Class<T> planType)
Plan
's filtered by Project
and Class
project
- - that the plans will belong toplanType
- - the type of the plan to retrieve
@NotNull <T extends Plan> java.util.List<T> getAllPlansByProject(Project project, java.lang.Class<T> planType)
Plan
's filtered by Project
and Class
, including the plans marked for
deletion.
project
- - that the plans will belong toplanType
- - the type of the plan to retrieve
@NotNull <T extends Plan> java.util.Map<Project,java.util.Collection<T>> getProjectPlanMap(java.lang.Class<T> planType, boolean includeEmptyProjects)
Project
to Plan
of given type
planType
- type of plan to be selected from DBincludeEmptyProjects
- should empty projects be included in result
Project
to Plan
of given type@NotNull <T extends Plan> java.util.List<PlanIdentifier> getPlanIdentifiersForProject(@NotNull ProjectIdentifier project, @NotNull java.lang.Class<T> planType, boolean includeMarkedForDeletion)
project
- to get plans forplanType
- to filter plans byincludeMarkedForDeletion
- set to true if you want to return plans marked for deletion
int getPlanCount()
Buildable
's exists<T extends Plan> int getPlanCount(java.lang.Class<T> planType)
Class
currently exist
planType
- - the type of the plan to retrieve
void savePlan(@NotNull Plan plan)
Plan
plan
- to be savedvoid setPlanSuspendedState(Plan plan, boolean newState)
plan
- to be suspended/resumedboolean isPlanCreationAllowed()
@Deprecated void updateNamesAndDescription(@NotNull java.lang.String projectName, @NotNull java.lang.String buildName, @Nullable java.lang.String description, @NotNull Plan plan)
projectName
- new name of the projectbuildName
- new name of the plandescription
- new plan descriptionplan
- to update the details ofvoid triggerConfigUpdatedEventsForPlansInProject(@NotNull Project project)
project
- to trigger event for.void createPlan(Plan plan)
void deletePlan(Plan plan)
plan
- to delete.@Deprecated java.util.Map<PlanKey,PlanKey> movePlanToProject(Plan plan, Project project, java.lang.String newPlanKey, java.lang.String newBuildName)
MovePlanService
instead
plan
- - plan to be moved/renamedproject
- - project plan should be moved tonewPlanKey
- - new key for the plan (not a full key)newBuildName
- - new name for the plan
java.util.Set<ImmutableChain> getFavouritePlans(@NotNull com.atlassian.user.User user)
@NotNull java.util.Set<ImmutableChain> filterFavouritedPlans(@NotNull java.util.Collection<? extends ImmutableChain> plans, @NotNull com.atlassian.user.User user)
Plan
s that are a subset of the given TopLevelPlan
s collection that are favourited by the User
plans
- to filteruser
- to return the favourites of
Chain
s that are a subset of the given TopLevelPlan
s collection that are favourited by the User
@NotNull <T extends Plan> java.util.Collection<T> getAllPlansMarkedForDeletion(java.lang.Class<T> planType)
Plan
s that are com.atlassian.bamboo.plan.Plan#markForDeletion()
for the given type
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |