aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-core
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2014-09-17 11:24:27 +0200
committerJulien Lancelot <julien.lancelot@sonarsource.com>2014-09-17 11:24:27 +0200
commitafaa0ecdd013e75d9ffb67bfceba8335f16ba6c4 (patch)
tree4e148fe248de77d43f6431426c1c576cf5077d77 /sonar-core
parentb1d2bf53909ae35f0f2c36fbaca44a30d9e6c7b5 (diff)
downloadsonarqube-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')
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/IssueNotifications.java11
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/db/IssueDto.java14
-rw-r--r--sonar-core/src/main/java/org/sonar/core/permission/PermissionFacade.java2
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 {