Search in sources :

Example 1 with Uuids

use of org.sonar.core.util.Uuids in project sonarqube by SonarSource.

the class IssueLifecycle method copyFieldDiffOfIssueFromOtherBranch.

/**
 * Copy a diff from another issue
 */
private static Optional<FieldDiffs> copyFieldDiffOfIssueFromOtherBranch(String issueKey, FieldDiffs c) {
    FieldDiffs result = new FieldDiffs();
    result.setIssueKey(issueKey);
    result.setUserUuid(c.userUuid());
    result.setCreationDate(c.creationDate());
    // Don't copy "file" changelogs as they refer to file uuids that might later be purged
    c.diffs().entrySet().stream().filter(e -> !e.getKey().equals(IssueFieldsSetter.FILE)).forEach(e -> result.setDiff(e.getKey(), e.getValue().oldValue(), e.getValue().newValue()));
    if (result.diffs().isEmpty()) {
        return Optional.empty();
    }
    return Optional.of(result);
}
Also used : BranchType(org.sonar.db.component.BranchType) DefaultIssue(org.sonar.core.issue.DefaultIssue) DefaultIssueComment(org.sonar.core.issue.DefaultIssueComment) Date(java.util.Date) IssueWorkflow(org.sonar.server.issue.workflow.IssueWorkflow) RuleType(org.sonar.api.rules.RuleType) AnalysisMetadataHolder(org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolder) Inject(javax.inject.Inject) IssueFieldsSetter(org.sonar.server.issue.IssueFieldsSetter) FieldDiffs(org.sonar.core.issue.FieldDiffs) Uuids(org.sonar.core.util.Uuids) Issue(org.sonar.api.issue.Issue) IssueChangeContext(org.sonar.core.issue.IssueChangeContext) Objects.requireNonNull(java.util.Objects.requireNonNull) Optional(java.util.Optional) Preconditions(com.google.common.base.Preconditions) VisibleForTesting(com.google.common.annotations.VisibleForTesting) FieldDiffs(org.sonar.core.issue.FieldDiffs)

Aggregations

VisibleForTesting (com.google.common.annotations.VisibleForTesting)1 Preconditions (com.google.common.base.Preconditions)1 Date (java.util.Date)1 Objects.requireNonNull (java.util.Objects.requireNonNull)1 Optional (java.util.Optional)1 Inject (javax.inject.Inject)1 Issue (org.sonar.api.issue.Issue)1 RuleType (org.sonar.api.rules.RuleType)1 AnalysisMetadataHolder (org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolder)1 DefaultIssue (org.sonar.core.issue.DefaultIssue)1 DefaultIssueComment (org.sonar.core.issue.DefaultIssueComment)1 FieldDiffs (org.sonar.core.issue.FieldDiffs)1 IssueChangeContext (org.sonar.core.issue.IssueChangeContext)1 Uuids (org.sonar.core.util.Uuids)1 BranchType (org.sonar.db.component.BranchType)1 IssueFieldsSetter (org.sonar.server.issue.IssueFieldsSetter)1 IssueWorkflow (org.sonar.server.issue.workflow.IssueWorkflow)1