aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-core/src/main
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@sonarsource.com>2014-06-20 00:44:14 +0200
committerSimon Brandhof <simon.brandhof@sonarsource.com>2014-06-20 00:45:34 +0200
commit95eabd8a0a1b89c319f3e05cc163b88cc561f00d (patch)
treed90aa6326b49206eea238f3f11a4c292d49f4ff0 /sonar-core/src/main
parent2f779df51e9da5b07ad6f837fe1c98eab9fbf439 (diff)
downloadsonarqube-95eabd8a0a1b89c319f3e05cc163b88cc561f00d.tar.gz
sonarqube-95eabd8a0a1b89c319f3e05cc163b88cc561f00d.zip
SONAR-5007 add RULES_PROFILES.CREATED_AT, UPDATED_AT and RULES_UPDATED_AT
Diffstat (limited to 'sonar-core/src/main')
-rw-r--r--sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java2
-rw-r--r--sonar-core/src/main/java/org/sonar/core/persistence/migration/v44/Migration44Mapper.java7
-rw-r--r--sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileDto.java18
-rw-r--r--sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileMapper.java2
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/persistence/migration/v44/Migration44Mapper.xml10
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql2
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl5
7 files changed, 38 insertions, 8 deletions
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 0a449c778c4..e873c66cd80 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,7 @@ import java.util.List;
*/
public class DatabaseVersion implements BatchComponent, ServerComponent {
- public static final int LAST_VERSION = 551;
+ public static final int LAST_VERSION = 553;
public static enum Status {
UP_TO_DATE, REQUIRES_UPGRADE, REQUIRES_DOWNGRADE, FRESH_INSTALL
diff --git a/sonar-core/src/main/java/org/sonar/core/persistence/migration/v44/Migration44Mapper.java b/sonar-core/src/main/java/org/sonar/core/persistence/migration/v44/Migration44Mapper.java
index 2a514ff2d54..d27b8c95c4e 100644
--- a/sonar-core/src/main/java/org/sonar/core/persistence/migration/v44/Migration44Mapper.java
+++ b/sonar-core/src/main/java/org/sonar/core/persistence/migration/v44/Migration44Mapper.java
@@ -30,12 +30,13 @@ public interface Migration44Mapper {
// migration of measures "profile" and "profile_version"
List<ProfileMeasure> selectProfileMeasures();
int selectProfileVersion(long snapshotId);
- @CheckForNull Date selectProfileVersionDate(@Param("profileId") long profileId, @Param("profileVersion") int profileVersion);
+ @CheckForNull Date selectProfileVersionDate(@Param("profileId") int profileId, @Param("profileVersion") int profileVersion);
void updateProfileMeasure(@Param("measureId") long measureId, @Param("json") String json);
// creation of columns RULES_PROFILES.CREATED_AT and UPDATED_AT
- @CheckForNull Date selectProfileCreatedAt(long profileId);
- @CheckForNull Date selectProfileUpdatedAt(long profileId);
+ @CheckForNull Date selectProfileCreatedAt(int profileId);
+ @CheckForNull Date selectProfileUpdatedAt(int profileId);
+ void updateProfileDates(@Param("profileId") int profileId, @Param("createdAt") Date createdAt, @Param("updatedAt") Date updatedAt);
// migrate changeLog to Activities
List<ChangeLog> selectActiveRuleChange(@Param("enabled") Boolean enabled);
diff --git a/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileDto.java b/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileDto.java
index 992b8a7f57a..bc7224a5fc3 100644
--- a/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileDto.java
+++ b/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileDto.java
@@ -24,6 +24,7 @@ import org.sonar.core.persistence.Dto;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
+import java.util.Date;
public class QualityProfileDto extends Dto<String> {
@@ -32,6 +33,7 @@ public class QualityProfileDto extends Dto<String> {
private String name;
private String language;
private String parentKee;
+ private Date createdAt, updatedAt, rulesUpdatedAt;
/**
* @deprecated use {@link #createFor(String)}
@@ -96,6 +98,22 @@ public class QualityProfileDto extends Dto<String> {
return this;
}
+ public Date getCreatedAt() {
+ return createdAt;
+ }
+
+ public void setCreatedAt(Date createdAt) {
+ this.createdAt = createdAt;
+ }
+
+ public Date getUpdatedAt() {
+ return updatedAt;
+ }
+
+ public void setUpdatedAt(Date updatedAt) {
+ this.updatedAt = updatedAt;
+ }
+
public static QualityProfileDto createFor(String key) {
return new QualityProfileDto().setKee(key);
}
diff --git a/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileMapper.java b/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileMapper.java
index 3acfe871727..cef07f9a24a 100644
--- a/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileMapper.java
+++ b/sonar-core/src/main/java/org/sonar/core/qualityprofile/db/QualityProfileMapper.java
@@ -33,7 +33,7 @@ public interface QualityProfileMapper {
void update(QualityProfileDto dto);
- void delete(Integer id);
+ void delete(int id);
List<QualityProfileDto> selectAll();
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 150df88078d..4484a1111e6 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
@@ -29,16 +29,22 @@
where id=#{measureId}
</update>
- <select id="selectProfileUpdateAt" resultType="date" parameterType="long">
+ <select id="selectProfileUpdatedAt" resultType="date" parameterType="int">
select max(change_date) from active_rule_changes
where profile_id=#{id}
</select>
- <select id="selectProfileCreatedAt" resultType="date" parameterType="long">
+ <select id="selectProfileCreatedAt" resultType="date" parameterType="int">
select min(change_date) from active_rule_changes
where profile_id=#{id}
</select>
+ <update id="updateProfileDates" parameterType="map">
+ update rules_profiles
+ set created_at=#{createdAt}, updated_at=#{updatedAt}, rules_updated_at=#{updatedAt}
+ where id=#{profileId}
+ </update>
+
<select id="selectActiveRuleChange" parameterType="Boolean"
resultType="org.sonar.core.persistence.migration.v44.ChangeLog">
select
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 8b36b94db46..0485e75a976 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
@@ -244,6 +244,8 @@ INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('547');
INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('548');
INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('549');
INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('551');
+INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('552');
+INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('553');
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 3d5c02849c5..bea3a332c62 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
@@ -50,7 +50,10 @@ CREATE TABLE "RULES_PROFILES" (
"NAME" VARCHAR(100) NOT NULL,
"LANGUAGE" VARCHAR(20),
"KEE" VARCHAR(1000) NOT NULL,
- "PARENT_KEE" VARCHAR(1000)
+ "PARENT_KEE" VARCHAR(1000),
+ "RULES_UPDATED_AT" TIMESTAMP,
+ "CREATED_AT" TIMESTAMP,
+ "UPDATED_AT" TIMESTAMP
);
CREATE TABLE "WIDGETS" (