com.atlassian.bamboo.brokenbuildtracker.data
Interface TrackingEntryManager

All Known Implementing Classes:
TrackingEntryManagerImpl

public interface TrackingEntryManager

For managing all things tracking related!


Method Summary
 void addResult(TrackingEntry entry, long resultId, int buildNumber)
          Add a result to an existing tracking entry
 void addUser(TrackingEntry entry, java.lang.String user, java.lang.String userWhoUpdated)
          Add a responsible user to an existing tracking entry
 void closeTrackingEntry(TrackingEntry entry)
          Close a tracking entry.
 TrackingEntry createTrackingEntry(long planId, boolean active)
          Create a brand new tracking entry for this plan.
 java.util.Collection<TrackingEntry> getActiveTrackingEntriesForUser(java.lang.String username)
          Find any active tracking entries for a given user.
 TrackingEntry getActiveTrackingEntryForPlan(long id)
          Returns the currently open tracking entry for plan.
 TrackingEntry getTrackingEntryById(int id)
          Find tracking entry by database id
 TrackingEntry getTrackingEntryByResultId(long resultId)
          Find the tracking entry for a given chain result.
 TrackingEntry getTrackingEntryWithBuildNumber(long planId, int buildNumber)
          Find the tracking entry with given build number.
 void removeAllUsers(TrackingEntry entry)
          Removes all existing responsible users from the existing tracking entry.
 void removeTrackingEntry(TrackingEntry trackingEntry)
          Remove entire tracking entry.
 void removeTrackingForPlan(long idOfDeletedPlan)
          Remove any tracking information for a given plan
 void removeTrackingForResult(long idOfDeletedResult)
          Remove any tracking information for a given result
 void removeUser(TrackingEntry entry, java.lang.String user)
          Remove a responsible user from existing tracking entry
 void setActiveEntry(TrackingEntry trackingEntry)
          Sets tracing entry to active.
 

Method Detail

getTrackingEntryById

@Nullable
TrackingEntry getTrackingEntryById(int id)
Find tracking entry by database id

Parameters:
id - of tracking entry to find
Returns:
tracking entry with given id if found, otherwise null

getTrackingEntryByResultId

@Nullable
TrackingEntry getTrackingEntryByResultId(long resultId)
Find the tracking entry for a given chain result.

Parameters:
resultId - of the result
Returns:
tracking entry for the given result. null if none exists (e.g if result is green!)

getActiveTrackingEntryForPlan

@Nullable
TrackingEntry getActiveTrackingEntryForPlan(long id)
Returns the currently open tracking entry for plan. Only one tracking entry is allowed open per plan at any one time. If multiple are found. They are all closed and this method will return null. Will also return null if there is no currently active entry (i.e the plan is currently passing)

Parameters:
id - of the plan
Returns:
currently active tracking entry for the plan if there is one

addResult

void addResult(@NotNull
               TrackingEntry entry,
               long resultId,
               int buildNumber)
Add a result to an existing tracking entry

Parameters:
entry - to add result to
resultId - id of the result to add
buildNumber -

addUser

void addUser(@NotNull
             TrackingEntry entry,
             @NotNull
             java.lang.String user,
             @Nullable
             java.lang.String userWhoUpdated)
Add a responsible user to an existing tracking entry

Parameters:
entry - to add user too
user - to add
userWhoUpdated - user who updated the responsibility entry. Null if responsibility has been automatically assigned

removeUser

void removeUser(@NotNull
                TrackingEntry entry,
                @NotNull
                java.lang.String user)
Remove a responsible user from existing tracking entry

Parameters:
entry - to remove user from
user - to remove

removeAllUsers

void removeAllUsers(@NotNull
                    TrackingEntry entry)
Removes all existing responsible users from the existing tracking entry.

Parameters:
entry - to remove users from

closeTrackingEntry

void closeTrackingEntry(@NotNull
                        TrackingEntry entry)
Close a tracking entry. Essentially you do this when it no longer needs attention. e.g. if the build is now green.

Parameters:
entry - to close

createTrackingEntry

@NotNull
TrackingEntry createTrackingEntry(long planId,
                                          boolean active)
Create a brand new tracking entry for this plan. Will be active by default, ensure there are no other active tracking entries before creating a new one

Parameters:
planId - of plan
active - should the new entry be created as active entry
Returns:
created tracking entry

getActiveTrackingEntriesForUser

@NotNull
java.util.Collection<TrackingEntry> getActiveTrackingEntriesForUser(@NotNull
                                                                            java.lang.String username)
Find any active tracking entries for a given user. This represents the plans they currently are responsible for

Parameters:
username - of the user
Returns:
any active tracking entries for the given user.

removeTrackingForPlan

void removeTrackingForPlan(long idOfDeletedPlan)
Remove any tracking information for a given plan

Parameters:
idOfDeletedPlan - db id of the plan

removeTrackingForResult

void removeTrackingForResult(long idOfDeletedResult)
Remove any tracking information for a given result

Parameters:
idOfDeletedResult - db if of the result

removeTrackingEntry

void removeTrackingEntry(TrackingEntry trackingEntry)
Remove entire tracking entry.

Parameters:
trackingEntry -

setActiveEntry

void setActiveEntry(TrackingEntry trackingEntry)
Sets tracing entry to active. Caller must ensure that there's no other open tracking entry.

Parameters:
trackingEntry -

getTrackingEntryWithBuildNumber

@Nullable
TrackingEntry getTrackingEntryWithBuildNumber(long planId,
                                                       int buildNumber)
Find the tracking entry with given build number.

Parameters:
planId -
buildNumber -


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