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 e50aaed934a Remove NodePathPattern.IDENTIFIER (#34671)
e50aaed934a is described below
commit e50aaed934ad3a7e9edf1c72df9ff449adfd51cc
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Feb 14 22:04:18 2025 +0800
Remove NodePathPattern.IDENTIFIER (#34671)
* Remove NodePathPattern.IDENTIFIER
* Remove NodePathPattern.IDENTIFIER
---
.../metadata/changed/executor/type/RuleItemAlteredBuildExecutor.java | 2 +-
.../org/apache/shardingsphere/mode/node/path/NodePathPattern.java | 5 -----
.../path/config/database/item/NamedDatabaseRuleItemNodePath.java | 4 ++--
.../node/path/config/database/root/DatabaseRuleRootNodePath.java | 2 +-
.../mode/node/tuple/YamlRepositoryTupleSwapperEngine.java | 4 ++--
.../node/path/config/database/root/DatabaseRuleRootNodePathTest.java | 2 +-
6 files changed, 7 insertions(+), 12 deletions(-)
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/changed/executor/type/RuleItemAlteredBuildExecutor.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/changed/executor/type/RuleItemAlteredBuildExecutor.java
index 870cd857629..2dbd5e712ff 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/changed/executor/type/RuleItemAlteredBuildExecutor.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/changed/executor/type/RuleItemAlteredBuildExecutor.java
@@ -36,7 +36,7 @@ public final class RuleItemAlteredBuildExecutor implements
RuleItemChangedBuildE
@Override
public Optional<AlterRuleItem> build(final DatabaseRuleNodePath
databaseRuleNodePath, final String databaseName, final String path, final
Integer activeVersion) {
for (Entry<String, NamedDatabaseRuleItemNodePath> entry :
databaseRuleNodePath.getNamedItems().entrySet()) {
- Optional<String> itemName =
entry.getValue().getVersionNodePathParser().findIdentifierByActiveVersionPath(path,
1);
+ Optional<String> itemName =
entry.getValue().getVersionNodePathParser().findIdentifierByActiveVersionPath(path,
2);
if (itemName.isPresent()) {
return Optional.of(new AlterNamedRuleItem(databaseName,
itemName.get(), path, activeVersion,
databaseRuleNodePath.getRoot().getRuleType() + "." + entry.getKey()));
}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/NodePathPattern.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/NodePathPattern.java
index a45e2201516..a95152649f6 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/NodePathPattern.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/NodePathPattern.java
@@ -26,11 +26,6 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class NodePathPattern {
- /**
- * Identifier pattern.
- */
- public static final String IDENTIFIER = "[\\w\\-]+";
-
/**
* Grouped identifier pattern.
*/
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/database/item/NamedDatabaseRuleItemNodePath.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/database/item/NamedDatabaseRuleItemNodePath.java
index 04cb0229a2d..64106a6a87e 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/database/item/NamedDatabaseRuleItemNodePath.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/database/item/NamedDatabaseRuleItemNodePath.java
@@ -41,8 +41,8 @@ public final class NamedDatabaseRuleItemNodePath {
public NamedDatabaseRuleItemNodePath(final DatabaseRuleRootNodePath
rootNodePath, final String type) {
this.type = type;
String pattern = String.join("/", rootNodePath.getNodePrefix() + type,
NodePathPattern.GROUPED_IDENTIFIER);
- versionNodePathParser = new VersionNodePathParser(pattern);
itemPathPattern = Pattern.compile(pattern + "$");
+ versionNodePathParser = new VersionNodePathParser(pattern);
}
/**
@@ -63,6 +63,6 @@ public final class NamedDatabaseRuleItemNodePath {
*/
public Optional<String> findNameByItemPath(final String itemPath) {
Matcher matcher = itemPathPattern.matcher(itemPath);
- return matcher.find() ? Optional.of(matcher.group(1)) :
Optional.empty();
+ return matcher.find() ? Optional.of(matcher.group(2)) :
Optional.empty();
}
}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/database/root/DatabaseRuleRootNodePath.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/database/root/DatabaseRuleRootNodePath.java
index daf3cb24dc6..f9fe923222f 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/database/root/DatabaseRuleRootNodePath.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/database/root/DatabaseRuleRootNodePath.java
@@ -41,7 +41,7 @@ public final class DatabaseRuleRootNodePath {
public DatabaseRuleRootNodePath(final String ruleType) {
this.ruleType = ruleType;
- nodePrefix = String.join("/", ROOT_NODE, NodePathPattern.IDENTIFIER,
RULE_NODE, ruleType, "");
+ nodePrefix = String.join("/", ROOT_NODE,
NodePathPattern.GROUPED_IDENTIFIER, RULE_NODE, ruleType, "");
pathPattern = Pattern.compile(nodePrefix + ".*");
}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/tuple/YamlRepositoryTupleSwapperEngine.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/tuple/YamlRepositoryTupleSwapperEngine.java
index bb658a162f1..6ca30b3ec1f 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/tuple/YamlRepositoryTupleSwapperEngine.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/tuple/YamlRepositoryTupleSwapperEngine.java
@@ -206,12 +206,12 @@ public final class YamlRepositoryTupleSwapperEngine {
RepositoryTupleKeyListNameGenerator tupleKeyListNameGenerator =
field.getAnnotation(RepositoryTupleKeyListNameGenerator.class);
if (null != tupleKeyListNameGenerator && fieldValue instanceof
Collection) {
databaseRuleNodePath.getNamedItem(tupleName).getVersionNodePathParser()
- .findIdentifierByVersionsPath(repositoryTuple.getKey(),
1).ifPresent(optional -> ((Collection)
fieldValue).add(repositoryTuple.getValue()));
+ .findIdentifierByVersionsPath(repositoryTuple.getKey(),
2).ifPresent(optional -> ((Collection)
fieldValue).add(repositoryTuple.getValue()));
return;
}
if (fieldValue instanceof Map) {
Class<?> valueClass = (Class) ((ParameterizedType)
field.getGenericType()).getActualTypeArguments()[1];
-
databaseRuleNodePath.getNamedItem(tupleName).getVersionNodePathParser().findIdentifierByVersionsPath(repositoryTuple.getKey(),
1)
+
databaseRuleNodePath.getNamedItem(tupleName).getVersionNodePathParser().findIdentifierByVersionsPath(repositoryTuple.getKey(),
2)
.ifPresent(optional -> ((Map) fieldValue).put(optional,
YamlEngine.unmarshal(repositoryTuple.getValue(), valueClass)));
return;
}
diff --git
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/database/root/DatabaseRuleRootNodePathTest.java
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/database/root/DatabaseRuleRootNodePathTest.java
index ecbd9e23c64..fdca2c8d113 100644
---
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/database/root/DatabaseRuleRootNodePathTest.java
+++
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/database/root/DatabaseRuleRootNodePathTest.java
@@ -30,7 +30,7 @@ class DatabaseRuleRootNodePathTest {
@Test
void assertGetRuleNodePrefix() {
- assertThat(nodePath.getNodePrefix(),
is("/metadata/[\\w\\-]+/rules/foo/"));
+ assertThat(nodePath.getNodePrefix(),
is("/metadata/([\\w\\-]+)/rules/foo/"));
}
@Test