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 6e2d2d16470 Refactor MetaDataVersion (#34576) 6e2d2d16470 is described below commit 6e2d2d16470a12410471a8a80c6bcbedf6d14647 Author: Liang Zhang <zhangli...@apache.org> AuthorDate: Thu Feb 6 21:03:42 2025 +0800 Refactor MetaDataVersion (#34576) --- .../infra/metadata/version/MetaDataVersion.java | 30 +++++++++++----------- .../metadata/version/MetaDataVersionTest.java | 12 ++++----- .../version/MetaDataVersionPersistService.java | 4 +-- .../database/DataSourceUnitPersistServiceTest.java | 4 +-- .../database/DatabaseRulePersistServiceTest.java | 6 ++--- .../standalone/changed/RuleItemChangedBuilder.java | 2 +- .../type/RuleItemAlteredBuildExecutor.java | 8 +++--- .../type/RuleItemDroppedBuildExecutor.java | 4 +-- 8 files changed, 35 insertions(+), 35 deletions(-) diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/version/MetaDataVersion.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/version/MetaDataVersion.java index 7d6d2684cf6..a303deb49a6 100644 --- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/version/MetaDataVersion.java +++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/version/MetaDataVersion.java @@ -33,41 +33,41 @@ public final class MetaDataVersion { private static final String VERSIONS = "versions"; - private final String key; + private final String path; private final Integer currentActiveVersion; private final Integer nextActiveVersion; - public MetaDataVersion(final String key) { - this(key, null, null); + public MetaDataVersion(final String path) { + this(path, null, null); } /** - * Get active version node path. + * Get active version path. * * @return path of active version node */ - public String getActiveVersionNodePath() { - return String.join("/", key, ACTIVE_VERSION); + public String getActiveVersionPath() { + return String.join("/", path, ACTIVE_VERSION); } /** - * Get versions node path. + * Get versions path. * - * @param version version - * @return path of versions node + * @return path of versions */ - public String getVersionsNodePath(final int version) { - return String.join("/", key, VERSIONS, String.valueOf(version)); + public String getVersionsPath() { + return String.join("/", path, VERSIONS); } /** - * Get versions path. + * Get version path. * - * @return path of versions + * @param version version + * @return version path */ - public String getVersionsPath() { - return String.join("/", key, VERSIONS); + public String getVersionPath(final int version) { + return String.join("/", getVersionsPath(), String.valueOf(version)); } } diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/version/MetaDataVersionTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/version/MetaDataVersionTest.java index e4f6ebe853a..71389546223 100644 --- a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/version/MetaDataVersionTest.java +++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/version/MetaDataVersionTest.java @@ -25,17 +25,17 @@ import static org.hamcrest.MatcherAssert.assertThat; class MetaDataVersionTest { @Test - void assertGetActiveVersionNodePath() { - assertThat(new MetaDataVersion("foo", 0, 1).getActiveVersionNodePath(), is("foo/active_version")); + void assertGetActiveVersionPath() { + assertThat(new MetaDataVersion("foo", 0, 1).getActiveVersionPath(), is("foo/active_version")); } @Test - void assertGetVersionsNodePath() { - assertThat(new MetaDataVersion("foo", 0, 1).getVersionsNodePath(0), is("foo/versions/0")); + void assertGetVersionsPath() { + assertThat(new MetaDataVersion("foo", 0, 1).getVersionsPath(), is("foo/versions")); } @Test - void assertGetVersionsPath() { - assertThat(new MetaDataVersion("foo", 0, 1).getVersionsPath(), is("foo/versions")); + void assertGetVersionPath() { + assertThat(new MetaDataVersion("foo", 0, 1).getVersionPath(0), is("foo/versions/0")); } } diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/version/MetaDataVersionPersistService.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/version/MetaDataVersionPersistService.java index 819254f2e93..a1323cee046 100644 --- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/version/MetaDataVersionPersistService.java +++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/version/MetaDataVersionPersistService.java @@ -47,8 +47,8 @@ public final class MetaDataVersionPersistService { if (each.getNextActiveVersion().equals(each.getCurrentActiveVersion())) { continue; } - repository.persist(each.getActiveVersionNodePath(), String.valueOf(each.getNextActiveVersion())); - getVersions(each.getVersionsPath()).stream().filter(version -> version < each.getNextActiveVersion()).forEach(version -> repository.delete(each.getVersionsNodePath(version))); + repository.persist(each.getActiveVersionPath(), String.valueOf(each.getNextActiveVersion())); + getVersions(each.getVersionsPath()).stream().filter(version -> version < each.getNextActiveVersion()).forEach(version -> repository.delete(each.getVersionPath(version))); } } diff --git a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/config/database/DataSourceUnitPersistServiceTest.java b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/config/database/DataSourceUnitPersistServiceTest.java index 1388cb715b7..b5f95506adf 100644 --- a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/config/database/DataSourceUnitPersistServiceTest.java +++ b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/config/database/DataSourceUnitPersistServiceTest.java @@ -71,10 +71,10 @@ class DataSourceUnitPersistServiceTest { when(repository.getChildrenKeys("/metadata/foo_db/data_sources/units/foo_ds/versions")).thenReturn(Collections.singletonList("10")); List<MetaDataVersion> actual = new ArrayList<>(persistService.persist("foo_db", dataSourcePropsMap)); assertThat(actual.size(), is(2)); - assertThat(actual.get(0).getActiveVersionNodePath(), is("/metadata/foo_db/data_sources/units/foo_ds/active_version")); + assertThat(actual.get(0).getActiveVersionPath(), is("/metadata/foo_db/data_sources/units/foo_ds/active_version")); assertThat(actual.get(0).getCurrentActiveVersion(), is(10)); assertThat(actual.get(0).getNextActiveVersion(), is(11)); - assertThat(actual.get(1).getActiveVersionNodePath(), is("/metadata/foo_db/data_sources/units/bar_ds/active_version")); + assertThat(actual.get(1).getActiveVersionPath(), is("/metadata/foo_db/data_sources/units/bar_ds/active_version")); assertNull(actual.get(1).getCurrentActiveVersion()); assertThat(actual.get(1).getNextActiveVersion(), is(0)); } 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 804edbd88ce..a42ef45a24e 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 @@ -66,7 +66,7 @@ class DatabaseRulePersistServiceTest { void assertPersistWithoutActiveVersion() { Collection<MetaDataVersion> actual = persistService.persist("foo_db", Arrays.asList(new MetaDataRuleConfigurationFixture("test"), new NoTupleRuleConfigurationFixture("test"))); assertThat(actual.size(), is(1)); - assertThat(actual.iterator().next().getKey(), is("/metadata/foo_db/rules/fixture/fixture")); + assertThat(actual.iterator().next().getActiveVersionPath(), is("/metadata/foo_db/rules/fixture/fixture/active_version")); assertNull(actual.iterator().next().getCurrentActiveVersion()); assertThat(actual.iterator().next().getNextActiveVersion(), is(0)); } @@ -77,7 +77,7 @@ class DatabaseRulePersistServiceTest { when(repository.getChildrenKeys("/metadata/foo_db/rules/fixture/fixture/versions")).thenReturn(Collections.singletonList("10")); Collection<MetaDataVersion> actual = persistService.persist("foo_db", Collections.singleton(new MetaDataRuleConfigurationFixture("test"))); assertThat(actual.size(), is(1)); - assertThat(actual.iterator().next().getKey(), is("/metadata/foo_db/rules/fixture/fixture")); + assertThat(actual.iterator().next().getActiveVersionPath(), is("/metadata/foo_db/rules/fixture/fixture/active_version")); assertThat(actual.iterator().next().getCurrentActiveVersion(), is(10)); assertThat(actual.iterator().next().getNextActiveVersion(), is(11)); } @@ -92,7 +92,7 @@ class DatabaseRulePersistServiceTest { void assertDeleteWithRuleConfigurations() { Collection<MetaDataVersion> actual = persistService.delete("foo_db", Arrays.asList(new MetaDataRuleConfigurationFixture("test"), new NoTupleRuleConfigurationFixture("test"))); assertThat(actual.size(), is(1)); - assertThat(actual.iterator().next().getKey(), is("/metadata/foo_db/rules/fixture/fixture")); + assertThat(actual.iterator().next().getActiveVersionPath(), is("/metadata/foo_db/rules/fixture/fixture/active_version")); assertNull(actual.iterator().next().getCurrentActiveVersion()); assertNull(actual.iterator().next().getNextActiveVersion()); } diff --git a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/changed/RuleItemChangedBuilder.java b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/changed/RuleItemChangedBuilder.java index 0a5a9121efe..60fba5d69b4 100644 --- a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/changed/RuleItemChangedBuilder.java +++ b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/changed/RuleItemChangedBuilder.java @@ -41,7 +41,7 @@ public final class RuleItemChangedBuilder { */ public <T extends RuleChangedItem> Optional<T> build(final String databaseName, final MetaDataVersion metaDataVersion, final RuleItemChangedBuildExecutor<T> executor) { for (RuleNodePathProvider each : ShardingSphereServiceLoader.getServiceInstances(RuleNodePathProvider.class)) { - if (!each.getRuleNodePath().getRoot().isValidatedPath(metaDataVersion.getActiveVersionNodePath())) { + if (!each.getRuleNodePath().getRoot().isValidatedPath(metaDataVersion.getActiveVersionPath())) { continue; } Optional<T> result = executor.build(each.getRuleNodePath(), databaseName, metaDataVersion); diff --git a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/changed/executor/type/RuleItemAlteredBuildExecutor.java b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/changed/executor/type/RuleItemAlteredBuildExecutor.java index 9642a54248d..9c2e98af6ae 100644 --- a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/changed/executor/type/RuleItemAlteredBuildExecutor.java +++ b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/changed/executor/type/RuleItemAlteredBuildExecutor.java @@ -37,16 +37,16 @@ public final class RuleItemAlteredBuildExecutor implements RuleItemChangedBuildE @Override public Optional<AlterRuleItem> build(final RuleNodePath ruleNodePath, final String databaseName, final MetaDataVersion metaDataVersion) { for (Entry<String, NamedRuleItemNodePath> entry : ruleNodePath.getNamedItems().entrySet()) { - Optional<String> itemName = entry.getValue().getNameByActiveVersion(metaDataVersion.getActiveVersionNodePath()); + Optional<String> itemName = entry.getValue().getNameByActiveVersion(metaDataVersion.getActiveVersionPath()); if (itemName.isPresent()) { return Optional.of(new AlterNamedRuleItem(databaseName, - itemName.get(), metaDataVersion.getActiveVersionNodePath(), metaDataVersion.getNextActiveVersion(), ruleNodePath.getRoot().getRuleType() + "." + entry.getKey())); + itemName.get(), metaDataVersion.getActiveVersionPath(), metaDataVersion.getNextActiveVersion(), ruleNodePath.getRoot().getRuleType() + "." + entry.getKey())); } } for (Entry<String, UniqueRuleItemNodePath> entry : ruleNodePath.getUniqueItems().entrySet()) { - if (entry.getValue().isActiveVersionPath(metaDataVersion.getActiveVersionNodePath())) { + if (entry.getValue().isActiveVersionPath(metaDataVersion.getActiveVersionPath())) { return Optional.of(new AlterUniqueRuleItem(databaseName, - metaDataVersion.getActiveVersionNodePath(), metaDataVersion.getNextActiveVersion(), ruleNodePath.getRoot().getRuleType() + "." + entry.getKey())); + metaDataVersion.getActiveVersionPath(), metaDataVersion.getNextActiveVersion(), ruleNodePath.getRoot().getRuleType() + "." + entry.getKey())); } } return Optional.empty(); diff --git a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/changed/executor/type/RuleItemDroppedBuildExecutor.java b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/changed/executor/type/RuleItemDroppedBuildExecutor.java index 5d485a373a3..956b247cd2f 100644 --- a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/changed/executor/type/RuleItemDroppedBuildExecutor.java +++ b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/changed/executor/type/RuleItemDroppedBuildExecutor.java @@ -37,13 +37,13 @@ public final class RuleItemDroppedBuildExecutor implements RuleItemChangedBuildE @Override public Optional<DropRuleItem> build(final RuleNodePath ruleNodePath, final String databaseName, final MetaDataVersion metaDataVersion) { for (Entry<String, NamedRuleItemNodePath> entry : ruleNodePath.getNamedItems().entrySet()) { - Optional<String> itemName = entry.getValue().getNameByItemPath(metaDataVersion.getActiveVersionNodePath()); + Optional<String> itemName = entry.getValue().getNameByItemPath(metaDataVersion.getActiveVersionPath()); if (itemName.isPresent()) { return Optional.of(new DropNamedRuleItem(databaseName, itemName.get(), ruleNodePath.getRoot().getRuleType() + "." + entry.getKey())); } } for (Entry<String, UniqueRuleItemNodePath> entry : ruleNodePath.getUniqueItems().entrySet()) { - if (entry.getValue().isActiveVersionPath(metaDataVersion.getActiveVersionNodePath())) { + if (entry.getValue().isActiveVersionPath(metaDataVersion.getActiveVersionPath())) { return Optional.of(new DropUniqueRuleItem(databaseName, ruleNodePath.getRoot().getRuleType() + "." + entry.getKey())); } }