Package com.atlassian.bamboo.author
Class HibernateAuthorManagerImpl
java.lang.Object
com.atlassian.bamboo.author.HibernateAuthorManagerImpl
- All Implemented Interfaces:
AuthorManager
,ExtendedAuthorManager
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
createAndSaveAuthor
(@NotNull Author author) Creates and saves author given author, if bamboo user with the same username exists the new author will be linked to that user.findAuthorsByName
(@NotNull String authorSearchString) Performs a case insensitive search for authors by their author name.findAuthorsByUser
(@NotNull String userSearchString) Performs a case insensitive search for authors by their linkedUserName.findAuthorsThatStartWith
(@NotNull String authorSearchString, boolean unlinkedOnly) Performs a case insensitive search for authors by their author name.@NotNull List<ResultsSummary>
findBuildResultsBrokenByAuthor
(ExtendedAuthor author, int maxResultCount) @NotNull List<ResultsSummary>
findBuildResultsFailedByAuthor
(ExtendedAuthor author, int maxResultCount) @NotNull List<ResultsSummary>
findBuildResultsFixedByAuthor
(ExtendedAuthor author, int maxResultCount) @NotNull List<ResultsSummary>
findBuildResultsSuccessfulByAuthor
(ExtendedAuthor author, int maxResultCount) @NotNull List<ResultsSummary>
findBuildResultsTriggeredByAuthor
(ExtendedAuthor author, int maxResultCount) @NotNull Collection<ResultsSummary>
Retrieves the last build broken by author for all the plans.int
int
int
int
int
findRecentResultsTriggeredByAuthors
(List<ExtendedAuthor> authors, int maxDays) Retrieve all build results triggered by the author in the last X days@NotNull Set<ExtendedAuthor>
getAuthorById
(long id) getAuthorByName
(String name) getAuthorsByResultSummary
(@NotNull ResultsSummary resultsSummary) Retrieve unique set of authors that contributed to commits related to a given ResultsSummary@NotNull List<ExtendedAuthor>
getAvailableAuthors
(@Nullable com.atlassian.user.User user) Get authors available for a user.Get Author information by author name.@NotNull List<ExtendedAuthor>
getLinkedAuthorForUser
(com.atlassian.user.User user) void
Attempt to link any authors that currently aren't linked with a user.void
removeAuthor
(ExtendedAuthor extendedAuthor) removes an authorvoid
saveAuthor
(ExtendedAuthor author) Save the authorvoid
Remove all author links.
-
Constructor Details
-
HibernateAuthorManagerImpl
-
-
Method Details
-
createAndSaveAuthor
Description copied from interface:ExtendedAuthorManager
Creates and saves author given author, if bamboo user with the same username exists the new author will be linked to that user.- Specified by:
createAndSaveAuthor
in interfaceExtendedAuthorManager
-
getAllAuthors
- Specified by:
getAllAuthors
in interfaceAuthorManager
- Returns:
Set
of allAuthor
-
unlinkAllAuthors
public void unlinkAllAuthors()Description copied from interface:ExtendedAuthorManager
Remove all author links. Useful if you have changed user management systems- Specified by:
unlinkAllAuthors
in interfaceExtendedAuthorManager
-
relinkUnlinkedAuthors
public void relinkUnlinkedAuthors()Description copied from interface:ExtendedAuthorManager
Attempt to link any authors that currently aren't linked with a user. Currently only checks for direct author/username matches- Specified by:
relinkUnlinkedAuthors
in interfaceExtendedAuthorManager
-
getAuthorByName
- Specified by:
getAuthorByName
in interfaceAuthorManager
- Returns:
Author
with given name.
-
getAllUnlinkedAuthors
- Specified by:
getAllUnlinkedAuthors
in interfaceExtendedAuthorManager
- Returns:
Set
ofExtendedAuthor
objects not linked to users
-
getExtendedAuthorByName
Description copied from interface:ExtendedAuthorManager
Get Author information by author name. Author names in DB are kept trimmed, make sure that name param is trimmed as well- Specified by:
getExtendedAuthorByName
in interfaceExtendedAuthorManager
- Parameters:
name
- trimmed author name- Returns:
ExtendedAuthor
with given name (assuming unique)
-
findBuildResultsTriggeredByAuthor
@NotNull public @NotNull List<ResultsSummary> findBuildResultsTriggeredByAuthor(ExtendedAuthor author, int maxResultCount) - Specified by:
findBuildResultsTriggeredByAuthor
in interfaceExtendedAuthorManager
maxResultCount
- if <= 0 all the results are returned- Returns:
List
ofBuildResultsSummary
triggered by author
-
findRecentResultsTriggeredByAuthors
public List<ResultsSummary> findRecentResultsTriggeredByAuthors(List<ExtendedAuthor> authors, int maxDays) Description copied from interface:ExtendedAuthorManager
Retrieve all build results triggered by the author in the last X days- Specified by:
findRecentResultsTriggeredByAuthors
in interfaceExtendedAuthorManager
- Parameters:
authors
- the builds will be triggered bymaxDays
- number of days to look back in history- Returns:
- all build results triggered by the author in the last X days
-
findBuildResultsFailedByAuthor
@NotNull public @NotNull List<ResultsSummary> findBuildResultsFailedByAuthor(ExtendedAuthor author, int maxResultCount) - Specified by:
findBuildResultsFailedByAuthor
in interfaceExtendedAuthorManager
maxResultCount
- if <= 0 all the results are returned- Returns:
List
ofBuildResultsSummary
triggered by author and failed
-
findBuildResultsSuccessfulByAuthor
@NotNull public @NotNull List<ResultsSummary> findBuildResultsSuccessfulByAuthor(ExtendedAuthor author, int maxResultCount) - Specified by:
findBuildResultsSuccessfulByAuthor
in interfaceExtendedAuthorManager
maxResultCount
- if <= 0 all the results are returned- Returns:
List
ofBuildResultsSummary
triggered by author and successful
-
findBuildResultsBrokenByAuthor
@NotNull public @NotNull List<ResultsSummary> findBuildResultsBrokenByAuthor(ExtendedAuthor author, int maxResultCount) - Specified by:
findBuildResultsBrokenByAuthor
in interfaceExtendedAuthorManager
maxResultCount
- if <= 0 all the results are returned- Returns:
List
ofBuildResultsSummary
broken by author
-
findLatestBuildBrokenByAuthorInEachPlan
@NotNull public @NotNull Collection<ResultsSummary> findLatestBuildBrokenByAuthorInEachPlan(ExtendedAuthor author) Description copied from interface:ExtendedAuthorManager
Retrieves the last build broken by author for all the plans.- Specified by:
findLatestBuildBrokenByAuthorInEachPlan
in interfaceExtendedAuthorManager
- Returns:
List
ofBuildResultsSummary
broken by author
-
findBuildResultsFixedByAuthor
@NotNull public @NotNull List<ResultsSummary> findBuildResultsFixedByAuthor(ExtendedAuthor author, int maxResultCount) - Specified by:
findBuildResultsFixedByAuthor
in interfaceExtendedAuthorManager
maxResultCount
- if <= 0 all the results are returned- Returns:
List
ofBuildResultsSummary
fixed by author
-
findNumberOfBuildsTriggeredByAuthor
- Specified by:
findNumberOfBuildsTriggeredByAuthor
in interfaceExtendedAuthorManager
- Returns:
- int
-
findNumberOfFailedBuildsByAuthor
- Specified by:
findNumberOfFailedBuildsByAuthor
in interfaceExtendedAuthorManager
- Returns:
- int
-
findNumberOfSuccessfulBuildsByAuthor
- Specified by:
findNumberOfSuccessfulBuildsByAuthor
in interfaceExtendedAuthorManager
- Returns:
- int
-
findNumberOfBuildFixedByAuthor
- Specified by:
findNumberOfBuildFixedByAuthor
in interfaceExtendedAuthorManager
- Returns:
- int
-
findNumberOfBuildBrokenByAuthor
- Specified by:
findNumberOfBuildBrokenByAuthor
in interfaceExtendedAuthorManager
- Returns:
- int
-
getAuthorById
- Specified by:
getAuthorById
in interfaceExtendedAuthorManager
- Returns:
Author
given id
-
getLinkedAuthorForUser
- Specified by:
getLinkedAuthorForUser
in interfaceExtendedAuthorManager
- Returns:
List
ofExtendedAuthor
linked to the user.
-
getAvailableAuthors
@NotNull public @NotNull List<ExtendedAuthor> getAvailableAuthors(@Nullable @Nullable com.atlassian.user.User user) Description copied from interface:ExtendedAuthorManager
Get authors available for a user. That includes all authors user is linked to and all unlinked authors.- Specified by:
getAvailableAuthors
in interfaceExtendedAuthorManager
- Parameters:
user
- user- Returns:
- List of
ExtendedAuthor
-
findAuthorsByName
@NotNull public @NotNull List<Author> findAuthorsByName(@NotNull @NotNull String authorSearchString) Description copied from interface:ExtendedAuthorManager
Performs a case insensitive search for authors by their author name. AuthorSearchString can appear anywhere in the authors name.- Specified by:
findAuthorsByName
in interfaceExtendedAuthorManager
- Parameters:
authorSearchString
- string to search for- Returns:
- any authors who's author name match the given string.
-
findAuthorsThatStartWith
@NotNull public @NotNull List<Author> findAuthorsThatStartWith(@NotNull @NotNull String authorSearchString, boolean unlinkedOnly) Description copied from interface:ExtendedAuthorManager
Performs a case insensitive search for authors by their author name.- Specified by:
findAuthorsThatStartWith
in interfaceExtendedAuthorManager
- Parameters:
authorSearchString
- string to search forunlinkedOnly
- if true will only return users which have not been linked with an user already- Returns:
- any authors who's author name match the given string.
-
findAuthorsByUser
Description copied from interface:ExtendedAuthorManager
Performs a case insensitive search for authors by their linkedUserName. userSearchString can appear anywhere in the linked user name.- Specified by:
findAuthorsByUser
in interfaceExtendedAuthorManager
- Parameters:
userSearchString
- string to search for- Returns:
- any authors who's linkedusername match the given string.
-
getAuthorsByResultSummary
@NotNull public @NotNull Set<Author> getAuthorsByResultSummary(@NotNull @NotNull ResultsSummary resultsSummary) Description copied from interface:ExtendedAuthorManager
Retrieve unique set of authors that contributed to commits related to a given ResultsSummary- Specified by:
getAuthorsByResultSummary
in interfaceExtendedAuthorManager
- Parameters:
resultsSummary
- ResultsSummary- Returns:
- list of authors
-
removeAuthor
Description copied from interface:ExtendedAuthorManager
removes an author- Specified by:
removeAuthor
in interfaceExtendedAuthorManager
-
saveAuthor
Description copied from interface:ExtendedAuthorManager
Save the author- Specified by:
saveAuthor
in interfaceExtendedAuthorManager
-