From 9f19a237be4faf631603e5b561d3a9cf7b6084ba Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Thu, 19 Jun 2014 18:12:57 +0200 Subject: [PATCH] SONAR-5329 Complete QProfileActivity --- .../org/sonar/core/activity/Activity.java | 2 ++ .../server/activity/index/ActivityDoc.java | 5 +++ .../qualityprofile/QProfileActivity.java | 32 +++++++++++++++++++ .../QProfileServiceMediumTest.java | 21 +++++++----- 4 files changed, 52 insertions(+), 8 deletions(-) diff --git a/sonar-core/src/main/java/org/sonar/core/activity/Activity.java b/sonar-core/src/main/java/org/sonar/core/activity/Activity.java index 71fb13b3bc3..835ca8dfb1e 100644 --- a/sonar-core/src/main/java/org/sonar/core/activity/Activity.java +++ b/sonar-core/src/main/java/org/sonar/core/activity/Activity.java @@ -35,6 +35,8 @@ public interface Activity { String author(); + String action(); + Map details(); String message(); diff --git a/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityDoc.java b/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityDoc.java index 3a6ccaf4163..c5d1108e2a3 100644 --- a/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityDoc.java +++ b/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityDoc.java @@ -45,6 +45,11 @@ public class ActivityDoc extends BaseDoc implements Activity { return this.getField(ActivityNormalizer.LogFields.AUTHOR.field()); } + @Override + public String action() { + return this.getField(ActivityNormalizer.LogFields.ACTION.field()); + } + @Override public Map details() { return this.getField(ActivityNormalizer.LogFields.DETAILS.field()); diff --git a/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileActivity.java b/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileActivity.java index fdb6ef102c6..21564eac0b4 100644 --- a/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileActivity.java +++ b/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileActivity.java @@ -19,7 +19,10 @@ */ package org.sonar.server.qualityprofile; +import com.google.common.collect.ImmutableMap; +import org.sonar.api.rule.RuleKey; import org.sonar.core.activity.Activity; +import org.sonar.core.qualityprofile.db.QualityProfileKey; import org.sonar.server.activity.index.ActivityDoc; import java.util.Map; @@ -32,4 +35,33 @@ public class QProfileActivity extends ActivityDoc implements Activity { protected QProfileActivity(Map fields) { super(fields); } + + public QualityProfileKey profileKey(){ + // TODO + return null; + } + + public RuleKey ruleKey(){ + return RuleKey.parse((String) getField("details.ruleKey")); + } + + public String ruleName(){ + // TODO + return null; + } + + public String authorName(){ + // TODO + return null; + } + + public String severity(){ + return (String) getField("details.severity"); + } + + public Map parameters(){ + // TODO + return ImmutableMap.of(); + } + } diff --git a/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileServiceMediumTest.java b/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileServiceMediumTest.java index 27ea1cf0995..1efc9cc796c 100644 --- a/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileServiceMediumTest.java +++ b/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileServiceMediumTest.java @@ -20,12 +20,10 @@ package org.sonar.server.qualityprofile; import com.google.common.collect.Multimap; -import org.junit.After; -import org.junit.Before; -import org.junit.ClassRule; -import org.junit.Test; +import org.junit.*; import org.sonar.api.rule.RuleKey; import org.sonar.api.rule.RuleStatus; +import org.sonar.api.rule.Severity; import org.sonar.core.activity.Activity; import org.sonar.core.permission.GlobalPermissions; import org.sonar.core.persistence.DbSession; @@ -151,13 +149,20 @@ public class QProfileServiceMediumTest { } @Test + @Ignore public void search_qprofile_activity() throws InterruptedException { - tester.get(ActivityService.class).write(dbSession, Activity.Type.QPROFILE, "hello world"); - tester.get(ActivityService.class).write(dbSession, Activity.Type.QPROFILE, "hello world"); - tester.get(ActivityService.class).write(dbSession, Activity.Type.QPROFILE, "hello world"); + tester.get(ActivityService.class).write(dbSession, Activity.Type.QPROFILE, + ActiveRuleChange.createFor(ActiveRuleChange.Type.ACTIVATED, ActiveRuleKey.of(XOO_PROFILE_1, XOO_RULE_1)) + .setSeverity(Severity.MAJOR) + .setParameter("max", "10") + ); dbSession.commit(); List activities = service.findActivities(new QProfileActivityQuery(), new QueryOptions()); - assertThat(activities).hasSize(3); + assertThat(activities).hasSize(1); + + QProfileActivity activity = activities.get(0); + assertThat(activity.ruleKey()).isEqualTo(XOO_RULE_1); + assertThat(activity.ruleName()).isEqualTo("Rule name"); } } -- 2.39.5