Skip to content

Commit e18fba1

Browse files
committed
Polishing
1 parent 070c596 commit e18fba1

File tree

5 files changed

+44
-50
lines changed

5 files changed

+44
-50
lines changed

spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/GenericTableMetaDataProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,7 @@ private void processTableColumns(DatabaseMetaData databaseMetaData, TableMetaDat
432432

433433

434434
/**
435-
* Inner class representing table meta-data.
435+
* Class representing table meta-data.
436436
*/
437437
private static class TableMetaData {
438438

spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/TableMetaDataProviderFactory.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2020 the original author or authors.
2+
* Copyright 2002-2021 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -51,7 +51,6 @@ public static TableMetaDataProvider createMetaDataProvider(DataSource dataSource
5151
try {
5252
return JdbcUtils.extractDatabaseMetaData(dataSource, databaseMetaData -> {
5353
String databaseProductName = JdbcUtils.commonDatabaseName(databaseMetaData.getDatabaseProductName());
54-
boolean accessTableColumnMetaData = context.isAccessTableColumnMetaData();
5554
TableMetaDataProvider provider;
5655

5756
if ("Oracle".equals(databaseProductName)) {
@@ -70,15 +69,17 @@ else if ("HSQL Database Engine".equals(databaseProductName)) {
7069
else {
7170
provider = new GenericTableMetaDataProvider(databaseMetaData);
7271
}
73-
7472
if (logger.isDebugEnabled()) {
7573
logger.debug("Using " + provider.getClass().getSimpleName());
7674
}
75+
7776
provider.initializeWithMetaData(databaseMetaData);
78-
if (accessTableColumnMetaData) {
77+
78+
if (context.isAccessTableColumnMetaData()) {
7979
provider.initializeWithTableColumnMetaData(databaseMetaData,
8080
context.getCatalogName(), context.getSchemaName(), context.getTableName());
8181
}
82+
8283
return provider;
8384
});
8485
}

spring-jdbc/src/main/java/org/springframework/jdbc/core/simple/AbstractJdbcInsert.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public abstract class AbstractJdbcInsert {
7070
/** Context used to retrieve and manage database meta-data. */
7171
private final TableMetaDataContext tableMetaDataContext = new TableMetaDataContext();
7272

73-
/** List of columns objects to be used in insert statement. */
73+
/** List of column names to be used in insert statement. */
7474
private final List<String> declaredColumns = new ArrayList<>();
7575

7676
/** The names of the columns holding the generated key. */

spring-jdbc/src/test/java/org/springframework/jdbc/core/simple/SimpleJdbcCallTests.java

Lines changed: 22 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2019 the original author or authors.
2+
* Copyright 2002-2021 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -47,30 +47,26 @@
4747
* @author Thomas Risberg
4848
* @author Kiril Nugmanov
4949
*/
50-
public class SimpleJdbcCallTests {
50+
class SimpleJdbcCallTests {
5151

52-
private Connection connection;
52+
private final Connection connection = mock(Connection.class);
5353

54-
private DatabaseMetaData databaseMetaData;
54+
private final DatabaseMetaData databaseMetaData = mock(DatabaseMetaData.class);
5555

56-
private DataSource dataSource;
56+
private final DataSource dataSource = mock(DataSource.class);
5757

58-
private CallableStatement callableStatement;
58+
private final CallableStatement callableStatement = mock(CallableStatement.class);
5959

6060

6161
@BeforeEach
62-
public void setUp() throws Exception {
63-
connection = mock(Connection.class);
64-
databaseMetaData = mock(DatabaseMetaData.class);
65-
dataSource = mock(DataSource.class);
66-
callableStatement = mock(CallableStatement.class);
62+
void setUp() throws Exception {
6763
given(connection.getMetaData()).willReturn(databaseMetaData);
6864
given(dataSource.getConnection()).willReturn(connection);
6965
}
7066

7167

7268
@Test
73-
public void testNoSuchStoredProcedure() throws Exception {
69+
void noSuchStoredProcedure() throws Exception {
7470
final String NO_SUCH_PROC = "x";
7571
SQLException sqlException = new SQLException("Syntax error or access violation exception", "42000");
7672
given(databaseMetaData.getDatabaseProductName()).willReturn("MyDB");
@@ -81,8 +77,8 @@ public void testNoSuchStoredProcedure() throws Exception {
8177
given(connection.prepareCall("{call " + NO_SUCH_PROC + "()}")).willReturn(callableStatement);
8278
SimpleJdbcCall sproc = new SimpleJdbcCall(dataSource).withProcedureName(NO_SUCH_PROC);
8379
try {
84-
assertThatExceptionOfType(BadSqlGrammarException.class).isThrownBy(() ->
85-
sproc.execute())
80+
assertThatExceptionOfType(BadSqlGrammarException.class)
81+
.isThrownBy(() -> sproc.execute())
8682
.withCause(sqlException);
8783
}
8884
finally {
@@ -92,7 +88,7 @@ public void testNoSuchStoredProcedure() throws Exception {
9288
}
9389

9490
@Test
95-
public void testUnnamedParameterHandling() throws Exception {
91+
void unnamedParameterHandling() throws Exception {
9692
final String MY_PROC = "my_proc";
9793
SimpleJdbcCall sproc = new SimpleJdbcCall(dataSource).withProcedureName(MY_PROC);
9894
// Shouldn't succeed in adding unnamed parameter
@@ -101,7 +97,7 @@ public void testUnnamedParameterHandling() throws Exception {
10197
}
10298

10399
@Test
104-
public void testAddInvoiceProcWithoutMetaDataUsingMapParamSource() throws Exception {
100+
void addInvoiceProcWithoutMetaDataUsingMapParamSource() throws Exception {
105101
initializeAddInvoiceWithoutMetaData(false);
106102
SimpleJdbcCall adder = new SimpleJdbcCall(dataSource).withProcedureName("add_invoice");
107103
adder.declareParameters(
@@ -117,7 +113,7 @@ public void testAddInvoiceProcWithoutMetaDataUsingMapParamSource() throws Except
117113
}
118114

119115
@Test
120-
public void testAddInvoiceProcWithoutMetaDataUsingArrayParams() throws Exception {
116+
void addInvoiceProcWithoutMetaDataUsingArrayParams() throws Exception {
121117
initializeAddInvoiceWithoutMetaData(false);
122118
SimpleJdbcCall adder = new SimpleJdbcCall(dataSource).withProcedureName("add_invoice");
123119
adder.declareParameters(
@@ -131,7 +127,7 @@ public void testAddInvoiceProcWithoutMetaDataUsingArrayParams() throws Exception
131127
}
132128

133129
@Test
134-
public void testAddInvoiceProcWithMetaDataUsingMapParamSource() throws Exception {
130+
void addInvoiceProcWithMetaDataUsingMapParamSource() throws Exception {
135131
initializeAddInvoiceWithMetaData(false);
136132
SimpleJdbcCall adder = new SimpleJdbcCall(dataSource).withProcedureName("add_invoice");
137133
Number newId = adder.executeObject(Number.class, new MapSqlParameterSource()
@@ -143,7 +139,7 @@ public void testAddInvoiceProcWithMetaDataUsingMapParamSource() throws Exception
143139
}
144140

145141
@Test
146-
public void testAddInvoiceProcWithMetaDataUsingArrayParams() throws Exception {
142+
void addInvoiceProcWithMetaDataUsingArrayParams() throws Exception {
147143
initializeAddInvoiceWithMetaData(false);
148144
SimpleJdbcCall adder = new SimpleJdbcCall(dataSource).withProcedureName("add_invoice");
149145
Number newId = adder.executeObject(Number.class, 1103, 3);
@@ -153,7 +149,7 @@ public void testAddInvoiceProcWithMetaDataUsingArrayParams() throws Exception {
153149
}
154150

155151
@Test
156-
public void testAddInvoiceFuncWithoutMetaDataUsingMapParamSource() throws Exception {
152+
void addInvoiceFuncWithoutMetaDataUsingMapParamSource() throws Exception {
157153
initializeAddInvoiceWithoutMetaData(true);
158154
SimpleJdbcCall adder = new SimpleJdbcCall(dataSource).withFunctionName("add_invoice");
159155
adder.declareParameters(
@@ -169,7 +165,7 @@ public void testAddInvoiceFuncWithoutMetaDataUsingMapParamSource() throws Except
169165
}
170166

171167
@Test
172-
public void testAddInvoiceFuncWithoutMetaDataUsingArrayParams() throws Exception {
168+
void addInvoiceFuncWithoutMetaDataUsingArrayParams() throws Exception {
173169
initializeAddInvoiceWithoutMetaData(true);
174170
SimpleJdbcCall adder = new SimpleJdbcCall(dataSource).withFunctionName("add_invoice");
175171
adder.declareParameters(
@@ -183,7 +179,7 @@ public void testAddInvoiceFuncWithoutMetaDataUsingArrayParams() throws Exception
183179
}
184180

185181
@Test
186-
public void testAddInvoiceFuncWithMetaDataUsingMapParamSource() throws Exception {
182+
void addInvoiceFuncWithMetaDataUsingMapParamSource() throws Exception {
187183
initializeAddInvoiceWithMetaData(true);
188184
SimpleJdbcCall adder = new SimpleJdbcCall(dataSource).withFunctionName("add_invoice");
189185
Number newId = adder.executeFunction(Number.class, new MapSqlParameterSource()
@@ -192,38 +188,36 @@ public void testAddInvoiceFuncWithMetaDataUsingMapParamSource() throws Exception
192188
assertThat(newId.intValue()).isEqualTo(4);
193189
verifyAddInvoiceWithMetaData(true);
194190
verify(connection, atLeastOnce()).close();
195-
196191
}
197192

198193
@Test
199-
public void testAddInvoiceFuncWithMetaDataUsingArrayParams() throws Exception {
194+
void addInvoiceFuncWithMetaDataUsingArrayParams() throws Exception {
200195
initializeAddInvoiceWithMetaData(true);
201196
SimpleJdbcCall adder = new SimpleJdbcCall(dataSource).withFunctionName("add_invoice");
202197
Number newId = adder.executeFunction(Number.class, 1103, 3);
203198
assertThat(newId.intValue()).isEqualTo(4);
204199
verifyAddInvoiceWithMetaData(true);
205200
verify(connection, atLeastOnce()).close();
206-
207201
}
208202

209203
@Test
210-
public void testCorrectFunctionStatement() throws Exception {
204+
void correctFunctionStatement() throws Exception {
211205
initializeAddInvoiceWithMetaData(true);
212206
SimpleJdbcCall adder = new SimpleJdbcCall(dataSource).withFunctionName("add_invoice");
213207
adder.compile();
214208
verifyStatement(adder, "{? = call ADD_INVOICE(?, ?)}");
215209
}
216210

217211
@Test
218-
public void testCorrectFunctionStatementNamed() throws Exception {
212+
void correctFunctionStatementNamed() throws Exception {
219213
initializeAddInvoiceWithMetaData(true);
220214
SimpleJdbcCall adder = new SimpleJdbcCall(dataSource).withNamedBinding().withFunctionName("add_invoice");
221215
adder.compile();
222216
verifyStatement(adder, "{? = call ADD_INVOICE(AMOUNT => ?, CUSTID => ?)}");
223217
}
224218

225219
@Test
226-
public void testCorrectProcedureStatementNamed() throws Exception {
220+
void correctProcedureStatementNamed() throws Exception {
227221
initializeAddInvoiceWithMetaData(false);
228222
SimpleJdbcCall adder = new SimpleJdbcCall(dataSource).withNamedBinding().withProcedureName("add_invoice");
229223
adder.compile();

spring-jdbc/src/test/java/org/springframework/jdbc/core/simple/SimpleJdbcInsertTests.java

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2019 the original author or authors.
2+
* Copyright 2002-2021 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@
1919
import java.sql.Connection;
2020
import java.sql.DatabaseMetaData;
2121
import java.sql.ResultSet;
22-
import java.util.HashMap;
22+
import java.util.Collections;
2323

2424
import javax.sql.DataSource;
2525

@@ -35,39 +35,36 @@
3535
import static org.mockito.Mockito.verify;
3636

3737
/**
38-
* Mock object based tests for SimpleJdbcInsert.
38+
* Mock object based tests for {@link SimpleJdbcInsert}.
3939
*
4040
* @author Thomas Risberg
4141
*/
42-
public class SimpleJdbcInsertTests {
42+
class SimpleJdbcInsertTests {
4343

44-
private Connection connection;
44+
private final Connection connection = mock(Connection.class);
4545

46-
private DatabaseMetaData databaseMetaData;
46+
private final DatabaseMetaData databaseMetaData = mock(DatabaseMetaData.class);
4747

48-
private DataSource dataSource;
48+
private final DataSource dataSource = mock(DataSource.class);
4949

5050

5151
@BeforeEach
52-
public void setUp() throws Exception {
53-
connection = mock(Connection.class);
54-
databaseMetaData = mock(DatabaseMetaData.class);
55-
dataSource = mock(DataSource.class);
52+
void setUp() throws Exception {
5653
given(connection.getMetaData()).willReturn(databaseMetaData);
5754
given(dataSource.getConnection()).willReturn(connection);
5855
}
5956

6057
@AfterEach
61-
public void verifyClosed() throws Exception {
58+
void verifyClosed() throws Exception {
6259
verify(connection).close();
6360
}
6461

6562

6663
@Test
67-
public void testNoSuchTable() throws Exception {
64+
void noSuchTable() throws Exception {
6865
ResultSet resultSet = mock(ResultSet.class);
6966
given(resultSet.next()).willReturn(false);
70-
given(databaseMetaData.getDatabaseProductName()).willReturn("MyDB");
67+
7168
given(databaseMetaData.getDatabaseProductName()).willReturn("MyDB");
7269
given(databaseMetaData.getDatabaseProductVersion()).willReturn("1.0");
7370
given(databaseMetaData.getUserName()).willReturn("me");
@@ -76,8 +73,10 @@ public void testNoSuchTable() throws Exception {
7673

7774
SimpleJdbcInsert insert = new SimpleJdbcInsert(dataSource).withTableName("x");
7875
// Shouldn't succeed in inserting into table which doesn't exist
79-
assertThatExceptionOfType(InvalidDataAccessApiUsageException.class).isThrownBy(() ->
80-
insert.execute(new HashMap<>()));
76+
assertThatExceptionOfType(InvalidDataAccessApiUsageException.class)
77+
.isThrownBy(() -> insert.execute(Collections.emptyMap()))
78+
.withMessageStartingWith("Unable to locate columns for table 'x' so an insert statement can't be generated");
79+
8180
verify(resultSet).close();
8281
}
8382

0 commit comments

Comments
 (0)