@Override
public FieldJsonRepresentation getJsonFromIssue(Issue issue, boolean renderedVersionRequested, final @Nullable FieldLayoutItem fieldLayoutItem)
{
final JiraServiceContextImpl serviceContext = new JiraServiceContextImpl(authenticationContext.getUser());
final PagedList<Worklog> worklogs = getWorklogService().getByIssueVisibleToUser(serviceContext, issue, 20);
if (!serviceContext.getErrorCollection().hasAnyErrors())
{
WorklogWithPaginationBean worklogWithPaginationBean = new WorklogWithPaginationBean();
worklogWithPaginationBean.setMaxResults(worklogs.getPageSize());
worklogWithPaginationBean.setTotal(worklogs.getSize());
worklogWithPaginationBean.setStartAt(0);
worklogWithPaginationBean.setWorklogs(WorklogJsonBean.asBeans(worklogs.getPage(0), jiraBaseUrls, ComponentAccessor.getUserManager(), ComponentAccessor.getComponent(TimeTrackingConfiguration.class), authenticationContext.getUser(), emailFormatter));
FieldJsonRepresentation fieldJsonRepresentation = new FieldJsonRepresentation(new JsonData(worklogWithPaginationBean));
if (renderedVersionRequested)
{
WorklogWithPaginationBean renderedWorklogBean = new WorklogWithPaginationBean();
renderedWorklogBean.setMaxResults(worklogs.getPageSize());
renderedWorklogBean.setTotal(worklogs.getSize());
renderedWorklogBean.setStartAt(0);
renderedWorklogBean.setWorklogs(WorklogJsonBean.asRenderedBeans(worklogs.getPage(0), jiraBaseUrls, fieldLayoutItem != null ? fieldLayoutItem.getRendererType() : null, issue.getIssueRenderContext(), authenticationContext.getUser(), emailFormatter));
fieldJsonRepresentation.setRenderedData(new JsonData(renderedWorklogBean));
}
return fieldJsonRepresentation;
}
return null;
}