aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephane Gamard <stephane.gamard@searchbox.com>2014-06-20 15:08:26 +0200
committerStephane Gamard <stephane.gamard@searchbox.com>2014-06-20 15:08:39 +0200
commit87f1cd0960598af76b04faefe6a8c7fc5b54c874 (patch)
treec5cbcb2a2756883d742116d2d80c34dc3d95746e
parentb32fa65e763b16e9dd00d31c8c0ce46a00286cc3 (diff)
downloadsonarqube-87f1cd0960598af76b04faefe6a8c7fc5b54c874.tar.gz
sonarqube-87f1cd0960598af76b04faefe6a8c7fc5b54c874.zip
SONAR-5329 - Convert ES time to current timeZones
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/persistence/migration/v44/Migration44Mapper.xml8
-rw-r--r--sonar-server/src/main/java/org/sonar/server/search/IndexUtils.java5
-rw-r--r--sonar-server/src/test/java/org/sonar/server/activity/ActivityBackendMediumTest.java9
3 files changed, 18 insertions, 4 deletions
diff --git a/sonar-core/src/main/resources/org/sonar/core/persistence/migration/v44/Migration44Mapper.xml b/sonar-core/src/main/resources/org/sonar/core/persistence/migration/v44/Migration44Mapper.xml
index 4484a1111e6..8adb47e20c7 100644
--- a/sonar-core/src/main/resources/org/sonar/core/persistence/migration/v44/Migration44Mapper.xml
+++ b/sonar-core/src/main/resources/org/sonar/core/persistence/migration/v44/Migration44Mapper.xml
@@ -51,19 +51,19 @@
rule_change.id as id,
rule_change.change_date as createdAt,
users.login as userLogin,
- rule_def.plugin_name as ruleKey,
- rule_def.plugin_rule_key as repository,
+ rule_def.plugin_name as repository,
+ rule_def.plugin_rule_key as ruleKey,
profile.kee as profileKey,
rule_change.new_severity as severity ,
rule_def.name as ruleName,
- rule_def_param.name as paramName,
+ rule_def_param.name as paramKey,
rule_param_change.new_value as paramValue
from active_rule_changes rule_change
left join users on users.name = rule_change.username
left join rules rule_def on rule_def.id = rule_change.rule_id
left join rules_profiles profile on profile.id = rule_change.profile_id
left join active_rule_param_changes rule_param_change on rule_param_change.active_rule_change_id = rule_change.id
- left join rules_parameters rule_def_param on rule_def_param.id = rule_param_change.rules_parameter_id
+ left join rules_parameters rule_def_param on rule_param_change.rules_parameter_id = rule_def_param.id
WHERE
<choose>
<when test="enabled != null">
diff --git a/sonar-server/src/main/java/org/sonar/server/search/IndexUtils.java b/sonar-server/src/main/java/org/sonar/server/search/IndexUtils.java
index 02d69bb96ce..bba38b2afe1 100644
--- a/sonar-server/src/main/java/org/sonar/server/search/IndexUtils.java
+++ b/sonar-server/src/main/java/org/sonar/server/search/IndexUtils.java
@@ -25,6 +25,7 @@ import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
+import java.util.TimeZone;
public class IndexUtils {
@@ -38,8 +39,12 @@ public class IndexUtils {
return null;
}
try {
+
+ // ES times are in UTC
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
+ sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
return sdf.parse(s);
+
} catch (ParseException e) {
throw new IllegalArgumentException("Cannot parse ES date: " + s, e);
}
diff --git a/sonar-server/src/test/java/org/sonar/server/activity/ActivityBackendMediumTest.java b/sonar-server/src/test/java/org/sonar/server/activity/ActivityBackendMediumTest.java
index 9c3dc5e7deb..c20b68b8ddd 100644
--- a/sonar-server/src/test/java/org/sonar/server/activity/ActivityBackendMediumTest.java
+++ b/sonar-server/src/test/java/org/sonar/server/activity/ActivityBackendMediumTest.java
@@ -131,4 +131,13 @@ public class ActivityBackendMediumTest {
}
assertThat(count).isEqualTo(max);
}
+
+ @Test
+ public void current_time_zone() {
+ service.write(dbSession, Activity.Type.QPROFILE, "now");
+ dbSession.commit();
+
+ Activity activity = service.search(new ActivityQuery(), new QueryOptions()).getHits().get(0);
+ assertThat(System.currentTimeMillis() - activity.time().getTime()).isLessThan(1000L);
+ }
}