This is an automated email from the ASF dual-hosted git repository.

zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 64add8c  polish ShardingSphereResultSet (#6465)
64add8c is described below

commit 64add8c5ea3f41efe88be5f6632aee075e43d328
Author: kimmking <[email protected]>
AuthorDate: Mon Jul 27 20:02:35 2020 +0800

    polish ShardingSphereResultSet (#6465)
---
 .../core/resultset/ShardingSphereResultSet.java    | 104 +++++++++------------
 1 file changed, 44 insertions(+), 60 deletions(-)

diff --git 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSet.java
 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSet.java
index 79eb216..62aadfe 100644
--- 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSet.java
+++ 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSet.java
@@ -49,6 +49,12 @@ import java.util.TreeMap;
  */
 public final class ShardingSphereResultSet extends AbstractResultSetAdapter {
     
+    private static final String ASCII = "Ascii";
+    
+    private static final String UNICODE = "Unicode";
+    
+    private static final String BINARY = "Binary";
+    
     private final MergedResult mergeResultSet;
     
     private final Map<String, Integer> columnLabelAndIndexMap;
@@ -84,8 +90,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public boolean getBoolean(final String columnLabel) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (boolean) 
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, boolean.class), 
boolean.class);
+        return getBoolean(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -95,8 +100,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public byte getByte(final String columnLabel) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (byte) 
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, byte.class), 
byte.class);
+        return getByte(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -106,8 +110,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public short getShort(final String columnLabel) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (short) 
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, short.class), 
short.class);
+        return getShort(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -117,8 +120,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public int getInt(final String columnLabel) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (int) 
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, int.class), 
int.class);
+        return getInt(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -128,8 +130,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public long getLong(final String columnLabel) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (long) 
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, long.class), 
long.class);
+        return getLong(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -139,8 +140,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public float getFloat(final String columnLabel) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (float) 
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, float.class), 
float.class);
+        return getFloat(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -150,8 +150,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public double getDouble(final String columnLabel) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (double) 
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, double.class), 
double.class);
+        return getDouble(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -161,8 +160,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public String getString(final String columnLabel) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (String) 
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, String.class), 
String.class);
+        return getString(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
 
     @Override
@@ -182,8 +180,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public BigDecimal getBigDecimal(final String columnLabel) throws 
SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (BigDecimal) 
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, 
BigDecimal.class), BigDecimal.class);
+        return getBigDecimal(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -193,8 +190,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public BigDecimal getBigDecimal(final String columnLabel, final int scale) 
throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (BigDecimal) 
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, 
BigDecimal.class), BigDecimal.class);
+        return getBigDecimal(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -204,8 +200,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public byte[] getBytes(final String columnLabel) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (byte[]) 
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, byte[].class), 
byte[].class);
+        return getBytes(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -215,8 +210,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public Date getDate(final String columnLabel) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (Date) 
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, Date.class), 
Date.class);
+        return getDate(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -226,8 +220,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public Date getDate(final String columnLabel, final Calendar cal) throws 
SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (Date) 
ResultSetUtil.convertValue(mergeResultSet.getCalendarValue(columnIndex, 
Date.class, cal), Date.class);
+        return getDate(getIndexFromColumnLabelAndIndexMap(columnLabel), cal);
     }
     
     @Override
@@ -237,8 +230,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public Time getTime(final String columnLabel) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (Time) 
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, Time.class), 
Time.class);
+        return getTime(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -248,8 +240,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public Time getTime(final String columnLabel, final Calendar cal) throws 
SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (Time) 
ResultSetUtil.convertValue(mergeResultSet.getCalendarValue(columnIndex, 
Time.class, cal), Time.class);
+        return getTime(getIndexFromColumnLabelAndIndexMap(columnLabel), cal);
     }
             
     @Override
