@Override public void execute(Context context) { DefaultIssue issue = (DefaultIssue) context.issue(); if (issue.isOnDisabledRule()) { context.setResolution(Issue.RESOLUTION_REMOVED); } else { context.setResolution(Issue.RESOLUTION_FIXED); } // closed issues are not "tracked" -> the line number does not evolve anymore // when code changes. That's misleading for end-users, so line number // is unset. context.unsetLine(); } }
@Test public void close_issue() { String fileUuid = "FILE1"; String issueUuid = "ABCD"; when(componentsWithUnprocessedIssues.getUuids()).thenReturn(newHashSet(fileUuid)); DefaultIssue issue = new DefaultIssue().setKey(issueUuid); when(issuesLoader.loadOpenIssues(fileUuid)).thenReturn(Collections.singletonList(issue)); underTest.visit(ReportComponent.builder(PROJECT, 1).build()); verify(issueLifecycle).doAutomaticTransition(issue); CloseableIterator<DefaultIssue> issues = issueCache.traverse(); assertThat(issues.hasNext()).isTrue(); DefaultIssue result = issues.next(); assertThat(result.key()).isEqualTo(issueUuid); assertThat(result.isBeingClosed()).isTrue(); assertThat(result.isOnDisabledRule()).isFalse(); }
assertThat(issue.isCopied()).isTrue(); assertThat(issue.isBeingClosed()).isTrue(); assertThat(issue.isOnDisabledRule()).isTrue(); assertThat(issue.isChanged()).isTrue(); assertThat(issue.mustSendNotifications()).isTrue();
assertThat(raw.tags()).containsOnly("base tag"); assertThat(raw.effort()).isEqualTo(DEFAULT_DURATION); assertThat(raw.isOnDisabledRule()).isTrue(); assertThat(raw.selectedAt()).isEqualTo(1000L); assertThat(raw.changes().get(0).get(IssueFieldsSetter.FROM_LONG_BRANCH).oldValue()).isEqualTo("master");
assertThat(raw.tags()).containsOnly("base tag"); assertThat(raw.effort()).isEqualTo(DEFAULT_DURATION); assertThat(raw.isOnDisabledRule()).isTrue(); assertThat(raw.selectedAt()).isEqualTo(1000L); assertThat(raw.isChanged()).isFalse();
private void copyFields(DefaultIssue toIssue, DefaultIssue fromIssue) { toIssue.setType(fromIssue.type()); toIssue.setCreationDate(fromIssue.creationDate()); toIssue.setUpdateDate(fromIssue.updateDate()); toIssue.setCloseDate(fromIssue.closeDate()); toIssue.setResolution(fromIssue.resolution()); toIssue.setStatus(fromIssue.status()); toIssue.setAssigneeUuid(fromIssue.assignee()); toIssue.setAuthorLogin(fromIssue.authorLogin()); toIssue.setTags(fromIssue.tags()); toIssue.setAttributes(fromIssue.attributes()); toIssue.setEffort(debtCalculator.calculate(toIssue)); toIssue.setOnDisabledRule(fromIssue.isOnDisabledRule()); toIssue.setSelectedAt(fromIssue.selectedAt()); } }
@Override public void execute(Context context) { DefaultIssue issue = (DefaultIssue) context.issue(); if (issue.isOnDisabledRule()) { context.setResolution(Issue.RESOLUTION_REMOVED); } else { context.setResolution(Issue.RESOLUTION_FIXED); } // closed issues are not "tracked" -> the line number does not evolve anymore // when code changes. That's misleading for end-users, so line number // is unset. context.setLine(null); } }
private void copyFields(DefaultIssue toIssue, DefaultIssue fromIssue) { toIssue.setType(fromIssue.type()); toIssue.setCreationDate(fromIssue.creationDate()); toIssue.setUpdateDate(fromIssue.updateDate()); toIssue.setCloseDate(fromIssue.closeDate()); toIssue.setResolution(fromIssue.resolution()); toIssue.setStatus(fromIssue.status()); toIssue.setAssigneeUuid(fromIssue.assignee()); toIssue.setAuthorLogin(fromIssue.authorLogin()); toIssue.setTags(fromIssue.tags()); toIssue.setAttributes(fromIssue.attributes()); toIssue.setEffort(debtCalculator.calculate(toIssue)); toIssue.setOnDisabledRule(fromIssue.isOnDisabledRule()); toIssue.setSelectedAt(fromIssue.selectedAt()); } }