diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-06-20 11:19:51 +0200 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-06-20 11:20:00 +0200 |
commit | f992861dbc8cf7f769e7d1f2a7460b0e5b06a5dd (patch) | |
tree | b71ba22f32a780d1ead9074594b9e567a60d1938 /sonar-server/src/main/java | |
parent | d681b75f03f1eb59e9d9ff2bb224c0f759a0ec1a (diff) | |
download | sonarqube-f992861dbc8cf7f769e7d1f2a7460b0e5b06a5dd.tar.gz sonarqube-f992861dbc8cf7f769e7d1f2a7460b0e5b06a5dd.zip |
SONAR-5329 First display of new changelog
Diffstat (limited to 'sonar-server/src/main/java')
4 files changed, 24 insertions, 18 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/activity/ActivityService.java b/sonar-server/src/main/java/org/sonar/server/activity/ActivityService.java index 08b6b350673..faae800057e 100644 --- a/sonar-server/src/main/java/org/sonar/server/activity/ActivityService.java +++ b/sonar-server/src/main/java/org/sonar/server/activity/ActivityService.java @@ -31,6 +31,8 @@ import org.sonar.server.search.QueryOptions; import org.sonar.server.search.Result; import org.sonar.server.user.UserSession; +import javax.annotation.Nullable; + import java.util.List; /** @@ -49,8 +51,9 @@ public class ActivityService { this.indexClient = indexClient; } + @Nullable private String getAuthor() { - return (UserSession.get().login() != null) ? UserSession.get().login() : "UNKNOWN"; + return (UserSession.get().login() != null) ? UserSession.get().login() : null; } private void save(DbSession session, ActivityDto log) { diff --git a/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityIndex.java b/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityIndex.java index e80c4cf87f5..0ab2db9db32 100644 --- a/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityIndex.java +++ b/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityIndex.java @@ -25,21 +25,13 @@ import org.elasticsearch.action.search.SearchType; import org.elasticsearch.common.settings.ImmutableSettings; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.index.query.AndFilterBuilder; -import org.elasticsearch.index.query.FilterBuilder; -import org.elasticsearch.index.query.FilterBuilders; -import org.elasticsearch.index.query.OrFilterBuilder; -import org.elasticsearch.index.query.QueryBuilders; +import org.elasticsearch.index.query.*; +import org.elasticsearch.search.sort.SortOrder; import org.sonar.core.activity.Activity; import org.sonar.core.activity.db.ActivityDto; import org.sonar.core.cluster.WorkQueue; import org.sonar.core.profiling.Profiling; -import org.sonar.server.search.BaseIndex; -import org.sonar.server.search.ESNode; -import org.sonar.server.search.IndexDefinition; -import org.sonar.server.search.IndexField; -import org.sonar.server.search.QueryOptions; -import org.sonar.server.search.Result; +import org.sonar.server.search.*; import java.io.IOException; import java.util.HashMap; @@ -110,6 +102,9 @@ public class ActivityIndex extends BaseIndex<Activity, ActivityDto, String> { esSearch.setFrom(options.getOffset()); esSearch.setSize(options.getLimit()); + // Sort Date Desc + esSearch.addSort(ActivityNormalizer.LogFields.CREATED_AT.field(), SortOrder.DESC); + AndFilterBuilder filter = FilterBuilders.andFilter(); // implement Type Filtering 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 6174556166f..dc1b01339bb 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 @@ -25,6 +25,9 @@ import org.sonar.core.activity.Activity; import org.sonar.server.activity.index.ActivityDoc; import org.sonar.server.activity.index.ActivityNormalizer; +import javax.annotation.CheckForNull; +import javax.annotation.Nullable; + import java.util.Map; /** @@ -43,19 +46,21 @@ public class QProfileActivity extends ActivityDoc implements Activity { } } + @CheckForNull public String ruleName() { return ruleName; } - public void ruleName(String ruleName) { + public void ruleName(@Nullable String ruleName) { this.ruleName = ruleName; } + @CheckForNull public String authorName() { return authorName; } - public void authorName(String authorName) { + public void authorName(@Nullable String authorName) { this.authorName = authorName; } @@ -67,8 +72,9 @@ public class QProfileActivity extends ActivityDoc implements Activity { return RuleKey.parse((String) getField("ruleKey")); } + @CheckForNull public String login() { - return getField(ActivityNormalizer.LogFields.LOGIN.field()); + return getNullableField(ActivityNormalizer.LogFields.LOGIN.field()); } public String severity(){ diff --git a/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java b/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java index 9c888bc31d5..f511f5141b0 100644 --- a/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java +++ b/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java @@ -32,6 +32,7 @@ import org.sonar.core.permission.GlobalPermissions; import org.sonar.core.persistence.DbSession; import org.sonar.core.qualityprofile.db.ActiveRuleKey; import org.sonar.core.qualityprofile.db.QualityProfileDto; +import org.sonar.core.rule.RuleDto; import org.sonar.core.user.UserDto; import org.sonar.server.activity.index.ActivityIndex; import org.sonar.server.db.DbClient; @@ -45,6 +46,7 @@ import org.sonar.server.user.UserSession; import javax.annotation.CheckForNull; import javax.annotation.Nullable; + import java.io.Reader; import java.io.StringReader; import java.io.StringWriter; @@ -288,14 +290,14 @@ public class QProfileService implements ServerComponent { SearchResponse response = index.get(ActivityIndex.class).search(query, options, activityFilter); for (SearchHit hit : response.getHits().getHits()) { QProfileActivity profileActivity = new QProfileActivity(hit.getSource()); - profileActivity.ruleName( - db.ruleDao().getByKey(session, profileActivity.ruleKey()).getName()); + RuleDto ruleDto = db.ruleDao().getNullableByKey(session, profileActivity.ruleKey()); + profileActivity.ruleName(ruleDto != null ? ruleDto.getName() : null); UserDto user = db.userDao().selectActiveUserByLogin(profileActivity.login(), session); if (user != null) { profileActivity.authorName(user.getName()); } else { - profileActivity.authorName(profileActivity.login()); + profileActivity.authorName(null); } results.add(profileActivity); } |