com.atlassian.bamboo.plugins.rest.service
Interface PlanRestService

All Known Implementing Classes:
PlanRestServiceImpl

public interface PlanRestService


Method Summary
 void assertPlanExistsAndVisible(PlanKey planKey)
          Checks if Plan exists and is visible for calling user
 RestBranchLatestActive createLatestActiveBranchResult(ImmutablePlan branch)
           
 RestPlanBranchList createPaginatedBranchResponse(List<? extends ImmutablePlan> branches, com.atlassian.user.User user, javax.ws.rs.core.UriInfo uriInfo, boolean allBranches)
           
 RestPlans createPaginatedPlanResponse(List<? extends ImmutablePlan> plans, com.atlassian.user.User user, javax.ws.rs.core.UriInfo uriInfo)
           
 ImmutablePlan getBranchByName(ImmutablePlan plan, String branchName)
          Get branch of a given plan by name.
 List<ImmutableChainBranch> getBranchesForChain(ImmutablePlan plan)
           
 List<ImmutableJob> getBranchesForJob(ImmutableJob job)
           
 ImmutableChain getChainByKey(PlanKey planKey)
          Returns a Plan if plan exists and is visible for calling user
 List<ImmutableJob> getJobsForPlan(PlanKey planKey, javax.ws.rs.core.UriInfo uriInfo, com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
          Get a list of jobs of specified plan.
 ImmutablePlan getPlanByKey(PlanKey planKey)
          Returns a Plan if plan exists and is visible for calling user
 ImmutablePlan getPlanByKeyUnchecked(PlanKey planKey)
          Returns a Plan if plan exists.
<T extends ImmutablePlan>
List<T>
getPlans(Class<T> planType, javax.ws.rs.core.UriInfo uriInfo, com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
          Get a list of plans of specified type.
 List<? extends ImmutablePlan> getPlans(javax.ws.rs.core.UriInfo uriInfo, com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
          Get a list of plans.
 List<? extends ImmutablePlan> getPlansByProject(Project project, javax.ws.rs.core.UriInfo uriInfo)
          Get a list of plans that belong to a project.
 List<? extends ImmutablePlan> getPlansByProject(Project project, javax.ws.rs.core.UriInfo uriInfo, com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
          Get a list of plans that belong to a project.
 List<? extends ImmutablePlan> getRunnablePlans(Project project, javax.ws.rs.core.UriInfo uriInfo)
          Get a list of plans that can be run currently logged in user.
 boolean isPlanCreationAllowed()
          Check whether or not a plan can be created or not (based on licensing etc)
 

Method Detail

getBranchesForChain

List<ImmutableChainBranch> getBranchesForChain(ImmutablePlan plan)

getBranchesForJob

List<ImmutableJob> getBranchesForJob(ImmutableJob job)

createPaginatedBranchResponse

RestPlanBranchList createPaginatedBranchResponse(List<? extends ImmutablePlan> branches,
                                                 @Nullable
                                                 com.atlassian.user.User user,
                                                 javax.ws.rs.core.UriInfo uriInfo,
                                                 boolean allBranches)
Parameters:
branches -
user -
uriInfo -
allBranches - return all branches, even if expand has 'favourites' parameter. This is because 'favourites' is about plans not branches and all branches of a favourite plan are to be shown
Returns:
filtered list of branches

createLatestActiveBranchResult

@Nullable
RestBranchLatestActive createLatestActiveBranchResult(ImmutablePlan branch)

getBranchByName

@Nullable
ImmutablePlan getBranchByName(@NotNull
                                       ImmutablePlan plan,
                                       @NotNull
                                       String branchName)
Get branch of a given plan by name. If passed plan is Chain method will look after properly named chain branch. If passed plan is a Job method will look after corresponding job in a found chain branch.

Parameters:
plan - plan
branchName - name of the branch to be fetched
Returns:
ImmutableChainBranch, ImmutableJob or null if not found

createPaginatedPlanResponse

RestPlans createPaginatedPlanResponse(List<? extends ImmutablePlan> plans,
                                      @Nullable
                                      com.atlassian.user.User user,
                                      javax.ws.rs.core.UriInfo uriInfo)

getPlans

List<? extends ImmutablePlan> getPlans(@NotNull
                                       javax.ws.rs.core.UriInfo uriInfo,
                                       @NotNull
                                       com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
Get a list of plans. This method provides favourite filtering.

Parameters:
uriInfo -
authenticationContext -
Returns:
Filtered list of plans belonging to a project.

getPlans

<T extends ImmutablePlan> List<T> getPlans(Class<T> planType,
                                           @NotNull
                                           javax.ws.rs.core.UriInfo uriInfo,
                                           @NotNull
                                           com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
Get a list of plans of specified type. This method provides favourite filtering.

Parameters:
planType - type of plans
uriInfo -
authenticationContext -
Returns:
Filtered list of plans belonging to a project.

getJobsForPlan

List<ImmutableJob> getJobsForPlan(@NotNull
                                  PlanKey planKey,
                                  @NotNull
                                  javax.ws.rs.core.UriInfo uriInfo,
                                  @NotNull
                                  com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
Get a list of jobs of specified plan.

Parameters:
planKey - planKey
uriInfo -
authenticationContext -
Returns:
Filtered list of jobs belonging to a plan.

getPlansByProject

List<? extends ImmutablePlan> getPlansByProject(@NotNull
                                                Project project,
                                                @NotNull
                                                javax.ws.rs.core.UriInfo uriInfo)
Get a list of plans that belong to a project.

Parameters:
project -
uriInfo -
Returns:
Filtered list of plans belonging to a project.

getPlansByProject

List<? extends ImmutablePlan> getPlansByProject(@NotNull
                                                Project project,
                                                @NotNull
                                                javax.ws.rs.core.UriInfo uriInfo,
                                                @NotNull
                                                com.atlassian.plugins.rest.common.security.AuthenticationContext authenticationContext)
Get a list of plans that belong to a project. This method provides favourite filtering.

Parameters:
project -
uriInfo -
authenticationContext -
Returns:
Filtered list of plans belonging to a project.

getRunnablePlans

List<? extends ImmutablePlan> getRunnablePlans(@NotNull
                                               Project project,
                                               @NotNull
                                               javax.ws.rs.core.UriInfo uriInfo)
Get a list of plans that can be run currently logged in user.

Parameters:
project -
uriInfo -
Returns:

assertPlanExistsAndVisible

void assertPlanExistsAndVisible(@NotNull
                                PlanKey planKey)
Checks if Plan exists and is visible for calling user

Parameters:
planKey -
Throws:
NotFoundException, - AccessDeniedException

getChainByKey

@NotNull
ImmutableChain getChainByKey(@NotNull
                                     PlanKey planKey)
Returns a Plan if plan exists and is visible for calling user

Parameters:
planKey -
Returns:
Throws:
NotFoundException, - AccessDeniedException

getPlanByKey

@NotNull
ImmutablePlan getPlanByKey(@NotNull
                                   PlanKey planKey)
Returns a Plan if plan exists and is visible for calling user

Parameters:
planKey - key of a plan to search for
Returns:
ImmutablePlan
Throws:
NotFoundException - when plan was not found
org.acegisecurity.AccessDeniedException - when authenticated user has no permission to the plan

getPlanByKeyUnchecked

@Nullable
ImmutablePlan getPlanByKeyUnchecked(@NotNull
                                             PlanKey planKey)
Returns a Plan if plan exists. No permission check is performed.

Parameters:
planKey - key of a plan to search for
Returns:
ImmutablePlan or null if not found

isPlanCreationAllowed

boolean isPlanCreationAllowed()
Check whether or not a plan can be created or not (based on licensing etc)

Returns:
true if a plan can be created otherwise false;


Copyright © 2015 Atlassian Software Systems Pty Ltd. All rights reserved.