aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-application/src
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@sonarsource.com>2014-10-09 23:35:41 +0200
committerSimon Brandhof <simon.brandhof@sonarsource.com>2014-10-09 23:35:41 +0200
commit7d562d641868532e5edbd6f03fac739eff9bcc90 (patch)
tree35f7ac6c07958d80561c898b9956b6830a071a66 /sonar-application/src
parent39934181c5a5eba68665ea8922ff9a28322d0c0a (diff)
downloadsonarqube-7d562d641868532e5edbd6f03fac739eff9bcc90.tar.gz
sonarqube-7d562d641868532e5edbd6f03fac739eff9bcc90.zip
Fix quality flaws
Diffstat (limited to 'sonar-application/src')
-rw-r--r--sonar-application/src/main/java/org/sonar/application/JdbcSettings.java14
-rw-r--r--sonar-application/src/test/java/org/sonar/application/JdbcSettingsTest.java20
-rw-r--r--sonar-application/src/test/java/org/sonar/application/PropsBuilderTest.java6
3 files changed, 22 insertions, 18 deletions
diff --git a/sonar-application/src/main/java/org/sonar/application/JdbcSettings.java b/sonar-application/src/main/java/org/sonar/application/JdbcSettings.java
index 294eed9a108..4a34e55a642 100644
--- a/sonar-application/src/main/java/org/sonar/application/JdbcSettings.java
+++ b/sonar-application/src/main/java/org/sonar/application/JdbcSettings.java
@@ -20,6 +20,7 @@
package org.sonar.application;
import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang.StringUtils;
import org.slf4j.LoggerFactory;
import org.sonar.process.MessageException;
import org.sonar.process.ProcessConstants;
@@ -27,10 +28,8 @@ import org.sonar.process.Props;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
-
import java.io.File;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -38,8 +37,8 @@ import java.util.regex.Pattern;
public class JdbcSettings {
static enum Provider {
- h2(null), jtds("lib/jdbc/jtds"), mysql("lib/jdbc/mysql"), oracle("extensions/jdbc-driver/oracle"),
- postgresql("lib/jdbc/postgresql");
+ H2(null), JTDS("lib/jdbc/jtds"), MYSQL("lib/jdbc/mysql"), ORACLE("extensions/jdbc-driver/oracle"),
+ POSTGRESQL("lib/jdbc/postgresql");
final String path;
@@ -86,15 +85,14 @@ public class JdbcSettings {
}
String key = matcher.group(1);
try {
- return Provider.valueOf(key);
+ return Provider.valueOf(StringUtils.upperCase(key));
} catch (IllegalArgumentException e) {
- throw new MessageException(String.format(String.format("Unsupported JDBC driver provider: %s. Accepted values are %s", key,
- Arrays.toString(Provider.values()))));
+ throw new MessageException(String.format(String.format("Unsupported JDBC driver provider: %s", key)));
}
}
void checkUrlParameters(Provider provider, String url) {
- if (Provider.mysql.equals(provider)) {
+ if (Provider.MYSQL.equals(provider)) {
checkRequiredParameter(url, "useUnicode=true");
checkRequiredParameter(url, "characterEncoding=utf8");
checkRecommendedParameter(url, "rewriteBatchedStatements=true");
diff --git a/sonar-application/src/test/java/org/sonar/application/JdbcSettingsTest.java b/sonar-application/src/test/java/org/sonar/application/JdbcSettingsTest.java
index edca761aa98..5a2708ab5c8 100644
--- a/sonar-application/src/test/java/org/sonar/application/JdbcSettingsTest.java
+++ b/sonar-application/src/test/java/org/sonar/application/JdbcSettingsTest.java
@@ -42,14 +42,14 @@ public class JdbcSettingsTest {
@Test
public void driver_provider() throws Exception {
- assertThat(settings.driverProvider("jdbc:oracle:thin:@localhost/XE")).isEqualTo(JdbcSettings.Provider.oracle);
+ assertThat(settings.driverProvider("jdbc:oracle:thin:@localhost/XE")).isEqualTo(JdbcSettings.Provider.ORACLE);
assertThat(settings.driverProvider("jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance"))
- .isEqualTo(JdbcSettings.Provider.mysql);
+ .isEqualTo(JdbcSettings.Provider.MYSQL);
try {
settings.driverProvider("jdbc:sqlserver://localhost");
fail();
} catch (MessageException e) {
- assertThat(e).hasMessage("Unsupported JDBC driver provider: sqlserver. Accepted values are [h2, jtds, mysql, oracle, postgresql]");
+ assertThat(e).hasMessage("Unsupported JDBC driver provider: sqlserver");
}
try {
settings.driverProvider("oracle:thin:@localhost/XE");
@@ -64,16 +64,16 @@ public class JdbcSettingsTest {
Props props = new Props(new Properties());
// minimal -> ok
- settings.checkUrlParameters(JdbcSettings.Provider.mysql,
+ settings.checkUrlParameters(JdbcSettings.Provider.MYSQL,
"jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8");
// full -> ok
- settings.checkUrlParameters(JdbcSettings.Provider.mysql,
+ settings.checkUrlParameters(JdbcSettings.Provider.MYSQL,
"jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance");
// missing required -> ko
try {
- settings.checkUrlParameters(JdbcSettings.Provider.mysql,
+ settings.checkUrlParameters(JdbcSettings.Provider.MYSQL,
"jdbc:mysql://localhost:3306/sonar?characterEncoding=utf8");
fail();
} catch (MessageException e) {
@@ -132,7 +132,7 @@ public class JdbcSettingsTest {
File driverFile = new File(home, "extensions/jdbc-driver/oracle/ojdbc6.jar");
FileUtils.touch(driverFile);
- String path = settings.driverPath(home, JdbcSettings.Provider.oracle);
+ String path = settings.driverPath(home, JdbcSettings.Provider.ORACLE);
assertThat(path).isEqualTo(driverFile.getAbsolutePath());
}
@@ -140,7 +140,7 @@ public class JdbcSettingsTest {
public void driver_dir_does_not_exist() throws Exception {
File home = temp.newFolder();
try {
- settings.driverPath(home, JdbcSettings.Provider.oracle);
+ settings.driverPath(home, JdbcSettings.Provider.ORACLE);
fail();
} catch (MessageException e) {
assertThat(e).hasMessage("Directory does not exist: extensions/jdbc-driver/oracle");
@@ -152,7 +152,7 @@ public class JdbcSettingsTest {
File home = temp.newFolder();
FileUtils.forceMkdir(new File(home, "extensions/jdbc-driver/oracle"));
try {
- settings.driverPath(home, JdbcSettings.Provider.oracle);
+ settings.driverPath(home, JdbcSettings.Provider.ORACLE);
fail();
} catch (MessageException e) {
assertThat(e).hasMessage("Directory does not contain JDBC driver: extensions/jdbc-driver/oracle");
@@ -166,7 +166,7 @@ public class JdbcSettingsTest {
FileUtils.touch(new File(home, "extensions/jdbc-driver/oracle/ojdbc6.jar"));
try {
- settings.driverPath(home, JdbcSettings.Provider.oracle);
+ settings.driverPath(home, JdbcSettings.Provider.ORACLE);
fail();
} catch (MessageException e) {
assertThat(e).hasMessage("Directory must contain only one JAR file: extensions/jdbc-driver/oracle");
diff --git a/sonar-application/src/test/java/org/sonar/application/PropsBuilderTest.java b/sonar-application/src/test/java/org/sonar/application/PropsBuilderTest.java
index be6387c212c..7c37363bb68 100644
--- a/sonar-application/src/test/java/org/sonar/application/PropsBuilderTest.java
+++ b/sonar-application/src/test/java/org/sonar/application/PropsBuilderTest.java
@@ -117,4 +117,10 @@ public class PropsBuilderTest {
// command-line arguments override sonar.properties file
assertThat(props.value("sonar.origin")).isEqualTo("raw");
}
+
+ @Test
+ public void detectHomeDir() throws Exception {
+ assertThat(PropsBuilder.detectHomeDir()).isDirectory().exists();
+
+ }
}