Skip to content

Commit

Permalink
Update quarkus version to 3.14.4.
Browse files Browse the repository at this point in the history
  • Loading branch information
orekyuu committed Sep 25, 2024
1 parent a2f3ebd commit 44e722f
Show file tree
Hide file tree
Showing 7 changed files with 485 additions and 193 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package io.quarkiverse.doma.deployment;

import java.util.Optional;

import io.quarkiverse.doma.runtime.DomaSettings;

public class DefaultDataSourceBuildTimeConfig implements DomaBuildTimeConfig.DataSourceBuildTimeConfig {
public static final String DEFAULT_BATCH_SIZE = "0";
public static final String DEFAULT_FETCH_SIZE = "0";
public static final String DEFAULT_MAX_ROWS = "0";
public static final String DEFAULT_QUERY_TIMEOUT = "0";

@Override
public Optional<DomaSettings.DialectType> dialect() {
return Optional.empty();
}

@Override
public int batchSize() {
return Integer.parseInt(DEFAULT_BATCH_SIZE);
}

@Override
public int fetchSize() {
return Integer.parseInt(DEFAULT_FETCH_SIZE);
}

@Override
public int maxRows() {
return Integer.parseInt(DEFAULT_MAX_ROWS);
}

@Override
public int queryTimeout() {
return Integer.parseInt(DEFAULT_QUERY_TIMEOUT);
}

@Override
public Optional<String> sqlLoadScript() {
return Optional.empty();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,93 +9,95 @@
import io.quarkiverse.doma.runtime.DomaSettings;
import io.quarkus.runtime.annotations.ConfigDocMapKey;
import io.quarkus.runtime.annotations.ConfigDocSection;
import io.quarkus.runtime.annotations.ConfigGroup;
import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
import io.smallrye.config.ConfigMapping;
import io.smallrye.config.WithDefault;
import io.smallrye.config.WithDefaults;
import io.smallrye.config.WithParentName;

@ConfigRoot
public class DomaBuildTimeConfig {
@ConfigMapping(prefix = "quarkus.doma")
@ConfigRoot(phase = ConfigPhase.BUILD_TIME)
public interface DomaBuildTimeConfig {

public static final String SQL_LOAD_SCRIPT_DEFAULT = "import.sql";
public static final String SQL_LOAD_SCRIPT_NO_FILE = "no-file";
String SQL_LOAD_SCRIPT_DEFAULT = "import.sql";
String SQL_LOAD_SCRIPT_NO_FILE = "no-file";

/** The default datasource. */
@ConfigItem(name = ConfigItem.PARENT)
public DataSourceBuildTimeConfig defaultDataSource;
@WithParentName
DataSourceBuildTimeConfig defaultDataSource();

/** Additional named datasources. */
@ConfigDocSection
@ConfigDocMapKey("datasource-name")
@ConfigItem(name = ConfigItem.PARENT)
public Map<String, DataSourceBuildTimeConfig> namedDataSources;
@WithDefaults
@WithParentName
Map<String, DataSourceBuildTimeConfig> namedDataSources();

/**
* The SQL file repository.
*
* @see Config#getSqlFileRepository()
*/
@ConfigItem(defaultValue = "greedy-cache")
public DomaSettings.SqlFileRepositoryType sqlFileRepository;
@WithDefault("greedy-cache")
DomaSettings.SqlFileRepositoryType sqlFileRepository();

/**
* The naming convention controller.
*
* @see Config#getNaming()
*/
@ConfigItem(defaultValue = "none")
public DomaSettings.NamingType naming;
@WithDefault("none")
DomaSettings.NamingType naming();

/**
* The SQL log type that determines the SQL log format in exceptions.
*
* @see Config#getExceptionSqlLogType()
*/
@ConfigItem(defaultValue = "none")
public SqlLogType exceptionSqlLogType;
@WithDefault("none")
SqlLogType exceptionSqlLogType();

@SuppressWarnings("CanBeFinal")
@ConfigGroup
public static class DataSourceBuildTimeConfig {
interface DataSourceBuildTimeConfig {
/**
* The SQL dialect.
*
* @see Config#getDialect()
*/
@SuppressWarnings("OptionalUsedAsFieldOrParameterType")
@ConfigItem(defaultValueDocumentation = "depends on 'quarkus.datasource.db-kind'")
public Optional<DomaSettings.DialectType> dialect = Optional.empty();
Optional<DomaSettings.DialectType> dialect();

/**
* The batch size.
*
* @see Config#getBatchSize()
*/
@ConfigItem(defaultValue = "0")
public int batchSize = 0;
@WithDefault(DefaultDataSourceBuildTimeConfig.DEFAULT_BATCH_SIZE)
int batchSize();

/**
* The fetch size.
*
* @see Config#getFetchSize()
*/
@ConfigItem(defaultValue = "0")
public int fetchSize = 0;
@WithDefault(DefaultDataSourceBuildTimeConfig.DEFAULT_FETCH_SIZE)
int fetchSize();

/**
* The max rows.
*
* @see Config#getMaxRows()
*/
@ConfigItem(defaultValue = "0")
public int maxRows = 0;
@WithDefault(DefaultDataSourceBuildTimeConfig.DEFAULT_MAX_ROWS)
int maxRows();

/**
* The query timeout limit in seconds.
*
* @see Config#getQueryTimeout()
*/
@ConfigItem(defaultValue = "0")
public int queryTimeout = 0;
@WithDefault(DefaultDataSourceBuildTimeConfig.DEFAULT_QUERY_TIMEOUT)
int queryTimeout();

/**
* Name of the file containing the SQL statements to execute when Doma starts. Its default value
Expand All @@ -109,41 +111,6 @@ public static class DataSourceBuildTimeConfig {
* Pass an explicit value to force Doma to execute the SQL import file.
*/
@SuppressWarnings("OptionalUsedAsFieldOrParameterType")
@ConfigItem(defaultValueDocumentation = "import.sql in DEV, TEST ; no-file otherwise")
public Optional<String> sqlLoadScript = Optional.empty();

@Override
public String toString() {
return "DataSourceBuildTimeConfig{"
+ "dialect="
+ dialect
+ ", batchSize="
+ batchSize
+ ", fetchSize="
+ fetchSize
+ ", maxRows="
+ maxRows
+ ", queryTimeout="
+ queryTimeout
+ ", sqlLoadScript="
+ sqlLoadScript
+ '}';
}
}

@Override
public String toString() {
return "DomaBuildTimeConfig{"
+ "defaultDataSource="
+ defaultDataSource
+ ", namedDataSources="
+ namedDataSources
+ ", sqlFileRepository="
+ sqlFileRepository
+ ", naming="
+ naming
+ ", exceptionSqlLogType="
+ exceptionSqlLogType
+ '}';
Optional<String> sqlLoadScript();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ public class DomaSettingsFactory {

DomaSettings create() {
DomaSettings settings = new DomaSettings();
settings.sqlFileRepository = buildTimeConfig.sqlFileRepository;
settings.naming = buildTimeConfig.naming;
settings.exceptionSqlLogType = buildTimeConfig.exceptionSqlLogType;
settings.sqlFileRepository = buildTimeConfig.sqlFileRepository();
settings.naming = buildTimeConfig.naming();
settings.exceptionSqlLogType = buildTimeConfig.exceptionSqlLogType();
settings.dataSources = dataSources();
if (dataSources.isEmpty()) {
throw new IllegalStateException("The quarkus.datasource is empty. Specify it.");
Expand All @@ -68,11 +68,11 @@ private List<DomaSettings.DataSourceSettings> dataSources() {
JdbcDataSourceBuildItem dataSource = e.getValue();
DomaBuildTimeConfig.DataSourceBuildTimeConfig dataSourceBuildTimeConfig;
if (dataSource.isDefault()) {
dataSourceBuildTimeConfig = buildTimeConfig.defaultDataSource;
dataSourceBuildTimeConfig = buildTimeConfig.defaultDataSource();
} else {
dataSourceBuildTimeConfig = buildTimeConfig.namedDataSources.get(name);
dataSourceBuildTimeConfig = buildTimeConfig.namedDataSources().get(name);
if (dataSourceBuildTimeConfig == null) {
dataSourceBuildTimeConfig = new DomaBuildTimeConfig.DataSourceBuildTimeConfig();
dataSourceBuildTimeConfig = new DefaultDataSourceBuildTimeConfig();
}
}
return createDataSourceSettings(dataSource, dataSourceBuildTimeConfig);
Expand All @@ -86,13 +86,13 @@ private DomaSettings.DataSourceSettings createDataSourceSettings(
DomaSettings.DataSourceSettings settings = new DomaSettings.DataSourceSettings();
settings.name = dataSource.getName();
settings.isDefault = dataSource.isDefault();
settings.dialect = dataSourceBuildTimeConfig.dialect.orElseGet(
settings.dialect = dataSourceBuildTimeConfig.dialect().orElseGet(
() -> resolveDialectType(dataSource.getDbKind()));
settings.batchSize = dataSourceBuildTimeConfig.batchSize;
settings.fetchSize = dataSourceBuildTimeConfig.fetchSize;
settings.maxRows = dataSourceBuildTimeConfig.maxRows;
settings.queryTimeout = dataSourceBuildTimeConfig.queryTimeout;
settings.sqlLoadScript = resolveSqlLoadScript(dataSourceBuildTimeConfig.sqlLoadScript);
settings.batchSize = dataSourceBuildTimeConfig.batchSize();
settings.fetchSize = dataSourceBuildTimeConfig.fetchSize();
settings.maxRows = dataSourceBuildTimeConfig.maxRows();
settings.queryTimeout = dataSourceBuildTimeConfig.queryTimeout();
settings.sqlLoadScript = resolveSqlLoadScript(dataSourceBuildTimeConfig.sqlLoadScript());
return settings;
}

Expand Down
Loading

0 comments on commit 44e722f

Please sign in to comment.