com.atlassian.bamboo.author
Interface ExtendedAuthorManager

All Superinterfaces:
AuthorManager
All Known Implementing Classes:
HibernateAuthorManagerImpl

public interface ExtendedAuthorManager
extends AuthorManager


Method Summary
 void createAndSaveAuthor(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.
 java.util.List<Author> findAuthorsByName(java.lang.String authorSearchString)
          Performs a case insensitive search for authors by their author name.
 java.util.List<Author> findAuthorsByUser(java.lang.String userSearchString)
          Performs a case insensitive search for authors by their linkedUserName.
 java.util.List<Author> findAuthorsThatStartWith(java.lang.String authorSearchString, boolean unlinkedOnly)
          Performs a case insensitive search for authors by their author name.
 java.util.List<ResultsSummary> findBuildResultsBrokenByAuthor(ExtendedAuthor author, int maxResultCount)
           
 java.util.List<ResultsSummary> findBuildResultsFailedByAuthor(ExtendedAuthor author, int maxResultCount)
           
 java.util.List<ResultsSummary> findBuildResultsFixedByAuthor(ExtendedAuthor author, int maxResultCount)
           
 java.util.List<ResultsSummary> findBuildResultsSuccessfulByAuthor(ExtendedAuthor author, int maxResultCount)
           
 java.util.List<ResultsSummary> findBuildResultsTriggeredByAuthor(ExtendedAuthor author, int maxResultCount)
           
 java.util.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)
           
 java.util.List<ResultsSummary> findRecentResultsTriggeredByAuthors(java.util.List<ExtendedAuthor> author, int maxDays)
          Retrieve all build results triggered by the author in the last X days
 java.util.Set<ExtendedAuthor> getAllUnlinkedAuthors()
           
 ExtendedAuthor getAuthorById(long id)
           
 java.util.List<ExtendedAuthor> getAvailableAuthors(com.atlassian.user.User user)
          Get authors available for a user.
 ExtendedAuthor getExtendedAuthorByName(java.lang.String name)
          Get Author information by author name.
 java.util.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 author
 void saveAuthor(ExtendedAuthor author)
          Save the author
 void unlinkAllAuthors()
          Remove all author links.
 
Methods inherited from interface com.atlassian.bamboo.author.AuthorManager
getAllAuthors, getAuthorByName
 

Method Detail

getAllUnlinkedAuthors

@NotNull
java.util.Set<ExtendedAuthor> getAllUnlinkedAuthors()
Returns:
Set of ExtendedAuthor objects not linked to users

unlinkAllAuthors

void unlinkAllAuthors()
Remove all author links. Useful if you have changed user management systems


relinkUnlinkedAuthors

void relinkUnlinkedAuthors()
Attempt to link any authors that currently aren't linked with a user. Currently only checks for direct author/username matches


getExtendedAuthorByName

ExtendedAuthor getExtendedAuthorByName(java.lang.String name)
Get Author information by author name. Author names in DB are kept trimmed, make sure that name param is trimmed as well

Parameters:
name - trimmed author name
Returns:
ExtendedAuthor with given name (assuming unique)

saveAuthor

void saveAuthor(ExtendedAuthor author)
Save the author

Parameters:
author -

findBuildResultsTriggeredByAuthor

@NotNull
java.util.List<ResultsSummary> findBuildResultsTriggeredByAuthor(ExtendedAuthor author,
                                                                         int maxResultCount)
Parameters:
author -
maxResultCount - if <= 0 all the results are returned
Returns:
List of BuildResultsSummary triggered by author

findRecentResultsTriggeredByAuthors

java.util.List<ResultsSummary> findRecentResultsTriggeredByAuthors(java.util.List<ExtendedAuthor> author,
                                                                   int maxDays)
Retrieve all build results triggered by the author in the last X days

Parameters:
author - the builds will be triggered by
maxDays - number of days to look back in history
Returns:
all build results triggered by the author in the last X days

findBuildResultsFailedByAuthor

@NotNull
java.util.List<ResultsSummary> findBuildResultsFailedByAuthor(ExtendedAuthor author,
                                                                      int maxResultCount)
