/** * @deprecated since 5.1 - Use {@link #forIssue(Long issueId, String issueKey)} */ public Builder forIssue(final long issueId, final String issueKey) { return forIssue(Long.valueOf(issueId), issueKey); }
/** * * @param items The list of {@link com.atlassian.jira.issue.changehistory.ChangeHistoryItem}'s that represent all chnages in the current issue * @param initialChangeItem The synthetic ChangeHistoryItem previously built * @param created Timestamp of the first itrem in the list * @return The ChangeHistoryItem that accurately reflects the initial state of the issue * * The algorithm is pretty straightforward, revers the list and then iterate through reversing each change from the initial list. What is left is the * original state. */ private ChangeHistoryItem fixInitialChangeItemToValue(List <ChangeHistoryItem> items, ChangeHistoryItem initialChangeItem, Timestamp created) { Map<String, String> newToValues = Maps.newHashMap(initialChangeItem.getTos()); newToValues.remove(emptyValue); for (ChangeHistoryItem item : Lists.reverse(items)) { newToValues.putAll(item.getFroms()); for (String key: item.getTos().keySet()) { newToValues.remove(key); } } if (newToValues.isEmpty()) { newToValues.put(emptyValue, EMPTY_STRING); } return new ChangeHistoryItem.Builder().fromChangeItemWithoutPreservingChanges(initialChangeItem). withTos(newToValues).nextChangeOn(created).build(); }
/** * @deprecated since 5.1 - Use {@link #inChangeGroup(Long id)} */ public Builder inChangeGroup(long id) { return inChangeGroup(Long.valueOf(id)); }
changeItems.add(new ChangeHistoryItem.Builder().fromChangeItem(nextItem). nextChangeOn(iterator.peek().getCreated()).field(fieldName). withFroms(previousItemToValues).withTos(effectiveTos).build()); changeItems.add(new ChangeHistoryItem.Builder().fromChangeItem(nextItem). field(fieldName).withFroms(previousItemToValues).withTos(effectiveTos).build());
builder.changedFrom(changeItemGV.getString("oldstring"), changeItemGV.getString("oldvalue")); builder.to(changeItemGV.getString("newstring"), changeItemGV.getString("newvalue")); ChangeHistoryItem.Builder builder = new ChangeHistoryItem.Builder() .withId(changeItemGV.getLong("changeitemid")) .inChangeGroup(changeGroupId) .inProject(project.getId()) .forIssue(issue.getId(), issue.getKey()) .field(changeItemGV.getString("field")) .on(changeItemGV.getTimestamp("created")) .changedFrom(changeItemGV.getString("oldstring"), changeItemGV.getString("oldvalue")) .to(changeItemGV.getString("newstring"), changeItemGV.getString("newvalue")) .byUser(changeItemGV.getString("author")); buildersPerField.put(fieldName, builder); builders.add(builder);
@Override protected ChangeHistoryItem createInitialChangeItem(Issue issue) { Collection<Version> currentVersions = ref.get().get(fieldName).getVersions(issue); ChangeHistoryItem.Builder builder = changeItemBuilder(issue); if (currentVersions.isEmpty()) { builder.to(EMPTY_STRING , emptyValue); } else { for (Version version : currentVersions) { builder.to(version.getName(), version.getId().toString()); } } return builder.build(); }
protected ChangeHistoryItem createChangeItem(ChangeHistoryItem changeItem, Timestamp nextChange) { ChangeHistoryItem.Builder builder = new ChangeHistoryItem.Builder().fromChangeItem(changeItem). nextChangeOn(nextChange); if (changeItem.getTos().isEmpty()) { builder.to("", emptyValue); } if (changeItem.getFroms().isEmpty()) { builder.changedFrom("", emptyValue); } return builder.build(); }
@Override protected ChangeHistoryItem createInitialChangeItem(Issue issue) { final Priority priority = issue.getPriorityObject(); final String priorityName = priority == null ? EMPTY_VALUE : priority.getName(); final String priorityValue = priority == null ? EMPTY_VALUE : priority.getId(); return changeItemBuilder(issue).to(priorityName, priorityValue).build(); } }
@Override protected ChangeHistoryItem createInitialChangeItem(Issue issue) { final Status status = issue.getStatusObject(); final String statusName = status == null ? null : status.getName(); final String statusValue = status == null ? EMPTY_VALUE : status.getId(); return changeItemBuilder(issue).to(statusName, statusValue).build(); } }
@Override protected ChangeHistoryItem createInitialChangeItem(Issue issue) { final Resolution resolution = issue.getResolutionObject(); final String resolutionName = resolution == null ? null : resolution.getName(); final String resolutionValue = resolution == null ? EMPTY_VALUE : resolution.getId(); return changeItemBuilder(issue).to(resolutionName, resolutionValue).build(); } }
@Override protected ChangeHistoryItem createInitialChangeItem(Issue issue) { final ApplicationUser reporter = issue.getReporter(); final String reporterName = reporter == null ? "" : issue.getReporter().getDisplayName(); final String reporterValue = issue.getReporterId() == null ? EMPTY_VALUE : issue.getReporterId(); return changeItemBuilder(issue).to(reporterName, reporterValue).build(); } }
@Override protected ChangeHistoryItem createInitialChangeItem(Issue issue) { final ApplicationUser assignee = issue.getAssignee(); final String assigneeName = (assignee == null) ? "" : assignee.getName(); final String assigneeValue = issue.getAssigneeId() == null ? EMPTY_VALUE : issue.getAssigneeId(); return changeItemBuilder(issue).to(assigneeName, assigneeValue).build(); } }
/** * @deprecated since 5.1 - Use {@link #withId(Long id)} */ public Builder withId(final long id) { return withId(Long.valueOf(id)); }
public Builder fromChangeItemPreservingFromValues(ChangeHistoryItem changeItem) { this.fromChangeItemWithoutPreservingChanges(changeItem); this.fromValues = Maps.newHashMap(changeItem.getFroms()); return this; }
/** * @deprecated since 5.1 - Use {@link #inProject(Long projectId)} */ public Builder inProject(final long projectId) { return inProject(Long.valueOf(projectId)); }
public Builder fromChangeItemPreservingToValues(ChangeHistoryItem changeItem) { this.fromChangeItemWithoutPreservingChanges(changeItem); this.toValues = Maps.newHashMap(changeItem.getTos()); return this; }
@Override public ChangeHistoryItem apply(ChangeHistoryItem.Builder builder) { return builder.build(); } }));
public Builder fromChangeItem(ChangeHistoryItem changeItem) { this.fromChangeItemWithoutPreservingChanges(changeItem); this.fromValues = Maps.newHashMap(changeItem.getFroms()); this.toValues = Maps.newHashMap(changeItem.getTos()); return this; }
protected ChangeHistoryItem.Builder changeItemBuilder(Issue issue) { return new ChangeHistoryItem.Builder() .withId(MINUS_1) .inChangeGroup(MINUS_1) .forIssue(issue.getId(), issue.getKey()) .inProject(issue.getProjectId()) .field(getField()) .on(issue.getCreated()) .byUser(issue.getReporterId() == null ? DocumentConstants.ISSUE_NO_AUTHOR : issue.getReporterId()); }
private ChangeHistoryItem fixInitialChangeItem(ChangeHistoryItem initialChangeItem, Map<String, String> values, Timestamp created) { if (values.isEmpty()) { values = Maps.newHashMap(); values.put(emptyValue, ""); } return new ChangeHistoryItem.Builder().fromChangeItemWithoutPreservingChanges(initialChangeItem). withTos(values).nextChangeOn(created).build(); }