aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-server/src/main/java
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2014-06-20 11:19:51 +0200
committerJulien Lancelot <julien.lancelot@sonarsource.com>2014-06-20 11:20:00 +0200
commitf992861dbc8cf7f769e7d1f2a7460b0e5b06a5dd (patch)
treeb71ba22f32a780d1ead9074594b9e567a60d1938 /sonar-server/src/main/java
parentd681b75f03f1eb59e9d9ff2bb224c0f759a0ec1a (diff)
downloadsonarqube-f992861dbc8cf7f769e7d1f2a7460b0e5b06a5dd.tar.gz
sonarqube-f992861dbc8cf7f769e7d1f2a7460b0e5b06a5dd.zip
SONAR-5329 First display of new changelog
Diffstat (limited to 'sonar-server/src/main/java')
-rw-r--r--sonar-server/src/main/java/org/sonar/server/activity/ActivityService.java5
-rw-r--r--sonar-server/src/main/java/org/sonar/server/activity/index/ActivityIndex.java17
-rw-r--r--sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileActivity.java12
-rw-r--r--sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java8
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);
}