public class

DatabaseWorklogStore

extends Object
implements WorklogStore
java.lang.Object
   ↳ com.atlassian.jira.issue.worklog.DatabaseWorklogStore

Class Overview

QueryDSL based implementation of WorklogStore.

Summary

Constants
String WORKLOG_ENTITY
Public Constructors
DatabaseWorklogStore(OfBizDelegator delegator, DbConnectionManager dbConnectionManager, QueryDSLWorklogFactory queryDSLWorklogFactory, DatabaseConfigurationManager databaseConfigurationManager)
Public Methods
Worklog create(Worklog worklog)
Creates a new worklog in the data store based on the values in the passed in Worklog object.
boolean delete(Long worklogId)
Deletes a worklog from the data store based on the passed in id.
Worklog getById(Long id)
Returns a worklog specified by it's id
List<Worklog> getByIssue(Issue issue)
Returns all child worklogs of a specified issue
long getCountForWorklogsRestrictedByGroup(String groupName)
Returns the count of all Worklog's that have a visibility restriction of the provided group.
long getCountForWorklogsRestrictedByRole(Long roleId)
Returns the count of all Worklog's that have a visibility restriction of the provided role.
List<DeletedWorklog> getWorklogsDeletedSince(Long sinceInMilliseconds, int maxResults)
Returns WORKLOG_UPDATE_DATA_PAGE_SIZE of worklog ids and removal dates, which were removed after (inclusive) provided time in milliseconds.
Set<Worklog> getWorklogsForIds(Set<Long> worklogIds, int maxResults)
Returns a set of worklogs for provided ids.
List<Worklog> getWorklogsUpdateSince(Long sinceInMiliseconds, int maxResults)
Returns of worklogs, which were updated or created after (inclusive) provided time in milliseconds.
int swapWorklogGroupRestriction(String groupName, String swapGroup)
Updates Worklog's such that worklogs that have a visibility restriction of the provided groupName will be changed to have a visibility restriction of the provided swapGroup.
int swapWorklogRoleRestriction(Long roleId, Long swapRoleId)
Updates Worklog's such that worklogs that have a visibility restriction of the provided role will be changed to have a visibility restriction to the provided swapRole.
Worklog update(Worklog worklog)
Updates fields of an existing worklog in the datastore (identified by its id) with the supplied worklog.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.jira.issue.worklog.WorklogStore

Constants

public static final String WORKLOG_ENTITY

Constant Value: "Worklog"

Public Constructors

public DatabaseWorklogStore (OfBizDelegator delegator, DbConnectionManager dbConnectionManager, QueryDSLWorklogFactory queryDSLWorklogFactory, DatabaseConfigurationManager databaseConfigurationManager)

Public Methods

public Worklog create (Worklog worklog)

Creates a new worklog in the data store based on the values in the passed in Worklog object.

Parameters
worklog specifies the values to create the worklog with.
Returns
  • the representation of the created worklog, including the id.

public boolean delete (Long worklogId)

Deletes a worklog from the data store based on the passed in id.

Parameters
worklogId specifies which worklog to delete (not null)
Returns
  • true if the worklog was deleted, false otherwise

public Worklog getById (Long id)

Returns a worklog specified by it's id

Parameters
id the specified id (not null)
Returns
  • the specified worklog, or null if not found

public List<Worklog> getByIssue (Issue issue)

Returns all child worklogs of a specified issue

Parameters
issue the specified parent issue (not null)
Returns
  • a List of Worklogs, ordered by creation date. An empty List will be returned if none are found

public long getCountForWorklogsRestrictedByGroup (String groupName)

Returns the count of all Worklog's that have a visibility restriction of the provided group.

Parameters
groupName identifies the group the worklogs are restricted by, this must not be null.
Returns
  • the count of restricted groups

public long getCountForWorklogsRestrictedByRole (Long roleId)

Returns the count of all Worklog's that have a visibility restriction of the provided role.

Parameters
roleId identifies the role the worklogs are restricted by, this must not be null.
Returns
  • the count of restricted worklogs

public List<DeletedWorklog> getWorklogsDeletedSince (Long sinceInMilliseconds, int maxResults)

Returns WORKLOG_UPDATE_DATA_PAGE_SIZE of worklog ids and removal dates, which were removed after (inclusive) provided time in milliseconds.

Parameters
sinceInMilliseconds the time (measured as a difference between the timestamp and midnight, January 1, 1970 UTC) since which the modified worklogs will be returned.
maxResults the maximum number of DeletedWorklog to return.
Returns
  • ids and removal dates of worklogs which were deleted since provided time.

public Set<Worklog> getWorklogsForIds (Set<Long> worklogIds, int maxResults)

Returns a set of worklogs for provided ids.

Parameters
worklogIds set of worklog ids.
maxResults the maximu number of Worklog to return.
Returns
  • a list of worklogs for provided ids.

public List<Worklog> getWorklogsUpdateSince (Long sinceInMiliseconds, int maxResults)

Returns of worklogs, which were updated or created after (inclusive) provided time in milliseconds. Returned worklogs are ordered by the update time.

Parameters
sinceInMiliseconds the time (measured as a difference between the timestamp and midnight, January 1, 1970 UTC) since which the modified worklogs will be returned.
maxResults the maximum number of worklogs to return.
Returns
  • the list of worklogs updated after provided time.

public int swapWorklogGroupRestriction (String groupName, String swapGroup)

Updates Worklog's such that worklogs that have a visibility restriction of the provided groupName will be changed to have a visibility restriction of the provided swapGroup.

Note: There is no validation performed by this method to determine if the provided swapGroup is a valid group with JIRA. This validation must be done by the caller.

Parameters
groupName identifies the group the worklogs are restricted by, this must not be null.
swapGroup identifies the group the worklogs will be changed to be restricted by, this must not be null.
Returns
  • tbe number of worklogs affected by the update.

public int swapWorklogRoleRestriction (Long roleId, Long swapRoleId)

Updates Worklog's such that worklogs that have a visibility restriction of the provided role will be changed to have a visibility restriction to the provided swapRole.

Note: There is no validation performed by this method to determine if the provided swapRoleId is a valid group with JIRA. This validation must be done by the caller.

Parameters
roleId identifies the role the worklogs are restricted by, this must not be null.
swapRoleId identifies the role the worklogs will be changed to be restricted by, this must not be null.
Returns
  • the number of worklogs affected by the update.

public Worklog update (Worklog worklog)

Updates fields of an existing worklog in the datastore (identified by its id) with the supplied worklog.

Parameters
worklog identifies the worklog to update and provides the updated values.
Returns
  • the updated worklog.