Skip to content

Commit

Permalink
Rename derivefrom to align with DataSourceBuilder
Browse files Browse the repository at this point in the history
Rename the `derivefrom` method in `ConnectionFactoryBuilder` to
`derivedFrom` to align with `DataSourceBuilder`.

Fixes gh-26810
  • Loading branch information
philwebb committed Jun 8, 2021
1 parent f8c3e0e commit b7ac1e6
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 5 deletions.
Expand Up @@ -50,7 +50,8 @@ R2dbcScriptDatabaseInitializer r2dbcScriptDatabaseInitializer(ConnectionFactory
private static ConnectionFactory determineConnectionFactory(ConnectionFactory connectionFactory, String username,
String password) {
if (StringUtils.hasText(username) && StringUtils.hasText(password)) {
return ConnectionFactoryBuilder.derivefrom(connectionFactory).username(username).password(password).build();
return ConnectionFactoryBuilder.derivedFrom(connectionFactory).username(username).password(password)
.build();
}
return connectionFactory;
}
Expand Down
Expand Up @@ -92,8 +92,23 @@ public static ConnectionFactoryBuilder withOptions(Builder options) {
* @param connectionFactory the connection factory whose options are to be used to
* initialize the builder
* @return a new builder initialized with the options from the connection factory
* @deprecated since 2.5.0 for removal in 2.7.0 in favor of
* {@link #derivedFrom(ConnectionFactory)}
*/
@Deprecated
public static ConnectionFactoryBuilder derivefrom(ConnectionFactory connectionFactory) {
return derivedFrom(connectionFactory);
}

/**
* Initialize a new {@link ConnectionFactoryBuilder} derived from the options of the
* specified {@code connectionFactory}.
* @param connectionFactory the connection factory whose options are to be used to
* initialize the builder
* @return a new builder initialized with the options from the connection factory
* @since 2.5.1
*/
public static ConnectionFactoryBuilder derivedFrom(ConnectionFactory connectionFactory) {
ConnectionFactoryOptions options = extractOptionsIfPossible(connectionFactory);
if (options == null) {
throw new IllegalArgumentException(
Expand Down
Expand Up @@ -141,8 +141,8 @@ void buildWhenDerivedWithNewDatabaseReturnsNewConnectionFactory() {
.withUrl(EmbeddedDatabaseConnection.H2.getUrl(intialDatabaseName)).build();
ConnectionFactoryOptions initialOptions = ((OptionsCapableConnectionFactory) connectionFactory).getOptions();
String derivedDatabaseName = UUID.randomUUID().toString();
ConnectionFactory derived = ConnectionFactoryBuilder.derivefrom(connectionFactory).database(derivedDatabaseName)
.build();
ConnectionFactory derived = ConnectionFactoryBuilder.derivedFrom(connectionFactory)
.database(derivedDatabaseName).build();
ConnectionFactoryOptions derivedOptions = ((OptionsCapableConnectionFactory) derived).getOptions();
assertThat(derivedOptions.getRequiredValue(ConnectionFactoryOptions.DATABASE)).isEqualTo(derivedDatabaseName);
assertMatchingOptions(derivedOptions, initialOptions, ConnectionFactoryOptions.CONNECT_TIMEOUT,
Expand All @@ -156,7 +156,7 @@ void buildWhenDerivedWithNewCredentialsReturnsNewConnectionFactory() {
ConnectionFactory connectionFactory = ConnectionFactoryBuilder
.withUrl(EmbeddedDatabaseConnection.H2.getUrl(UUID.randomUUID().toString())).build();
ConnectionFactoryOptions initialOptions = ((OptionsCapableConnectionFactory) connectionFactory).getOptions();
ConnectionFactory derived = ConnectionFactoryBuilder.derivefrom(connectionFactory).username("admin")
ConnectionFactory derived = ConnectionFactoryBuilder.derivedFrom(connectionFactory).username("admin")
.password("secret").build();
ConnectionFactoryOptions derivedOptions = ((OptionsCapableConnectionFactory) derived).getOptions();
assertThat(derivedOptions.getRequiredValue(ConnectionFactoryOptions.USER)).isEqualTo("admin");
Expand All @@ -173,7 +173,7 @@ void buildWhenDerivedFromPoolReturnsNewNonPooledConnectionFactory() {
ConnectionFactoryOptions initialOptions = ((OptionsCapableConnectionFactory) connectionFactory).getOptions();
ConnectionPoolConfiguration poolConfiguration = ConnectionPoolConfiguration.builder(connectionFactory).build();
ConnectionPool pool = new ConnectionPool(poolConfiguration);
ConnectionFactory derived = ConnectionFactoryBuilder.derivefrom(pool).username("admin").password("secret")
ConnectionFactory derived = ConnectionFactoryBuilder.derivedFrom(pool).username("admin").password("secret")
.build();
assertThat(derived).isNotInstanceOf(ConnectionPool.class).isInstanceOf(OptionsCapableConnectionFactory.class);
ConnectionFactoryOptions derivedOptions = ((OptionsCapableConnectionFactory) derived).getOptions();
Expand Down

0 comments on commit b7ac1e6

Please sign in to comment.