16
16
17
17
package org .springframework .r2dbc .connection .init ;
18
18
19
- import java .util .ArrayList ;
20
19
import java .util .List ;
21
20
22
21
import org .assertj .core .util .Strings ;
@@ -60,8 +59,7 @@ public void splitSqlScriptDelimitedWithSemicolon() {
60
59
String delimiter = ";" ;
61
60
String script = Strings .join (rawStatement1 , rawStatement2 , rawStatement3 ).with (delimiter );
62
61
63
- List <String > statements = new ArrayList <>();
64
- splitSqlScript (script , delimiter , statements );
62
+ List <String > statements = splitSqlScript (script , delimiter );
65
63
66
64
assertThat (statements ).containsExactly (cleanedStatement1 , cleanedStatement2 , cleanedStatement3 );
67
65
}
@@ -75,8 +73,7 @@ public void splitSqlScriptDelimitedWithNewLine() {
75
73
String delimiter = "\n " ;
76
74
String script = Strings .join (statement1 , statement2 , statement3 ).with (delimiter );
77
75
78
- List <String > statements = new ArrayList <>();
79
- splitSqlScript (script , delimiter , statements );
76
+ List <String > statements = splitSqlScript (script , delimiter );
80
77
81
78
assertThat (statements ).containsExactly (statement1 , statement2 , statement3 );
82
79
}
@@ -88,9 +85,7 @@ public void splitSqlScriptDelimitedWithNewLineButDefaultDelimiterSpecified() {
88
85
89
86
String script = Strings .join (statement1 , statement2 ).with ("\n " );
90
87
91
- List <String > statements = new ArrayList <>();
92
-
93
- splitSqlScript (script , DEFAULT_STATEMENT_SEPARATOR , statements );
88
+ List <String > statements = splitSqlScript (script , DEFAULT_STATEMENT_SEPARATOR );
94
89
95
90
assertThat (statements ).as ("stripped but not split statements" ).containsExactly (script .replace ('\n' , ' ' ));
96
91
}
@@ -103,17 +98,15 @@ public void splitScriptWithSingleQuotesNestedInsideDoubleQuotes() {
103
98
String delimiter = ";" ;
104
99
String script = Strings .join (statement1 , statement2 ).with (delimiter );
105
100
106
- List <String > statements = new ArrayList <>();
107
- splitSqlScript (script , delimiter , statements );
101
+ List <String > statements = splitSqlScript (script , delimiter );
108
102
109
103
assertThat (statements ).containsExactly (statement1 , statement2 );
110
104
}
111
105
112
106
@ Test // SPR-11560
113
107
public void readAndSplitScriptWithMultipleNewlinesAsSeparator () throws Exception {
114
108
String script = readScript ("db-test-data-multi-newline.sql" );
115
- List <String > statements = new ArrayList <>();
116
- splitSqlScript (script , "\n \n " , statements );
109
+ List <String > statements = splitSqlScript (script , "\n \n " );
117
110
118
111
String statement1 = "insert into T_TEST (NAME) values ('Keith')" ;
119
112
String statement2 = "insert into T_TEST (NAME) values ('Dave')" ;
@@ -140,9 +133,8 @@ public void readAndSplitScriptContainingCommentsWithMultiplePrefixes() throws Ex
140
133
}
141
134
142
135
private void splitScriptContainingComments (String script , String ... commentPrefixes ) {
143
- List <String > statements = new ArrayList <>();
144
- ScriptUtils .splitSqlScript (null , script , ";" , commentPrefixes , DEFAULT_BLOCK_COMMENT_START_DELIMITER ,
145
- DEFAULT_BLOCK_COMMENT_END_DELIMITER , statements );
136
+ List <String > statements = ScriptUtils .splitSqlScript (null , script , ";" , commentPrefixes , DEFAULT_BLOCK_COMMENT_START_DELIMITER ,
137
+ DEFAULT_BLOCK_COMMENT_END_DELIMITER );
146
138
147
139
String statement1 = "insert into customer (id, name) values (1, 'Rod; Johnson'), (2, 'Adrian Collier')" ;
148
140
String statement2 = "insert into orders(id, order_date, customer_id) values (1, '2008-01-02', 2)" ;
@@ -156,8 +148,7 @@ private void splitScriptContainingComments(String script, String... commentPrefi
156
148
@ Test // SPR-10330
157
149
public void readAndSplitScriptContainingCommentsWithLeadingTabs () throws Exception {
158
150
String script = readScript ("test-data-with-comments-and-leading-tabs.sql" );
159
- List <String > statements = new ArrayList <>();
160
- splitSqlScript (script , ";" , statements );
151
+ List <String > statements = splitSqlScript (script , ";" );
161
152
162
153
String statement1 = "insert into customer (id, name) values (1, 'Sam Brannen')" ;
163
154
String statement2 = "insert into orders(id, order_date, customer_id) values (1, '2013-06-08', 1)" ;
@@ -169,8 +160,7 @@ public void readAndSplitScriptContainingCommentsWithLeadingTabs() throws Excepti
169
160
@ Test // SPR-9531
170
161
public void readAndSplitScriptContainingMultiLineComments () throws Exception {
171
162
String script = readScript ("test-data-with-multi-line-comments.sql" );
172
- List <String > statements = new ArrayList <>();
173
- splitSqlScript (script , ";" , statements );
163
+ List <String > statements = splitSqlScript (script , ";" );
174
164
175
165
String statement1 = "INSERT INTO users(first_name, last_name) VALUES('Juergen', 'Hoeller')" ;
176
166
String statement2 = "INSERT INTO users(first_name, last_name) VALUES( 'Sam' , 'Brannen' )" ;
@@ -181,8 +171,7 @@ public void readAndSplitScriptContainingMultiLineComments() throws Exception {
181
171
@ Test
182
172
public void readAndSplitScriptContainingMultiLineNestedComments () throws Exception {
183
173
String script = readScript ("test-data-with-multi-line-nested-comments.sql" );
184
- List <String > statements = new ArrayList <>();
185
- splitSqlScript (script , ";" , statements );
174
+ List <String > statements = splitSqlScript (script , ";" );
186
175
187
176
String statement1 = "INSERT INTO users(first_name, last_name) VALUES('Juergen', 'Hoeller')" ;
188
177
String statement2 = "INSERT INTO users(first_name, last_name) VALUES( 'Sam' , 'Brannen' )" ;
@@ -231,13 +220,12 @@ public void containsStatementSeparator(String script, String delimiter, boolean
231
220
232
221
private String readScript (String path ) throws Exception {
233
222
EncodedResource resource = new EncodedResource (new ClassPathResource (path , getClass ()));
234
- return ScriptUtils .readScript (resource , DefaultDataBufferFactory .sharedInstance , DEFAULT_STATEMENT_SEPARATOR ,
235
- DEFAULT_COMMENT_PREFIXES , DEFAULT_BLOCK_COMMENT_END_DELIMITER ).block ();
223
+ return ScriptUtils .readScript (resource , DefaultDataBufferFactory .sharedInstance , DEFAULT_STATEMENT_SEPARATOR ).block ();
236
224
}
237
225
238
- private static void splitSqlScript (String script , String separator , List < String > statements ) throws ScriptException {
239
- ScriptUtils .splitSqlScript (null , script , separator , DEFAULT_COMMENT_PREFIXES , DEFAULT_BLOCK_COMMENT_START_DELIMITER ,
240
- DEFAULT_BLOCK_COMMENT_END_DELIMITER , statements );
226
+ private static List < String > splitSqlScript (String script , String separator ) throws ScriptException {
227
+ return ScriptUtils .splitSqlScript (null , script , separator , DEFAULT_COMMENT_PREFIXES , DEFAULT_BLOCK_COMMENT_START_DELIMITER ,
228
+ DEFAULT_BLOCK_COMMENT_END_DELIMITER );
241
229
}
242
230
243
231
}
0 commit comments