Package com.atlassian.bamboo.labels
Class LabelManagerImpl
java.lang.Object
com.atlassian.bamboo.labels.LabelManagerImpl
- All Implemented Interfaces:
LabelManager
This manager is not transactional but is thread safe
-
Field Summary
Fields inherited from interface com.atlassian.bamboo.labels.LabelManager
BUILDRESULT_LABEL_NAMESPACE, DEFAULT_MAX_RESULTS, FAVOURITE_LABEL_NAME, FAVOURITE_UNMARK_LABEL_NAME, LABEL_ADDED_TO_BUILD_RESULT, LABEL_CREATED, LABEL_DELETED, LABEL_REMOVED_FROM_BUILD_RESULT, NO_CHANGE
-
Constructor Summary
ConstructorDescriptionLabelManagerImpl
(LabelDao labelDao, JiraIssueUtils jiraIssueUtils, PlanManager planManager, ProjectManager projectManager, ResultsSummaryManager resultsSummaryManager, com.atlassian.event.api.EventPublisher eventPublisher) -
Method Summary
Modifier and TypeMethodDescriptionint
addFavourite
(Plan plan, com.atlassian.user.User user) Adds a build to a user as favourite.protected int
addLabel
(@NotNull String labelName, String namespace, @Nullable Project project, @Nullable Plan plan, @Nullable ResultsSummary resultsSummary, String userName) int
addLabel
(@Nullable String labelName, @Nullable PlanKey planKey, @Nullable com.atlassian.user.User user) Creates a normal label for a planint
addLabel
(@Nullable String labelName, @Nullable PlanResultKey planResultKey, @Nullable com.atlassian.user.User user) Add a label against a build result.boolean
addLabels
(List<String> labelNames, @Nullable PlanKey planKey, @Nullable com.atlassian.user.User user) Creates multiple normal labels for a plan@NotNull List<ResultsSummary>
findBuildResultsSummaryByLabel
(@NotNull String labelName) Finds allResultsSummary
labelled with given labelname@NotNull List<LabelCount>
findLabels
(@NotNull String namespace, int maxResults, @Nullable Plan plan, @Nullable Project project) Finds all labels in a given build, with namespace and maxResults.All labels used on a plan levelgetFavouritesForPlan
(@NotNull ImmutablePlan plan) Retrieves a list of usernames which have the given plan set as a favourite.getLabelsByName
(List<String> labelNames) Gets list of labels based on label namesgetPlanLabels
(@NotNull ImmutablePlan plan) Get labels defined for a planboolean
hasBuildResultsLabel
(@NotNull ResultsSummary buildResultsSummary, @NotNull String label) Checks whether the build results summary has a particular labelboolean
hasPlanLabel
(@NotNull Plan plan, @NotNull String label) Checks whether the Plan has a particular labelboolean
isFavourite
(@NotNull ImmutablePlan plan, @Nullable com.atlassian.user.User user) Determines if the build is a user's favourite Note that its more efficient to usePlanManager.filterFavouritedPlans(java.util.Collection, com.atlassian.user.User)
if you are performing this operation over a collection ofPlan
sboolean
isManuallyUnmarkedFavourite
(@NotNull Plan plan, @Nullable com.atlassian.user.User user) Flag which determines if the user has manually unmarked this build as favourite.int
removeFavourite
(@NotNull Plan plan, @Nullable com.atlassian.user.User user) Removes a build from a user's favourite.protected int
removeLabel
(@NotNull String labelName, @NotNull String namespace, @NotNull Project project, @Nullable ImmutablePlan plan, @Nullable ResultsSummary resultsSummary) int
removeLabel
(@Nullable String labelName, @Nullable PlanKey planKey, @Nullable com.atlassian.user.User user) Remove the standard label for a plan (not all the labels for that plan)int
removeLabel
(String labelName, @Nullable PlanResultKey planResultKey, com.atlassian.user.User user) Removes a label against a build result.void
saveLabelling
(Labelling labelling) Saves a specific labelling - does not do any validation or checking.
-
Constructor Details
-
LabelManagerImpl
public LabelManagerImpl(LabelDao labelDao, JiraIssueUtils jiraIssueUtils, PlanManager planManager, ProjectManager projectManager, ResultsSummaryManager resultsSummaryManager, com.atlassian.event.api.EventPublisher eventPublisher)
-
-
Method Details
-
saveLabelling
Description copied from interface:LabelManager
Saves a specific labelling - does not do any validation or checking. If not sure - please use addLabel or addFavourite instead- Specified by:
saveLabelling
in interfaceLabelManager
- Parameters:
labelling
- to save
-
addLabel
public int addLabel(@Nullable @Nullable String labelName, @Nullable @Nullable PlanResultKey planResultKey, @Nullable @Nullable com.atlassian.user.User user) Description copied from interface:LabelManager
Add a label against a build result.- Specified by:
addLabel
in interfaceLabelManager
- Returns:
- an
int
identifying result of add process
-
addLabel
public int addLabel(@Nullable @Nullable String labelName, @Nullable @Nullable PlanKey planKey, @Nullable @Nullable com.atlassian.user.User user) Description copied from interface:LabelManager
Creates a normal label for a plan- Specified by:
addLabel
in interfaceLabelManager
- Returns:
-
addLabels
public boolean addLabels(List<String> labelNames, @Nullable @Nullable PlanKey planKey, @Nullable @Nullable com.atlassian.user.User user) Description copied from interface:LabelManager
Creates multiple normal labels for a plan- Specified by:
addLabels
in interfaceLabelManager
- Returns:
-
addFavourite
Description copied from interface:LabelManager
Adds a build to a user as favourite. Adds a label to the build, with namespace = user name, and label name = ":favourite".- Specified by:
addFavourite
in interfaceLabelManager
- Returns:
- an
int
identifying result of add process
-
removeLabel
public int removeLabel(String labelName, @Nullable @Nullable PlanResultKey planResultKey, com.atlassian.user.User user) Description copied from interface:LabelManager
Removes a label against a build result. Will delete the Label entity if there are no more build results tied to it.- Specified by:
removeLabel
in interfaceLabelManager
- Returns:
- an
int
identifying result of delete process
-
removeLabel
public int removeLabel(@Nullable @Nullable String labelName, @Nullable @Nullable PlanKey planKey, @Nullable @Nullable com.atlassian.user.User user) Description copied from interface:LabelManager
Remove the standard label for a plan (not all the labels for that plan)- Specified by:
removeLabel
in interfaceLabelManager
- Returns:
-
getAllPlanLabels
Description copied from interface:LabelManager
All labels used on a plan level- Specified by:
getAllPlanLabels
in interfaceLabelManager
- Returns:
- Set of
Label
related to any plan
-
getPlanLabels
Description copied from interface:LabelManager
Get labels defined for a plan- Specified by:
getPlanLabels
in interfaceLabelManager
- Parameters:
plan
-Plan
to filter labels with- Returns:
- Set of
Label
related to the plan
-
removeFavourite
public int removeFavourite(@NotNull @NotNull Plan plan, @Nullable @Nullable com.atlassian.user.User user) Description copied from interface:LabelManager
Removes a build from a user's favourite. Removes labelling object, where namespace = user name, and label name=":favourite".- Specified by:
removeFavourite
in interfaceLabelManager
- Returns:
- an
int
identifying result of removal process
-
hasBuildResultsLabel
public boolean hasBuildResultsLabel(@NotNull @NotNull ResultsSummary buildResultsSummary, @NotNull @NotNull String label) Description copied from interface:LabelManager
Checks whether the build results summary has a particular label- Specified by:
hasBuildResultsLabel
in interfaceLabelManager
label
- . could be empty- Returns:
- Returns true if there is a label object within the correct namespace and a labelling for the
ResultsSummary
-
hasPlanLabel
Description copied from interface:LabelManager
Checks whether the Plan has a particular label- Specified by:
hasPlanLabel
in interfaceLabelManager
label
- . could be empty- Returns:
- Returns true if there is a label object within the correct namespace and a labelling for the
Plan
-
getLabelsByName
Description copied from interface:LabelManager
Gets list of labels based on label names- Specified by:
getLabelsByName
in interfaceLabelManager
- Returns:
- list of labels for all existing labels specified in parameter
-
findBuildResultsSummaryByLabel
@NotNull public @NotNull List<ResultsSummary> findBuildResultsSummaryByLabel(@NotNull @NotNull String labelName) Description copied from interface:LabelManager
Finds allResultsSummary
labelled with given labelname- Specified by:
findBuildResultsSummaryByLabel
in interfaceLabelManager
- Returns:
List
ofResultsSummary
-
isFavourite
public boolean isFavourite(@NotNull @NotNull ImmutablePlan plan, @Nullable @Nullable com.atlassian.user.User user) Description copied from interface:LabelManager
Determines if the build is a user's favourite Note that its more efficient to usePlanManager.filterFavouritedPlans(java.util.Collection, com.atlassian.user.User)
if you are performing this operation over a collection ofPlan
s- Specified by:
isFavourite
in interfaceLabelManager
- Returns:
boolean
yes or no
-
isManuallyUnmarkedFavourite
public boolean isManuallyUnmarkedFavourite(@NotNull @NotNull Plan plan, @Nullable @Nullable com.atlassian.user.User user) Description copied from interface:LabelManager
Flag which determines if the user has manually unmarked this build as favourite.- Specified by:
isManuallyUnmarkedFavourite
in interfaceLabelManager
- Returns:
boolean
flag
-
getFavouritesForPlan
Description copied from interface:LabelManager
Retrieves a list of usernames which have the given plan set as a favourite.- Specified by:
getFavouritesForPlan
in interfaceLabelManager
- Returns:
- list of usernames (as Strings)
-
findLabels
@NotNull public @NotNull List<LabelCount> findLabels(@NotNull @NotNull String namespace, int maxResults, @Nullable @Nullable Plan plan, @Nullable @Nullable Project project) Description copied from interface:LabelManager
Finds all labels in a given build, with namespace and maxResults.- Specified by:
findLabels
in interfaceLabelManager
- Returns:
List
ofLabelCount
objects, mapping (Label
to count of occurrences.
-
addLabel
-
removeLabel
protected int removeLabel(@NotNull @NotNull String labelName, @NotNull @NotNull String namespace, @NotNull @NotNull Project project, @Nullable @Nullable ImmutablePlan plan, @Nullable @Nullable ResultsSummary resultsSummary)
-