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

jianglongtao 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 b75a0f191b1 Replace `ShowComputeNodeModeHandler` with 
`ShowComputeNodeModeExecutor` (#23879)
b75a0f191b1 is described below

commit b75a0f191b143f2b416fae4690819dcb4c6fe07f
Author: Zichao <[email protected]>
AuthorDate: Wed Feb 1 06:19:11 2023 +1300

    Replace `ShowComputeNodeModeHandler` with `ShowComputeNodeModeExecutor` 
(#23879)
    
    * Replace `ShowComputeNodeModeHandler` with `ShowComputeNodeModeExecutor`
    
    * Replace `ShowComputeNodeModeHandler` with `ShowComputeNodeModeExecutor`
---
 .../distsql/ral/RALBackendHandlerFactory.java      |  3 --
 ...ndler.java => ShowComputeNodeModeExecutor.java} | 26 ++++++--------
 ....distsql.handler.ral.query.QueryableRALExecutor |  1 +
 ...t.java => ShowComputeNodeModeExecutorTest.java} | 40 +++++++++++++---------
 4 files changed, 35 insertions(+), 35 deletions(-)

diff --git 
a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/RALBackendHandlerFactory.java
 
b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/RALBackendHandlerFactory.java
index 571acb7522d..9278b401a1c 100644
--- 
a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/RALBackendHandlerFactory.java
+++ 
b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/RALBackendHandlerFactory.java
@@ -30,7 +30,6 @@ import 
org.apache.shardingsphere.distsql.parser.statement.ral.RALStatement;
 import 
org.apache.shardingsphere.distsql.parser.statement.ral.UpdatableGlobalRuleRALStatement;
 import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ConvertYamlConfigurationStatement;
 import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ExportDatabaseConfigurationStatement;
-import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowComputeNodeModeStatement;
 import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowDistVariableStatement;
 import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowDistVariablesStatement;
 import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowTableMetaDataStatement;
@@ -55,7 +54,6 @@ import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.migration.que
 import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.migration.update.UpdatableScalingRALBackendHandler;
 import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ConvertYamlConfigurationHandler;
 import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ExportDatabaseConfigurationHandler;
-import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowComputeNodeModeHandler;
 import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowDistVariableHandler;
 import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowDistVariablesHandler;
 import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowStatusFromReadwriteSplittingRulesHandler;
@@ -104,7 +102,6 @@ public final class RALBackendHandlerFactory {
         HANDLERS.put(ShowTableMetaDataStatement.class, 
ShowTableMetaDataHandler.class);
         HANDLERS.put(ExportDatabaseConfigurationStatement.class, 
ExportDatabaseConfigurationHandler.class);
         HANDLERS.put(ConvertYamlConfigurationStatement.class, 
ConvertYamlConfigurationHandler.class);
-        HANDLERS.put(ShowComputeNodeModeStatement.class, 
ShowComputeNodeModeHandler.class);
     }
     
     /**
diff --git 
a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowComputeNodeModeHandler.java
 
b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowComputeNodeModeExecutor.java
similarity index 68%
rename from 
proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowComputeNodeModeHandler.java
rename to 
proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowComputeNodeModeExecutor.java
index 6d915db63a5..582dd5a4d54 100644
--- 
a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowComputeNodeModeHandler.java
+++ 
b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowComputeNodeModeExecutor.java
@@ -18,41 +18,37 @@
 package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable;
 
 import com.google.gson.Gson;
+import 
org.apache.shardingsphere.distsql.handler.ral.query.InstanceContextRequiredQueryableRALExecutor;
 import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowComputeNodeModeStatement;
 import 
org.apache.shardingsphere.infra.config.mode.PersistRepositoryConfiguration;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import 
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
-import org.apache.shardingsphere.mode.manager.ContextManager;
-import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
-import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.AbstractQueryableRALBackendHandler;
 
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 
 /**
- * Show compute node mode handler.
+ * Show compute node mode executor.
  */
