From be15756df0742366317cb97de25cd1f2fd251515 Mon Sep 17 00:00:00 2001 From: terrymanu Date: Sat, 21 Jul 2018 12:56:42 +0800 Subject: [PATCH] refactor AbstractRefreshHandler --- .../dialect/JDBCShardingRefreshHandler.java | 28 +++++++++---------- .../metadata/ProxyShardingRefreshHandler.java | 18 ++++++------ 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/sharding-jdbc/src/main/java/io/shardingsphere/core/jdbc/metadata/dialect/JDBCShardingRefreshHandler.java b/sharding-jdbc/src/main/java/io/shardingsphere/core/jdbc/metadata/dialect/JDBCShardingRefreshHandler.java index 12ceffea81..6fe6f2495b 100644 --- a/sharding-jdbc/src/main/java/io/shardingsphere/core/jdbc/metadata/dialect/JDBCShardingRefreshHandler.java +++ b/sharding-jdbc/src/main/java/io/shardingsphere/core/jdbc/metadata/dialect/JDBCShardingRefreshHandler.java @@ -36,14 +36,25 @@ import java.util.Map; * @author zhaojun */ public final class JDBCShardingRefreshHandler extends AbstractRefreshHandler { - + private final ShardingConnection shardingConnection; - + private JDBCShardingRefreshHandler(final ShardingConnection shardingConnection, final SQLStatement sqlStatement, final ShardingMetaData shardingMetaData, final ShardingRule shardingRule) { super(sqlStatement, shardingMetaData, shardingRule); this.shardingConnection = shardingConnection; } - + + /** + * create new instance of {@code JDBCShardingRefreshHandler}. + * + * @param sqlStatement SQL statement + * @param connection {@code ShardingConnection} + * @return {@code JDBCShardingRefreshHandler} + */ + public static JDBCShardingRefreshHandler build(final SQLStatement sqlStatement, final ShardingConnection connection) { + return new JDBCShardingRefreshHandler(connection, sqlStatement, connection.getShardingContext().getShardingMetaData(), connection.getShardingContext().getShardingRule()); + } + @Override public void execute() throws SQLException { if (isNeedRefresh()) { @@ -61,15 +72,4 @@ public final class JDBCShardingRefreshHandler extends AbstractRefreshHandler { } return connectionMap; } - - /** - * create new instance of {@code JDBCShardingRefreshHandler}. - * - * @param sqlStatement SQL statement - * @param connection {@code ShardingConnection} - * @return {@code JDBCShardingRefreshHandler} - */ - public static JDBCShardingRefreshHandler build(final SQLStatement sqlStatement, final ShardingConnection connection) { - return new JDBCShardingRefreshHandler(connection, sqlStatement, connection.getShardingContext().getShardingMetaData(), connection.getShardingContext().getShardingRule()); - } } diff --git a/sharding-proxy/src/main/java/io/shardingsphere/proxy/metadata/ProxyShardingRefreshHandler.java b/sharding-proxy/src/main/java/io/shardingsphere/proxy/metadata/ProxyShardingRefreshHandler.java index cc42fb310b..765b5f380a 100644 --- a/sharding-proxy/src/main/java/io/shardingsphere/proxy/metadata/ProxyShardingRefreshHandler.java +++ b/sharding-proxy/src/main/java/io/shardingsphere/proxy/metadata/ProxyShardingRefreshHandler.java @@ -37,15 +37,6 @@ public final class ProxyShardingRefreshHandler extends AbstractRefreshHandler { super(sqlStatement, shardingMetaData, shardingRule); } - @Override - public void execute() { - if (isNeedRefresh()) { - String logicTable = getSqlStatement().getTables().getSingleTableName(); - TableRule tableRule = getShardingRule().getTableRule(logicTable); - getShardingMetaData().refresh(tableRule, getShardingRule()); - } - } - /** * create new instance of {@code ProxyShardingRefreshHandler}. * @@ -55,4 +46,13 @@ public final class ProxyShardingRefreshHandler extends AbstractRefreshHandler { public static ProxyShardingRefreshHandler build(final SQLStatement sqlStatement) { return new ProxyShardingRefreshHandler(sqlStatement, RuleRegistry.getInstance().getShardingMetaData(), RuleRegistry.getInstance().getShardingRule()); } + + @Override + public void execute() { + if (isNeedRefresh()) { + String logicTable = getSqlStatement().getTables().getSingleTableName(); + TableRule tableRule = getShardingRule().getTableRule(logicTable); + getShardingMetaData().refresh(tableRule, getShardingRule()); + } + } } -- GitLab