public DefaultIssue setCurrentChange(FieldDiffs currentChange) { this.currentChange = currentChange; addChange(currentChange); return this; }
public DefaultIssue setFieldChange(IssueChangeContext context, String field, @Nullable Serializable oldValue, @Nullable Serializable newValue) { if (!Objects.equals(oldValue, newValue)) { if (currentChange == null) { currentChange = new FieldDiffs(); currentChange.setUserUuid(context.userUuid()); currentChange.setCreationDate(context.date()); } currentChange.setDiff(field, oldValue, newValue); } addChange(currentChange); return this; }
private static void addChangeOrComment(DefaultIssue i, IssueChangeDto c) { switch (c.getChangeType()) { case IssueChangeDto.TYPE_FIELD_CHANGE: i.addChange(c.toFieldDiffs()); break; case IssueChangeDto.TYPE_COMMENT: i.addComment(c.toComment()); break; default: throw new IllegalStateException("Unknow change type: " + c.getChangeType()); } }
@Override public void handleResult(ResultContext<? extends IssueChangeDto> resultContext) { IssueChangeDto issueChangeDto = resultContext.getResultObject(); if (currentIssue == null || !currentIssue.key().equals(issueChangeDto.getIssueKey())) { currentIssue = issuesByKey.get(issueChangeDto.getIssueKey()); previousStatusFound = false; previousResolutionFound = false; } if (currentIssue != null) { FieldDiffs fieldDiffs = issueChangeDto.toFieldDiffs(); boolean hasPreviousStatus = fieldDiffs.get("status") != null; boolean hasPreviousResolution = fieldDiffs.get("resolution") != null; if ((!previousStatusFound && hasPreviousStatus) || (!previousResolutionFound && hasPreviousResolution)) { currentIssue.addChange(fieldDiffs); } previousStatusFound |= hasPreviousStatus; previousResolutionFound |= hasPreviousResolution; } } });
@Test public void adding_null_change_has_no_effect() { DefaultIssue issue = new DefaultIssue(); issue.addChange(null); assertThat(issue.changes()).hasSize(0); } }
private void addResolutionChange(DefaultIssue issue, Date creationDate, @Nullable String previousResolution, @Nullable String newResolution) { checkArgument(previousResolution != null || newResolution != null, "At least one resolution must be non null"); FieldDiffs fieldDiffs = new FieldDiffs().setCreationDate(creationDate) .setDiff("resolution", emptyIfNull(previousResolution), emptyIfNull(newResolution)); issue.addChange(fieldDiffs); }
private void addResolutionAndStatusChange(DefaultIssue issue, Date creationDate, String previousStatus, String newStatus, @Nullable String previousResolution, @Nullable String newResolution) { checkArgument(previousResolution != null || newResolution != null, "At least one resolution must be non null"); FieldDiffs fieldDiffs = new FieldDiffs().setCreationDate(creationDate) .setDiff("status", previousStatus, newStatus) .setDiff("resolution", emptyIfNull(previousResolution), emptyIfNull(newResolution)); issue.addChange(fieldDiffs); }
private static void addStatusChange(DefaultIssue issue, Date date, String previousStatus, String newStatus) { issue.addChange(new FieldDiffs().setCreationDate(date).setDiff("status", previousStatus, newStatus)); }
public DefaultIssue setCurrentChange(FieldDiffs currentChange) { this.currentChange = currentChange; addChange(currentChange); return this; }
public DefaultIssue setFieldChange(IssueChangeContext context, String field, @Nullable Serializable oldValue, @Nullable Serializable newValue) { if (!Objects.equals(oldValue, newValue)) { if (currentChange == null) { currentChange = new FieldDiffs(); currentChange.setUserUuid(context.userUuid()); currentChange.setCreationDate(context.date()); } currentChange.setDiff(field, oldValue, newValue); } addChange(currentChange); return this; }
public static void setChanges(Map<String, List<IssueChangeDto>> changeDtoByIssueKey, DefaultIssue i) { changeDtoByIssueKey.computeIfAbsent(i.key(), k -> emptyList()).forEach(c -> { switch (c.getChangeType()) { case IssueChangeDto.TYPE_FIELD_CHANGE: i.addChange(c.toFieldDiffs()); break; case IssueChangeDto.TYPE_COMMENT: i.addComment(c.toComment()); break; default: throw new IllegalStateException("Unknow change type: " + c.getChangeType()); } }); }