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 <[email protected]>
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"));
- }
}