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 dcd62723d9d Refactor ReservationNodePath (#34712)
dcd62723d9d is described below

commit dcd62723d9dd546924cb8b2ee21772e5f5486fc9
Author: Liang Zhang <zhangli...@apache.org>
AuthorDate: Wed Feb 19 13:48:53 2025 +0800

    Refactor ReservationNodePath (#34712)
---
 ...PathGenerator.java => ReservationNodePath.java} | 23 +++++++---------------
 .../node/path/state/ReservationNodePathTest.java   |  4 ++--
 .../workerid/ReservationPersistService.java        |  6 ++++--
 3 files changed, 13 insertions(+), 20 deletions(-)

diff --git 
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/state/ReservationNodePathGenerator.java
 
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/state/ReservationNodePath.java
similarity index 58%
rename from 
mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/state/ReservationNodePathGenerator.java
rename to 
mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/state/ReservationNodePath.java
index 9987cac3308..6ca219384f8 100644
--- 
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/state/ReservationNodePathGenerator.java
+++ 
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/state/ReservationNodePath.java
@@ -17,26 +17,17 @@
 
 package org.apache.shardingsphere.mode.node.path.state;
 
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.mode.node.path.NodePath;
 
 /**
- * Reservation node path generator.
+ * Reservation node path.
  */
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class ReservationNodePathGenerator {
+public final class ReservationNodePath implements NodePath {
     
-    private static final String ROOT_NODE = "/reservation";
+    private static final String ROOT_NODE = "/reservation/worker_id";
     
-    private static final String WORKER_ID_NODE = "worker_id";
-    
-    /**
-     * Get worker id reservation path.
-     *
-     * @param workerId worker id
-     * @return worker id reservation path
-     */
-    public static String getWorkerIdReservationPath(final int workerId) {
-        return String.join("/", ROOT_NODE, WORKER_ID_NODE, 
String.valueOf(workerId));
+    @Override
+    public String getRootPath() {
+        return ROOT_NODE;
     }
 }
diff --git 
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/state/ReservationNodePathTest.java
 
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/state/ReservationNodePathTest.java
index 1b8dc04efee..bb0b28ed59d 100644
--- 
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/state/ReservationNodePathTest.java
+++ 
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/state/ReservationNodePathTest.java
@@ -17,15 +17,15 @@
 
 package org.apache.shardingsphere.mode.node.path.state;
 
-import org.hamcrest.MatcherAssert;
 import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
 
 class ReservationNodePathTest {
     
     @Test
     void assertGetWorkerIdReservationPath() {
-        
MatcherAssert.assertThat(ReservationNodePathGenerator.getWorkerIdReservationPath(1),
 is("/reservation/worker_id/1"));
+        assertThat(new ReservationNodePath().getRootPath(), 
is("/reservation/worker_id"));
     }
 }
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/workerid/ReservationPersistService.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/workerid/ReservationPersistService.java
index 6ca13d50205..671d9f37231 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/workerid/ReservationPersistService.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/workerid/ReservationPersistService.java
@@ -18,7 +18,8 @@
 package org.apache.shardingsphere.mode.manager.cluster.workerid;
 
 import lombok.RequiredArgsConstructor;
-import 
org.apache.shardingsphere.mode.node.path.state.ReservationNodePathGenerator;
+import org.apache.shardingsphere.mode.node.path.NodePathGenerator;
+import org.apache.shardingsphere.mode.node.path.state.ReservationNodePath;
 import 
org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepository;
 import 
org.apache.shardingsphere.mode.repository.cluster.exception.ClusterRepositoryPersistException;
 
@@ -41,7 +42,8 @@ public final class ReservationPersistService {
      */
     public Optional<Integer> reserveWorkerId(final Integer 
preselectedWorkerId, final String instanceId) {
         try {
-            return 
repository.persistExclusiveEphemeral(ReservationNodePathGenerator.getWorkerIdReservationPath(preselectedWorkerId),
 instanceId) ? Optional.of(preselectedWorkerId) : Optional.empty();
+            return repository.persistExclusiveEphemeral(
+                    new NodePathGenerator(new 
ReservationNodePath()).getPath(preselectedWorkerId), instanceId) ? 
Optional.of(preselectedWorkerId) : Optional.empty();
         } catch (final ClusterRepositoryPersistException ignore) {
             return Optional.empty();
         }

Reply via email to