diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-09-25 16:02:01 +0200 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-09-25 16:02:01 +0200 |
commit | 929496f12580f297e6e5b88392ea52ef8342686c (patch) | |
tree | d949b0f8e6471e6d545bab1068331b33dcf08372 | |
parent | 02afc20bf8abe198abb54eccd72552c3d1874358 (diff) | |
download | sonarqube-929496f12580f297e6e5b88392ea52ef8342686c.tar.gz sonarqube-929496f12580f297e6e5b88392ea52ef8342686c.zip |
Fix quality flaws
3 files changed, 18 insertions, 4 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/platform/BackendCleanup.java b/server/sonar-server/src/main/java/org/sonar/server/platform/BackendCleanup.java index dc10991dc98..237dc2399d5 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/platform/BackendCleanup.java +++ b/server/sonar-server/src/main/java/org/sonar/server/platform/BackendCleanup.java @@ -19,6 +19,7 @@ */ package org.sonar.server.platform; +import org.apache.commons.dbutils.DbUtils; import org.elasticsearch.index.query.QueryBuilders; import org.sonar.api.ServerComponent; import org.sonar.core.persistence.DatabaseVersion; @@ -71,6 +72,7 @@ public class BackendCleanup implements ServerComponent { } finally { dbSession.close(); + DbUtils.closeQuietly(connection); } } @@ -110,7 +112,7 @@ public class BackendCleanup implements ServerComponent { // Clear resource related tables for (String relatedTable : RESOURCE_RELATED_TABLES) { - deleteWhereResoureIdNotNull(relatedTable, connection); + deleteWhereResourceIdNotNull(relatedTable, connection); } deleteManualRules(connection); @@ -120,16 +122,17 @@ public class BackendCleanup implements ServerComponent { } finally { dbSession.close(); + DbUtils.closeQuietly(connection); } } - private void deleteWhereResoureIdNotNull(String tableName, Connection connection) { + private void deleteWhereResourceIdNotNull(String tableName, Connection connection) { try { connection.prepareStatement("DELETE FROM " + tableName + " WHERE resource_id IS NOT NULL").execute(); // commit is useless on some databases connection.commit(); } catch (SQLException e) { - // frequent use-case : the table does not exist + throw new IllegalStateException("Fail to delete table : " + tableName, e); } } diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexMediumTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexMediumTest.java index 3e6ae8fbf7d..8b5e6ed768e 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexMediumTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexMediumTest.java @@ -132,6 +132,16 @@ public class IssueIndexMediumTest { } @Test(expected = IllegalStateException.class) + public void comments_field_is_not_available() throws Exception { + IssueDto issue = createIssue(); + db.issueDao().insert(session, issue); + session.commit(); + + Issue result = index.getByKey(issue.getKey()); + result.comments(); + } + + @Test(expected = IllegalStateException.class) public void is_new_field_is_not_available() throws Exception { IssueDto issue = createIssue(); db.issueDao().insert(session, issue); diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/internal/ValidatingRequest.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/internal/ValidatingRequest.java index 5836dd9914c..1a77b6d0ca9 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/internal/ValidatingRequest.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/internal/ValidatingRequest.java @@ -101,7 +101,8 @@ public abstract class ValidatingRequest extends Request { LoggerFactory.getLogger(getClass()).error(message); throw new IllegalArgumentException(message); } - String value = StringUtils.defaultString(readParam(definition.deprecatedKey()), readParam(key)); + String deprecatedKey = definition.deprecatedKey(); + String value = deprecatedKey != null ? StringUtils.defaultString(readParam(deprecatedKey), readParam(key)) : readParam(key); value = StringUtils.defaultString(value, definition.defaultValue()); if (value == null) { return null; |