diff options
author | Fabrice Bellingard <bellingard@gmail.com> | 2012-03-26 17:47:26 +0200 |
---|---|---|
committer | Fabrice Bellingard <bellingard@gmail.com> | 2012-03-26 17:49:24 +0200 |
commit | e93d3eb4d95d89051eb9ea6f6ab6b8f2f6751487 (patch) | |
tree | 0c4ac06e9b2ed161b0f8d20b22f034960b13107e /sonar-core/src | |
parent | c831c3b8e7038c79edb817a440f3a550d80b7a8d (diff) | |
download | sonarqube-e93d3eb4d95d89051eb9ea6f6ab6b8f2f6751487.tar.gz sonarqube-e93d3eb4d95d89051eb9ea6f6ab6b8f2f6751487.zip |
SONAR-3352 Fix issue linked to nullable boolean columns
Diffstat (limited to 'sonar-core/src')
6 files changed, 64 insertions, 9 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 260d2e15f57..af71db19c51 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 @@ -32,7 +32,7 @@ import java.util.List; */ public class DatabaseVersion implements BatchComponent, ServerComponent { - public static final int LAST_VERSION = 280; + public static final int LAST_VERSION = 281; public static enum Status { UP_TO_DATE, REQUIRES_UPGRADE, REQUIRES_DOWNGRADE, FRESH_INSTALL diff --git a/sonar-core/src/main/java/org/sonar/core/review/ReviewDto.java b/sonar-core/src/main/java/org/sonar/core/review/ReviewDto.java index b8bd91de2d7..9cebf37201e 100644 --- a/sonar-core/src/main/java/org/sonar/core/review/ReviewDto.java +++ b/sonar-core/src/main/java/org/sonar/core/review/ReviewDto.java @@ -52,8 +52,8 @@ public final class ReviewDto { private Date updatedAt; private String severity; private Integer ruleId; - private Boolean manualViolation; - private Boolean manualSeverity; + private boolean manualViolation; + private boolean manualSeverity; private Integer actionPlanId; public Long getId() { @@ -182,30 +182,30 @@ public final class ReviewDto { return this; } - public Boolean getManualViolation() { + public boolean getManualViolation() { return manualViolation; } public boolean isManualViolation() { - return manualViolation == Boolean.TRUE; + return manualViolation == true; } - public ReviewDto setManualViolation(@Nullable Boolean b) { + public ReviewDto setManualViolation(boolean b) { this.manualViolation = b; return this; } - public Boolean getManualSeverity() { + public boolean getManualSeverity() { return manualSeverity; } - public ReviewDto setManualSeverity(@Nullable Boolean b) { + public ReviewDto setManualSeverity(boolean b) { this.manualSeverity = b; return this; } public boolean isManualSeverity() { - return manualSeverity == Boolean.TRUE; + return manualSeverity == true; } public Integer getActionPlanId() { diff --git a/sonar-core/src/main/resources/org/sonar/core/persistence/rows-derby.sql b/sonar-core/src/main/resources/org/sonar/core/persistence/rows-derby.sql index f84b7198f8e..01697d00a17 100644 --- a/sonar-core/src/main/resources/org/sonar/core/persistence/rows-derby.sql +++ b/sonar-core/src/main/resources/org/sonar/core/persistence/rows-derby.sql @@ -180,6 +180,7 @@ INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('261'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('262'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('263'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('280'); +INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('281'); 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/test/java/org/sonar/core/review/ReviewDaoTest.java b/sonar-core/src/test/java/org/sonar/core/review/ReviewDaoTest.java index 155ba0f3d76..1c5f62fd852 100644 --- a/sonar-core/src/test/java/org/sonar/core/review/ReviewDaoTest.java +++ b/sonar-core/src/test/java/org/sonar/core/review/ReviewDaoTest.java @@ -98,4 +98,16 @@ public class ReviewDaoTest extends DaoTestCase { checkTables("update", "reviews"); } + + @Test + public void updateWithNullManualSeverityAndViolation() { + setupData("update_null_manual_severity_and_violation"); + Collection<ReviewDto> reviews = dao.selectOpenByResourceId(400L); + ReviewDto review = reviews.iterator().next(); + review.setLine(12345); + + dao.update(reviews); + + checkTables("update_null_manual_severity_and_violation", "reviews"); + } } diff --git a/sonar-core/src/test/resources/org/sonar/core/review/ReviewDaoTest/update_null_manual_severity_and_violation-result.xml b/sonar-core/src/test/resources/org/sonar/core/review/ReviewDaoTest/update_null_manual_severity_and_violation-result.xml new file mode 100644 index 00000000000..f9231700484 --- /dev/null +++ b/sonar-core/src/test/resources/org/sonar/core/review/ReviewDaoTest/update_null_manual_severity_and_violation-result.xml @@ -0,0 +1,21 @@ +<dataset> + + <reviews + id="100" + status="OPEN" + rule_failure_permanent_id="100" + resolution="RESOLVE" + created_at="[null]" + updated_at="[null]" + project_id="20" + resource_line="12345" + severity="BLOCKER" + user_id="300" + assignee_id="[null]" + title="[null]" + resource_id="400" + rule_id="500" + manual_violation="[false]" + manual_severity="[false]"/> + +</dataset> diff --git a/sonar-core/src/test/resources/org/sonar/core/review/ReviewDaoTest/update_null_manual_severity_and_violation.xml b/sonar-core/src/test/resources/org/sonar/core/review/ReviewDaoTest/update_null_manual_severity_and_violation.xml new file mode 100644 index 00000000000..f9445f75b91 --- /dev/null +++ b/sonar-core/src/test/resources/org/sonar/core/review/ReviewDaoTest/update_null_manual_severity_and_violation.xml @@ -0,0 +1,21 @@ +<dataset> + + <reviews + id="100" + status="OPEN" + rule_failure_permanent_id="100" + resolution="RESOLVE" + created_at="[null]" + updated_at="[null]" + project_id="20" + resource_line="200" + severity="BLOCKER" + user_id="300" + assignee_id="[null]" + title="[null]" + resource_id="400" + rule_id="500" + manual_violation="[null]" + manual_severity="[null]"/> + +</dataset> |