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 67add23f8ef Remove special dot process on DatabaseRuleNodePath (#34664) 67add23f8ef is described below commit 67add23f8ef0d528c6876e4f38463197278c1abd Author: Liang Zhang <zhangli...@apache.org> AuthorDate: Thu Feb 13 19:28:53 2025 +0800 Remove special dot process on DatabaseRuleNodePath (#34664) * Remove special dot process on DatabaseRuleNodePath * Remove special dot process on DatabaseRuleNodePath --- .../nodepath/ShardingRuleNodePathProvider.java | 6 +----- ...nfigurationYamlRepositoryTupleSwapperEngineIT.java | 10 +++++----- .../path/config/database/DatabaseRuleNodePath.java | 19 +++---------------- .../database/item/UniqueDatabaseRuleItemNodePath.java | 11 +---------- .../node/path/config/database/RuleNodePathTest.java | 4 ++-- .../item/UniqueDatabaseRuleItemNodePathTest.java | 8 +------- 6 files changed, 13 insertions(+), 45 deletions(-) diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/nodepath/ShardingRuleNodePathProvider.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/nodepath/ShardingRuleNodePathProvider.java index c93cd4835c3..ff572c6f631 100644 --- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/nodepath/ShardingRuleNodePathProvider.java +++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/nodepath/ShardingRuleNodePathProvider.java @@ -55,13 +55,9 @@ public final class ShardingRuleNodePathProvider implements DatabaseRuleNodePathP public static final String SHARDING_CACHE = "sharding_cache"; - private static final String DEFAULT_STRATEGIES_PREFIX = "default_strategies."; - private static final DatabaseRuleNodePath INSTANCE = new DatabaseRuleNodePath(RULE_TYPE, Arrays.asList(TABLES, AUTO_TABLES, BINDING_TABLES, SHARDING_ALGORITHMS, KEY_GENERATORS, AUDITORS), - Arrays.asList(DEFAULT_STRATEGIES_PREFIX + DEFAULT_DATABASE_STRATEGY, DEFAULT_STRATEGIES_PREFIX + DEFAULT_TABLE_STRATEGY, - DEFAULT_STRATEGIES_PREFIX + DEFAULT_KEY_GENERATE_STRATEGY, DEFAULT_STRATEGIES_PREFIX + DEFAULT_AUDIT_STRATEGY, DEFAULT_STRATEGIES_PREFIX + DEFAULT_SHARDING_COLUMN, - SHARDING_CACHE)); + Arrays.asList(DEFAULT_DATABASE_STRATEGY, DEFAULT_TABLE_STRATEGY, DEFAULT_KEY_GENERATE_STRATEGY, DEFAULT_AUDIT_STRATEGY, DEFAULT_SHARDING_COLUMN, SHARDING_CACHE)); @Override public DatabaseRuleNodePath getDatabaseRuleNodePath() { diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/yaml/ShardingConfigurationYamlRepositoryTupleSwapperEngineIT.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/yaml/ShardingConfigurationYamlRepositoryTupleSwapperEngineIT.java index b04a31c24c1..7f8704512ba 100644 --- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/yaml/ShardingConfigurationYamlRepositoryTupleSwapperEngineIT.java +++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/yaml/ShardingConfigurationYamlRepositoryTupleSwapperEngineIT.java @@ -51,13 +51,13 @@ class ShardingConfigurationYamlRepositoryTupleSwapperEngineIT extends YamlReposi assertRepositoryTuple(actualRepositoryTuples.get(6), "auditors/sharding_key_required_auditor", ((YamlShardingRuleConfiguration) expectedYamlRuleConfig).getAuditors().get("sharding_key_required_auditor")); assertRepositoryTuple(actualRepositoryTuples.get(7), - "default_strategies/default_database_strategy", ((YamlShardingRuleConfiguration) expectedYamlRuleConfig).getDefaultDatabaseStrategy()); + "default_database_strategy", ((YamlShardingRuleConfiguration) expectedYamlRuleConfig).getDefaultDatabaseStrategy()); assertRepositoryTuple(actualRepositoryTuples.get(8), - "default_strategies/default_table_strategy", ((YamlShardingRuleConfiguration) expectedYamlRuleConfig).getDefaultTableStrategy()); + "default_table_strategy", ((YamlShardingRuleConfiguration) expectedYamlRuleConfig).getDefaultTableStrategy()); assertRepositoryTuple(actualRepositoryTuples.get(9), - "default_strategies/default_key_generate_strategy", ((YamlShardingRuleConfiguration) expectedYamlRuleConfig).getDefaultKeyGenerateStrategy()); + "default_key_generate_strategy", ((YamlShardingRuleConfiguration) expectedYamlRuleConfig).getDefaultKeyGenerateStrategy()); assertRepositoryTuple(actualRepositoryTuples.get(10), - "default_strategies/default_audit_strategy", ((YamlShardingRuleConfiguration) expectedYamlRuleConfig).getDefaultAuditStrategy()); + "default_audit_strategy", ((YamlShardingRuleConfiguration) expectedYamlRuleConfig).getDefaultAuditStrategy()); assertRepositoryTuple(actualRepositoryTuples.get(11), "tables/t_user", ((YamlShardingRuleConfiguration) expectedYamlRuleConfig).getTables().get("t_user")); assertRepositoryTuple(actualRepositoryTuples.get(12), @@ -71,7 +71,7 @@ class ShardingConfigurationYamlRepositoryTupleSwapperEngineIT extends YamlReposi new ArrayList<>(((YamlShardingRuleConfiguration) expectedYamlRuleConfig).getBindingTables()).get(0)); assertRepositoryTuple(actualRepositoryTuples.get(16), "binding_tables/foo", new ArrayList<>(((YamlShardingRuleConfiguration) expectedYamlRuleConfig).getBindingTables()).get(1)); assertRepositoryTuple(actualRepositoryTuples.get(17), - "default_strategies/default_sharding_column", ((YamlShardingRuleConfiguration) expectedYamlRuleConfig).getDefaultShardingColumn()); + "default_sharding_column", ((YamlShardingRuleConfiguration) expectedYamlRuleConfig).getDefaultShardingColumn()); assertRepositoryTuple(actualRepositoryTuples.get(18), "sharding_cache", ((YamlShardingRuleConfiguration) expectedYamlRuleConfig).getShardingCache()); } diff --git a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/database/DatabaseRuleNodePath.java b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/database/DatabaseRuleNodePath.java index 3102be1cef6..5cc68bdf251 100644 --- a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/database/DatabaseRuleNodePath.java +++ b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/database/DatabaseRuleNodePath.java @@ -23,8 +23,8 @@ import org.apache.shardingsphere.mode.node.path.config.database.item.UniqueDatab import org.apache.shardingsphere.mode.node.path.config.database.root.DatabaseRuleRootNodePath; import java.util.Collection; -import java.util.HashMap; import java.util.Map; +import java.util.stream.Collectors; /** * Database rule node path. @@ -45,24 +45,11 @@ public final class DatabaseRuleNodePath { } private Map<String, NamedDatabaseRuleItemNodePath> getNamedRuleItemNodePathMap(final Collection<String> namedRuleItemNodePathTypes) { - Map<String, NamedDatabaseRuleItemNodePath> result = new HashMap<>(namedRuleItemNodePathTypes.size(), 1F); - for (String each : namedRuleItemNodePathTypes) { - result.put(each, new NamedDatabaseRuleItemNodePath(root, each)); - } - return result; + return namedRuleItemNodePathTypes.stream().collect(Collectors.toMap(each -> each, each -> new NamedDatabaseRuleItemNodePath(root, each))); } private Map<String, UniqueDatabaseRuleItemNodePath> getUniqueRuleItemNodePathMap(final Collection<String> uniqueRuleItemNodePathTypes) { - Map<String, UniqueDatabaseRuleItemNodePath> result = new HashMap<>(uniqueRuleItemNodePathTypes.size(), 1F); - for (String each : uniqueRuleItemNodePathTypes) { - if (each.contains(".")) { - String[] values = each.split("\\."); - result.put(values[1], new UniqueDatabaseRuleItemNodePath(root, values[0], values[1])); - } else { - result.put(each, new UniqueDatabaseRuleItemNodePath(root, each)); - } - } - return result; + return uniqueRuleItemNodePathTypes.stream().collect(Collectors.toMap(each -> each, each -> new UniqueDatabaseRuleItemNodePath(root, each))); } /** diff --git a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/database/item/UniqueDatabaseRuleItemNodePath.java b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/database/item/UniqueDatabaseRuleItemNodePath.java index 4f3cbdabd3a..889e3f8091b 100644 --- a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/database/item/UniqueDatabaseRuleItemNodePath.java +++ b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/database/item/UniqueDatabaseRuleItemNodePath.java @@ -26,31 +26,22 @@ import org.apache.shardingsphere.mode.node.path.version.VersionNodePathParser; */ public final class UniqueDatabaseRuleItemNodePath { - private final String parentNode; - private final String type; @Getter private final VersionNodePathParser versionNodePathParser; public UniqueDatabaseRuleItemNodePath(final DatabaseRuleRootNodePath databaseRuleRootNodePath, final String type) { - parentNode = null; this.type = type; versionNodePathParser = new VersionNodePathParser(databaseRuleRootNodePath.getNodePrefix() + type); } - public UniqueDatabaseRuleItemNodePath(final DatabaseRuleRootNodePath databaseRuleRootNodePath, final String parentNode, final String type) { - this.parentNode = parentNode; - this.type = type; - versionNodePathParser = new VersionNodePathParser(String.join("/", databaseRuleRootNodePath.getNodePrefix() + parentNode, type)); - } - /** * Get path. * * @return path */ public String getPath() { - return null == parentNode ? String.join("/", type) : String.join("/", parentNode, type); + return String.join("/", type); } } diff --git a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/database/RuleNodePathTest.java b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/database/RuleNodePathTest.java index 7fed384a0ad..8f4fe0d2fd6 100644 --- a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/database/RuleNodePathTest.java +++ b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/database/RuleNodePathTest.java @@ -36,7 +36,7 @@ class RuleNodePathTest { @BeforeEach void setup() { List<String> namedRuleItemNodePathTypes = Collections.singletonList("tables"); - List<String> uniqueRuleItemNodePathTypes = Arrays.asList("tables", "tables.type"); + List<String> uniqueRuleItemNodePathTypes = Arrays.asList("tables", "tables/type"); databaseRuleNodePath = new DatabaseRuleNodePath("foo", namedRuleItemNodePathTypes, uniqueRuleItemNodePathTypes); } @@ -50,7 +50,7 @@ class RuleNodePathTest { void assertGetUniqueItem() { UniqueDatabaseRuleItemNodePath uniqueRulePath = databaseRuleNodePath.getUniqueItem("tables"); assertThat(uniqueRulePath.getPath(), is("tables")); - UniqueDatabaseRuleItemNodePath uniqueRulePathWithType = databaseRuleNodePath.getUniqueItem("type"); + UniqueDatabaseRuleItemNodePath uniqueRulePathWithType = databaseRuleNodePath.getUniqueItem("tables/type"); assertThat(uniqueRulePathWithType.getPath(), is("tables/type")); } } diff --git a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/database/item/UniqueDatabaseRuleItemNodePathTest.java b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/database/item/UniqueDatabaseRuleItemNodePathTest.java index 75a8ec8bec6..91100fb4288 100644 --- a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/database/item/UniqueDatabaseRuleItemNodePathTest.java +++ b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/database/item/UniqueDatabaseRuleItemNodePathTest.java @@ -26,14 +26,8 @@ import static org.hamcrest.MatcherAssert.assertThat; class UniqueDatabaseRuleItemNodePathTest { @Test - void assertPathWithNullParentNode() { + void assertPath() { UniqueDatabaseRuleItemNodePath uniqueDatabaseRuleItemNodePath = new UniqueDatabaseRuleItemNodePath(new DatabaseRuleRootNodePath("foo"), "test_path"); assertThat(uniqueDatabaseRuleItemNodePath.getPath(), is("test_path")); } - - @Test - void assertGetPathWithParentNode() { - UniqueDatabaseRuleItemNodePath uniqueDatabaseRuleItemNodePath = new UniqueDatabaseRuleItemNodePath(new DatabaseRuleRootNodePath("foo"), "test_parent", "test_path"); - assertThat(uniqueDatabaseRuleItemNodePath.getPath(), is("test_parent/test_path")); - } }