From 9a4a20537cf76dce4fbfc1dbc3e400fb3d275968 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Mon, 15 May 2017 11:19:19 -0700 Subject: [PATCH] Polish --- .../liquibase/LiquibaseAutoConfiguration.java | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java index 7257191b068..b732ae6700f 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java @@ -116,18 +116,14 @@ public class LiquibaseAutoConfiguration { } private SpringLiquibase createSpringLiquibase() { - SpringLiquibase liquibase; - DataSource dataSourceToUse = getDataSource(); - if (dataSourceToUse == null) { - dataSourceToUse = DataSourceBuilder.create().url(this.properties.getUrl()) - .username(this.properties.getUser()) - .password(this.properties.getPassword()).build(); - liquibase = new DataSourceClosingSpringLiquibase(); + DataSource liquibaseDataSource = getDataSource(); + if (liquibaseDataSource != null) { + SpringLiquibase liquibase = new SpringLiquibase(); + liquibase.setDataSource(liquibaseDataSource); + return liquibase; } - else { - liquibase = new SpringLiquibase(); - } - liquibase.setDataSource(dataSourceToUse); + SpringLiquibase liquibase = new DataSourceClosingSpringLiquibase(); + liquibase.setDataSource(createNewDataSource()); return liquibase; } @@ -135,12 +131,18 @@ public class LiquibaseAutoConfiguration { if (this.liquibaseDataSource != null) { return this.liquibaseDataSource; } - else if (this.properties.getUrl() == null) { + if (this.properties.getUrl() == null) { return this.dataSource; } return null; } + private DataSource createNewDataSource() { + return DataSourceBuilder.create().url(this.properties.getUrl()) + .username(this.properties.getUser()) + .password(this.properties.getPassword()).build(); + } + } /** @@ -172,8 +174,8 @@ public class LiquibaseAutoConfiguration { } private void closeDataSource() { - Method closeMethod = ReflectionUtils.findMethod(getDataSource().getClass(), - "close"); + Class dataSourceClass = getDataSource().getClass(); + Method closeMethod = ReflectionUtils.findMethod(dataSourceClass, "close"); if (closeMethod != null) { ReflectionUtils.invokeMethod(closeMethod, getDataSource()); }