Skip to content

Commit

Permalink
Drop DataSourceSupport#configuredNames()
Browse files Browse the repository at this point in the history
It is misleading and can only lead to issues.
Per discussion with Yoann.
  • Loading branch information
gsmet committed Feb 22, 2024
1 parent 71f7909 commit 5ee3dc6
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,9 @@ protected void init() {
.get();
AgroalDataSourceSupport agroalSupport = Arc.container().instance(AgroalDataSourceSupport.class)
.get();
Set<String> names = support.getConfiguredNames();
Set<String> excludedNames = support.getInactiveOrHealthCheckExcludedNames();
for (String name : names) {
if (excludedNames.contains(name) || !agroalSupport.entries.containsKey(name)) {
for (String name : agroalSupport.entries.keySet()) {
if (excludedNames.contains(name)) {
continue;
}
DataSource ds = dataSources.get().getDataSource(name);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,12 @@ public class DataSourceRecorder {
public RuntimeValue<DataSourceSupport> createDataSourceSupport(
DataSourcesBuildTimeConfig buildTimeConfig,
DataSourcesRuntimeConfig runtimeConfig) {
Stream.Builder<String> configured = Stream.builder();
Stream.Builder<String> excludedForHealthChecks = Stream.builder();
for (Map.Entry<String, DataSourceBuildTimeConfig> dataSource : buildTimeConfig.dataSources().entrySet()) {
// TODO this is wrong, as the default datasource could be configured without db-kind being set:
// it's inferred automatically for the default datasource when possible.
// See https://github.com/quarkusio/quarkus/issues/37779
if (dataSource.getValue().dbKind().isPresent()) {
configured.add(dataSource.getKey());
}
if (dataSource.getValue().healthExclude()) {
excludedForHealthChecks.add(dataSource.getKey());
}
}
Set<String> names = configured.build().collect(toUnmodifiableSet());
Set<String> excludedNames = excludedForHealthChecks.build().collect(toUnmodifiableSet());

Stream.Builder<String> inactive = Stream.builder();
Expand All @@ -39,6 +31,6 @@ public RuntimeValue<DataSourceSupport> createDataSourceSupport(
}
Set<String> inactiveNames = inactive.build().collect(toUnmodifiableSet());

return new RuntimeValue<>(new DataSourceSupport(names, excludedNames, inactiveNames));
return new RuntimeValue<>(new DataSourceSupport(excludedNames, inactiveNames));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,17 @@
*/
public class DataSourceSupport {

private final Set<String> configuredNames;
private final Set<String> inactiveNames;
private final Set<String> inactiveOrHealthCheckExcludedNames;

public DataSourceSupport(Set<String> configuredNames, Set<String> healthCheckExcludedNames,
public DataSourceSupport(Set<String> healthCheckExcludedNames,
Set<String> inactiveNames) {
this.configuredNames = configuredNames;
this.inactiveOrHealthCheckExcludedNames = new HashSet<>();
inactiveOrHealthCheckExcludedNames.addAll(inactiveNames);
inactiveOrHealthCheckExcludedNames.addAll(healthCheckExcludedNames);
this.inactiveNames = inactiveNames;
}

// TODO careful when using this, as it might (incorrectly) not include the default datasource.
// See TODO in code that calls the constructor of this class.
// See https://github.com/quarkusio/quarkus/issues/37779
public Set<String> getConfiguredNames() {
return configuredNames;
}

public Set<String> getInactiveNames() {
return inactiveNames;
}
Expand Down

0 comments on commit 5ee3dc6

Please sign in to comment.