Polishing
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2014 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.
|
||||
@@ -72,26 +72,34 @@ public class GenericCallMetaDataProvider implements CallMetaDataProvider {
|
||||
try {
|
||||
setSupportsCatalogsInProcedureCalls(databaseMetaData.supportsCatalogsInProcedureCalls());
|
||||
}
|
||||
catch (SQLException se) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.supportsCatalogsInProcedureCalls' - " + se.getMessage());
|
||||
catch (SQLException ex) {
|
||||
if (logger.isWarnEnabled()) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.supportsCatalogsInProcedureCalls' - " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
try {
|
||||
setSupportsSchemasInProcedureCalls(databaseMetaData.supportsSchemasInProcedureCalls());
|
||||
}
|
||||
catch (SQLException se) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.supportsSchemasInProcedureCalls' - " + se.getMessage());
|
||||
catch (SQLException ex) {
|
||||
if (logger.isWarnEnabled()) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.supportsSchemasInProcedureCalls' - " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
try {
|
||||
setStoresUpperCaseIdentifiers(databaseMetaData.storesUpperCaseIdentifiers());
|
||||
}
|
||||
catch (SQLException se) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.storesUpperCaseIdentifiers' - " + se.getMessage());
|
||||
catch (SQLException ex) {
|
||||
if (logger.isWarnEnabled()) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.storesUpperCaseIdentifiers' - " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
try {
|
||||
setStoresLowerCaseIdentifiers(databaseMetaData.storesLowerCaseIdentifiers());
|
||||
}
|
||||
catch (SQLException se) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.storesLowerCaseIdentifiers' - " + se.getMessage());
|
||||
catch (SQLException ex) {
|
||||
if (logger.isWarnEnabled()) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.storesLowerCaseIdentifiers' - " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,7 +121,7 @@ public class GenericCallMetaDataProvider implements CallMetaDataProvider {
|
||||
else if (isStoresUpperCaseIdentifiers()) {
|
||||
return procedureName.toUpperCase();
|
||||
}
|
||||
else if(isStoresLowerCaseIdentifiers()) {
|
||||
else if (isStoresLowerCaseIdentifiers()) {
|
||||
return procedureName.toLowerCase();
|
||||
}
|
||||
else {
|
||||
@@ -128,7 +136,7 @@ public class GenericCallMetaDataProvider implements CallMetaDataProvider {
|
||||
else if (isStoresUpperCaseIdentifiers()) {
|
||||
return catalogName.toUpperCase();
|
||||
}
|
||||
else if(isStoresLowerCaseIdentifiers()) {
|
||||
else if (isStoresLowerCaseIdentifiers()) {
|
||||
return catalogName.toLowerCase();
|
||||
}
|
||||
else {
|
||||
@@ -143,7 +151,7 @@ public class GenericCallMetaDataProvider implements CallMetaDataProvider {
|
||||
else if (isStoresUpperCaseIdentifiers()) {
|
||||
return schemaName.toUpperCase();
|
||||
}
|
||||
else if(isStoresLowerCaseIdentifiers()) {
|
||||
else if (isStoresLowerCaseIdentifiers()) {
|
||||
return schemaName.toLowerCase();
|
||||
}
|
||||
else {
|
||||
@@ -176,7 +184,7 @@ public class GenericCallMetaDataProvider implements CallMetaDataProvider {
|
||||
else if (isStoresUpperCaseIdentifiers()) {
|
||||
return parameterName.toUpperCase();
|
||||
}
|
||||
else if(isStoresLowerCaseIdentifiers()) {
|
||||
else if (isStoresLowerCaseIdentifiers()) {
|
||||
return parameterName.toLowerCase();
|
||||
}
|
||||
else {
|
||||
@@ -321,12 +329,8 @@ public class GenericCallMetaDataProvider implements CallMetaDataProvider {
|
||||
columnType == DatabaseMetaData.procedureColumnInOut ||
|
||||
columnType == DatabaseMetaData.procedureColumnOut)) {
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Skipping metadata for: "
|
||||
+ columnName +
|
||||
" " + columnType +
|
||||
" " + procs.getInt("DATA_TYPE") +
|
||||
" " + procs.getString("TYPE_NAME") +
|
||||
" " + procs.getBoolean("NULLABLE") +
|
||||
logger.debug("Skipping metadata for: " + columnType + " " + procs.getInt("DATA_TYPE") +
|
||||
" " + procs.getString("TYPE_NAME") + " " + procs.getBoolean("NULLABLE") +
|
||||
" (probably a member of a collection)"
|
||||
);
|
||||
}
|
||||
@@ -335,18 +339,19 @@ public class GenericCallMetaDataProvider implements CallMetaDataProvider {
|
||||
CallParameterMetaData meta = new CallParameterMetaData(columnName, columnType,
|
||||
procs.getInt("DATA_TYPE"), procs.getString("TYPE_NAME"), procs.getBoolean("NULLABLE")
|
||||
);
|
||||
callParameterMetaData.add(meta);
|
||||
this.callParameterMetaData.add(meta);
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Retrieved metadata: " + meta.getParameterName() + " " +
|
||||
meta.getParameterType() + " " + meta.getSqlType() +
|
||||
" " + meta.getTypeName() + " " + meta.isNullable()
|
||||
);
|
||||
meta.getParameterType() + " " + meta.getSqlType() + " " +
|
||||
meta.getTypeName() + " " + meta.isNullable());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (SQLException ex) {
|
||||
logger.warn("Error while retrieving metadata for procedure columns: " + ex);
|
||||
if (logger.isWarnEnabled()) {
|
||||
logger.warn("Error while retrieving metadata for procedure columns: " + ex);
|
||||
}
|
||||
}
|
||||
finally {
|
||||
try {
|
||||
@@ -355,7 +360,9 @@ public class GenericCallMetaDataProvider implements CallMetaDataProvider {
|
||||
}
|
||||
}
|
||||
catch (SQLException ex) {
|
||||
logger.warn("Problem closing ResultSet for procedure column metadata: " + ex);
|
||||
if (logger.isWarnEnabled()) {
|
||||
logger.warn("Problem closing ResultSet for procedure column metadata: " + ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2014 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.
|
||||
@@ -85,34 +85,23 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Specify whether identifiers use upper case
|
||||
*/
|
||||
public void setStoresUpperCaseIdentifiers(boolean storesUpperCaseIdentifiers) {
|
||||
this.storesUpperCaseIdentifiers = storesUpperCaseIdentifiers;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get whether identifiers use upper case
|
||||
*/
|
||||
public boolean isStoresUpperCaseIdentifiers() {
|
||||
return this.storesUpperCaseIdentifiers;
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify whether identifiers use lower case.
|
||||
*/
|
||||
public void setStoresLowerCaseIdentifiers(boolean storesLowerCaseIdentifiers) {
|
||||
this.storesLowerCaseIdentifiers = storesLowerCaseIdentifiers;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get whether identifiers use lower case
|
||||
*/
|
||||
public boolean isStoresLowerCaseIdentifiers() {
|
||||
return this.storesLowerCaseIdentifiers;
|
||||
}
|
||||
|
||||
|
||||
public boolean isTableColumnMetaDataUsed() {
|
||||
return this.tableColumnMetaDataUsed;
|
||||
}
|
||||
@@ -133,16 +122,10 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify whether a column name array is supported for generated keys
|
||||
*/
|
||||
public void setGetGeneratedKeysSupported(boolean getGeneratedKeysSupported) {
|
||||
this.getGeneratedKeysSupported = getGeneratedKeysSupported;
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify whether a column name array is supported for generated keys
|
||||
*/
|
||||
public void setGeneratedKeysColumnNameArraySupported(boolean generatedKeysColumnNameArraySupported) {
|
||||
this.generatedKeysColumnNameArraySupported = generatedKeysColumnNameArraySupported;
|
||||
}
|
||||
@@ -171,8 +154,8 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
|
||||
setGetGeneratedKeysSupported(false);
|
||||
}
|
||||
}
|
||||
catch (SQLException se) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.getGeneratedKeys' - " + se.getMessage());
|
||||
catch (SQLException ex) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.getGeneratedKeys' - " + ex.getMessage());
|
||||
}
|
||||
try {
|
||||
String databaseProductName = databaseMetaData.getDatabaseProductName();
|
||||
@@ -190,26 +173,26 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (SQLException se) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.getDatabaseProductName' - " + se.getMessage());
|
||||
catch (SQLException ex) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.getDatabaseProductName' - " + ex.getMessage());
|
||||
}
|
||||
try {
|
||||
this.databaseVersion = databaseMetaData.getDatabaseProductVersion();
|
||||
}
|
||||
catch (SQLException se) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.getDatabaseProductVersion' - " + se.getMessage());
|
||||
catch (SQLException ex) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.getDatabaseProductVersion' - " + ex.getMessage());
|
||||
}
|
||||
try {
|
||||
setStoresUpperCaseIdentifiers(databaseMetaData.storesUpperCaseIdentifiers());
|
||||
}
|
||||
catch (SQLException se) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.storesUpperCaseIdentifiers' - " + se.getMessage());
|
||||
catch (SQLException ex) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.storesUpperCaseIdentifiers' - " + ex.getMessage());
|
||||
}
|
||||
try {
|
||||
setStoresLowerCaseIdentifiers(databaseMetaData.storesLowerCaseIdentifiers());
|
||||
}
|
||||
catch (SQLException se) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.storesLowerCaseIdentifiers' - " + se.getMessage());
|
||||
catch (SQLException ex) {
|
||||
logger.warn("Error retrieving 'DatabaseMetaData.storesLowerCaseIdentifiers' - " + ex.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -228,7 +211,7 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
|
||||
else if (isStoresUpperCaseIdentifiers()) {
|
||||
return tableName.toUpperCase();
|
||||
}
|
||||
else if(isStoresLowerCaseIdentifiers()) {
|
||||
else if (isStoresLowerCaseIdentifiers()) {
|
||||
return tableName.toLowerCase();
|
||||
}
|
||||
else {
|
||||
@@ -243,7 +226,7 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
|
||||
else if (isStoresUpperCaseIdentifiers()) {
|
||||
return catalogName.toUpperCase();
|
||||
}
|
||||
else if(isStoresLowerCaseIdentifiers()) {
|
||||
else if (isStoresLowerCaseIdentifiers()) {
|
||||
return catalogName.toLowerCase();
|
||||
}
|
||||
else {
|
||||
@@ -258,7 +241,7 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
|
||||
else if (isStoresUpperCaseIdentifiers()) {
|
||||
return schemaName.toUpperCase();
|
||||
}
|
||||
else if(isStoresLowerCaseIdentifiers()) {
|
||||
else if (isStoresLowerCaseIdentifiers()) {
|
||||
return schemaName.toLowerCase();
|
||||
}
|
||||
else {
|
||||
@@ -311,22 +294,23 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
|
||||
tmd.setSchemaName(tables.getString("TABLE_SCHEM"));
|
||||
tmd.setTableName(tables.getString("TABLE_NAME"));
|
||||
if (tmd.getSchemaName() == null) {
|
||||
tableMeta.put(userName != null ? userName.toUpperCase() : "", tmd);
|
||||
tableMeta.put(this.userName != null ? this.userName.toUpperCase() : "", tmd);
|
||||
}
|
||||
else {
|
||||
tableMeta.put(tmd.getSchemaName().toUpperCase(), tmd);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (SQLException se) {
|
||||
logger.warn("Error while accessing table meta data results" + se.getMessage());
|
||||
catch (SQLException ex) {
|
||||
logger.warn("Error while accessing table meta data results" + ex.getMessage());
|
||||
}
|
||||
finally {
|
||||
if (tables != null) {
|
||||
try {
|
||||
tables.close();
|
||||
} catch (SQLException e) {
|
||||
logger.warn("Error while closing table meta data reults" + e.getMessage());
|
||||
}
|
||||
catch (SQLException ex) {
|
||||
logger.warn("Error while closing table meta data results" + ex.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -365,7 +349,7 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
|
||||
}
|
||||
|
||||
/**
|
||||
* Method supporting the metedata processing for a table's columns
|
||||
* Method supporting the metadata processing for a table's columns
|
||||
*/
|
||||
private void processTableColumns(DatabaseMetaData databaseMetaData, TableMetaData tmd) {
|
||||
ResultSet tableColumns = null;
|
||||
@@ -417,16 +401,16 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (SQLException se) {
|
||||
logger.warn("Error while retrieving metadata for table columns: " + se.getMessage());
|
||||
catch (SQLException ex) {
|
||||
logger.warn("Error while retrieving metadata for table columns: " + ex.getMessage());
|
||||
}
|
||||
finally {
|
||||
try {
|
||||
if (tableColumns != null)
|
||||
tableColumns.close();
|
||||
}
|
||||
catch (SQLException se) {
|
||||
logger.warn("Problem closing ResultSet for table column metadata " + se.getMessage());
|
||||
catch (SQLException ex) {
|
||||
logger.warn("Problem closing ResultSet for table column metadata " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -444,7 +428,6 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
|
||||
|
||||
private String tableName;
|
||||
|
||||
|
||||
public void setCatalogName(String catalogName) {
|
||||
this.catalogName = catalogName;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2014 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.
|
||||
@@ -65,22 +65,22 @@ public class SQLExceptionSubclassTranslator extends AbstractFallbackSQLException
|
||||
@Override
|
||||
protected DataAccessException doTranslate(String task, String sql, SQLException ex) {
|
||||
if (ex instanceof SQLTransientException) {
|
||||
if (ex instanceof SQLTransactionRollbackException) {
|
||||
return new ConcurrencyFailureException(buildMessage(task, sql, ex), ex);
|
||||
}
|
||||
if (ex instanceof SQLTransientConnectionException) {
|
||||
return new TransientDataAccessResourceException(buildMessage(task, sql, ex), ex);
|
||||
}
|
||||
if (ex instanceof SQLTimeoutException) {
|
||||
else if (ex instanceof SQLTransactionRollbackException) {
|
||||
return new ConcurrencyFailureException(buildMessage(task, sql, ex), ex);
|
||||
}
|
||||
else if (ex instanceof SQLTimeoutException) {
|
||||
return new QueryTimeoutException(buildMessage(task, sql, ex), ex);
|
||||
}
|
||||
}
|
||||
else if (ex instanceof SQLNonTransientException) {
|
||||
if (ex instanceof SQLDataException) {
|
||||
return new DataIntegrityViolationException(buildMessage(task, sql, ex), ex);
|
||||
if (ex instanceof SQLNonTransientConnectionException) {
|
||||
return new DataAccessResourceFailureException(buildMessage(task, sql, ex), ex);
|
||||
}
|
||||
else if (ex instanceof SQLFeatureNotSupportedException) {
|
||||
return new InvalidDataAccessApiUsageException(buildMessage(task, sql, ex), ex);
|
||||
else if (ex instanceof SQLDataException) {
|
||||
return new DataIntegrityViolationException(buildMessage(task, sql, ex), ex);
|
||||
}
|
||||
else if (ex instanceof SQLIntegrityConstraintViolationException) {
|
||||
return new DataIntegrityViolationException(buildMessage(task, sql, ex), ex);
|
||||
@@ -88,12 +88,12 @@ public class SQLExceptionSubclassTranslator extends AbstractFallbackSQLException
|
||||
else if (ex instanceof SQLInvalidAuthorizationSpecException) {
|
||||
return new PermissionDeniedDataAccessException(buildMessage(task, sql, ex), ex);
|
||||
}
|
||||
else if (ex instanceof SQLNonTransientConnectionException) {
|
||||
return new DataAccessResourceFailureException(buildMessage(task, sql, ex), ex);
|
||||
}
|
||||
else if (ex instanceof SQLSyntaxErrorException) {
|
||||
return new BadSqlGrammarException(task, sql, ex);
|
||||
}
|
||||
else if (ex instanceof SQLFeatureNotSupportedException) {
|
||||
return new InvalidDataAccessApiUsageException(buildMessage(task, sql, ex), ex);
|
||||
}
|
||||
}
|
||||
else if (ex instanceof SQLRecoverableException) {
|
||||
return new RecoverableDataAccessException(buildMessage(task, sql, ex), ex);
|
||||
|
||||
Reference in New Issue
Block a user