aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-core
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@sonarsource.com>2014-12-04 21:56:18 +0100
committerSimon Brandhof <simon.brandhof@sonarsource.com>2014-12-04 22:29:19 +0100
commit0da5d5aca58df54a695c5dacb9dee1b0be180756 (patch)
treef3a0375b65cf6bcacc753867fc19b391c9daef8c /sonar-core
parent06443d5ca9bd2894dcb796179f3af09babc1aa0d (diff)
downloadsonarqube-0da5d5aca58df54a695c5dacb9dee1b0be180756.tar.gz
sonarqube-0da5d5aca58df54a695c5dacb9dee1b0be180756.zip
Refactor issue indexer (project-agnostic approach)
Diffstat (limited to 'sonar-core')
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/db/IssueDao.java14
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/db/IssueDto.java50
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/db/IssueMapper.java3
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/db/IssueStorage.java24
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/db/UpdateConflictResolver.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java3
-rw-r--r--sonar-core/src/main/java/org/sonar/core/purge/PurgeDao.java2
-rw-r--r--sonar-core/src/main/java/org/sonar/core/purge/PurgeMapper.java2
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/issue/db/IssueMapper.xml17
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql3
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl5
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/purge/PurgeMapper.xml2
-rw-r--r--sonar-core/src/test/java/org/sonar/core/issue/db/IssueMapperTest.java20
-rw-r--r--sonar-core/src/test/java/org/sonar/core/issue/db/IssueStorageTest.java8
-rw-r--r--sonar-core/src/test/java/org/sonar/core/persistence/TestDatabase.java10
-rw-r--r--sonar-core/src/test/java/org/sonar/core/purge/PurgeDaoTest.java6
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/ActionPlanStatsDaoTest/should_find_by_project.xml12
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueChangeDaoTest/select_issue_changelog_by_module.xml10
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueChangeDaoTest/select_issue_changelog_by_module_are_sorted_by_creation_date.xml2
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/find_rules_by_component.xml12
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/find_severities_by_component.xml12
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_by_key.xml4
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_issue_and_component_ids.xml12
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_non_closed_issues_by_module.xml10
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_non_closed_issues_by_module_on_removed_project.xml8
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/testInsert-result.xml4
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/testUpdate-result.xml4
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/testUpdate.xml4
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/updateBeforeSelectedDate_with_conflict-result.xml4
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/updateBeforeSelectedDate_with_conflict.xml4
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_update_issues.xml4
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/disable_resources_without_last_snapshot-result.xml10
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/disable_resources_without_last_snapshot.xml10
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_all_closed_issues-result.xml4
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_all_closed_issues.xml10
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_old_closed_issues-result.xml6
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_old_closed_issues.xml10
37 files changed, 162 insertions, 167 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/db/IssueDao.java b/sonar-core/src/main/java/org/sonar/core/issue/db/IssueDao.java
index a8cd6443445..7363ea8426f 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/db/IssueDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/db/IssueDao.java
@@ -47,10 +47,9 @@ public class IssueDao implements BatchComponent, ServerComponent {
@CheckForNull
public IssueDto selectByKey(String key) {
- SqlSession session = mybatis.openSession(false);
+ DbSession session = mybatis.openSession(false);
try {
- IssueMapper mapper = session.getMapper(IssueMapper.class);
- return mapper.selectByKey(key);
+ return mapper(session).selectByKey(key);
} finally {
MyBatis.closeQuietly(session);
}
@@ -68,11 +67,16 @@ public class IssueDao implements BatchComponent, ServerComponent {
// TODO replace by aggregation in IssueIndex
public List<RuleDto> findRulesByComponent(String componentKey, @Nullable Date createdAtOrAfter, DbSession session) {
- return session.getMapper(IssueMapper.class).findRulesByComponent(componentKey, createdAtOrAfter);
+ return mapper(session).findRulesByComponent(componentKey, createdAtOrAfter);
}
// TODO replace by aggregation in IssueIndex
public List<String> findSeveritiesByComponent(String componentKey, @Nullable Date createdAtOrAfter, DbSession session) {
- return session.getMapper(IssueMapper.class).findSeveritiesByComponent(componentKey, createdAtOrAfter);
+ return mapper(session).findSeveritiesByComponent(componentKey, createdAtOrAfter);
+ }
+
+ protected IssueMapper mapper(DbSession session) {
+ return session.getMapper(IssueMapper.class);
}
+
}
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 7cff2f63ff4..b201abbf812 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
@@ -30,7 +30,6 @@ import org.sonar.api.utils.Duration;
import org.sonar.api.utils.KeyValueFormat;
import org.sonar.api.utils.internal.Uuids;
import org.sonar.core.component.ComponentDto;
-import org.sonar.core.persistence.Dto;
import org.sonar.core.rule.RuleDto;
import javax.annotation.CheckForNull;
@@ -42,7 +41,7 @@ import java.util.Date;
/**
* @since 3.6
*/
-public final class IssueDto extends Dto<String> implements Serializable {
+public final class IssueDto implements Serializable {
private Long id;
private String kee;
@@ -63,6 +62,8 @@ public final class IssueDto extends Dto<String> implements Serializable {
private String authorLogin;
private String actionPlanKey;
private String issueAttributes;
+ private long createdAt;
+ private long updatedAt;
// functional dates
private Date issueCreationDate;
@@ -72,7 +73,7 @@ public final class IssueDto extends Dto<String> implements Serializable {
/**
* Temporary date used only during scan
*/
- private Date selectedAt;
+ private Long selectedAt;
// joins
private String ruleKey;
@@ -86,7 +87,6 @@ public final class IssueDto extends Dto<String> implements Serializable {
private String projectUuid;
private String filePath;
- @Override
public String getKey() {
return getKee();
}
@@ -308,15 +308,27 @@ public final class IssueDto extends Dto<String> implements Serializable {
return this;
}
- @Override
- public IssueDto setCreatedAt(Date createdAt) {
- super.setCreatedAt(createdAt);
+ public long getCreatedAt() {
+ return createdAt;
+ }
+
+ /**
+ * Technical date
+ */
+ public IssueDto setCreatedAt(long createdAt) {
+ this.createdAt = createdAt;
return this;
}
- @Override
- public IssueDto setUpdatedAt(@Nullable Date updatedAt) {
- super.setUpdatedAt(updatedAt);
+ public long getUpdatedAt() {
+ return updatedAt;
+ }
+
+ /**
+ * Technical date
+ */
+ public IssueDto setUpdatedAt(long updatedAt) {
+ this.updatedAt = updatedAt;
return this;
}
@@ -355,11 +367,11 @@ public final class IssueDto extends Dto<String> implements Serializable {
return ruleRepo;
}
- public RuleKey getRuleKey(){
+ public RuleKey getRuleKey() {
return RuleKey.of(ruleRepo, ruleKey);
}
- public String getLanguage(){
+ public String getLanguage() {
return language;
}
@@ -401,11 +413,11 @@ public final class IssueDto extends Dto<String> implements Serializable {
}
@CheckForNull
- public Date getSelectedAt() {
+ public Long getSelectedAt() {
return selectedAt;
}
- public IssueDto setSelectedAt(@Nullable Date d) {
+ public IssueDto setSelectedAt(@Nullable Long d) {
this.selectedAt = d;
return this;
}
@@ -518,7 +530,7 @@ public final class IssueDto extends Dto<String> implements Serializable {
/**
* On batch side, component keys and uuid are useless
*/
- public static IssueDto toDtoForBatchInsert(DefaultIssue issue, Long componentId, Long rootComponentId, Integer ruleId, Date now) {
+ public static IssueDto toDtoForBatchInsert(DefaultIssue issue, Long componentId, Long rootComponentId, Integer ruleId, long now) {
return new IssueDto()
.setKee(issue.key())
.setLine(issue.line())
@@ -550,6 +562,8 @@ public final class IssueDto extends Dto<String> implements Serializable {
.setIssueCloseDate(issue.closeDate())
.setIssueUpdateDate(issue.updateDate())
.setSelectedAt(issue.selectedAt())
+
+ // technical dates
.setCreatedAt(now)
.setUpdatedAt(now);
}
@@ -557,13 +571,13 @@ public final class IssueDto extends Dto<String> implements Serializable {
/**
* On server side, we need component keys and uuid
*/
- public static IssueDto toDtoForServerInsert(DefaultIssue issue, ComponentDto component, ComponentDto project, Integer ruleId, Date now) {
+ public static IssueDto toDtoForServerInsert(DefaultIssue issue, ComponentDto component, ComponentDto project, Integer ruleId, long now) {
return toDtoForBatchInsert(issue, component.getId(), project.getId(), ruleId, now)
.setComponent(component)
.setProject(project);
}
- public static IssueDto toDtoForUpdate(DefaultIssue issue, Long rootComponentId, Date now) {
+ public static IssueDto toDtoForUpdate(DefaultIssue issue, Long rootComponentId, long now) {
// Invariant fields, like key and rule, can't be updated
return new IssueDto()
.setKee(issue.key())
@@ -593,6 +607,8 @@ public final class IssueDto extends Dto<String> implements Serializable {
.setIssueCloseDate(issue.closeDate())
.setIssueUpdateDate(issue.updateDate())
.setSelectedAt(issue.selectedAt())
+
+ // technical date
.setUpdatedAt(now);
}
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/db/IssueMapper.java b/sonar-core/src/main/java/org/sonar/core/issue/db/IssueMapper.java
index 5e51b8c3a56..ac41ee8639e 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/db/IssueMapper.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/db/IssueMapper.java
@@ -23,8 +23,6 @@ import org.apache.ibatis.annotations.Param;
import org.sonar.core.rule.RuleDto;
import javax.annotation.Nullable;
-
-import java.sql.Timestamp;
import java.util.Collection;
import java.util.Date;
import java.util.List;
@@ -47,5 +45,4 @@ public interface IssueMapper {
int updateIfBeforeSelectedDate(IssueDto issue);
- List<IssueDto> selectAfterDate(@Nullable @Param("date") Timestamp timestamp, @Nullable @Param("project") String projectUuid);
}
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/db/IssueStorage.java b/sonar-core/src/main/java/org/sonar/core/issue/db/IssueStorage.java
index c89c87b417d..7455bd4bd07 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/db/IssueStorage.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/db/IssueStorage.java
@@ -30,7 +30,6 @@ import org.sonar.core.persistence.BatchSession;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.persistence.MyBatis;
-import java.util.Date;
import java.util.List;
import static com.google.common.collect.Lists.newArrayList;
@@ -59,28 +58,32 @@ public abstract class IssueStorage {
}
public void save(DbSession session, DefaultIssue issue) {
- save(session, newArrayList(issue));
+ doSave(session, newArrayList(issue));
}
public void save(Iterable<DefaultIssue> issues) {
DbSession session = mybatis.openSession(true);
try {
- save(session, issues);
- session.commit();
+ doSave(session, issues);
} finally {
MyBatis.closeQuietly(session);
}
}
- private void save(DbSession session, Iterable<DefaultIssue> issues) {
+ private void doSave(DbSession session, Iterable<DefaultIssue> issues) {
// Batch session can not be used for updates. It does not return the number of updated rows,
// required for detecting conflicts.
- Date now = new Date();
+ long now = System.currentTimeMillis();
List<DefaultIssue> toBeUpdated = batchInsert(session, issues, now);
update(toBeUpdated, now);
+ doAfterSave();
}
- private List<DefaultIssue> batchInsert(DbSession session, Iterable<DefaultIssue> issues, Date now) {
+ protected void doAfterSave() {
+ // overridden on server-side to index ES
+ }
+
+ private List<DefaultIssue> batchInsert(DbSession session, Iterable<DefaultIssue> issues, long now) {
List<DefaultIssue> toBeUpdated = newArrayList();
int count = 0;
IssueChangeMapper issueChangeMapper = session.getMapper(IssueChangeMapper.class);
@@ -96,12 +99,13 @@ public abstract class IssueStorage {
toBeUpdated.add(issue);
}
}
+ session.commit();
return toBeUpdated;
}
- protected abstract void doInsert(DbSession batchSession, Date now, DefaultIssue issue);
+ protected abstract void doInsert(DbSession batchSession, long now, DefaultIssue issue);
- private void update(List<DefaultIssue> toBeUpdated, Date now) {
+ private void update(List<DefaultIssue> toBeUpdated, long now) {
if (!toBeUpdated.isEmpty()) {
DbSession session = mybatis.openSession(false);
try {
@@ -117,7 +121,7 @@ public abstract class IssueStorage {
}
}
- protected abstract void doUpdate(DbSession batchSession, Date now, DefaultIssue issue);
+ protected abstract void doUpdate(DbSession batchSession, long now, DefaultIssue issue);
private void insertChanges(IssueChangeMapper mapper, DefaultIssue issue) {
for (IssueComment comment : issue.comments()) {
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/db/UpdateConflictResolver.java b/sonar-core/src/main/java/org/sonar/core/issue/db/UpdateConflictResolver.java
index 622de121842..a5fa56cfeb5 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/db/UpdateConflictResolver.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/db/UpdateConflictResolver.java
@@ -24,8 +24,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sonar.api.issue.internal.DefaultIssue;
-import java.util.Date;
-
/**
* See https://jira.codehaus.org/browse/SONAR-4309
*
@@ -41,7 +39,7 @@ public class UpdateConflictResolver {
IssueDto dbIssue = mapper.selectByKey(issue.key());
if (dbIssue != null) {
mergeFields(dbIssue, issue);
- mapper.update(IssueDto.toDtoForUpdate(issue, dbIssue.getProjectId(), new Date()));
+ mapper.update(IssueDto.toDtoForUpdate(issue, dbIssue.getProjectId(), System.currentTimeMillis()));
}
}
diff --git a/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java b/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java
index 783c7433141..a0677316258 100644
--- a/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java
+++ b/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java
@@ -33,7 +33,8 @@ import java.util.List;
*/
public class DatabaseVersion implements BatchComponent, ServerComponent {
- public static final int LAST_VERSION = 717;
+ public static final int LAST_VERSION = 720;
+
/**
* List of all the tables.
* This list is hardcoded because we didn't succeed in using java.sql.DatabaseMetaData#getTables() in the same way
diff --git a/sonar-core/src/main/java/org/sonar/core/purge/PurgeDao.java b/sonar-core/src/main/java/org/sonar/core/purge/PurgeDao.java
index 71dc5863e15..2e9b914d605 100644
--- a/sonar-core/src/main/java/org/sonar/core/purge/PurgeDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/purge/PurgeDao.java
@@ -195,7 +195,7 @@ public class PurgeDao {
mapper.setSnapshotIsLastToFalse(resourceId);
mapper.deleteFileSourcesByUuid(resourceIdUuid.getUuid());
mapper.disableResource(resourceId);
- mapper.resolveResourceIssuesNotAlreadyResolved(resourceId, new Date(system2.now()));
+ mapper.resolveResourceIssuesNotAlreadyResolved(resourceId, new Date(system2.now()), system2.now());
}
public PurgeDao deleteSnapshots(PurgeSnapshotQuery query) {
diff --git a/sonar-core/src/main/java/org/sonar/core/purge/PurgeMapper.java b/sonar-core/src/main/java/org/sonar/core/purge/PurgeMapper.java
index 4ece70e8e4a..81e0d2d973e 100644
--- a/sonar-core/src/main/java/org/sonar/core/purge/PurgeMapper.java
+++ b/sonar-core/src/main/java/org/sonar/core/purge/PurgeMapper.java
@@ -60,7 +60,7 @@ public interface PurgeMapper {
void disableResource(long resourceId);
- void resolveResourceIssuesNotAlreadyResolved(@Param("resourceId") long resourceId, @Param("date") Date date);
+ void resolveResourceIssuesNotAlreadyResolved(@Param("resourceId") long resourceId, @Param("date") Date date, @Param("dateAsLong") Long dateAsLong);
void deleteResourceIndex(@Param("resourceIds") List<Long> resourceIds);
diff --git a/sonar-core/src/main/resources/org/sonar/core/issue/db/IssueMapper.xml b/sonar-core/src/main/resources/org/sonar/core/issue/db/IssueMapper.xml
index b781a3ff962..26f08500466 100644
--- a/sonar-core/src/main/resources/org/sonar/core/issue/db/IssueMapper.xml
+++ b/sonar-core/src/main/resources/org/sonar/core/issue/db/IssueMapper.xml
@@ -141,23 +141,6 @@
where i.kee=#{kee}
</select>
- <select id="selectAfterDate" resultType="Issue" fetchSize="${_scrollFetchSize}" resultSetType="FORWARD_ONLY">
- select
- <include refid="issueColumns"/>
- from issues i
- inner join rules r on r.id=i.rule_id
- inner join projects p on p.id=i.component_id
- inner join projects root on root.id=i.root_component_id
- <where>
- <if test="date != null">
- AND (i.updated_at IS NULL or i.updated_at &gt;= #{date})
- </if>
- <if test="project != null">
- AND root.uuid = #{project}
- </if>
- </where>
- </select>
-
<select id="selectNonClosedIssuesByModule" parameterType="int" resultType="Issue">
select
i.id,
diff --git a/sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql b/sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql
index eb87903bbb9..29605abdc40 100644
--- a/sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql
+++ b/sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql
@@ -275,6 +275,9 @@ INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('714');
INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('715');
INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('716');
INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('717');
+INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('718');
+INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('719');
+INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('720');
INSERT INTO USERS(ID, LOGIN, NAME, EMAIL, CRYPTED_PASSWORD, SALT, CREATED_AT, UPDATED_AT, REMEMBER_TOKEN, REMEMBER_TOKEN_EXPIRES_AT) VALUES (1, 'admin', 'Administrator', '', 'a373a0e667abb2604c1fd571eb4ad47fe8cc0878', '48bc4b0d93179b5103fd3885ea9119498e9d161b', '2011-09-26 22:27:48.0', '2011-09-26 22:27:48.0', null, null);
ALTER TABLE USERS ALTER COLUMN ID RESTART WITH 2;
diff --git a/sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl b/sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl
index e221f8ee75b..0744edcbba5 100644
--- a/sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl
+++ b/sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl
@@ -461,9 +461,8 @@ CREATE TABLE "ISSUES" (
"ISSUE_CREATION_DATE" TIMESTAMP,
"ISSUE_CLOSE_DATE" TIMESTAMP,
"ISSUE_UPDATE_DATE" TIMESTAMP,
- "CREATED_AT" TIMESTAMP,
- "UPDATED_AT" TIMESTAMP
-
+ "CREATED_AT" BIGINT,
+ "UPDATED_AT" BIGINT
);
CREATE TABLE "ISSUE_CHANGES" (
diff --git a/sonar-core/src/main/resources/org/sonar/core/purge/PurgeMapper.xml b/sonar-core/src/main/resources/org/sonar/core/purge/PurgeMapper.xml
index 70acfa0df27..95aeeebeb3c 100644
--- a/sonar-core/src/main/resources/org/sonar/core/purge/PurgeMapper.xml
+++ b/sonar-core/src/main/resources/org/sonar/core/purge/PurgeMapper.xml
@@ -177,7 +177,7 @@
</update>
<update id="resolveResourceIssuesNotAlreadyResolved" parameterType="map">
- UPDATE issues SET status='CLOSED',resolution='REMOVED',updated_at=#{date},issue_close_date=#{date},
+ UPDATE issues SET status='CLOSED',resolution='REMOVED',updated_at=#{dateAsLong},issue_close_date=#{date},
issue_update_date=#{date}
WHERE component_id=#{resourceId} AND resolution IS NULL
</update>
diff --git a/sonar-core/src/test/java/org/sonar/core/issue/db/IssueMapperTest.java b/sonar-core/src/test/java/org/sonar/core/issue/db/IssueMapperTest.java
index eda114c938f..2d55a55e13b 100644
--- a/sonar-core/src/test/java/org/sonar/core/issue/db/IssueMapperTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/issue/db/IssueMapperTest.java
@@ -69,8 +69,8 @@ public class IssueMapperTest extends AbstractDaoTestCase {
dto.setIssueCreationDate(DateUtils.parseDate("2013-05-18"));
dto.setIssueUpdateDate(DateUtils.parseDate("2013-05-19"));
dto.setIssueCloseDate(DateUtils.parseDate("2013-05-20"));
- dto.setCreatedAt(DateUtils.parseDate("2013-05-21"));
- dto.setUpdatedAt(DateUtils.parseDate("2013-05-22"));
+ dto.setCreatedAt(1400000000000L);
+ dto.setUpdatedAt(1500000000000L);
mapper.insert(dto);
session.commit();
@@ -104,8 +104,8 @@ public class IssueMapperTest extends AbstractDaoTestCase {
dto.setIssueCreationDate(DateUtils.parseDate("2013-05-18"));
dto.setIssueUpdateDate(DateUtils.parseDate("2013-05-19"));
dto.setIssueCloseDate(DateUtils.parseDate("2013-05-20"));
- dto.setCreatedAt(DateUtils.parseDate("2013-05-21"));
- dto.setUpdatedAt(DateUtils.parseDate("2013-05-22"));
+ dto.setCreatedAt(1400000000000L);
+ dto.setUpdatedAt(1500000000000L);
mapper.update(dto);
session.commit();
@@ -138,11 +138,11 @@ public class IssueMapperTest extends AbstractDaoTestCase {
dto.setIssueCreationDate(DateUtils.parseDate("2013-05-18"));
dto.setIssueUpdateDate(DateUtils.parseDate("2013-05-19"));
dto.setIssueCloseDate(DateUtils.parseDate("2013-05-20"));
- dto.setCreatedAt(DateUtils.parseDate("2013-05-21"));
- dto.setUpdatedAt(DateUtils.parseDate("2013-05-22"));
+ dto.setCreatedAt(1400000000000L);
+ dto.setUpdatedAt(1500000000000L);
// selected after last update -> ok
- dto.setSelectedAt(DateUtils.parseDate("2015-01-01"));
+ dto.setSelectedAt(1500000000000L);
int count = mapper.updateIfBeforeSelectedDate(dto);
assertThat(count).isEqualTo(1);
@@ -176,11 +176,11 @@ public class IssueMapperTest extends AbstractDaoTestCase {
dto.setIssueCreationDate(DateUtils.parseDate("2013-05-18"));
dto.setIssueUpdateDate(DateUtils.parseDate("2013-05-19"));
dto.setIssueCloseDate(DateUtils.parseDate("2013-05-20"));
- dto.setCreatedAt(DateUtils.parseDate("2013-05-21"));
- dto.setUpdatedAt(DateUtils.parseDate("2013-05-22"));
+ dto.setCreatedAt(1400000000000L);
+ dto.setUpdatedAt(1460000000000L);
// selected before last update -> ko
- dto.setSelectedAt(DateUtils.parseDate("2009-01-01"));
+ dto.setSelectedAt(1400000000000L);
int count = mapper.updateIfBeforeSelectedDate(dto);
assertThat(count).isEqualTo(0);
diff --git a/sonar-core/src/test/java/org/sonar/core/issue/db/IssueStorageTest.java b/sonar-core/src/test/java/org/sonar/core/issue/db/IssueStorageTest.java
index 59ed7c49e40..4bb99232413 100644
--- a/sonar-core/src/test/java/org/sonar/core/issue/db/IssueStorageTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/issue/db/IssueStorageTest.java
@@ -251,7 +251,7 @@ public class IssueStorageTest extends AbstractDaoTestCase {
}
@Override
- protected void doInsert(DbSession session, Date now, DefaultIssue issue) {
+ protected void doInsert(DbSession session, long now, DefaultIssue issue) {
int ruleId = ruleId(issue);
IssueDto dto = IssueDto.toDtoForBatchInsert(issue, 100l, 10l, ruleId, now);
@@ -259,7 +259,7 @@ public class IssueStorageTest extends AbstractDaoTestCase {
}
@Override
- protected void doUpdate(DbSession session, Date now, DefaultIssue issue) {
+ protected void doUpdate(DbSession session, long now, DefaultIssue issue) {
IssueDto dto = IssueDto.toDtoForUpdate(issue, 10l, now);
session.getMapper(IssueMapper.class).update(dto);
}
@@ -277,7 +277,7 @@ public class IssueStorageTest extends AbstractDaoTestCase {
}
@Override
- protected void doInsert(DbSession session, Date now, DefaultIssue issue) {
+ protected void doInsert(DbSession session, long now, DefaultIssue issue) {
int ruleId = ruleId(issue);
IssueDto dto = IssueDto.toDtoForServerInsert(issue, component, project, ruleId, now);
@@ -285,7 +285,7 @@ public class IssueStorageTest extends AbstractDaoTestCase {
}
@Override
- protected void doUpdate(DbSession session, Date now, DefaultIssue issue) {
+ protected void doUpdate(DbSession session, long now, DefaultIssue issue) {
IssueDto dto = IssueDto.toDtoForUpdate(issue, 10l, now);
session.getMapper(IssueMapper.class).update(dto);
}
diff --git a/sonar-core/src/test/java/org/sonar/core/persistence/TestDatabase.java b/sonar-core/src/test/java/org/sonar/core/persistence/TestDatabase.java
index d8d1f7655bf..4a52ab4ecb0 100644
--- a/sonar-core/src/test/java/org/sonar/core/persistence/TestDatabase.java
+++ b/sonar-core/src/test/java/org/sonar/core/persistence/TestDatabase.java
@@ -47,7 +47,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sonar.api.config.Settings;
import org.sonar.core.cluster.NullQueue;
-import org.sonar.core.cluster.WorkQueue;
import org.sonar.core.config.Logback;
import org.sonar.core.persistence.dialect.Dialect;
@@ -80,7 +79,6 @@ public class TestDatabase extends ExternalResource {
private DatabaseCommands commands;
private IDatabaseTester tester;
private MyBatis myBatis;
- private WorkQueue queue = new NullQueue();
private String schemaPath = null;
public TestDatabase schema(Class baseClass, String filename) {
@@ -89,11 +87,6 @@ public class TestDatabase extends ExternalResource {
return this;
}
- public TestDatabase setQueue(WorkQueue queue) {
- this.queue = queue;
- return this;
- }
-
@Override
protected void before() throws Throwable {
Settings settings = new Settings().setProperties(Maps.fromProperties(System.getProperties()));
@@ -124,7 +117,7 @@ public class TestDatabase extends ExternalResource {
commands = DatabaseCommands.forDialect(db.getDialect());
tester = new DataSourceDatabaseTester(db.getDataSource());
- myBatis = new MyBatis(db, new Logback(), queue);
+ myBatis = new MyBatis(db, new Logback(), new NullQueue());
myBatis.start();
truncateTables();
@@ -198,7 +191,6 @@ public class TestDatabase extends ExternalResource {
}
}
-
public void prepareDbUnit(Class testClass, String... testNames) {
InputStream[] streams = new InputStream[testNames.length];
try {
diff --git a/sonar-core/src/test/java/org/sonar/core/purge/PurgeDaoTest.java b/sonar-core/src/test/java/org/sonar/core/purge/PurgeDaoTest.java
index 3c1e080a25c..421b5362283 100644
--- a/sonar-core/src/test/java/org/sonar/core/purge/PurgeDaoTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/purge/PurgeDaoTest.java
@@ -23,7 +23,6 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.sonar.api.resources.Scopes;
-import org.sonar.api.utils.DateUtils;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.AbstractDaoTestCase;
import org.sonar.core.persistence.DbSession;
@@ -54,12 +53,11 @@ public class PurgeDaoTest extends AbstractDaoTestCase {
@Before
public void before() {
system2 = mock(System2.class);
- when(system2.now()).thenReturn(DateUtils.parseDate("2014-04-09").getTime());
+ when(system2.now()).thenReturn(1450000000000L);
dbSession = getMyBatis().openSession(false);
sut = new PurgeDao(getMyBatis(), new ResourceDao(getMyBatis(), system2), new PurgeProfiler(), system2);
}
-
@After
public void after() {
MyBatis.closeQuietly(dbSession);
@@ -97,7 +95,7 @@ public class PurgeDaoTest extends AbstractDaoTestCase {
public void disable_resources_without_last_snapshot() {
setupData("disable_resources_without_last_snapshot");
sut.purge(new PurgeConfiguration(1L, new String[0], 30, system2), PurgeListener.EMPTY);
- checkTables("disable_resources_without_last_snapshot", "projects", "snapshots", "issues");
+ checkTables("disable_resources_without_last_snapshot", new String[]{"issue_close_date", "issue_update_date"}, "projects", "snapshots", "issues");
}
@Test
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/ActionPlanStatsDaoTest/should_find_by_project.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/ActionPlanStatsDaoTest/should_find_by_project.xml
index 5ab673b9e26..de7167141e7 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/ActionPlanStatsDaoTest/should_find_by_project.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/ActionPlanStatsDaoTest/should_find_by_project.xml
@@ -23,8 +23,8 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-16"
- updated_at="2013-04-16"
+ created_at="1400000000000"
+ updated_at="1400000000000"
/>
<issues
@@ -47,8 +47,8 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-16"
- updated_at="2013-04-16"
+ created_at="1400000000000"
+ updated_at="1400000000000"
/>
<issues
@@ -71,8 +71,8 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-16"
- updated_at="2013-04-16"
+ created_at="1400000000000"
+ updated_at="1400000000000"
/>
</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueChangeDaoTest/select_issue_changelog_by_module.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueChangeDaoTest/select_issue_changelog_by_module.xml
index 27bbb7806d2..c93aea039d9 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueChangeDaoTest/select_issue_changelog_by_module.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueChangeDaoTest/select_issue_changelog_by_module.xml
@@ -27,7 +27,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-16"
+ created_at="1400000000000"
updated_at="[null]"
/>
@@ -89,7 +89,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-10"
+ created_at="1400000000000"
updated_at="[null]"
/>
@@ -127,7 +127,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-10"
+ created_at="1400000000000"
updated_at="[null]"
/>
@@ -165,7 +165,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-10"
+ created_at="1400000000000"
updated_at="[null]"
/>
@@ -203,7 +203,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-10"
+ created_at="1400000000000"
updated_at="[null]"
/>
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueChangeDaoTest/select_issue_changelog_by_module_are_sorted_by_creation_date.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueChangeDaoTest/select_issue_changelog_by_module_are_sorted_by_creation_date.xml
index 9407812d437..f36d8c96a59 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueChangeDaoTest/select_issue_changelog_by_module_are_sorted_by_creation_date.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueChangeDaoTest/select_issue_changelog_by_module_are_sorted_by_creation_date.xml
@@ -24,7 +24,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-10"
+ created_at="1400000000000"
updated_at="[null]"
/>
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/find_rules_by_component.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/find_rules_by_component.xml
index 50ef94fe567..8e7e6de3355 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/find_rules_by_component.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/find_rules_by_component.xml
@@ -22,8 +22,8 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-16"
- updated_at="2013-04-16"
+ created_at="1400000000000"
+ updated_at="1400000000000"
/>
<issues
@@ -47,8 +47,8 @@
issue_creation_date="2013-04-17"
issue_update_date="2013-04-17"
issue_close_date="2013-04-17"
- created_at="2013-04-17"
- updated_at="2013-04-17"
+ created_at="1400000000000"
+ updated_at="1400000000000"
/>
@@ -74,7 +74,7 @@
issue_creation_date="2013-04-18"
issue_update_date="2013-04-18"
issue_close_date="2013-04-18"
- created_at="2013-04-18"
- updated_at="2013-04-18"
+ created_at="1400000000000"
+ updated_at="1400000000000"
/>
</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/find_severities_by_component.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/find_severities_by_component.xml
index 2d7e237e3ed..12615141a32 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/find_severities_by_component.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/find_severities_by_component.xml
@@ -22,8 +22,8 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-16"
- updated_at="2013-04-16"
+ created_at="1400000000000"
+ updated_at="1400000000000"
/>
<issues
@@ -47,8 +47,8 @@
issue_creation_date="2013-04-17"
issue_update_date="2013-04-17"
issue_close_date="2013-04-17"
- created_at="2013-04-16"
- updated_at="2013-04-16"
+ created_at="1400000000000"
+ updated_at="1400000000000"
/>
@@ -74,7 +74,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-16"
- updated_at="2013-04-16"
+ created_at="1400000000000"
+ updated_at="1400000000000"
/>
</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_by_key.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_by_key.xml
index 9a5cc947917..b8f264193f0 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_by_key.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_by_key.xml
@@ -21,8 +21,8 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-16"
- updated_at="2013-04-16"
+ created_at="1400000000000"
+ updated_at="1400000000000"
/>
</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_issue_and_component_ids.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_issue_and_component_ids.xml
index 1d48a7733ef..aeb1fc63497 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_issue_and_component_ids.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_issue_and_component_ids.xml
@@ -22,8 +22,8 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-16"
- updated_at="2013-04-16"
+ created_at="1400000000000"
+ updated_at="1400000000000"
/>
<issues
@@ -47,8 +47,8 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-16"
- updated_at="2013-04-16"
+ created_at="1400000000000"
+ updated_at="1400000000000"
/>
@@ -74,7 +74,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-16"
- updated_at="2013-04-16"
+ created_at="1400000000000"
+ updated_at="1400000000000"
/>
</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_non_closed_issues_by_module.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_non_closed_issues_by_module.xml
index c036dc7c780..59044e8bc31 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_non_closed_issues_by_module.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_non_closed_issues_by_module.xml
@@ -22,7 +22,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-16"
+ created_at="1400000000000"
updated_at="[null]"
/>
@@ -48,7 +48,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-10"
+ created_at="1400000000000"
updated_at="[null]"
/>
@@ -74,7 +74,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-10"
+ created_at="1400000000000"
updated_at="[null]"
/>
@@ -100,7 +100,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-10"
+ created_at="1400000000000"
updated_at="[null]"
/>
@@ -126,7 +126,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-10"
+ created_at="1400000000000"
updated_at="[null]"
/>
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_non_closed_issues_by_module_on_removed_project.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_non_closed_issues_by_module_on_removed_project.xml
index ec2c35e66d9..95f98bc0584 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_non_closed_issues_by_module_on_removed_project.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueDaoTest/should_select_non_closed_issues_by_module_on_removed_project.xml
@@ -42,7 +42,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-16"
+ created_at="1400000000000"
updated_at="[null]"
/>
@@ -68,7 +68,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-10"
+ created_at="1400000000000"
updated_at="[null]"
/>
@@ -94,7 +94,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-10"
+ created_at="1400000000000"
updated_at="[null]"
/>
@@ -120,7 +120,7 @@
issue_creation_date="2013-04-16"
issue_update_date="2013-04-16"
issue_close_date="2013-04-16"
- created_at="2013-04-10"
+ created_at="1400000000000"
updated_at="[null]"
/>
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/testInsert-result.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/testInsert-result.xml
index 3d736381a9e..e82a3483207 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/testInsert-result.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/testInsert-result.xml
@@ -21,8 +21,8 @@
issue_creation_date="2013-05-18"
issue_update_date="2013-05-19"
issue_close_date="2013-05-20"
- created_at="2013-05-21"
- updated_at="2013-05-22"
+ created_at="1400000000000"
+ updated_at="1500000000000"
action_plan_key="current_sprint"
/>
</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/testUpdate-result.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/testUpdate-result.xml
index a923dfa54e0..2bb025d6f54 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/testUpdate-result.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/testUpdate-result.xml
@@ -21,8 +21,8 @@
issue_creation_date="2013-05-18"
issue_update_date="2013-05-19"
issue_close_date="2013-05-20"
- created_at="[null]"
- updated_at="2013-05-22"
+ created_at="1400000000000"
+ updated_at="1500000000000"
action_plan_key="current_sprint"
/>
</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/testUpdate.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/testUpdate.xml
index 4c6f701dc2c..e4bf4848927 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/testUpdate.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/testUpdate.xml
@@ -21,8 +21,8 @@
issue_creation_date="[null]"
issue_update_date="[null]"
issue_close_date="[null]"
- created_at="[null]"
- updated_at="2009-01-01"
+ created_at="1400000000000"
+ updated_at="1400000000000"
action_plan_key="[null]"
/>
</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/updateBeforeSelectedDate_with_conflict-result.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/updateBeforeSelectedDate_with_conflict-result.xml
index 5163092c424..d60c3311886 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/updateBeforeSelectedDate_with_conflict-result.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/updateBeforeSelectedDate_with_conflict-result.xml
@@ -22,8 +22,8 @@
issue_creation_date="[null]"
issue_update_date="[null]"
issue_close_date="[null]"
- created_at="[null]"
- updated_at="2013-06-01"
+ created_at="1400000000000"
+ updated_at="1450000000000"
action_plan_key="[null]"
/>
</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/updateBeforeSelectedDate_with_conflict.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/updateBeforeSelectedDate_with_conflict.xml
index d2a7e749e78..6de2cc7d038 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/updateBeforeSelectedDate_with_conflict.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueMapperTest/updateBeforeSelectedDate_with_conflict.xml
@@ -21,8 +21,8 @@
issue_creation_date="[null]"
issue_update_date="[null]"
issue_close_date="[null]"
- created_at="[null]"
- updated_at="2013-06-01"
+ created_at="1400000000000"
+ updated_at="1450000000000"
action_plan_key="[null]"
/>
</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_update_issues.xml b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_update_issues.xml
index edab1651a43..eff6dd5f374 100644
--- a/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_update_issues.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/issue/db/IssueStorageTest/should_update_issues.xml
@@ -15,8 +15,8 @@
component_id="100"
root_component_id="10"
rule_id="200"
- created_at="2010-01-01"
- updated_at="2011-02-02"
+ created_at="1400000000000"
+ updated_at="1400000000000"
reporter="emmerik"
issue_attributes="foo=bar"
action_plan_key="[null]"
diff --git a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/disable_resources_without_last_snapshot-result.xml b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/disable_resources_without_last_snapshot-result.xml
index 02faf07c5e9..0499ea1c91c 100644
--- a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/disable_resources_without_last_snapshot-result.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/disable_resources_without_last_snapshot-result.xml
@@ -62,7 +62,7 @@ What has been changed :
issue_close_date="2014-04-09"
resolution="REMOVED" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="2014-04-09" issue_creation_date="2013-04-16" issue_update_date="2014-04-09" created_at="2013-04-16"/>
+ updated_at="1450000000000" issue_creation_date="2013-04-16" issue_update_date="2014-04-09" created_at="1450000000000"/>
<!-- Open issue on directory -->
<issues id="2" kee="ISSUE-2"
@@ -72,7 +72,7 @@ What has been changed :
issue_close_date="2014-04-09"
resolution="REMOVED" line="[null]" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="2014-04-09" issue_creation_date="2013-04-16" issue_update_date="2014-04-09" created_at="2013-04-16"/>
+ updated_at="1450000000000" issue_creation_date="2013-04-16" issue_update_date="2014-04-09" created_at="1450000000000"/>
<!-- Open issue on project -->
<issues id="3" kee="ISSUE-3"
@@ -82,16 +82,16 @@ What has been changed :
issue_close_date="2014-04-09"
resolution="REMOVED" line="[null]" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="2014-04-09" issue_creation_date="2013-04-16" issue_update_date="2014-04-09" created_at="2013-04-16"/>
+ updated_at="1450000000000" issue_creation_date="2013-04-16" issue_update_date="2014-04-09" created_at="1450000000000"/>
<!-- Resolved issue on file -> not to be updated -->
<issues id="4" kee="ISSUE-4"
component_id="3"
root_component_id="1"
status="CLOSED"
- issue_close_date="2014-04-08"
+ issue_close_date="2015-12-08"
resolution="FIXED" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2014-04-08" created_at="2013-04-16"/>
+ updated_at="1450000000000" issue_creation_date="2013-04-16" issue_update_date="2014-04-08" created_at="1450000000000"/>
</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/disable_resources_without_last_snapshot.xml b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/disable_resources_without_last_snapshot.xml
index 84cbc0ffda1..f9a281c0fd2 100644
--- a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/disable_resources_without_last_snapshot.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/disable_resources_without_last_snapshot.xml
@@ -54,7 +54,7 @@
issue_close_date="[null]"
resolution="[null]" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1450000000000"/>
<!-- Open issue on directory -->
<issues id="2" kee="ISSUE-2"
@@ -64,7 +64,7 @@
issue_close_date="[null]"
resolution="[null]" line="[null]" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1450000000000"/>
<!-- Open issue on project -->
<issues id="3" kee="ISSUE-3"
@@ -74,16 +74,16 @@
issue_close_date="[null]"
resolution="[null]" line="[null]" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1450000000000"/>
<!-- Resolved issue on file -> not to be updated -->
<issues id="4" kee="ISSUE-4"
component_id="3"
root_component_id="1"
status="CLOSED"
- issue_close_date="2014-04-08"
+ issue_close_date="2015-12-08"
resolution="FIXED" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2014-04-08" created_at="2013-04-16"/>
+ updated_at="1450000000000" issue_creation_date="2013-04-16" issue_update_date="2014-04-08" created_at="1450000000000"/>
</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_all_closed_issues-result.xml b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_all_closed_issues-result.xml
index 05e8216a312..b72b131316b 100644
--- a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_all_closed_issues-result.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_all_closed_issues-result.xml
@@ -51,7 +51,7 @@
issue_close_date="[null]"
resolution="[null]" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1400000000000"/>
<issue_changes id="3" kee="[null]" issue_key="ISSUE-3" created_at="[null]" updated_at="[null]" user_login="admin" change_type="comment" change_data="abc" issue_change_creation_date="[null]"/>
<!-- recent open and closed issues -->
@@ -62,7 +62,7 @@
issue_close_date="[null]"
resolution="[null]" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1400000000000"/>
<issue_changes id="4" kee="[null]" issue_key="ISSUE-4" created_at="[null]" updated_at="[null]" user_login="admin" change_type="comment" change_data="abc" issue_change_creation_date="[null]"/>
<!--
diff --git a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_all_closed_issues.xml b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_all_closed_issues.xml
index c47968373a5..c9e3e76b6f3 100644
--- a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_all_closed_issues.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_all_closed_issues.xml
@@ -23,7 +23,7 @@
issue_close_date="2010-01-01"
resolution="FIXED" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1400000000000"/>
<issue_changes id="1" kee="[null]" issue_key="ISSUE-1" created_at="[null]" updated_at="[null]" user_login="admin" change_type="comment" change_data="abc" issue_change_creation_date="[null]"/>
<issues id="2" kee="ISSUE-2"
@@ -33,7 +33,7 @@
issue_close_date="2010-01-01"
resolution="FIXED" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1400000000000"/>
<issue_changes id="2" kee="[null]" issue_key="ISSUE-2" created_at="[null]" updated_at="[null]" user_login="admin" change_type="comment" change_data="abc" issue_change_creation_date="[null]"/>
@@ -45,7 +45,7 @@
issue_close_date="[null]"
resolution="[null]" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1400000000000"/>
<issue_changes id="3" kee="[null]" issue_key="ISSUE-3" created_at="[null]" updated_at="[null]" user_login="admin" change_type="comment" change_data="abc" issue_change_creation_date="[null]"/>
<!-- recent open and closed issues -->
@@ -56,7 +56,7 @@
issue_close_date="[null]"
resolution="[null]" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1400000000000"/>
<issue_changes id="4" kee="[null]" issue_key="ISSUE-4" created_at="[null]" updated_at="[null]" user_login="admin" change_type="comment" change_data="abc" issue_change_creation_date="[null]"/>
<issues id="5" kee="ISSUE-5"
@@ -66,7 +66,7 @@
issue_close_date="2025-01-01"
resolution="FIXED" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1400000000000"/>
<issue_changes id="5" kee="[null]" issue_key="ISSUE-5" created_at="[null]" updated_at="[null]" user_login="admin" change_type="comment" change_data="abc" issue_change_creation_date="[null]"/>
</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_old_closed_issues-result.xml b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_old_closed_issues-result.xml
index 7e09946714b..e9a164a0ec9 100644
--- a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_old_closed_issues-result.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_old_closed_issues-result.xml
@@ -45,7 +45,7 @@
issue_close_date="[null]"
resolution="[null]" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1400000000000"/>
<issue_changes id="3" kee="[null]" issue_key="ISSUE-3" created_at="[null]" updated_at="[null]" user_login="admin" change_type="comment" change_data="abc" issue_change_creation_date="[null]"/>
<!-- recent open and closed issues -> do not purge -->
@@ -56,7 +56,7 @@
issue_close_date="[null]"
resolution="[null]" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1400000000000"/>
<issue_changes id="4" kee="[null]" issue_key="ISSUE-4" created_at="[null]" updated_at="[null]" user_login="admin" change_type="comment" change_data="abc" issue_change_creation_date="[null]"/>
<issues id="5" kee="ISSUE-5"
@@ -66,7 +66,7 @@
issue_close_date="2025-01-01"
resolution="FIXED" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1400000000000"/>
<issue_changes id="5" kee="[null]" issue_key="ISSUE-5" created_at="[null]" updated_at="[null]" user_login="admin" change_type="comment" change_data="abc" issue_change_creation_date="[null]"/>
</dataset>
diff --git a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_old_closed_issues.xml b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_old_closed_issues.xml
index ab6382bb22b..0a70926c003 100644
--- a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_old_closed_issues.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeDaoTest/should_delete_old_closed_issues.xml
@@ -22,7 +22,7 @@
issue_close_date="2010-01-01"
resolution="FIXED" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1400000000000"/>
<issue_changes id="1" kee="[null]" issue_key="ISSUE-1" created_at="[null]" updated_at="[null]" user_login="admin" change_type="comment" change_data="abc" issue_change_creation_date="[null]"/>
<issues id="2" kee="ISSUE-2"
@@ -32,7 +32,7 @@
issue_close_date="2010-01-01"
resolution="FIXED" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1400000000000"/>
<issue_changes id="2" kee="[null]" issue_key="ISSUE-2" created_at="[null]" updated_at="[null]" user_login="admin" change_type="comment" change_data="abc" issue_change_creation_date="[null]"/>
@@ -44,7 +44,7 @@
issue_close_date="[null]"
resolution="[null]" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1400000000000"/>
<issue_changes id="3" kee="[null]" issue_key="ISSUE-3" created_at="[null]" updated_at="[null]" user_login="admin" change_type="comment" change_data="abc" issue_change_creation_date="[null]"/>
<!-- recent open and closed issues -> do not purge -->
@@ -55,7 +55,7 @@
issue_close_date="[null]"
resolution="[null]" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1400000000000"/>
<issue_changes id="4" kee="[null]" issue_key="ISSUE-4" created_at="[null]" updated_at="[null]" user_login="admin" change_type="comment" change_data="abc" issue_change_creation_date="[null]"/>
<issues id="5" kee="ISSUE-5"
@@ -65,7 +65,7 @@
issue_close_date="2025-01-01"
resolution="FIXED" line="200" severity="BLOCKER" reporter="perceval" assignee="arthur" rule_id="500" manual_severity="[false]"
message="[null]" action_plan_key="[null]" effort_to_fix="[null]" technical_debt="[null]" issue_attributes="[null]" checksum="[null]" author_login="[null]"
- updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="2013-04-16"/>
+ updated_at="[null]" issue_creation_date="2013-04-16" issue_update_date="2013-04-16" created_at="1400000000000"/>
<issue_changes id="5" kee="[null]" issue_key="ISSUE-5" created_at="[null]" updated_at="[null]" user_login="admin" change_type="comment" change_data="abc" issue_change_creation_date="[null]"/>
</dataset>