From 95eabd8a0a1b89c319f3e05cc163b88cc561f00d Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Fri, 20 Jun 2014 00:44:14 +0200 Subject: SONAR-5007 add RULES_PROFILES.CREATED_AT, UPDATED_AT and RULES_UPDATED_AT --- .../org/sonar/core/persistence/DatabaseVersion.java | 2 +- .../persistence/migration/v44/Migration44Mapper.java | 7 ++++--- .../core/qualityprofile/db/QualityProfileDto.java | 18 ++++++++++++++++++ .../core/qualityprofile/db/QualityProfileMapper.java | 2 +- .../persistence/migration/v44/Migration44Mapper.xml | 10 ++++++++-- .../resources/org/sonar/core/persistence/rows-h2.sql | 2 ++ .../resources/org/sonar/core/persistence/schema-h2.ddl | 5 ++++- 7 files changed, 38 insertions(+), 8 deletions(-) (limited to 'sonar-core/src/main') 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 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 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 { @@ -32,6 +33,7 @@ public class QualityProfileDto extends Dto { 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 { 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 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} - select max(change_date) from active_rule_changes where profile_id=#{id} - select min(change_date) from active_rule_changes where profile_id=#{id} + + update rules_profiles + set created_at=#{createdAt}, updated_at=#{updatedAt}, rules_updated_at=#{updatedAt} + where id=#{profileId} + +