com.atlassian.bamboo.plugins.rest.service
Class PlanRestServiceImpl

java.lang.Object
  extended by com.atlassian.bamboo.plugins.rest.service.PlanRestServiceImpl
All Implemented Interfaces:
PlanRestService

public class PlanRestServiceImpl
extends Object
implements PlanRestService


Constructor Summary
PlanRestServiceImpl(BambooUserManager bambooUserManager, CachedPlanManager cachedPlanManager, FilteringPlanManager filteringPlanManager, LabelManager labelManager, PlanExecutionManager planExecutionManager, PlanManager planManager, ResultsSummaryManager resultsSummaryManager)
           
 
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)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PlanRestServiceImpl

public PlanRestServiceImpl(BambooUserManager bambooUserManager,
                           CachedPlanManager cachedPlanManager,
                           FilteringPlanManager filteringPlanManager,
                           LabelManager labelManager,
                           PlanExecutionManager planExecutionManager,
                           PlanManager planManager,
                           ResultsSummaryManager resultsSummaryManager)
Method Detail

getBranchesForChain

public List<ImmutableChainBranch> getBranchesForChain(ImmutablePlan plan)
Specified by:
getBranchesForChain in interface PlanRestService

getBranchesForJob

public List<ImmutableJob> getBranchesForJob(ImmutableJob job)
Specified by:
getBranchesForJob in interface PlanRestService

createPaginatedPlanResponse

public RestPlans createPaginatedPlanResponse(List<? extends ImmutablePlan> plans,
                                             @Nullable
                                             com.atlassian.user.User user,
                                             javax.ws.rs.core.UriInfo uriInfo)
Specified by:
createPaginatedPlanResponse in interface PlanRestService

createPaginatedBranchResponse

public RestPlanBranchList createPaginatedBranchResponse(List<? extends ImmutablePlan> branches,
                                                        @Nullable
                                                        com.atlassian.user.User user,
                                                        javax.ws.rs.core.UriInfo uriInfo,
                                                        boolean allBranches)
Specified by:
createPaginatedBranchResponse in interface PlanRestService
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
public RestBranchLatestActive createLatestActiveBranchResult(ImmutablePlan branch)
Specified by:
createLatestActiveBranchResult in interface PlanRestService

getBranchByName

public ImmutablePlan getBranchByName(@NotNull
                                     ImmutablePlan plan,
                                     @NotNull
                                     String branchName)
Description copied from interface: PlanRestService
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.

Specified by:
getBranchByName in interface PlanRestService
Parameters:
plan - plan
branchName - name of the branch to be fetched
Returns:
ImmutableChainBranch, ImmutableJob or null if not found

getPlans

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

Specified by:
getPlans in interface PlanRestService
Returns:
Filtered list of plans belonging to a project.

getPlans

public <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)
Description copied from interface: PlanRestService
Get a list of plans of specified type. This method provides favourite filtering.

Specified by:
getPlans in interface PlanRestService
Parameters:
planType - type of plans
Returns:
Filtered list of plans belonging to a project.

getJobsForPlan

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

Specified by:
getJobsForPlan in interface PlanRestService
Parameters:
planKey - planKey
Returns:
Filtered list of jobs belonging to a plan.

getPlansByProject

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

Specified by:
getPlansByProject in interface PlanRestService
Returns:
Filtered list of plans belonging to a project.

getPlansByProject

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

Specified by:
getPlansByProject in interface PlanRestService
Returns:
Filtered list of plans belonging to a project.

getRunnablePlans

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

Specified by:
getRunnablePlans in interface PlanRestService
Returns:

assertPlanExistsAndVisible

public void assertPlanExistsAndVisible(@NotNull
                                       PlanKey planKey)
Description copied from interface: PlanRestService
Checks if Plan exists and is visible for calling user

Specified by:
assertPlanExistsAndVisible in interface PlanRestService

getChainByKey

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

Specified by:
getChainByKey in interface PlanRestService
Parameters:
planKey -
Returns:
Throws:
NotFoundException, - AccessDeniedException

getPlanByKey

@NotNull
public ImmutablePlan getPlanByKey(@NotNull
                                          PlanKey planKey)
Description copied from interface: PlanRestService
Returns a Plan if plan exists and is visible for calling user

Specified by:
getPlanByKey in interface PlanRestService
Parameters:
planKey - key of a plan to search for
Returns:
ImmutablePlan

getPlanByKeyUnchecked

public ImmutablePlan getPlanByKeyUnchecked(@NotNull
                                           PlanKey planKey)
Description copied from interface: PlanRestService
Returns a Plan if plan exists. No permission check is performed.

Specified by:
getPlanByKeyUnchecked in interface PlanRestService
Parameters:
planKey - key of a plan to search for
Returns:
ImmutablePlan or null if not found

isPlanCreationAllowed

public boolean isPlanCreationAllowed()
Description copied from interface: PlanRestService
Check whether or not a plan can be created or not (based on licensing etc)

Specified by:
isPlanCreationAllowed in interface PlanRestService
Returns:
true if a plan can be created otherwise false;


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