Skip to content

Commit cddcf36

Browse files
committed
Polishing
1 parent 050e581 commit cddcf36

File tree

4 files changed

+33
-40
lines changed

4 files changed

+33
-40
lines changed

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

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2012 the original author or authors.
2+
* Copyright 2002-2015 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.
@@ -31,16 +31,14 @@
3131
import org.springframework.jdbc.support.MetaDataAccessException;
3232

3333
/**
34-
* Factory used to create a {@link CallMetaDataProvider} implementation based on the type of databse being used.
34+
* Factory used to create a {@link CallMetaDataProvider} implementation
35+
* based on the type of databse being used.
3536
*
3637
* @author Thomas Risberg
3738
* @since 2.5
3839
*/
3940
public class CallMetaDataProviderFactory {
4041

41-
/** Logger */
42-
private static final Log logger = LogFactory.getLog(CallMetaDataProviderFactory.class);
43-
4442
/** List of supported database products for procedure calls */
4543
public static final List<String> supportedDatabaseProductsForProcedures = Arrays.asList(
4644
"Apache Derby",
@@ -51,6 +49,7 @@ public class CallMetaDataProviderFactory {
5149
"PostgreSQL",
5250
"Sybase"
5351
);
52+
5453
/** List of supported database products for function calls */
5554
public static final List<String> supportedDatabaseProductsForFunctions = Arrays.asList(
5655
"MySQL",
@@ -59,6 +58,9 @@ public class CallMetaDataProviderFactory {
5958
"PostgreSQL"
6059
);
6160

61+
private static final Log logger = LogFactory.getLog(CallMetaDataProviderFactory.class);
62+
63+
6264
/**
6365
* Create a CallMetaDataProvider based on the database metadata
6466
* @param dataSource used to retrieve metadata
@@ -124,17 +126,16 @@ else if ("Microsoft SQL Server".equals(databaseProductName)) {
124126
}
125127
provider.initializeWithMetaData(databaseMetaData);
126128
if (accessProcedureColumnMetaData) {
127-
provider.initializeWithProcedureColumnMetaData(
128-
databaseMetaData, context.getCatalogName(), context.getSchemaName(), context.getProcedureName());
129+
provider.initializeWithProcedureColumnMetaData(databaseMetaData,
130+
context.getCatalogName(), context.getSchemaName(), context.getProcedureName());
129131
}
130132
return provider;
131133
}
132134
});
133135
}
134136
catch (MetaDataAccessException ex) {
135-
throw new DataAccessResourceFailureException("Error retreiving database metadata", ex);
137+
throw new DataAccessResourceFailureException("Error retrieving database metadata", ex);
136138
}
137-
138139
}
139140

140141
}

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

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2014 the original author or authors.
2+
* Copyright 2002-2015 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.
@@ -70,7 +70,7 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
7070
Arrays.asList("Apache Derby", "HSQL Database Engine");
7171

7272
/** Collection of TableParameterMetaData objects */
73-
private List<TableParameterMetaData> insertParameterMetaData = new ArrayList<TableParameterMetaData>();
73+
private List<TableParameterMetaData> tableParameterMetaData = new ArrayList<TableParameterMetaData>();
7474

7575
/** NativeJdbcExtractor that can be used to retrieve the native connection */
7676
private NativeJdbcExtractor nativeJdbcExtractor;
@@ -109,7 +109,7 @@ public boolean isTableColumnMetaDataUsed() {
109109

110110
@Override
111111
public List<TableParameterMetaData> getTableParameterMetaData() {
112-
return this.insertParameterMetaData;
112+
return this.tableParameterMetaData;
113113
}
114114

115115
@Override
@@ -376,17 +376,14 @@ private void processTableColumns(DatabaseMetaData databaseMetaData, TableMetaDat
376376
}
377377
try {
378378
tableColumns = databaseMetaData.getColumns(
379-
metaDataCatalogName,
380-
metaDataSchemaName,
381-
metaDataTableName,
382-
null);
379+
metaDataCatalogName, metaDataSchemaName, metaDataTableName, null);
383380
while (tableColumns.next()) {
384381
String columnName = tableColumns.getString("COLUMN_NAME");
385382
int dataType = tableColumns.getInt("DATA_TYPE");
386383
if (dataType == Types.DECIMAL) {
387384
String typeName = tableColumns.getString("TYPE_NAME");
388385
int decimalDigits = tableColumns.getInt("DECIMAL_DIGITS");
389-
// override a DECIMAL data type for no-decimal numerics
386+
// Override a DECIMAL data type for no-decimal numerics
390387
// (this is for better Oracle support where there have been issues
391388
// using DECIMAL for certain inserts (see SPR-6912))
392389
if ("NUMBER".equals(typeName) && decimalDigits == 0) {
@@ -400,18 +397,11 @@ private void processTableColumns(DatabaseMetaData databaseMetaData, TableMetaDat
400397
}
401398
}
402399
boolean nullable = tableColumns.getBoolean("NULLABLE");
403-
TableParameterMetaData meta = new TableParameterMetaData(
404-
columnName,
405-
dataType,
406-
nullable
407-
);
408-
this.insertParameterMetaData.add(meta);
400+
TableParameterMetaData meta = new TableParameterMetaData(columnName, dataType, nullable);
401+
this.tableParameterMetaData.add(meta);
409402
if (logger.isDebugEnabled()) {
410-
logger.debug("Retrieved metadata: "
411-
+ meta.getParameterName() +
412-
" " + meta.getSqlType() +
413-
" " + meta.isNullable()
414-
);
403+
logger.debug("Retrieved metadata: " + meta.getParameterName() +
404+
" " + meta.getSqlType() + " " + meta.isNullable());
415405
}
416406
}
417407
}

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

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2014 the original author or authors.
2+
* Copyright 2002-2015 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.
@@ -202,7 +202,8 @@ public void setNativeJdbcExtractor(NativeJdbcExtractor nativeJdbcExtractor) {
202202
* @param generatedKeyNames name of generated keys
203203
*/
204204
public void processMetaData(DataSource dataSource, List<String> declaredColumns, String[] generatedKeyNames) {
205-
this.metaDataProvider = TableMetaDataProviderFactory.createMetaDataProvider(dataSource, this, this.nativeJdbcExtractor);
205+
this.metaDataProvider =
206+
TableMetaDataProviderFactory.createMetaDataProvider(dataSource, this, this.nativeJdbcExtractor);
206207
this.tableColumns = reconcileColumnsToUse(declaredColumns, generatedKeyNames);
207208
}
208209

@@ -299,14 +300,14 @@ public String createInsertString(String... generatedKeyNames) {
299300
}
300301
StringBuilder insertStatement = new StringBuilder();
301302
insertStatement.append("INSERT INTO ");
302-
if (this.getSchemaName() != null) {
303-
insertStatement.append(this.getSchemaName());
303+
if (getSchemaName() != null) {
304+
insertStatement.append(getSchemaName());
304305
insertStatement.append(".");
305306
}
306-
insertStatement.append(this.getTableName());
307+
insertStatement.append(getTableName());
307308
insertStatement.append(" (");
308309
int columnCount = 0;
309-
for (String columnName : this.getTableColumns()) {
310+
for (String columnName : getTableColumns()) {
310311
if (!keys.contains(columnName.toUpperCase())) {
311312
columnCount++;
312313
if (columnCount > 1) {
@@ -319,11 +320,11 @@ public String createInsertString(String... generatedKeyNames) {
319320
if (columnCount < 1) {
320321
if (this.generatedKeyColumnsUsed) {
321322
logger.info("Unable to locate non-key columns for table '" +
322-
this.getTableName() + "' so an empty insert statement is generated");
323+
getTableName() + "' so an empty insert statement is generated");
323324
}
324325
else {
325326
throw new InvalidDataAccessApiUsageException("Unable to locate columns for table '" +
326-
this.getTableName() + "' so an insert statement can't be generated");
327+
getTableName() + "' so an insert statement can't be generated");
327328
}
328329
}
329330
for (int i = 0; i < columnCount; i++) {
@@ -341,15 +342,15 @@ public String createInsertString(String... generatedKeyNames) {
341342
* @return the array of types to be used
342343
*/
343344
public int[] createInsertTypes() {
344-
int[] types = new int[this.getTableColumns().size()];
345+
int[] types = new int[getTableColumns().size()];
345346
List<TableParameterMetaData> parameters = this.metaDataProvider.getTableParameterMetaData();
346347
Map<String, TableParameterMetaData> parameterMap =
347348
new LinkedHashMap<String, TableParameterMetaData>(parameters.size());
348349
for (TableParameterMetaData tpmd : parameters) {
349350
parameterMap.put(tpmd.getParameterName().toUpperCase(), tpmd);
350351
}
351352
int typeIndx = 0;
352-
for (String column : this.getTableColumns()) {
353+
for (String column : getTableColumns()) {
353354
if (column == null) {
354355
types[typeIndx] = SqlTypeValue.TYPE_UNKNOWN;
355356
}

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2012 the original author or authors.
2+
* Copyright 2002-2015 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.
@@ -30,7 +30,8 @@
3030
import org.springframework.jdbc.support.nativejdbc.NativeJdbcExtractor;
3131

3232
/**
33-
* Factory used to create a {@link TableMetaDataProvider} implementation based on the type of databse being used.
33+
* Factory used to create a {@link TableMetaDataProvider} implementation
34+
* based on the type of databse being used.
3435
*
3536
* @author Thomas Risberg
3637
* @since 2.5

0 commit comments

Comments
 (0)