From 929496f12580f297e6e5b88392ea52ef8342686c Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Thu, 25 Sep 2014 16:02:01 +0200 Subject: [PATCH] Fix quality flaws --- .../java/org/sonar/server/platform/BackendCleanup.java | 9 ++++++--- .../sonar/server/issue/index/IssueIndexMediumTest.java | 10 ++++++++++ .../api/server/ws/internal/ValidatingRequest.java | 3 ++- 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 @@ -131,6 +131,16 @@ public class IssueIndexMediumTest { assertThat(result.attribute("jira-issue-key")).isEqualTo("SONAR-1234"); } + @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(); 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; -- 2.39.5