From 02cade230aec6e9f45f69185a2feec663e24da8a Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Wed, 10 Dec 2014 13:44:18 +0100 Subject: SONAR-5918 Convert USERS.UPDATED_AT and USERS.CREATED_AT in long --- .../sonar/core/persistence/DatabaseVersion.java | 4 +-- .../src/main/java/org/sonar/core/user/UserDto.java | 13 +++++---- .../org/sonar/core/persistence/rows-h2.sql | 5 +++- .../org/sonar/core/persistence/schema-h2.ddl | 6 +++-- .../test/java/org/sonar/core/user/UserDaoTest.java | 21 ++++++++++++--- .../user/UserDaoTest/deactivate_user-result.xml | 27 +++---------------- .../core/user/UserDaoTest/deactivate_user.xml | 31 +++++----------------- .../sonar/core/user/UserDaoTest/insert-result.xml | 2 +- .../user/UserDaoTest/selectActiveUserByLogin.xml | 6 ++--- .../core/user/UserDaoTest/selectGroupByName.xml | 2 +- .../core/user/UserDaoTest/selectUsersByLogins.xml | 6 ++--- .../core/user/UserDaoTest/selectUsersByQuery.xml | 23 ++-------------- .../core/user/UserDaoTest/selectUsersByText.xml | 23 ++-------------- 13 files changed, 55 insertions(+), 114 deletions(-) (limited to 'sonar-core') 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 4a103c02590..e4de173996f 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,10 +33,10 @@ import java.util.List; */ public class DatabaseVersion implements BatchComponent, ServerComponent { - public static final int LAST_VERSION = 751; + public static final int LAST_VERSION = 754; /** - * List of all the tables. + * List of all the tables.n * This list is hardcoded because we didn't succeed in using java.sql.DatabaseMetaData#getTables() in the same way * for all the supported databases, particularly due to Oracle results. */ diff --git a/sonar-core/src/main/java/org/sonar/core/user/UserDto.java b/sonar-core/src/main/java/org/sonar/core/user/UserDto.java index 585299a6713..4fc269fc0fa 100644 --- a/sonar-core/src/main/java/org/sonar/core/user/UserDto.java +++ b/sonar-core/src/main/java/org/sonar/core/user/UserDto.java @@ -20,7 +20,6 @@ package org.sonar.core.user; import javax.annotation.Nullable; -import java.util.Date; /** * @since 3.2 @@ -30,8 +29,8 @@ public class UserDto { private String login; private String name; private String email; - private Date createdAt; - private Date updatedAt; + private Long createdAt; + private Long updatedAt; private boolean active = true; public Long getId() { @@ -70,20 +69,20 @@ public class UserDto { return this; } - public Date getCreatedAt() { + public Long getCreatedAt() { return createdAt; } - public UserDto setCreatedAt(Date createdAt) { + public UserDto setCreatedAt(Long createdAt) { this.createdAt = createdAt; return this; } - public Date getUpdatedAt() { + public Long getUpdatedAt() { return updatedAt; } - public UserDto setUpdatedAt(Date updatedAt) { + public UserDto setUpdatedAt(Long updatedAt) { this.updatedAt = updatedAt; return this; } 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 6e9e8f5c12a..44722fe3358 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 @@ -280,6 +280,9 @@ INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('719'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('720'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('750'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('751'); +INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('752'); +INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('753'); +INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('754'); -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); +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', '1418215735482', '1418215735482', 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 7e26868aaab..9b434e00a20 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 @@ -323,8 +323,8 @@ CREATE TABLE "USERS" ( "EMAIL" VARCHAR(100), "CRYPTED_PASSWORD" VARCHAR(40), "SALT" VARCHAR(40), - "CREATED_AT" TIMESTAMP, - "UPDATED_AT" TIMESTAMP, + "CREATED_AT" BIGINT, + "UPDATED_AT" BIGINT, "REMEMBER_TOKEN" VARCHAR(500), "REMEMBER_TOKEN_EXPIRES_AT" TIMESTAMP, "ACTIVE" BOOLEAN DEFAULT TRUE @@ -694,6 +694,8 @@ CREATE INDEX "ISSUE_FILTER_FAVS_USER" ON "ISSUE_FILTER_FAVOURITES" ("USER_LOGIN" CREATE UNIQUE INDEX "USERS_LOGIN" ON "USERS" ("LOGIN"); +CREATE INDEX "USERS_UPDATED_AT" ON "USERS" ("UPDATED_AT"); + CREATE INDEX "SNAPSHOTS_ROOT_PROJECT_ID" ON "SNAPSHOTS" ("ROOT_PROJECT_ID"); CREATE INDEX "GROUP_ROLES_ROLE" ON "GROUP_ROLES" ("ROLE"); diff --git a/sonar-core/src/test/java/org/sonar/core/user/UserDaoTest.java b/sonar-core/src/test/java/org/sonar/core/user/UserDaoTest.java index 981695b23c9..0781d960195 100644 --- a/sonar-core/src/test/java/org/sonar/core/user/UserDaoTest.java +++ b/sonar-core/src/test/java/org/sonar/core/user/UserDaoTest.java @@ -27,7 +27,10 @@ import org.sonar.api.utils.DateUtils; import org.sonar.core.persistence.AbstractDaoTestCase; import org.sonar.core.persistence.DbSession; -import java.util.*; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.List; import static org.fest.assertions.Assertions.assertThat; @@ -166,12 +169,22 @@ public class UserDaoTest extends AbstractDaoTestCase { @Test public void insert_user() { - Date date = DateUtils.parseDate("2014-06-20"); + Long date = DateUtils.parseDate("2014-06-20").getTime(); UserDto userDto = new UserDto().setId(1L).setLogin("john").setName("John").setEmail("jo@hn.com").setCreatedAt(date).setUpdatedAt(date); dao.insert(session, userDto); - - checkTables("insert"); + session.commit(); + + UserDto user = dao.selectActiveUserByLogin("john"); + assertThat(user).isNotNull(); + assertThat(user.getId()).isNotNull(); + assertThat(user.getLogin()).isEqualTo("john"); + assertThat(user.getName()).isEqualTo("John"); + assertThat(user.getEmail()).isEqualTo("jo@hn.com"); + assertThat(user.getCreatedAt()).isEqualTo(date); + assertThat(user.getUpdatedAt()).isEqualTo(date); + + // checkTables("insert", new String[] {"id"}, "users"); } @Test diff --git a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/deactivate_user-result.xml b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/deactivate_user-result.xml index ff45e5df1ab..0de00c6c004 100644 --- a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/deactivate_user-result.xml +++ b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/deactivate_user-result.xml @@ -1,25 +1,6 @@ - - + - + @@ -43,13 +24,13 @@ - + - + diff --git a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/deactivate_user.xml b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/deactivate_user.xml index 2cd2c16822d..285b4f3c7ed 100644 --- a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/deactivate_user.xml +++ b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/deactivate_user.xml @@ -1,41 +1,22 @@ - - + - - + + - + - + @@ -45,7 +26,7 @@ - + diff --git a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/insert-result.xml b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/insert-result.xml index 374d956745d..f5b642f4fed 100644 --- a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/insert-result.xml +++ b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/insert-result.xml @@ -1,3 +1,3 @@ - + diff --git a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectActiveUserByLogin.xml b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectActiveUserByLogin.xml index 0052e0c54da..1927eda7d63 100644 --- a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectActiveUserByLogin.xml +++ b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectActiveUserByLogin.xml @@ -1,11 +1,11 @@ - + - + - + diff --git a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectGroupByName.xml b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectGroupByName.xml index 9434d78f050..01755d808c0 100644 --- a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectGroupByName.xml +++ b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectGroupByName.xml @@ -1,4 +1,4 @@ - \ No newline at end of file + diff --git a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectUsersByLogins.xml b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectUsersByLogins.xml index c192749b43a..3e671162c58 100644 --- a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectUsersByLogins.xml +++ b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectUsersByLogins.xml @@ -1,6 +1,6 @@ - - - + + + diff --git a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectUsersByQuery.xml b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectUsersByQuery.xml index 9614d25eb15..52a2421ea31 100644 --- a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectUsersByQuery.xml +++ b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectUsersByQuery.xml @@ -1,24 +1,5 @@ - - - + + diff --git a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectUsersByText.xml b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectUsersByText.xml index 09a42cde6f8..6f5237422f9 100644 --- a/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectUsersByText.xml +++ b/sonar-core/src/test/resources/org/sonar/core/user/UserDaoTest/selectUsersByText.xml @@ -1,24 +1,5 @@ - - - + + -- cgit v1.2.3