Parameters:
author -
maxResultCount - if <= 0 all the results are returned
Returns:
List of BuildResultsSummary triggered by author and failed

findBuildResultsSuccessfulByAuthor

@NotNull
java.util.List<ResultsSummary> findBuildResultsSuccessfulByAuthor(ExtendedAuthor author,
                                                                          int maxResultCount)
Parameters:
author -
maxResultCount - if <= 0 all the results are returned
Returns:
List of BuildResultsSummary triggered by author and successful

findBuildResultsBrokenByAuthor

@NotNull
java.util.List<ResultsSummary> findBuildResultsBrokenByAuthor(ExtendedAuthor author,
                                                                      int maxResultCount)
Parameters:
author -
maxResultCount - if <= 0 all the results are returned
Returns:
List of BuildResultsSummary broken by author

findLatestBuildBrokenByAuthorInEachPlan

@NotNull
java.util.Collection<ResultsSummary> findLatestBuildBrokenByAuthorInEachPlan(ExtendedAuthor author)
Retrieves the last build broken by author for all the plans.

Parameters:
author -
Returns:
List of BuildResultsSummary broken by author

findBuildResultsFixedByAuthor

@NotNull
java.util.List<ResultsSummary> findBuildResultsFixedByAuthor(ExtendedAuthor author,
                                                                     int maxResultCount)
Parameters:
author -
maxResultCount - if <= 0 all the results are returned
Returns:
List of BuildResultsSummary fixed by author

findNumberOfBuildsTriggeredByAuthor

int findNumberOfBuildsTriggeredByAuthor(ExtendedAuthor author)
Parameters:
author -
Returns:
int

findNumberOfFailedBuildsByAuthor

int findNumberOfFailedBuildsByAuthor(ExtendedAuthor author)
Parameters:
author -
Returns:
int

findNumberOfSuccessfulBuildsByAuthor

int findNumberOfSuccessfulBuildsByAuthor(ExtendedAuthor author)
Parameters:
author -
Returns:
int

findNumberOfBuildFixedByAuthor

int findNumberOfBuildFixedByAuthor(ExtendedAuthor author)
Parameters:
author -
Returns:
int

findNumberOfBuildBrokenByAuthor

int findNumberOfBuildBrokenByAuthor(ExtendedAuthor author)
Parameters:
author -
Returns:
int

getAuthorById

ExtendedAuthor getAuthorById(long id)
Parameters:
id -
Returns:
Author given id

getLinkedAuthorForUser

@NotNull
java.util.List<ExtendedAuthor> getLinkedAuthorForUser(com.atlassian.user.User user)
Parameters:
user -
Returns:
List of ExtendedAuthor linked to the user.

getAvailableAuthors

@NotNull
java.util.List<ExtendedAuthor> getAvailableAuthors(@Nullable
                                                           com.atlassian.user.User user)
Get authors available for a user. That includes all authors user is linked to and all unlinked authors.

Parameters:
user - user
Returns:
List of ExtendedAuthor

removeAuthor

void removeAuthor(ExtendedAuthor extendedAuthor)
removes an author

Parameters:
extendedAuthor -

createAndSaveAuthor

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.

Parameters:
author -

findAuthorsByName

@NotNull
java.util.List<Author> findAuthorsByName(@NotNull
                                                 java.lang.String authorSearchString)
Performs a case insensitive search for authors by their author name. AuthorSearchString can appear anywhere in the authors name.

Parameters:
authorSearchString - string to search for
Returns:
any authors who's author name match the given string.

findAuthorsThatStartWith

@NotNull
java.util.List<Author> findAuthorsThatStartWith(@NotNull
                                                        java.lang.String authorSearchString,
                                                        boolean unlinkedOnly)
Performs a case insensitive search for authors by their author name.

Parameters:
authorSearchString - string to search for
unlinkedOnly - 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
java.util.List<Author> findAuthorsByUser(@NotNull
                                                 java.lang.String userSearchString)
Performs a case insensitive search for authors by their linkedUserName. userSearchString can appear anywhere in the linked user name.

Parameters:
userSearchString - string to search for
Returns:
any authors who's linkedusername match the given string.


Copyright © 2013 Atlassian Software Systems Pty Ltd. All Rights Reserved.