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 579dc04f8a7 Refactor RepositoryTuplePersistService (#34641) 579dc04f8a7 is described below commit 579dc04f8a7e89bb98a23e32fd516390524882c4 Author: Liang Zhang <zhangli...@apache.org> AuthorDate: Wed Feb 12 19:10:36 2025 +0800 Refactor RepositoryTuplePersistService (#34641) --- .../persist/config/RepositoryTuplePersistService.java | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/RepositoryTuplePersistService.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/RepositoryTuplePersistService.java index bdcc3ebec38..4d67fcdf1ad 100644 --- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/RepositoryTuplePersistService.java +++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/RepositoryTuplePersistService.java @@ -18,6 +18,7 @@ package org.apache.shardingsphere.mode.metadata.persist.config; import lombok.RequiredArgsConstructor; +import org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator; import org.apache.shardingsphere.mode.node.tuple.RepositoryTuple; import org.apache.shardingsphere.mode.spi.repository.PersistRepository; @@ -35,10 +36,6 @@ public final class RepositoryTuplePersistService { private static final String ACTIVE_VERSION_PATTERN = "/active_version$"; - private static final String ACTIVE_VERSION_PATH = "active_version"; - - private static final String VERSIONS_PATH = "versions"; - private final PersistRepository repository; /** @@ -49,16 +46,13 @@ public final class RepositoryTuplePersistService { */ public Collection<RepositoryTuple> load(final String rootNode) { Pattern pattern = Pattern.compile(ACTIVE_VERSION_PATTERN, Pattern.CASE_INSENSITIVE); - return loadNodes(rootNode).stream().filter(each -> pattern.matcher(each).find()).map(this::getRepositoryTuple).collect(Collectors.toList()); + return loadNodes(rootNode).stream().filter(each -> pattern.matcher(each).find()).map(this::createRepositoryTuple).collect(Collectors.toList()); } private Collection<String> loadNodes(final String rootNode) { Collection<String> result = new LinkedHashSet<>(); loadNodes(rootNode, result); - if (1 == result.size()) { - return Collections.emptyList(); - } - return result; + return 1 == result.size() ? Collections.emptyList() : result; } private void loadNodes(final String toBeLoadedNode, final Collection<String> loadedNodes) { @@ -68,8 +62,8 @@ public final class RepositoryTuplePersistService { } } - private RepositoryTuple getRepositoryTuple(final String node) { - String activeRuleKey = node.replace(ACTIVE_VERSION_PATH, VERSIONS_PATH) + "/" + repository.query(node); - return new RepositoryTuple(activeRuleKey, repository.query(activeRuleKey)); + private RepositoryTuple createRepositoryTuple(final String activeVersionPath) { + String activeVersionKey = VersionNodePathGenerator.getVersionPath(activeVersionPath, Integer.parseInt(repository.query(activeVersionPath))); + return new RepositoryTuple(activeVersionKey, repository.query(activeVersionKey)); } }