Package com.atlassian.bamboo.author
Class HibernateAuthorManagerImpl
- java.lang.Object
-
- com.atlassian.bamboo.author.HibernateAuthorManagerImpl
-
- All Implemented Interfaces:
AuthorManager
,ExtendedAuthorManager
public class HibernateAuthorManagerImpl extends Object implements ExtendedAuthorManager
-
-
Constructor Summary
Constructors Constructor Description HibernateAuthorManagerImpl(AuthorDao authorDao)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
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.@NotNull List<Author>
findAuthorsByName(@NotNull String authorSearchString)
Performs a case insensitive search for authors by their author name.@NotNull List<Author>
findAuthorsByUser(@NotNull String userSearchString)
Performs a case insensitive search for authors by their linkedUserName.@NotNull List<Author>
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>
findLatestBuildBrokenByAuthorInEachPlan(ExtendedAuthor author)
Retrieves the last build broken by author for all the plans.int
findNumberOfBuildBrokenByAuthor(ExtendedAuthor author)
int
findNumberOfBuildFixedByAuthor(ExtendedAuthor author)
int
findNumberOfBuildsTriggeredByAuthor(ExtendedAuthor author)
int
findNumberOfFailedBuildsByAuthor(ExtendedAuthor author)
int
findNumberOfSuccessfulBuildsByAuthor(ExtendedAuthor author)
List<ResultsSummary>
findRecentResultsTriggeredByAuthors(List<ExtendedAuthor> authors, int maxDays)
Retrieve all build results triggered by the author in the last X daysSet
getAllAuthors()
@NotNull Set<ExtendedAuthor>
getAllUnlinkedAuthors()
ExtendedAuthor
getAuthorById(long id)
Author
getAuthorByName(String name)
@NotNull Set<Author>
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.ExtendedAuthor
getExtendedAuthorByName(String name)
Get Author information by author name.@NotNull List<ExtendedAuthor>
getLinkedAuthorForUser(com.atlassian.user.User user)
void
relinkUnlinkedAuthors()
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
unlinkAllAuthors()
Remove all author links.
-
-
-
Constructor Detail
-
HibernateAuthorManagerImpl
public HibernateAuthorManagerImpl(AuthorDao authorDao)
-
-
Method Detail
-
createAndSaveAuthor
public void createAndSaveAuthor(@NotNull @NotNull Author author)
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
public Set 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
public Author getAuthorByName(String name)
- Specified by:
getAuthorByName
in interfaceAuthorManager
- Returns:
Author
with given name.
-
getAllUnlinkedAuthors
@NotNull public @NotNull Set<ExtendedAuthor> getAllUnlinkedAuthors()
- Specified by:
getAllUnlinkedAuthors
in interfaceExtendedAuthorManager
- Returns:
Set
ofExtendedAuthor
objects not linked to users
-
getExtendedAuthorByName
public ExtendedAuthor getExtendedAuthorByName(String name)
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
public int findNumberOfBuildsTriggeredByAuthor(ExtendedAuthor author)
- Specified by:
findNumberOfBuildsTriggeredByAuthor
in interfaceExtendedAuthorManager
- Returns:
- int
-
findNumberOfFailedBuildsByAuthor
public int findNumberOfFailedBuildsByAuthor(ExtendedAuthor author)
- Specified by:
findNumberOfFailedBuildsByAuthor
in interfaceExtendedAuthorManager
- Returns:
- int
-
findNumberOfSuccessfulBuildsByAuthor
public int findNumberOfSuccessfulBuildsByAuthor(ExtendedAuthor author)
- Specified by:
findNumberOfSuccessfulBuildsByAuthor
in interfaceExtendedAuthorManager
- Returns:
- int
-
findNumberOfBuildFixedByAuthor
public int findNumberOfBuildFixedByAuthor(ExtendedAuthor author)
- Specified by:
findNumberOfBuildFixedByAuthor
in interfaceExtendedAuthorManager
- Returns:
- int
-
findNumberOfBuildBrokenByAuthor
public int findNumberOfBuildBrokenByAuthor(ExtendedAuthor author)
- Specified by:
findNumberOfBuildBrokenByAuthor
in interfaceExtendedAuthorManager
- Returns:
- int
-
getAuthorById
public ExtendedAuthor getAuthorById(long id)
- Specified by:
getAuthorById
in interfaceExtendedAuthorManager
- Returns:
Author
given id
-
getLinkedAuthorForUser
@NotNull public @NotNull List<ExtendedAuthor> getLinkedAuthorForUser(com.atlassian.user.User user)
- 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
@NotNull public @NotNull List<Author> findAuthorsByUser(@NotNull @NotNull String userSearchString)
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
public void removeAuthor(ExtendedAuthor extendedAuthor)
Description copied from interface:ExtendedAuthorManager
removes an author- Specified by:
removeAuthor
in interfaceExtendedAuthorManager
-
saveAuthor
public void saveAuthor(ExtendedAuthor author)
Description copied from interface:ExtendedAuthorManager
Save the author- Specified by:
saveAuthor
in interfaceExtendedAuthorManager
-
-