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));
     }
 }

Reply via email to