You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by to...@apache.org on 2022/12/02 12:24:19 UTC

[shardingsphere] branch master updated: Refactor TestKeyProvider (#22599)

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

totalo 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 02b1945bc1a Refactor TestKeyProvider (#22599)
02b1945bc1a is described below

commit 02b1945bc1aaa90bc97c2cae68e746f004abdeaa
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Fri Dec 2 20:24:13 2022 +0800

    Refactor TestKeyProvider (#22599)
---
 .../framework/runner/parallel/CaseTestKeyProvider.java   |  8 +-------
 .../runner/parallel/ScenarioTestKeyProvider.java         |  7 +------
 .../test/runner/executor/ParallelRunnerExecutors.java    | 16 +++++++++-------
 .../shardingsphere/test/runner/key/TestKeyProvider.java  | 12 ++----------
 .../test/runner/scheduler/ParallelRunnerScheduler.java   |  2 +-
 5 files changed, 14 insertions(+), 31 deletions(-)

diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/CaseTestKeyProvider.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/CaseTestKeyProvider.java
index e6f9a841d79..58ded904f5a 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/CaseTestKeyProvider.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/CaseTestKeyProvider.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.test.integration.framework.runner.parallel;
 
-import org.apache.shardingsphere.test.integration.framework.param.model.ITParameterizedArray;
 import org.apache.shardingsphere.test.runner.ParallelRunningStrategy.ParallelLevel;
 import org.apache.shardingsphere.test.runner.key.TestKeyProvider;
 import org.apache.shardingsphere.test.runner.param.ParameterizedArray;
@@ -28,12 +27,7 @@ import org.apache.shardingsphere.test.runner.param.ParameterizedArray;
 public final class CaseTestKeyProvider implements TestKeyProvider {
     
     @Override
-    public String getRunnerKey(final ParameterizedArray parameterizedArray) {
-        return ((ITParameterizedArray) parameterizedArray).getDatabaseType().getType();
-    }
-    
-    @Override
-    public String getExecutorKey(final ParameterizedArray parameterizedArray) {
+    public String getKey(final ParameterizedArray parameterizedArray) {
         return "";
     }
     
diff --git a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/ScenarioTestKeyProvider.java b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/ScenarioTestKeyProvider.java
index 4d88ec12be5..e9d519b70ad 100644
--- a/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/ScenarioTestKeyProvider.java
+++ b/test/integration-test/test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/runner/parallel/ScenarioTestKeyProvider.java
@@ -28,12 +28,7 @@ import org.apache.shardingsphere.test.runner.param.ParameterizedArray;
 public final class ScenarioTestKeyProvider implements TestKeyProvider {
     
     @Override
-    public String getRunnerKey(final ParameterizedArray parameterizedArray) {
-        return ((ITParameterizedArray) parameterizedArray).getDatabaseType().getType();
-    }
-    
-    @Override
-    public String getExecutorKey(final ParameterizedArray parameterizedArray) {
+    public String getKey(final ParameterizedArray parameterizedArray) {
         ITParameterizedArray itParameterizedArray = (ITParameterizedArray) parameterizedArray;
         return String.join("-", itParameterizedArray.getAdapter(), itParameterizedArray.getScenario(), itParameterizedArray.getDatabaseType().getType());
     }
diff --git a/test/runner/src/main/java/org/apache/shardingsphere/test/runner/executor/ParallelRunnerExecutors.java b/test/runner/src/main/java/org/apache/shardingsphere/test/runner/executor/ParallelRunnerExecutors.java
index af839f87e8a..8061d70ea24 100644
--- a/test/runner/src/main/java/org/apache/shardingsphere/test/runner/executor/ParallelRunnerExecutors.java
+++ b/test/runner/src/main/java/org/apache/shardingsphere/test/runner/executor/ParallelRunnerExecutors.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.test.runner.executor;
 
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
+
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -25,23 +27,23 @@ import java.util.concurrent.ConcurrentHashMap;
  */
 public final class ParallelRunnerExecutors {
     
-    private final Map<String, ParallelRunnerExecutor> executors = new ConcurrentHashMap<>();
+    private final Map<DatabaseType, ParallelRunnerExecutor> executors = new ConcurrentHashMap<>();
     
     /**
      * Get executor.
      *
-     * @param key key bind to the executor
+     * @param databaseType database type
      * @return got executor
      */
-    public ParallelRunnerExecutor getExecutor(final String key) {
-        if (executors.containsKey(key)) {
-            return executors.get(key);
+    public ParallelRunnerExecutor getExecutor(final DatabaseType databaseType) {
+        if (executors.containsKey(databaseType)) {
+            return executors.get(databaseType);
         }
         ParallelRunnerExecutor newExecutor = new ParallelRunnerExecutor();
-        if (null != executors.putIfAbsent(key, newExecutor)) {
+        if (null != executors.putIfAbsent(databaseType, newExecutor)) {
             newExecutor.finished();
         }
-        return executors.get(key);
+        return executors.get(databaseType);
     }
     
     /**
diff --git a/test/runner/src/main/java/org/apache/shardingsphere/test/runner/key/TestKeyProvider.java b/test/runner/src/main/java/org/apache/shardingsphere/test/runner/key/TestKeyProvider.java
index 2072527e681..1aec5efbb8f 100644
--- a/test/runner/src/main/java/org/apache/shardingsphere/test/runner/key/TestKeyProvider.java
+++ b/test/runner/src/main/java/org/apache/shardingsphere/test/runner/key/TestKeyProvider.java
@@ -26,20 +26,12 @@ import org.apache.shardingsphere.test.runner.param.ParameterizedArray;
 public interface TestKeyProvider {
     
     /**
-     * Get runner key.
-     *
-     * @param parameterizedArray parameterized array
-     * @return runner key
-     */
-    String getRunnerKey(ParameterizedArray parameterizedArray);
-    
-    /**
-     * Get executor key.
+     * Get key.
      * 
      * @param parameterizedArray parameterized array
      * @return executor key
      */
-    String getExecutorKey(ParameterizedArray parameterizedArray);
+    String getKey(ParameterizedArray parameterizedArray);
     
     /**
      * Get parallel level.
diff --git a/test/runner/src/main/java/org/apache/shardingsphere/test/runner/scheduler/ParallelRunnerScheduler.java b/test/runner/src/main/java/org/apache/shardingsphere/test/runner/scheduler/ParallelRunnerScheduler.java
index 1a991accd77..176b5ead027 100644
--- a/test/runner/src/main/java/org/apache/shardingsphere/test/runner/scheduler/ParallelRunnerScheduler.java
+++ b/test/runner/src/main/java/org/apache/shardingsphere/test/runner/scheduler/ParallelRunnerScheduler.java
@@ -42,7 +42,7 @@ public final class ParallelRunnerScheduler implements RunnerScheduler {
     public void schedule(final Runnable childStatement) {
         ParameterizedArray parameterizedArray = new RunnerParameters(childStatement).getParameterizedArray();
         TestKeyProvider provider = TestKeyProviderFactory.newInstance(parallelLevel);
-        runnerExecutors.getExecutor(provider.getRunnerKey(parameterizedArray)).execute(provider.getExecutorKey(parameterizedArray), childStatement);
+        runnerExecutors.getExecutor(parameterizedArray.getDatabaseType()).execute(provider.getKey(parameterizedArray), childStatement);
     }
     
     @Override