diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-09-17 11:24:27 +0200 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-09-17 11:24:27 +0200 |
commit | afaa0ecdd013e75d9ffb67bfceba8335f16ba6c4 (patch) | |
tree | 4e148fe248de77d43f6431426c1c576cf5077d77 /sonar-core | |
parent | b1d2bf53909ae35f0f2c36fbaca44a30d9e6c7b5 (diff) | |
download | sonarqube-afaa0ecdd013e75d9ffb67bfceba8335f16ba6c4.tar.gz sonarqube-afaa0ecdd013e75d9ffb67bfceba8335f16ba6c4.zip |
SONAR-5531 Provide an implementation based on ES of all "issues relating" web services
Diffstat (limited to 'sonar-core')
3 files changed, 24 insertions, 3 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/IssueNotifications.java b/sonar-core/src/main/java/org/sonar/core/issue/IssueNotifications.java index 39b56b1644d..44262e5dc5d 100644 --- a/sonar-core/src/main/java/org/sonar/core/issue/IssueNotifications.java +++ b/sonar-core/src/main/java/org/sonar/core/issue/IssueNotifications.java @@ -37,6 +37,7 @@ import org.sonar.api.utils.DateUtils; import javax.annotation.CheckForNull; import javax.annotation.Nullable; + import java.io.Serializable; import java.util.List; import java.util.Map; @@ -71,7 +72,14 @@ public class IssueNotifications implements BatchComponent, ServerComponent { public List<Notification> sendChanges(DefaultIssue issue, IssueChangeContext context, IssueQueryResult queryResult) { Map<DefaultIssue, Rule> issues = Maps.newHashMap(); issues.put(issue, queryResult.rule(issue)); - return sendChanges(issues, context, queryResult.project(issue), queryResult.component(issue)); + return sendChanges(issue, context, queryResult.rule(issue), queryResult.project(issue), queryResult.component(issue)); + } + + @CheckForNull + public List<Notification> sendChanges(DefaultIssue issue, IssueChangeContext context, Rule rule, Component project, @Nullable Component component) { + Map<DefaultIssue, Rule> issues = Maps.newHashMap(); + issues.put(issue, rule); + return sendChanges(issues, context, project, component); } @CheckForNull @@ -131,6 +139,7 @@ public class IssueNotifications implements BatchComponent, ServerComponent { return notification; } + @CheckForNull private String ruleName(@Nullable Rule rule) { // this code should definitely be shared in api if (rule == null) { diff --git a/sonar-core/src/main/java/org/sonar/core/issue/db/IssueDto.java b/sonar-core/src/main/java/org/sonar/core/issue/db/IssueDto.java index 63278903bf2..fa67f6872a9 100644 --- a/sonar-core/src/main/java/org/sonar/core/issue/db/IssueDto.java +++ b/sonar-core/src/main/java/org/sonar/core/issue/db/IssueDto.java @@ -136,7 +136,7 @@ public final class IssueDto extends Dto<String> implements Serializable { } /** - * @deprecated please use setRootComponent; + * @deprecated please use setRootComponent */ @Deprecated public IssueDto setRootComponentId(Long rootComponentId) { @@ -349,6 +349,10 @@ public final class IssueDto extends Dto<String> implements Serializable { return ruleRepo; } + public RuleKey getRuleKey(){ + return RuleKey.of(ruleRepo, ruleKey); + } + public String getComponentKey() { return componentKey; } @@ -369,6 +373,8 @@ public final class IssueDto extends Dto<String> implements Serializable { /** * Should only be used to persist in E/S + * + * Please use {@link #setRule(org.sonar.core.rule.RuleDto)} instead */ public IssueDto setRuleKey(String repo, String rule) { this.ruleRepo = repo; @@ -378,6 +384,8 @@ public final class IssueDto extends Dto<String> implements Serializable { /** * Should only be used to persist in E/S + * + * Please use {@link #setComponent(org.sonar.core.component.ComponentDto)} instead */ public IssueDto setComponentKey(String componentKey) { this.componentKey = componentKey; @@ -386,6 +394,8 @@ public final class IssueDto extends Dto<String> implements Serializable { /** * Should only be used to persist in E/S + * + * Please use {@link #setRootComponent(org.sonar.core.component.ComponentDto)} instead */ public IssueDto setRootComponentKey(String rootComponentKey) { this.rootComponentKey = rootComponentKey; @@ -474,7 +484,7 @@ public final class IssueDto extends Dto<String> implements Serializable { issue.setComponentId(componentId); issue.setProjectKey(rootComponentKey); issue.setManualSeverity(manualSeverity); - issue.setRuleKey(RuleKey.of(ruleRepo, ruleKey)); + issue.setRuleKey(getRuleKey()); issue.setActionPlanKey(actionPlanKey); issue.setAuthorLogin(authorLogin); issue.setNew(false); diff --git a/sonar-core/src/main/java/org/sonar/core/permission/PermissionFacade.java b/sonar-core/src/main/java/org/sonar/core/permission/PermissionFacade.java index 6bf273c5176..7fb5c14598d 100644 --- a/sonar-core/src/main/java/org/sonar/core/permission/PermissionFacade.java +++ b/sonar-core/src/main/java/org/sonar/core/permission/PermissionFacade.java @@ -42,6 +42,8 @@ import java.util.List; * This facade wraps db operations related to permissions * * Should be removed when batch will no more create permission, and be replaced by a new PermissionService in module server (probably be a merge with InternalPermissionService) + * + * WARNING, this class is called by Views to apply default permission template on new views */ public class PermissionFacade implements TaskComponent, ServerComponent { |