@@ -259,8 +250,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public Timestamp getTimestamp(final String columnLabel) throws 
SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (Timestamp) 
ResultSetUtil.convertValue(mergeResultSet.getValue(columnIndex, 
Timestamp.class), Timestamp.class);
+        return getTimestamp(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -270,41 +260,37 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public Timestamp getTimestamp(final String columnLabel, final Calendar 
cal) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (Timestamp) 
ResultSetUtil.convertValue(mergeResultSet.getCalendarValue(columnIndex, 
Timestamp.class, cal), Timestamp.class);
+        return getTimestamp(getIndexFromColumnLabelAndIndexMap(columnLabel), 
cal);
     }
     
     @Override
     public InputStream getAsciiStream(final int columnIndex) throws 
SQLException {
-        return mergeResultSet.getInputStream(columnIndex, "Ascii");
+        return mergeResultSet.getInputStream(columnIndex, ASCII);
     }
     
     @Override
     public InputStream getAsciiStream(final String columnLabel) throws 
SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return mergeResultSet.getInputStream(columnIndex, "Ascii");
+        return getAsciiStream(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
     public InputStream getUnicodeStream(final int columnIndex) throws 
SQLException {
-        return mergeResultSet.getInputStream(columnIndex, "Unicode");
+        return mergeResultSet.getInputStream(columnIndex, UNICODE);
     }
     
     @Override
     public InputStream getUnicodeStream(final String columnLabel) throws 
SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return mergeResultSet.getInputStream(columnIndex, "Unicode");
+        return 
getUnicodeStream(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
     public InputStream getBinaryStream(final int columnIndex) throws 
SQLException {
-        return mergeResultSet.getInputStream(columnIndex, "Binary");
+        return mergeResultSet.getInputStream(columnIndex, BINARY);
     }
     
     @Override
     public InputStream getBinaryStream(final String columnLabel) throws 
SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return mergeResultSet.getInputStream(columnIndex, "Binary");
+        return 
getBinaryStream(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -314,8 +300,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public Reader getCharacterStream(final String columnLabel) throws 
SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (Reader) mergeResultSet.getValue(columnIndex, Reader.class);
+        return 
getCharacterStream(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -325,8 +310,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public Blob getBlob(final String columnLabel) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (Blob) mergeResultSet.getValue(columnIndex, Blob.class);
+        return getBlob(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -336,8 +320,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
         
     @Override
     public Clob getClob(final String columnLabel) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (Clob) mergeResultSet.getValue(columnIndex, Clob.class);
+        return getClob(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -347,8 +330,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public URL getURL(final String columnLabel) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (URL) mergeResultSet.getValue(columnIndex, URL.class);
+        return getURL(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -358,8 +340,7 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public SQLXML getSQLXML(final String columnLabel) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return (SQLXML) mergeResultSet.getValue(columnIndex, SQLXML.class);
+        return getSQLXML(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
     
     @Override
@@ -369,10 +350,9 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
     
     @Override
     public Object getObject(final String columnLabel) throws SQLException {
-        int columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        return mergeResultSet.getValue(columnIndex, Object.class);
+        return getObject(getIndexFromColumnLabelAndIndexMap(columnLabel));
     }
-
+    
     @Override
     public <T> T getObject(final int columnIndex, final Class<T> type) throws 
SQLException {
         if (LocalDateTime.class.equals(type) || LocalDate.class.equals(type) 
|| LocalTime.class.equals(type)) {
@@ -380,13 +360,17 @@ public final class ShardingSphereResultSet extends 
AbstractResultSetAdapter {
         }
         throw new SQLFeatureNotSupportedException("getObject with type");
     }
-
+    
     @Override
     public <T> T getObject(final String columnLabel, final Class<T> type) 
throws SQLException {
+        return getObject(getIndexFromColumnLabelAndIndexMap(columnLabel), 
type);
+    }
+    
+    private Integer getIndexFromColumnLabelAndIndexMap(final String 
columnLabel) throws SQLFeatureNotSupportedException {
         Integer columnIndex = columnLabelAndIndexMap.get(columnLabel);
-        if (columnIndex == null) {
-            throw new SQLFeatureNotSupportedException("getObject with type");
+        if (null == columnIndex) {
+            throw new SQLFeatureNotSupportedException(String.format("can't get 
index from columnLabel[%s].", columnLabel));
         }
-        return getObject(columnIndex, type);
+        return columnIndex;
     }
 }

Reply via email to