-public final class ShowComputeNodeModeHandler extends 
AbstractQueryableRALBackendHandler<ShowComputeNodeModeStatement> {
-    
-    private static final String TYPE = "type";
-    
-    private static final String REPOSITORY = "repository";
-    
-    private static final String PROPS = "props";
+public final class ShowComputeNodeModeExecutor implements 
InstanceContextRequiredQueryableRALExecutor<ShowComputeNodeModeStatement> {
     
     @Override
-    protected Collection<String> getColumnNames() {
-        return Arrays.asList(TYPE, REPOSITORY, PROPS);
+    public Collection<String> getColumnNames() {
+        return Arrays.asList("type", "repository", "props");
     }
     
     @Override
-    protected Collection<LocalDataQueryResultRow> getRows(final ContextManager 
contextManager) {
-        InstanceContext instanceContext = 
ProxyContext.getInstance().getContextManager().getInstanceContext();
+    public Collection<LocalDataQueryResultRow> getRows(final InstanceContext 
instanceContext, final ShowComputeNodeModeStatement sqlStatement) {
         PersistRepositoryConfiguration repositoryConfig = 
instanceContext.getModeConfiguration().getRepository();
         String modeType = instanceContext.getModeConfiguration().getType();
         String repositoryType = null == repositoryConfig ? "" : 
repositoryConfig.getType();
         String props = null == repositoryConfig || null == 
repositoryConfig.getProps() ? "" : new 
Gson().toJson(repositoryConfig.getProps());
         return Collections.singleton(new LocalDataQueryResultRow(modeType, 
repositoryType, props));
     }
+    
+    @Override
+    public String getType() {
+        return ShowComputeNodeModeStatement.class.getName();
+    }
 }
diff --git 
a/proxy/backend/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.ral.query.QueryableRALExecutor
 
b/proxy/backend/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.ral.query.QueryableRALExecutor
index 6217f533f0c..520a2738853 100644
--- 
a/proxy/backend/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.ral.query.QueryableRALExecutor
+++ 
b/proxy/backend/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.ral.query.QueryableRALExecutor
@@ -17,3 +17,4 @@
 
 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowComputeNodesExecutor
 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowComputeNodeInfoExecutor
+org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable.ShowComputeNodeModeExecutor
diff --git 
a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowComputeNodeModeHandlerTest.java
 
b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowComputeNodeModeExecutorTest.java
similarity index 65%
rename from 
proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowComputeNodeModeHandlerTest.java
rename to 
proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowComputeNodeModeExecutorTest.java
index b26275a83e6..40a6303a8fb 100644
--- 
a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowComputeNodeModeHandlerTest.java
+++ 
b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowComputeNodeModeExecutorTest.java
@@ -20,16 +20,16 @@ package 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.queryable;
 import 
org.apache.shardingsphere.distsql.parser.statement.ral.queryable.ShowComputeNodeModeStatement;
 import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
-import org.apache.shardingsphere.mode.manager.ContextManager;
+import 
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
 import 
org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepositoryConfiguration;
-import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import org.apache.shardingsphere.proxy.backend.util.ProxyContextRestorer;
 import org.apache.shardingsphere.test.util.PropertiesBuilder;
 import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
 import org.junit.Test;
 
 import java.sql.SQLException;
-import java.util.List;
+import java.util.Collection;
+import java.util.Iterator;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
@@ -37,23 +37,29 @@ import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-public final class ShowComputeNodeModeHandlerTest extends ProxyContextRestorer 
{
+public final class ShowComputeNodeModeExecutorTest extends 
ProxyContextRestorer {
     
     @Test
     public void assertExecute() throws SQLException {
-        ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
-        InstanceContext instanceContext = createInstanceContext();
-        when(contextManager.getInstanceContext()).thenReturn(instanceContext);
-        ShowComputeNodeModeHandler handler = new ShowComputeNodeModeHandler();
-        handler.init(new ShowComputeNodeModeStatement(), null);
-        ProxyContext.init(contextManager);
-        handler.execute();
-        handler.next();
-        List<Object> data = handler.getRowData().getData();
-        assertThat(data.size(), is(3));
-        assertThat(data.get(0), is("Cluster"));
-        assertThat(data.get(1), is("ZooKeeper"));
-        assertThat(data.get(2), is("{\"key\":\"value1,value2\"}"));
+        ShowComputeNodeModeExecutor executor = new 
ShowComputeNodeModeExecutor();
+        Collection<LocalDataQueryResultRow> actual = 
executor.getRows(createInstanceContext(), new ShowComputeNodeModeStatement());
+        assertThat(actual.size(), is(1));
+        Iterator<LocalDataQueryResultRow> iterator = actual.iterator();
+        LocalDataQueryResultRow row = iterator.next();
+        assertThat(row.getCell(1), is("Cluster"));
+        assertThat(row.getCell(2), is("ZooKeeper"));
+        assertThat(row.getCell(3), is("{\"key\":\"value1,value2\"}"));
+    }
+    
+    @Test
+    public void assertGetColumnNames() {
+        ShowComputeNodeModeExecutor executor = new 
ShowComputeNodeModeExecutor();
+        Collection<String> columns = executor.getColumnNames();
+        assertThat(columns.size(), is(3));
+        Iterator<String> iterator = columns.iterator();
+        assertThat(iterator.next(), is("type"));
+        assertThat(iterator.next(), is("repository"));
+        assertThat(iterator.next(), is("props"));
     }
     
     private InstanceContext createInstanceContext() {

Reply via email to