diff --git a/org.springframework.jdbc/src/main/java/org/springframework/jdbc/datasource/init/DataSourceInitializer.java b/org.springframework.jdbc/src/main/java/org/springframework/jdbc/datasource/init/DataSourceInitializer.java index e9278478263..a6e394e78c5 100644 --- a/org.springframework.jdbc/src/main/java/org/springframework/jdbc/datasource/init/DataSourceInitializer.java +++ b/org.springframework.jdbc/src/main/java/org/springframework/jdbc/datasource/init/DataSourceInitializer.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2009 the original author or authors. + * Copyright 2002-2010 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.jdbc.datasource.init; import java.sql.Connection; import java.sql.SQLException; - import javax.sql.DataSource; import org.springframework.beans.factory.InitializingBean; @@ -26,6 +26,7 @@ import org.springframework.util.Assert; /** * Used to populate a database during initialization. + * * @author Dave Syer * @since 3.0 * @see DatabasePopulator @@ -38,16 +39,19 @@ public class DataSourceInitializer implements InitializingBean { private boolean enabled = true; + /** - * Flag to explicitly enable or disable the database populator. - * @param enabled true if the database populator will be called on startup + * The {@link DataSource} to populate when this component is initialized. + * Mandatory with no default. + * @param dataSource the DataSource */ - public void setEnabled(boolean enabled) { - this.enabled = enabled; + public void setDataSource(DataSource dataSource) { + this.dataSource = dataSource; } /** - * The {@link DatabasePopulator} to use to populate the data source. Mandatory with no default. + * The {@link DatabasePopulator} to use to populate the data source. + * Mandatory with no default. * @param databasePopulator the database populator to use. */ public void setDatabasePopulator(DatabasePopulator databasePopulator) { @@ -55,21 +59,21 @@ public class DataSourceInitializer implements InitializingBean { } /** - * The {@link DataSource} to populate when this component is initialized. Mandatory with no default. - * @param dataSource the DataSource + * Flag to explicitly enable or disable the database populator. + * @param enabled true if the database populator will be called on startup */ - public void setDataSource(DataSource dataSource) { - this.dataSource = dataSource; + public void setEnabled(boolean enabled) { + this.enabled = enabled; } + /** - * Use the populator to set up data in the data source. Both properties are mandatory with no defaults. - * @see InitializingBean#afterPropertiesSet() + * Use the populator to set up data in the data source. */ public void afterPropertiesSet() throws Exception { - if (enabled) { - Assert.state(dataSource != null, "DataSource must be provided"); - Assert.state(databasePopulator != null, "DatabasePopulator must be provided"); + if (this.enabled) { + Assert.state(this.dataSource != null, "DataSource must be provided"); + Assert.state(this.databasePopulator != null, "DatabasePopulator must be provided"); try { Connection connection = this.dataSource.getConnection(); try { @@ -89,4 +93,5 @@ public class DataSourceInitializer implements InitializingBean { } } } -} \ No newline at end of file + +} diff --git a/org.springframework.jdbc/src/test/java/org/springframework/jdbc/datasource/init/DatabasePopulatorTests.java b/org.springframework.jdbc/src/test/java/org/springframework/jdbc/datasource/init/DatabasePopulatorTests.java index d79ed20dc22..4eaa1eabd47 100644 --- a/org.springframework.jdbc/src/test/java/org/springframework/jdbc/datasource/init/DatabasePopulatorTests.java +++ b/org.springframework.jdbc/src/test/java/org/springframework/jdbc/datasource/init/DatabasePopulatorTests.java @@ -1,18 +1,35 @@ -package org.springframework.jdbc.datasource.init; +/* + * Copyright 2002-2010 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ -import static org.junit.Assert.assertEquals; +package org.springframework.jdbc.datasource.init; import java.sql.Connection; -import java.sql.SQLException; - import javax.sql.DataSource; +import static org.junit.Assert.*; import org.junit.Test; + import org.springframework.core.io.ClassRelativeResourceLoader; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase; import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; +/** + * @author Dave Syer + */ public class DatabasePopulatorTests { @Test @@ -27,7 +44,8 @@ public class DatabasePopulatorTests { Connection connection = db.getConnection(); try { databasePopulator.populate(connection); - } finally { + } + finally { connection.close(); } assertDatabaseCreated(db); @@ -39,4 +57,4 @@ public class DatabasePopulatorTests { assertEquals("Keith", template.queryForObject("select NAME from T_TEST", String.class)); } -} \ No newline at end of file +}