@VisibleForTesting void initSettings() { properties = new Properties(); completeProperties(settings, properties, SONAR_JDBC); completeDefaultProperty(properties, JDBC_URL.getKey(), DEFAULT_URL); doCompleteProperties(properties); dialect = DialectUtils.find(properties.getProperty(SONAR_JDBC_DIALECT), properties.getProperty(JDBC_URL.getKey())); properties.setProperty(SONAR_JDBC_DRIVER, dialect.getDefaultDriverClassName()); }
public static Dialect find(String dialectId, String jdbcConnectionUrl) { Optional<Dialect> match = StringUtils.isNotBlank(dialectId) ? findById(dialectId) : findByJdbcUrl(jdbcConnectionUrl); return match.orElseThrow(() -> MessageException.of( "Unable to determine database dialect to use within sonar with dialect " + dialectId + " jdbc url " + jdbcConnectionUrl)); }
private static Optional<Dialect> findById(String dialectId) { return findDialect(dialect -> dialect != null && dialect.getId().equals(dialectId)); }
public static Dialect find(final String dialectId, final String jdbcConnectionUrl) { Dialect match = StringUtils.isNotBlank(dialectId) ? findById(dialectId) : findByJdbcUrl(jdbcConnectionUrl); if (match == null) { throw MessageException.of("Unable to determine database dialect to use within sonar with dialect " + dialectId + " jdbc url " + jdbcConnectionUrl); } return match; }
@Test(expected = MessageException.class) public void testFindNoMatch() { DialectUtils.find("foo", "bar"); } }
private static Optional<Dialect> findByJdbcUrl(String jdbcConnectionUrl) { return findDialect(dialect -> dialect != null && dialect.matchesJdbcUrl(StringUtils.trimToEmpty(jdbcConnectionUrl))); }
public static Dialect find(String dialectId, String jdbcConnectionUrl) { Optional<Dialect> match = StringUtils.isNotBlank(dialectId) ? findById(dialectId) : findByJdbcUrl(jdbcConnectionUrl); return match.orElseThrow(() -> MessageException.of( "Unable to determine database dialect to use within sonar with dialect " + dialectId + " jdbc url " + jdbcConnectionUrl)); }
@Test public void testFindById() { Dialect d = DialectUtils.find("mysql", null); assertThat(d).isInstanceOf(MySql.class); }
@CheckForNull private static Dialect findById(final String dialectId) { return findDialect(dialect -> dialect != null && dialect.getId().equals(dialectId)); }
@Test public void testFindByJdbcUrl() { Dialect d = DialectUtils.find(null, "jdbc:mysql:foo:bar"); assertThat(d).isInstanceOf(MySql.class); }
private static Optional<Dialect> findById(String dialectId) { return findDialect(dialect -> dialect != null && dialect.getId().equals(dialectId)); }
@VisibleForTesting void initSettings() { properties = new Properties(); completeProperties(settings, properties, SONAR_JDBC); completeDefaultProperty(properties, DatabaseProperties.PROP_URL, DEFAULT_URL); doCompleteProperties(properties); dialect = DialectUtils.find(properties.getProperty(SONAR_JDBC_DIALECT), properties.getProperty(SONAR_JDBC_URL)); properties.setProperty(DatabaseProperties.PROP_DRIVER, dialect.getDefaultDriverClassName()); }
@CheckForNull private static Dialect findByJdbcUrl(final String jdbcConnectionUrl) { return findDialect(dialect -> dialect != null && dialect.matchesJdbcURL(StringUtils.trimToEmpty(jdbcConnectionUrl))); }
@VisibleForTesting void initSettings() { properties = new Properties(); completeProperties(settings, properties, SONAR_JDBC); completeDefaultProperty(properties, JDBC_URL.getKey(), DEFAULT_URL); doCompleteProperties(properties); dialect = DialectUtils.find(properties.getProperty(SONAR_JDBC_DIALECT), properties.getProperty(JDBC_URL.getKey())); properties.setProperty(SONAR_JDBC_DRIVER, dialect.getDefaultDriverClassName()); }
private static Optional<Dialect> findByJdbcUrl(String jdbcConnectionUrl) { return findDialect(dialect -> dialect != null && dialect.matchesJdbcUrl(StringUtils.trimToEmpty(jdbcConnectionUrl))); }