This is an automated email from the ASF dual-hosted git repository.

menghaoran 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 fb360effe07 Move MetaDataVersion from common to mode node (#34946)
fb360effe07 is described below

commit fb360effe07b562e357f7277104966fa5f485cae
Author: Haoran Meng <menghaora...@gmail.com>
AuthorDate: Mon Mar 10 16:24:04 2025 +0800

    Move MetaDataVersion from common to mode node (#34946)
    
    * Move MetaDataVersion from common to mode node
    
    * Fix spotless issue
---
 .../persist/config/database/DatabaseRulePersistService.java | 11 +++++------
 .../metadata/persist/version/VersionPersistService.java     |  2 +-
 .../config/database/DatabaseRulePersistServiceTest.java     |  2 +-
 .../mode/node/path}/version/MetaDataVersion.java            |  9 +++++----
 .../service/StandaloneMetaDataManagerPersistService.java    |  6 +++---
 .../StandaloneMetaDataManagerPersistServiceTest.java        | 13 +++++++------
 6 files changed, 22 insertions(+), 21 deletions(-)

diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/database/DatabaseRulePersistService.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/database/DatabaseRulePersistService.java
index d587e9ab076..dea58865b1e 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/database/DatabaseRulePersistService.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/database/DatabaseRulePersistService.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.mode.metadata.persist.config.database;
 
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
+import org.apache.shardingsphere.mode.node.path.version.MetaDataVersion;
 import 
org.apache.shardingsphere.infra.yaml.config.pojo.rule.YamlRuleConfiguration;
 import 
org.apache.shardingsphere.infra.yaml.config.swapper.rule.YamlRuleConfigurationSwapperEngine;
 import 
org.apache.shardingsphere.mode.metadata.persist.version.VersionPersistService;
@@ -113,8 +113,8 @@ public final class DatabaseRulePersistService {
     }
     
     private Collection<MetaDataVersion> persistTuples(final 
Collection<RuleNodeTuple> tuples) {
-        return tuples.stream().map(each -> new MetaDataVersion(
-                each.getPath(), Math.max(MetaDataVersion.INIT_VERSION, 
versionPersistService.persist(new VersionNodePath(each.getNodePath()), 
each.getContent()) - 1))).collect(Collectors.toList());
+        return tuples.stream().map(each -> new 
MetaDataVersion(each.getNodePath(),
+                Math.max(MetaDataVersion.INIT_VERSION, 
versionPersistService.persist(new VersionNodePath(each.getNodePath()), 
each.getContent()) - 1))).collect(Collectors.toList());
     }
     
     /**
@@ -147,9 +147,8 @@ public final class DatabaseRulePersistService {
     private Collection<MetaDataVersion> deleteTuples(final 
Collection<RuleNodeTuple> tuples) {
         Collection<MetaDataVersion> result = new LinkedList<>();
         for (RuleNodeTuple each : tuples) {
-            String path = each.getPath();
-            repository.delete(path);
-            result.add(new MetaDataVersion(path));
+            repository.delete(each.getPath());
+            result.add(new MetaDataVersion(each.getNodePath()));
         }
         return result;
     }
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/version/VersionPersistService.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/version/VersionPersistService.java
index 477e0af59b4..5d993c68518 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/version/VersionPersistService.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/version/VersionPersistService.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.mode.metadata.persist.version;
 
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
+import org.apache.shardingsphere.mode.node.path.version.MetaDataVersion;
 import org.apache.shardingsphere.mode.node.path.version.VersionNodePath;
 import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
 
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/config/database/DatabaseRulePersistServiceTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/config/database/DatabaseRulePersistServiceTest.java
index 98c2b7da454..a85fb4f451b 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/config/database/DatabaseRulePersistServiceTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/config/database/DatabaseRulePersistServiceTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.mode.metadata.persist.config.database;
 
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
+import org.apache.shardingsphere.mode.node.path.version.MetaDataVersion;
 import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
 import 
org.apache.shardingsphere.test.fixture.infra.rule.MockedRuleConfiguration;
 import org.junit.jupiter.api.BeforeEach;
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/version/MetaDataVersion.java
 
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/version/MetaDataVersion.java
similarity index 81%
rename from 
infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/version/MetaDataVersion.java
rename to 
mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/version/MetaDataVersion.java
index 7e0a8fd83e4..d70edf4f2e5 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/version/MetaDataVersion.java
+++ 
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/version/MetaDataVersion.java
@@ -15,10 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.metadata.version;
+package org.apache.shardingsphere.mode.node.path.version;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.mode.node.path.NodePath;
 
 /**
  * Meta data version.
@@ -29,11 +30,11 @@ public final class MetaDataVersion {
     
     public static final int INIT_VERSION = 0;
     
-    private final String path;
+    private final NodePath nodePath;
     
     private final int activeVersion;
     
-    public MetaDataVersion(final String path) {
-        this(path, INIT_VERSION);
+    public MetaDataVersion(final NodePath nodePath) {
+        this(nodePath, INIT_VERSION);
     }
 }
diff --git 
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java
 
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java
index f8654f39eb0..76f93d32ab5 100644
--- 
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java
+++ 
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistService.java
@@ -25,7 +25,7 @@ import 
org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereView;
-import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
+import org.apache.shardingsphere.mode.node.path.version.MetaDataVersion;
 import org.apache.shardingsphere.infra.rule.scope.GlobalRule;
 import 
org.apache.shardingsphere.infra.rule.scope.GlobalRule.GlobalRuleChangedType;
 import 
org.apache.shardingsphere.infra.spi.type.ordered.cache.OrderedServicesCache;
@@ -218,7 +218,7 @@ public final class StandaloneMetaDataManagerPersistService 
implements MetaDataMa
             return;
         }
         for (MetaDataVersion each : 
metaDataPersistFacade.getDatabaseRuleService().persist(database.getName(), 
Collections.singleton(toBeAlteredRuleConfig))) {
-            Optional<DatabaseRuleNodePath> databaseRuleNodePath = 
ruleItemChangedNodePathBuilder.build(database.getName(), each.getPath());
+            Optional<DatabaseRuleNodePath> databaseRuleNodePath = 
ruleItemChangedNodePathBuilder.build(database.getName(), new 
VersionNodePath(each.getNodePath()).getActiveVersionPath());
             if (databaseRuleNodePath.isPresent()
                     && new 
ActiveVersionChecker(metaDataPersistFacade.getRepository()).checkSame(new 
VersionNodePath(databaseRuleNodePath.get()), each.getActiveVersion())) {
                 
metaDataContextManager.getDatabaseRuleItemManager().alter(databaseRuleNodePath.get());
@@ -234,7 +234,7 @@ public final class StandaloneMetaDataManagerPersistService 
implements MetaDataMa
         }
         Collection<MetaDataVersion> metaDataVersions = 
metaDataPersistFacade.getDatabaseRuleService().delete(database.getName(), 
Collections.singleton(toBeRemovedRuleConfig));
         for (MetaDataVersion each : metaDataVersions) {
-            Optional<DatabaseRuleNodePath> databaseRuleNodePath = 
ruleItemChangedNodePathBuilder.build(database.getName(), each.getPath());
+            Optional<DatabaseRuleNodePath> databaseRuleNodePath = 
ruleItemChangedNodePathBuilder.build(database.getName(), new 
VersionNodePath(each.getNodePath()).getActiveVersionPath());
             if (databaseRuleNodePath.isPresent()) {
                 
metaDataContextManager.getDatabaseRuleItemManager().drop(databaseRuleNodePath.get());
             }
diff --git 
a/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistServiceTest.java
 
b/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistServiceTest.java
index 313bcda412a..ad901f74cba 100644
--- 
a/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistServiceTest.java
+++ 
b/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistServiceTest.java
@@ -26,12 +26,12 @@ import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
 import 
org.apache.shardingsphere.mode.metadata.changed.RuleItemChangedNodePathBuilder;
 import org.apache.shardingsphere.mode.metadata.manager.MetaDataContextManager;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistFacade;
 import 
org.apache.shardingsphere.mode.metadata.persist.metadata.DatabaseMetaDataPersistFacade;
 import 
org.apache.shardingsphere.mode.node.path.type.database.metadata.rule.DatabaseRuleNodePath;
+import org.apache.shardingsphere.mode.node.path.version.MetaDataVersion;
 import org.apache.shardingsphere.single.config.SingleRuleConfiguration;
 import org.apache.shardingsphere.single.rule.SingleRule;
 import org.junit.jupiter.api.BeforeEach;
@@ -43,7 +43,6 @@ import org.mockito.internal.configuration.plugins.Plugins;
 import org.mockito.junit.jupiter.MockitoExtension;
 
 import java.sql.SQLException;
-import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedList;
 import java.util.Optional;
@@ -171,9 +170,10 @@ class StandaloneMetaDataManagerPersistServiceTest {
         ShardingSphereMetaData metaData = new 
ShardingSphereMetaData(Collections.singleton(database), mock(), mock(), new 
ConfigurationProperties(new Properties()));
         
when(metaDataContextManager.getMetaDataContexts().getMetaData()).thenReturn(metaData);
         RuleConfiguration ruleConfig = mock(RuleConfiguration.class, 
RETURNS_DEEP_STUBS);
-        Collection<MetaDataVersion> metaDataVersions = 
Collections.singleton(mock(MetaDataVersion.class));
-        when(metaDataPersistFacade.getDatabaseRuleService().persist("foo_db", 
Collections.singleton(ruleConfig))).thenReturn(metaDataVersions);
+        MetaDataVersion metaDataVersion = mock(MetaDataVersion.class);
+        when(metaDataPersistFacade.getDatabaseRuleService().persist("foo_db", 
Collections.singleton(ruleConfig))).thenReturn(Collections.singleton(metaDataVersion));
         DatabaseRuleNodePath databaseRuleNodePath = 
mock(DatabaseRuleNodePath.class);
+        when(metaDataVersion.getNodePath()).thenReturn(databaseRuleNodePath);
         RuleItemChangedNodePathBuilder ruleItemChangedNodePathBuilder = 
mock(RuleItemChangedNodePathBuilder.class);
         when(ruleItemChangedNodePathBuilder.build(eq("foo_db"), 
any())).thenReturn(Optional.of(databaseRuleNodePath));
         setRuleItemChangedBuildExecutor(ruleItemChangedNodePathBuilder);
@@ -191,10 +191,11 @@ class StandaloneMetaDataManagerPersistServiceTest {
     @Test
     void assertRemoveRuleConfigurationItem() throws SQLException {
         RuleConfiguration ruleConfig = mock(RuleConfiguration.class, 
RETURNS_DEEP_STUBS);
-        Collection<MetaDataVersion> metaDataVersion = 
Collections.singleton(mock(MetaDataVersion.class));
-        when(metaDataPersistFacade.getDatabaseRuleService().delete("foo_db", 
Collections.singleton(ruleConfig))).thenReturn(metaDataVersion);
+        MetaDataVersion metaDataVersion = mock(MetaDataVersion.class);
+        when(metaDataPersistFacade.getDatabaseRuleService().delete("foo_db", 
Collections.singleton(ruleConfig))).thenReturn(Collections.singleton(metaDataVersion));
         RuleItemChangedNodePathBuilder ruleItemChangedNodePathBuilder = 
mock(RuleItemChangedNodePathBuilder.class);
         DatabaseRuleNodePath databaseRuleNodePath = 
mock(DatabaseRuleNodePath.class);
+        when(metaDataVersion.getNodePath()).thenReturn(databaseRuleNodePath);
         when(ruleItemChangedNodePathBuilder.build(eq("foo_db"), 
any())).thenReturn(Optional.of(databaseRuleNodePath));
         setRuleItemChangedBuildExecutor(ruleItemChangedNodePathBuilder);
         metaDataManagerPersistService.removeRuleConfigurationItem(new 
ShardingSphereDatabase("foo_db", mock(), mock(), mock(), 
Collections.emptyList()), ruleConfig);

Reply via email to