You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2023/05/06 04:39:53 UTC
[shardingsphere] branch master updated: Refactor HBaseErrorHintCommentQueryHandler (#25487)
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 64c82cdb116 Refactor HBaseErrorHintCommentQueryHandler (#25487)
64c82cdb116 is described below
commit 64c82cdb11655a12b6d18ef97c93364892e8b831
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sat May 6 12:39:44 2023 +0800
Refactor HBaseErrorHintCommentQueryHandler (#25487)
* Refactor DataSourcePoolDestroyerTest
* Refactor YamlDataSourcePropertiesSwapperTest
* Refactor HBaseErrorHintCommentQueryHandler
---
.../hbase/handler/HBaseBackendQueryHandler.java | 3 +-
.../hbase/handler/HBaseBackendUpdateHandler.java | 2 --
...java => HBaseErrorHintCommentQueryHandler.java} | 34 +++++++++-------------
.../HBaseErrorHintCommentQueryRowData.java} | 29 +++++++++++-------
.../backend/hbase/result/HBaseBackendHandler.java | 1 -
5 files changed, 32 insertions(+), 37 deletions(-)
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendQueryHandler.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendQueryHandler.java
index ef98008999c..46c36e9a208 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendQueryHandler.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendQueryHandler.java
@@ -17,7 +17,6 @@
package org.apache.shardingsphere.proxy.backend.hbase.handler;
-import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.binder.SQLStatementContextFactory;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
@@ -27,6 +26,7 @@ import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
import org.apache.shardingsphere.proxy.backend.response.header.query.QueryHeader;
import org.apache.shardingsphere.proxy.backend.response.header.query.QueryResponseHeader;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
+
import java.sql.Types;
import java.util.Collection;
import java.util.List;
@@ -36,7 +36,6 @@ import java.util.stream.Collectors;
* Backend handler for HBase.
*/
@RequiredArgsConstructor
-@Getter
public final class HBaseBackendQueryHandler implements HBaseBackendHandler {
private final SQLStatement sqlStatement;
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendUpdateHandler.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendUpdateHandler.java
index e633252f612..ed1a3e3ef46 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendUpdateHandler.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseBackendUpdateHandler.java
@@ -17,7 +17,6 @@
package org.apache.shardingsphere.proxy.backend.hbase.handler;
-import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.binder.SQLStatementContextFactory;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
@@ -35,7 +34,6 @@ import java.util.Collection;
* HBase backend updater handler.
*/
@RequiredArgsConstructor
-@Getter
public final class HBaseBackendUpdateHandler implements DatabaseBackendHandler {
private final SQLStatement sqlStatement;
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/ErrorHintCommentQueryHandler.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseErrorHintCommentQueryHandler.java
similarity index 61%
rename from proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/ErrorHintCommentQueryHandler.java
rename to proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseErrorHintCommentQueryHandler.java
index ab603ced14a..a15b18b2ace 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/ErrorHintCommentQueryHandler.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseErrorHintCommentQueryHandler.java
@@ -17,12 +17,12 @@
package org.apache.shardingsphere.proxy.backend.hbase.handler;
-import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
import org.apache.shardingsphere.proxy.backend.hbase.result.HBaseBackendHandler;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
import org.apache.shardingsphere.proxy.backend.response.header.query.QueryHeader;
import org.apache.shardingsphere.proxy.backend.response.header.query.QueryResponseHeader;
+
import java.sql.Types;
import java.util.Arrays;
import java.util.Collection;
@@ -30,43 +30,35 @@ import java.util.List;
import java.util.stream.Collectors;
/**
- * Backend handler for error hint.
+ * Backend handler for error hint for HBase.
*/
-@Getter
-public final class ErrorHintCommentQueryHandler implements HBaseBackendHandler {
+public final class HBaseErrorHintCommentQueryHandler implements HBaseBackendHandler {
- private final String hintComment;
+ private static final Collection<String> COLUMN_NAMES = Arrays.asList("ID", "Hint", "Status");
- private int currentIndex;
+ private final List<HBaseErrorHintCommentQueryRowData> rowDataList;
- private final String[][] result;
+ private int currentIndex;
- public ErrorHintCommentQueryHandler(final String hintComment) {
- this.hintComment = hintComment;
- this.currentIndex = 0;
- int index = 1;
- this.result = new String[][]{{String.valueOf(index++), "HBase", "supported", "", ""}, {String.valueOf(index), StringUtils.strip(hintComment, "* "), "unsupported", "/", "/"}};
+ public HBaseErrorHintCommentQueryHandler(final String hintComment) {
+ rowDataList = Arrays.asList(new HBaseErrorHintCommentQueryRowData(1, "HBase", true), new HBaseErrorHintCommentQueryRowData(2, StringUtils.strip(hintComment, "* "), false));
+ currentIndex = 0;
}
@Override
public ResponseHeader execute() {
- List<QueryHeader> queryHeaders = getColumnNames().stream().map(each -> new QueryHeader("", "", each, each, Types.CHAR, "CHAR", 255, 0, false, false, false, false)).collect(
- Collectors.toList());
+ List<QueryHeader> queryHeaders = COLUMN_NAMES.stream().map(each -> new QueryHeader("", "", each, each, Types.CHAR, "CHAR", 255, 0, false, false, false, false)).collect(Collectors.toList());
return new QueryResponseHeader(queryHeaders);
}
- private Collection<String> getColumnNames() {
- return Arrays.asList("ID", "Hint", "Status", "Author", "Email");
- }
-
@Override
public boolean next() {
- currentIndex += 1;
- return currentIndex <= result.length;
+ currentIndex++;
+ return currentIndex <= rowDataList.size();
}
@Override
public Collection<Object> getRowDataObjects() {
- return Arrays.asList(result[currentIndex - 1]);
+ return rowDataList.get(currentIndex - 1).toList();
}
}
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/HBaseBackendHandler.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseErrorHintCommentQueryRowData.java
similarity index 61%
copy from proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/HBaseBackendHandler.java
copy to proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseErrorHintCommentQueryRowData.java
index 3ad113e69e9..1a13f4afd1c 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/HBaseBackendHandler.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/handler/HBaseErrorHintCommentQueryRowData.java
@@ -15,24 +15,31 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.proxy.backend.hbase.result;
+package org.apache.shardingsphere.proxy.backend.hbase.handler;
-import org.apache.shardingsphere.proxy.backend.handler.ProxyBackendHandler;
+import lombok.RequiredArgsConstructor;
+
+import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
/**
- * HBase backend handler.
+ * Error hint comment query row data for HBase.
*/
-public interface HBaseBackendHandler extends ProxyBackendHandler {
+@RequiredArgsConstructor
+public final class HBaseErrorHintCommentQueryRowData {
+
+ private final int id;
+
+ private final String hint;
+
+ private final boolean supported;
/**
- * Get row data objects.
- *
- * @return row data
+ * List row data.
+ *
+ * @return listed row data
*/
- default Collection<Object> getRowDataObjects() {
- return Collections.emptyList();
+ public Collection<Object> toList() {
+ return Arrays.asList(String.valueOf(id), hint, supported ? "supported" : "unsupported");
}
-
}
diff --git a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/HBaseBackendHandler.java b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/HBaseBackendHandler.java
index 3ad113e69e9..8ab81f9af44 100644
--- a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/HBaseBackendHandler.java
+++ b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/HBaseBackendHandler.java
@@ -34,5 +34,4 @@ public interface HBaseBackendHandler extends ProxyBackendHandler {
default Collection<Object> getRowDataObjects() {
return Collections.emptyList();
}
-
}