aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2014-09-25 16:02:01 +0200
committerJulien Lancelot <julien.lancelot@sonarsource.com>2014-09-25 16:02:01 +0200
commit929496f12580f297e6e5b88392ea52ef8342686c (patch)
treed949b0f8e6471e6d545bab1068331b33dcf08372
parent02afc20bf8abe198abb54eccd72552c3d1874358 (diff)
downloadsonarqube-929496f12580f297e6e5b88392ea52ef8342686c.tar.gz
sonarqube-929496f12580f297e6e5b88392ea52ef8342686c.zip
Fix quality flaws
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/platform/BackendCleanup.java9
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexMediumTest.java10
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/server/ws/internal/ValidatingRequest.java3
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;