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 87b8142466a Refactor ShadowDataSourceMappingsFinderFactory (#33548)
87b8142466a is described below

commit 87b8142466a43f5005206d085117089e106e295a
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Nov 4 23:40:15 2024 +0800

    Refactor ShadowDataSourceMappingsFinderFactory (#33548)
    
    * Refactor ShadowDataSourceMappingsFinderFactory
    
    * Refactor ShadowDataSourceMappingsFinderFactory
    
    * Refactor ShadowDataSourceMappingsFinderFactory
---
 .../ShadowDataSourceMappingsFinderFactory.java     | 42 +++++-----------------
 1 file changed, 8 insertions(+), 34 deletions(-)

diff --git 
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/ShadowDataSourceMappingsFinderFactory.java
 
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/ShadowDataSourceMappingsFinderFactory.java
index 7d18d579388..4a8966dc4cb 100644
--- 
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/ShadowDataSourceMappingsFinderFactory.java
+++ 
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/route/finder/ShadowDataSourceMappingsFinderFactory.java
@@ -29,11 +29,6 @@ import 
org.apache.shardingsphere.shadow.route.finder.dml.ShadowInsertStatementDa
 import 
org.apache.shardingsphere.shadow.route.finder.dml.ShadowSelectStatementDataSourceMappingsFinder;
 import 
org.apache.shardingsphere.shadow.route.finder.dml.ShadowUpdateStatementDataSourceMappingsFinder;
 import 
org.apache.shardingsphere.shadow.route.finder.other.ShadowNonDMLStatementDataSourceMappingsFinder;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.SQLStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.DeleteStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.InsertStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.SelectStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dml.UpdateStatement;
 
 /**
  * Shadow data source mappings finder factory.
@@ -48,39 +43,18 @@ public final class ShadowDataSourceMappingsFinderFactory {
      * @return created instance
      */
     public static ShadowDataSourceMappingsFinder newInstance(final 
QueryContext queryContext) {
-        SQLStatement sqlStatement = 
queryContext.getSqlStatementContext().getSqlStatement();
-        if (sqlStatement instanceof InsertStatement) {
-            return 
createShadowInsertStatementDataSourceMappingsFinder(queryContext);
+        if (queryContext.getSqlStatementContext() instanceof 
InsertStatementContext) {
+            return new 
ShadowInsertStatementDataSourceMappingsFinder((InsertStatementContext) 
queryContext.getSqlStatementContext(), queryContext.getHintValueContext());
         }
-        if (sqlStatement instanceof DeleteStatement) {
-            return 
createShadowDeleteStatementDataSourceMappingsFinder(queryContext);
+        if (queryContext.getSqlStatementContext() instanceof 
DeleteStatementContext) {
+            return new 
ShadowDeleteStatementDataSourceMappingsFinder((DeleteStatementContext) 
queryContext.getSqlStatementContext(), queryContext.getParameters(), 
queryContext.getHintValueContext());
         }
-        if (sqlStatement instanceof UpdateStatement) {
-            return 
createShadowUpdateStatementDataSourceMappingsFinder(queryContext);
+        if (queryContext.getSqlStatementContext() instanceof 
UpdateStatementContext) {
+            return new 
ShadowUpdateStatementDataSourceMappingsFinder((UpdateStatementContext) 
queryContext.getSqlStatementContext(), queryContext.getParameters(), 
queryContext.getHintValueContext());
         }
-        if (sqlStatement instanceof SelectStatement) {
-            return 
createShadowSelectStatementDataSourceMappingsFinder(queryContext);
+        if (queryContext.getSqlStatementContext() instanceof 
SelectStatementContext) {
+            return new 
ShadowSelectStatementDataSourceMappingsFinder((SelectStatementContext) 
queryContext.getSqlStatementContext(), queryContext.getParameters(), 
queryContext.getHintValueContext());
         }
-        return 
createShadowNonMDLStatementDataSourceMappingsFinder(queryContext);
-    }
-    
-    private static ShadowDataSourceMappingsFinder 
createShadowInsertStatementDataSourceMappingsFinder(final QueryContext 
queryContext) {
-        return new 
ShadowInsertStatementDataSourceMappingsFinder((InsertStatementContext) 
queryContext.getSqlStatementContext(), queryContext.getHintValueContext());
-    }
-    
-    private static ShadowDataSourceMappingsFinder 
createShadowDeleteStatementDataSourceMappingsFinder(final QueryContext 
queryContext) {
-        return new 
ShadowDeleteStatementDataSourceMappingsFinder((DeleteStatementContext) 
queryContext.getSqlStatementContext(), queryContext.getParameters(), 
queryContext.getHintValueContext());
-    }
-    
-    private static ShadowDataSourceMappingsFinder 
createShadowUpdateStatementDataSourceMappingsFinder(final QueryContext 
queryContext) {
-        return new 
ShadowUpdateStatementDataSourceMappingsFinder((UpdateStatementContext) 
queryContext.getSqlStatementContext(), queryContext.getParameters(), 
queryContext.getHintValueContext());
-    }
-    
-    private static ShadowDataSourceMappingsFinder 
createShadowSelectStatementDataSourceMappingsFinder(final QueryContext 
queryContext) {
-        return new 
ShadowSelectStatementDataSourceMappingsFinder((SelectStatementContext) 
queryContext.getSqlStatementContext(), queryContext.getParameters(), 
queryContext.getHintValueContext());
-    }
-    
-    private static ShadowDataSourceMappingsFinder 
createShadowNonMDLStatementDataSourceMappingsFinder(final QueryContext 
queryContext) {
         return new 
ShadowNonDMLStatementDataSourceMappingsFinder(queryContext.getHintValueContext());
     }
 }

Reply via email to