From 6b742e17705cc416d6b05ba5d390c8ad5dcbbc94 Mon Sep 17 00:00:00 2001 From: Hyeon Sung Date: Wed, 29 Jan 2025 17:15:47 +0900 Subject: [PATCH 1/6] Optimize text validation and reuse JdbcUtils for consistency. Signed-off-by: Hyeon Sung --- .../r2dbc/core/BeanPropertyRowMapper.java | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/BeanPropertyRowMapper.java b/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/BeanPropertyRowMapper.java index 6e31088d1eb6..1dbe2be6f7de 100644 --- a/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/BeanPropertyRowMapper.java +++ b/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/BeanPropertyRowMapper.java @@ -137,7 +137,7 @@ protected void suppressProperty(@Nullable String propertyName) { * @return the converted name */ protected String lowerCaseName(@Nullable String name) { - if (!StringUtils.hasLength(name)) { + if (!StringUtils.hasText(name)) { return ""; } return name.toLowerCase(Locale.US); @@ -151,22 +151,7 @@ protected String lowerCaseName(@Nullable String name) { * @see #lowerCaseName */ protected String underscoreName(@Nullable String name) { - if (!StringUtils.hasLength(name)) { - return ""; - } - - StringBuilder result = new StringBuilder(); - result.append(Character.toLowerCase(name.charAt(0))); - for (int i = 1; i < name.length(); i++) { - char c = name.charAt(i); - if (Character.isUpperCase(c)) { - result.append('_').append(Character.toLowerCase(c)); - } - else { - result.append(c); - } - } - return result.toString(); + return JdbcUtils.convertPropertyNameToUnderscoreName(name); } /** From 84d9c45c3537c771dd779f5d09dd81ed445968ba Mon Sep 17 00:00:00 2001 From: Hyeon Sung Date: Wed, 29 Jan 2025 17:17:24 +0900 Subject: [PATCH 2/6] Optimize text validation. Signed-off-by: Hyeon Sung --- .../org/springframework/jdbc/core/BeanPropertyRowMapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/BeanPropertyRowMapper.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/BeanPropertyRowMapper.java index a5f0486638e7..14105bd39bd3 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/BeanPropertyRowMapper.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/BeanPropertyRowMapper.java @@ -297,7 +297,7 @@ protected Set mappedNames(PropertyDescriptor pd) { * @see #underscoreName */ protected String lowerCaseName(@Nullable String name) { - if (!StringUtils.hasLength(name)) { + if (!StringUtils.hasText(name)) { return ""; } return name.toLowerCase(Locale.US); From 509cab7c7609c749124aa2a9d12333f2463fa5fa Mon Sep 17 00:00:00 2001 From: Hyeon Sung Date: Wed, 29 Jan 2025 17:20:50 +0900 Subject: [PATCH 3/6] Optimize text validation. Signed-off-by: Hyeon Sung --- .../main/java/org/springframework/jdbc/support/JdbcUtils.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/support/JdbcUtils.java b/spring-jdbc/src/main/java/org/springframework/jdbc/support/JdbcUtils.java index 84a37f8bcf75..e13bb395e20f 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/support/JdbcUtils.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/support/JdbcUtils.java @@ -509,7 +509,7 @@ public static String lookupColumnName(ResultSetMetaData resultSetMetaData, int c * @see #convertUnderscoreNameToPropertyName */ public static String convertPropertyNameToUnderscoreName(@Nullable String name) { - if (!StringUtils.hasLength(name)) { + if (!StringUtils.hasText(name)) { return ""; } @@ -535,7 +535,7 @@ public static String convertPropertyNameToUnderscoreName(@Nullable String name) * @see #convertPropertyNameToUnderscoreName */ public static String convertUnderscoreNameToPropertyName(@Nullable String name) { - if (!StringUtils.hasLength(name)) { + if (!StringUtils.hasText(name)) { return ""; } From 60acf5fb2efe48ceb5bc41eb620b4074e2dc820d Mon Sep 17 00:00:00 2001 From: Hyeon Sung Date: Wed, 29 Jan 2025 17:23:12 +0900 Subject: [PATCH 4/6] Combine exception handling for cleaner code. Signed-off-by: Hyeon Sung --- .../org/springframework/jdbc/datasource/DataSourceUtils.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DataSourceUtils.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DataSourceUtils.java index 05adc178922d..d55913e509fa 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DataSourceUtils.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DataSourceUtils.java @@ -80,10 +80,7 @@ public static Connection getConnection(DataSource dataSource) throws CannotGetJd try { return doGetConnection(dataSource); } - catch (SQLException ex) { - throw new CannotGetJdbcConnectionException("Failed to obtain JDBC Connection", ex); - } - catch (IllegalStateException ex) { + catch (SQLException | IllegalStateException ex) { throw new CannotGetJdbcConnectionException("Failed to obtain JDBC Connection", ex); } } From 6e114565def7141fca947c1866dee65996418085 Mon Sep 17 00:00:00 2001 From: Hyeon Sung Date: Wed, 29 Jan 2025 17:33:03 +0900 Subject: [PATCH 5/6] Update DataSourceUtils.java Signed-off-by: Hyeon Sung --- .../org/springframework/jdbc/datasource/DataSourceUtils.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DataSourceUtils.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DataSourceUtils.java index d55913e509fa..05adc178922d 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DataSourceUtils.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DataSourceUtils.java @@ -80,7 +80,10 @@ public static Connection getConnection(DataSource dataSource) throws CannotGetJd try { return doGetConnection(dataSource); } - catch (SQLException | IllegalStateException ex) { + catch (SQLException ex) { + throw new CannotGetJdbcConnectionException("Failed to obtain JDBC Connection", ex); + } + catch (IllegalStateException ex) { throw new CannotGetJdbcConnectionException("Failed to obtain JDBC Connection", ex); } } From b40a198d1b2014216acc132149e810f9fbc1408f Mon Sep 17 00:00:00 2001 From: Hyeon Sung Date: Wed, 29 Jan 2025 17:38:27 +0900 Subject: [PATCH 6/6] Update BeanPropertyRowMapper.java Signed-off-by: Hyeon Sung --- .../org/springframework/r2dbc/core/BeanPropertyRowMapper.java | 1 + 1 file changed, 1 insertion(+) diff --git a/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/BeanPropertyRowMapper.java b/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/BeanPropertyRowMapper.java index 1dbe2be6f7de..516cb03c90d6 100644 --- a/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/BeanPropertyRowMapper.java +++ b/spring-r2dbc/src/main/java/org/springframework/r2dbc/core/BeanPropertyRowMapper.java @@ -36,6 +36,7 @@ import org.springframework.beans.TypeConverter; import org.springframework.core.convert.ConversionService; import org.springframework.core.convert.support.DefaultConversionService; +import org.springframework.jdbc.support.JdbcUtils; import org.springframework.util.Assert; import org.springframework.util.StringUtils;