diff options
author | Simon Brandhof <simon.brandhof@sonarsource.com> | 2014-10-09 23:35:41 +0200 |
---|---|---|
committer | Simon Brandhof <simon.brandhof@sonarsource.com> | 2014-10-09 23:35:41 +0200 |
commit | 7d562d641868532e5edbd6f03fac739eff9bcc90 (patch) | |
tree | 35f7ac6c07958d80561c898b9956b6830a071a66 /sonar-application/src | |
parent | 39934181c5a5eba68665ea8922ff9a28322d0c0a (diff) | |
download | sonarqube-7d562d641868532e5edbd6f03fac739eff9bcc90.tar.gz sonarqube-7d562d641868532e5edbd6f03fac739eff9bcc90.zip |
Fix quality flaws
Diffstat (limited to 'sonar-application/src')
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(); + + } } |