@Override public WorklogChangedSincePage<DeletedWorklog> getWorklogsDeletedSince(final ApplicationUser user, final Long sinceInMilliseconds) { if (user == null) { return new WorklogChangedSincePage<>(sinceInMilliseconds, sinceInMilliseconds, Collections.<DeletedWorklog>emptyList(), true); } List<DeletedWorklog> worklogs = worklogManager.getWorklogsDeletedSince(sinceInMilliseconds); final DeletedWorklog lastDeletedWorklog = getLast(worklogs, null); long until = lastDeletedWorklog != null ? lastDeletedWorklog.getDeletionTime().getTime() : sinceInMilliseconds; boolean isLastPage = worklogs.size() < WORKLOG_UPDATE_DATA_PAGE_SIZE; return new WorklogChangedSincePage<>(sinceInMilliseconds, until, worklogs, isLastPage); }
@Override public List<DeletedWorklog> getWorklogsDeletedSince(final Long sinceInMilliseconds, final int maxResults) { final QChangeItem ci = QChangeItem.CHANGE_ITEM; final QChangeGroup cg = QChangeGroup.CHANGE_GROUP; final QWorklog w = WORKLOG; NumberExpression<Long> oldValueExpression = isOracle() ? convertToNumber(ci.oldvalue) : ci.oldvalue.castToNum(Long.class); List<Tuple> removedWorklogs = getRemovedWorklogs(sinceInMilliseconds, maxResults, ci, cg, w, oldValueExpression); return removedWorklogs .stream() .map(t -> new DeletedWorklog(t.get(oldValueExpression), new Date(t.get(cg.created.max()).getTime()))) .collect(Collectors.toList()); }