Polish contribution

See gh-23289
This commit is contained in:
Sam Brannen 2019-07-15 19:03:40 +02:00
parent b5e4e02337
commit c788be30fe
3 changed files with 40 additions and 24 deletions

View File

@ -201,12 +201,25 @@ public class EmbeddedDatabaseBuilder {
* @param commentPrefix the prefix for single-line comments
* @return {@code this}, to facilitate method chaining
* @since 4.0.3
* @see #setCommentPrefixes(String...)
*/
public EmbeddedDatabaseBuilder setCommentPrefix(String commentPrefix) {
this.databasePopulator.setCommentPrefix(commentPrefix);
return this;
}
/**
* Specify the prefixes that identify single-line comments within all SQL scripts.
* <p>Defaults to {@code ["--"]}.
* @param commentPrefixes the prefixes for single-line comments
* @return {@code this}, to facilitate method chaining
* @since 5.2
*/
public EmbeddedDatabaseBuilder setCommentPrefixes(String... commentPrefixes) {
this.databasePopulator.setCommentPrefixes(commentPrefixes);
return this;
}
/**
* Specify the start delimiter for block comments in all SQL scripts.
* <p>Defaults to {@code "/*"}.

View File

@ -47,6 +47,7 @@ import org.springframework.util.StringUtils;
* @author Oliver Gierke
* @author Sam Brannen
* @author Chris Baldwin
* @author Phillip Webb
* @since 3.0
* @see DatabasePopulatorUtils
* @see ScriptUtils
@ -116,7 +117,7 @@ public class ResourceDatabasePopulator implements DatabasePopulator {
* @param script the path to an SQL script (never {@code null})
*/
public void addScript(Resource script) {
Assert.notNull(script, "Script must not be null");
Assert.notNull(script, "'script' must not be null");
this.scripts.add(script);
}
@ -141,8 +142,8 @@ public class ResourceDatabasePopulator implements DatabasePopulator {
}
private void assertContentsOfScriptArray(Resource... scripts) {
Assert.notNull(scripts, "Scripts array must not be null");
Assert.noNullElements(scripts, "Scripts array must not contain null elements");
Assert.notNull(scripts, "'scripts' must not be null");
Assert.noNullElements(scripts, "'scripts' must not contain null elements");
}
/**
@ -174,18 +175,19 @@ public class ResourceDatabasePopulator implements DatabasePopulator {
* @see #setCommentPrefixes(String...)
*/
public void setCommentPrefix(String commentPrefix) {
Assert.hasText(commentPrefix, "CommentPrefix must not be null or empty");
Assert.hasText(commentPrefix, "'commentPrefix' must not be null or empty");
this.commentPrefixes = new String[] { commentPrefix };
}
/**
* Set the prefixes that identify single-line comments within the SQL scripts.
* <p>Defaults to {@code "--"}.
* <p>Defaults to {@code ["--"]}.
* @param commentPrefixes the prefixes for single-line comments
* @since 5.2
*/
public void setCommentPrefixes(String... commentPrefixes) {
Assert.notNull(commentPrefixes, "CommentPrefixes must not be null");
Assert.notEmpty(commentPrefixes, "'commentPrefixes' must not be null or empty");
Assert.noNullElements(commentPrefixes, "'commentPrefixes' must not contain null elements");
this.commentPrefixes = commentPrefixes;
}
@ -199,7 +201,7 @@ public class ResourceDatabasePopulator implements DatabasePopulator {
* @see #setBlockCommentEndDelimiter
*/
public void setBlockCommentStartDelimiter(String blockCommentStartDelimiter) {
Assert.hasText(blockCommentStartDelimiter, "BlockCommentStartDelimiter must not be null or empty");
Assert.hasText(blockCommentStartDelimiter, "'blockCommentStartDelimiter' must not be null or empty");
this.blockCommentStartDelimiter = blockCommentStartDelimiter;
}
@ -213,7 +215,7 @@ public class ResourceDatabasePopulator implements DatabasePopulator {
* @see #setBlockCommentStartDelimiter
*/
public void setBlockCommentEndDelimiter(String blockCommentEndDelimiter) {
Assert.hasText(blockCommentEndDelimiter, "BlockCommentEndDelimiter must not be null or empty");
Assert.hasText(blockCommentEndDelimiter, "'blockCommentEndDelimiter' must not be null or empty");
this.blockCommentEndDelimiter = blockCommentEndDelimiter;
}
@ -245,7 +247,7 @@ public class ResourceDatabasePopulator implements DatabasePopulator {
*/
@Override
public void populate(Connection connection) throws ScriptException {
Assert.notNull(connection, "Connection must not be null");
Assert.notNull(connection, "'connection' must not be null");
for (Resource script : this.scripts) {
EncodedResource encodedScript = new EncodedResource(script, this.sqlScriptEncoding);
ScriptUtils.executeSqlScript(connection, encodedScript, this.continueOnError, this.ignoreFailedDrops,

View File

@ -48,6 +48,7 @@ import org.springframework.util.StringUtils;
* @author Oliver Gierke
* @author Chris Baldwin
* @author Nicolas Debeissat
* @author Phillip Webb
* @since 4.0.3
*/
public abstract class ScriptUtils {
@ -185,9 +186,9 @@ public abstract class ScriptUtils {
* Split an SQL script into separate statements delimited by the provided
* separator string. Each individual statement will be added to the provided
* {@code List}.
* <p>Within the script, the provided {@code commentPrefix} will be honored:
* any text beginning with the comment prefix and extending to the end of the
* line will be omitted from the output. Similarly, the provided
* <p>Within the script, the provided {@code commentPrefixes} will be honored:
* any text beginning with one of the comment prefixes and extending to the
* end of the line will be omitted from the output. Similarly, the provided
* {@code blockCommentStartDelimiter} and {@code blockCommentEndDelimiter}
* delimiters will be honored: any text enclosed in a block comment will be
* omitted from the output. In addition, multiple adjacent whitespace characters
@ -212,7 +213,7 @@ public abstract class ScriptUtils {
Assert.hasText(script, "'script' must not be null or empty");
Assert.notNull(separator, "'separator' must not be null");
Assert.notNull(commentPrefixes, "'commentPrefixes' must not be null");
Assert.notEmpty(commentPrefixes, "'commentPrefixes' must not be null or empty");
for (int i = 0; i < commentPrefixes.length; i++) {
Assert.hasText(commentPrefixes[i], "'commentPrefixes' must not contain null or empty elements");
}
@ -307,14 +308,14 @@ public abstract class ScriptUtils {
}
/**
* Read a script from the provided resource, using the supplied comment prefix
* Read a script from the provided resource, using the supplied comment prefixes
* and statement separator, and build a {@code String} containing the lines.
* <p>Lines <em>beginning</em> with the comment prefix are excluded from the
* results; however, line comments anywhere else &mdash; for example, within
* a statement &mdash; will be included in the results.
* <p>Lines <em>beginning</em> with one of the comment prefixes are excluded
* from the results; however, line comments anywhere else &mdash; for example,
* within a statement &mdash; will be included in the results.
* @param resource the {@code EncodedResource} containing the script
* to be processed
* @param commentPrefixes the prefix that identifies comments in the SQL script
* @param commentPrefixes the prefixes that identify comments in the SQL script
* (typically "--")
* @param separator the statement separator in the SQL script (typically ";")
* @param blockCommentEndDelimiter the <em>end</em> block comment delimiter
@ -358,11 +359,11 @@ public abstract class ScriptUtils {
/**
* Read a script from the provided {@code LineNumberReader}, using the supplied
* comment prefix and statement separator, and build a {@code String} containing
* comment prefixes and statement separator, and build a {@code String} containing
* the lines.
* <p>Lines <em>beginning</em> with the comment prefix are excluded from the
* results; however, line comments anywhere else &mdash; for example, within
* a statement &mdash; will be included in the results.
* <p>Lines <em>beginning</em> with one of the comment prefixes are excluded
* from the results; however, line comments anywhere else &mdash; for example,
* within a statement &mdash; will be included in the results.
* @param lineNumberReader the {@code LineNumberReader} containing the script
* to be processed
* @param lineCommentPrefixes the prefixes that identify comments in the SQL script
@ -407,9 +408,9 @@ public abstract class ScriptUtils {
}
}
private static boolean startsWithAny(String script, String[] prefixes, int toffset) {
private static boolean startsWithAny(String script, String[] prefixes, int offset) {
for (String prefix : prefixes) {
if (script.startsWith(prefix, toffset)) {
if (script.startsWith(prefix, offset)) {
return true;
}
}