visited) {
try {
Annotation[] anns = annotatedElement.getDeclaredAnnotations();
for (Annotation ann : anns) {
diff --git a/spring-core/src/main/java/org/springframework/core/io/support/EncodedResource.java b/spring-core/src/main/java/org/springframework/core/io/support/EncodedResource.java
index 73c9b158b29..7f1c730517e 100644
--- a/spring-core/src/main/java/org/springframework/core/io/support/EncodedResource.java
+++ b/spring-core/src/main/java/org/springframework/core/io/support/EncodedResource.java
@@ -37,6 +37,7 @@ import org.springframework.util.ObjectUtils;
* @author Juergen Hoeller
* @author Sam Brannen
* @since 1.2.6
+ * @see Resource#getInputStream()
* @see java.io.Reader
* @see java.nio.charset.Charset
*/
@@ -142,8 +143,8 @@ public class EncodedResource implements InputStreamSource {
}
/**
- * Open a {@code java.io.InputStream} for the specified resource, ignoring any
- * specified {@link #getCharset() Charset} or {@linkplain #getEncoding() encoding}.
+ * Open an {@code InputStream} for the specified resource, ignoring any specified
+ * {@link #getCharset() Charset} or {@linkplain #getEncoding() encoding}.
* @throws IOException if opening the InputStream failed
* @see #requiresReader()
* @see #getReader()
diff --git a/spring-core/src/test/java/org/springframework/tests/TestResourceUtils.java b/spring-core/src/test/java/org/springframework/tests/TestResourceUtils.java
index 66be13072e2..0144f65d798 100644
--- a/spring-core/src/test/java/org/springframework/tests/TestResourceUtils.java
+++ b/spring-core/src/test/java/org/springframework/tests/TestResourceUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2013 the original author or authors.
+ * Copyright 2002-2016 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.
@@ -18,29 +18,22 @@ package org.springframework.tests;
import org.springframework.core.io.ClassPathResource;
-import static java.lang.String.*;
-
/**
* Convenience utilities for common operations with test resources.
*
* @author Chris Beams
*/
-public class TestResourceUtils {
+public abstract class TestResourceUtils {
/**
- * Loads a {@link ClassPathResource} qualified by the simple name of clazz,
+ * Load a {@link ClassPathResource} qualified by the simple name of clazz,
* and relative to the package for clazz.
- *
* Example: given a clazz 'com.foo.BarTests' and a resourceSuffix of 'context.xml',
* this method will return a ClassPathResource representing com/foo/BarTests-context.xml
- *
*
Intended for use loading context configuration XML files within JUnit tests.
- *
- * @param clazz
- * @param resourceSuffix
*/
public static ClassPathResource qualifiedResource(Class> clazz, String resourceSuffix) {
- return new ClassPathResource(format("%s-%s", clazz.getSimpleName(), resourceSuffix), clazz);
+ return new ClassPathResource(String.format("%s-%s", clazz.getSimpleName(), resourceSuffix), clazz);
}
}
diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/DatabasePopulatorUtils.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/DatabasePopulatorUtils.java
index 31fb497c8ae..e153f3790dc 100644
--- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/DatabasePopulatorUtils.java
+++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/DatabasePopulatorUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2014 the original author or authors.
+ * Copyright 2002-2016 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.
@@ -40,8 +40,8 @@ public abstract class DatabasePopulatorUtils {
* @throws DataAccessException if an error occurs, specifically a {@link ScriptException}
*/
public static void execute(DatabasePopulator populator, DataSource dataSource) throws DataAccessException {
- Assert.notNull(populator, "DatabasePopulator must be provided");
- Assert.notNull(dataSource, "DataSource must be provided");
+ Assert.notNull(populator, "DatabasePopulator must not be null");
+ Assert.notNull(dataSource, "DataSource must not be null");
try {
Connection connection = DataSourceUtils.getConnection(dataSource);
try {
@@ -53,11 +53,10 @@ public abstract class DatabasePopulatorUtils {
}
}
}
- catch (Exception ex) {
+ catch (Throwable ex) {
if (ex instanceof ScriptException) {
throw (ScriptException) ex;
}
-
throw new UncategorizedScriptException("Failed to execute database script", ex);
}
}
diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/ResourceDatabasePopulator.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/ResourceDatabasePopulator.java
index 8b412426355..43d51decb99 100644
--- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/ResourceDatabasePopulator.java
+++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/ResourceDatabasePopulator.java
@@ -52,7 +52,7 @@ import org.springframework.util.StringUtils;
*/
public class ResourceDatabasePopulator implements DatabasePopulator {
- private List scripts = new ArrayList<>();
+ List scripts = new ArrayList<>();
private String sqlScriptEncoding;
@@ -117,7 +117,7 @@ public class ResourceDatabasePopulator implements DatabasePopulator {
*/
public void addScript(Resource script) {
Assert.notNull(script, "Script must not be null");
- getScripts().add(script);
+ this.scripts.add(script);
}
/**
@@ -126,7 +126,7 @@ public class ResourceDatabasePopulator implements DatabasePopulator {
*/
public void addScripts(Resource... scripts) {
assertContentsOfScriptArray(scripts);
- getScripts().addAll(Arrays.asList(scripts));
+ this.scripts.addAll(Arrays.asList(scripts));
}
/**
@@ -140,6 +140,11 @@ public class ResourceDatabasePopulator implements DatabasePopulator {
this.scripts = new ArrayList<>(Arrays.asList(scripts));
}
+ private void assertContentsOfScriptArray(Resource... scripts) {
+ Assert.notNull(scripts, "Scripts array must not be null");
+ Assert.noNullElements(scripts, "Scripts array must not contain null elements");
+ }
+
/**
* Specify the encoding for the configured SQL scripts, if different from the
* platform encoding.
@@ -220,6 +225,7 @@ public class ResourceDatabasePopulator implements DatabasePopulator {
this.ignoreFailedDrops = ignoreFailedDrops;
}
+
/**
* {@inheritDoc}
* @see #execute(DataSource)
@@ -227,10 +233,10 @@ public class ResourceDatabasePopulator implements DatabasePopulator {
@Override
public void populate(Connection connection) throws ScriptException {
Assert.notNull(connection, "Connection must not be null");
- for (Resource script : getScripts()) {
- ScriptUtils.executeSqlScript(connection, encodeScript(script), this.continueOnError,
- this.ignoreFailedDrops, this.commentPrefix, this.separator, this.blockCommentStartDelimiter,
- this.blockCommentEndDelimiter);
+ for (Resource script : this.scripts) {
+ EncodedResource encodedScript = new EncodedResource(script, this.sqlScriptEncoding);
+ ScriptUtils.executeSqlScript(connection, encodedScript, this.continueOnError, this.ignoreFailedDrops,
+ this.commentPrefix, this.separator, this.blockCommentStartDelimiter, this.blockCommentEndDelimiter);
}
}
@@ -244,28 +250,7 @@ public class ResourceDatabasePopulator implements DatabasePopulator {
* @see #populate(Connection)
*/
public void execute(DataSource dataSource) throws ScriptException {
- Assert.notNull(dataSource, "DataSource must not be null");
DatabasePopulatorUtils.execute(this, dataSource);
}
- final List getScripts() {
- return this.scripts;
- }
-
- /**
- * {@link EncodedResource} is not a sub-type of {@link Resource}. Thus we
- * always need to wrap each script resource in an {@code EncodedResource}
- * using the configured {@linkplain #setSqlScriptEncoding encoding}.
- * @param script the script to wrap (never {@code null})
- */
- private EncodedResource encodeScript(Resource script) {
- Assert.notNull(script, "Script must not be null");
- return new EncodedResource(script, this.sqlScriptEncoding);
- }
-
- private void assertContentsOfScriptArray(Resource... scripts) {
- Assert.notNull(scripts, "Scripts must not be null");
- Assert.noNullElements(scripts, "Scripts array must not contain null elements");
- }
-
}
diff --git a/spring-jdbc/src/test/java/org/springframework/jdbc/datasource/init/ResourceDatabasePopulatorTests.java b/spring-jdbc/src/test/java/org/springframework/jdbc/datasource/init/ResourceDatabasePopulatorTests.java
index 0dcaf48283c..50a84f96772 100644
--- a/spring-jdbc/src/test/java/org/springframework/jdbc/datasource/init/ResourceDatabasePopulatorTests.java
+++ b/spring-jdbc/src/test/java/org/springframework/jdbc/datasource/init/ResourceDatabasePopulatorTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2014 the original author or authors.
+ * Copyright 2002-2016 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.
@@ -50,22 +50,22 @@ public class ResourceDatabasePopulatorTests {
@Test
public void constructWithResource() {
ResourceDatabasePopulator databasePopulator = new ResourceDatabasePopulator(script1);
- assertEquals(1, databasePopulator.getScripts().size());
+ assertEquals(1, databasePopulator.scripts.size());
}
@Test
public void constructWithMultipleResources() {
ResourceDatabasePopulator databasePopulator = new ResourceDatabasePopulator(script1, script2);
- assertEquals(2, databasePopulator.getScripts().size());
+ assertEquals(2, databasePopulator.scripts.size());
}
@Test
public void constructWithMultipleResourcesAndThenAddScript() {
ResourceDatabasePopulator databasePopulator = new ResourceDatabasePopulator(script1, script2);
- assertEquals(2, databasePopulator.getScripts().size());
+ assertEquals(2, databasePopulator.scripts.size());
databasePopulator.addScript(script3);
- assertEquals(3, databasePopulator.getScripts().size());
+ assertEquals(3, databasePopulator.scripts.size());
}
@Test(expected = IllegalArgumentException.class)
@@ -95,13 +95,13 @@ public class ResourceDatabasePopulatorTests {
@Test
public void setScriptsAndThenAddScript() {
ResourceDatabasePopulator databasePopulator = new ResourceDatabasePopulator();
- assertEquals(0, databasePopulator.getScripts().size());
+ assertEquals(0, databasePopulator.scripts.size());
databasePopulator.setScripts(script1, script2);
- assertEquals(2, databasePopulator.getScripts().size());
+ assertEquals(2, databasePopulator.scripts.size());
databasePopulator.addScript(script3);
- assertEquals(3, databasePopulator.getScripts().size());
+ assertEquals(3, databasePopulator.scripts.size());
}
}