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 c706ccef675 Refactor ViewMetaDataNodePath.getVersionNodePath() (#34586) c706ccef675 is described below commit c706ccef675af2220995f390d9fbb9776d74c298 Author: Liang Zhang <zhangli...@apache.org> AuthorDate: Fri Feb 7 12:09:22 2025 +0800 Refactor ViewMetaDataNodePath.getVersionNodePath() (#34586) * Refactor ViewMetaDataNodePath.getVersionNodePath() * Refactor ViewMetaDataNodePath.getVersionNodePath() --- .../service/ViewMetaDataPersistService.java | 12 ++++---- .../node/path/metadata/ViewMetaDataNodePath.java | 35 ++++------------------ .../path/metadata/ViewMetaDataNodePathTest.java | 16 +++------- 3 files changed, 16 insertions(+), 47 deletions(-) diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/ViewMetaDataPersistService.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/ViewMetaDataPersistService.java index a0cbf179016..9085f7ef08c 100644 --- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/ViewMetaDataPersistService.java +++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/ViewMetaDataPersistService.java @@ -65,7 +65,8 @@ public final class ViewMetaDataPersistService { */ public ShardingSphereView load(final String databaseName, final String schemaName, final String viewName) { Integer activeVersion = getActiveVersion(databaseName, schemaName, viewName); - String view = repository.query(ViewMetaDataNodePath.getViewVersionPath(databaseName, schemaName, viewName, null == activeVersion ? MetaDataVersion.DEFAULT_VERSION : activeVersion)); + String view = + repository.query(ViewMetaDataNodePath.getVersionNodePath(databaseName, schemaName, viewName).getVersionPath(null == activeVersion ? MetaDataVersion.DEFAULT_VERSION : activeVersion)); return swapper.swapToObject(YamlEngine.unmarshal(view, YamlShardingSphereView.class)); } @@ -80,10 +81,11 @@ public final class ViewMetaDataPersistService { Collection<MetaDataVersion> metaDataVersions = new LinkedList<>(); for (ShardingSphereView each : views) { String viewName = each.getName().toLowerCase(); - int nextActiveVersion = metaDataVersionPersistService.getNextVersion(ViewMetaDataNodePath.getViewVersionsPath(databaseName, schemaName, viewName)); - repository.persist(ViewMetaDataNodePath.getViewVersionPath(databaseName, schemaName, viewName, nextActiveVersion), YamlEngine.marshal(swapper.swapToYamlConfiguration(each))); + int nextActiveVersion = metaDataVersionPersistService.getNextVersion(ViewMetaDataNodePath.getVersionNodePath(databaseName, schemaName, viewName).getVersionsPath()); + repository.persist(ViewMetaDataNodePath.getVersionNodePath(databaseName, schemaName, viewName).getVersionPath(nextActiveVersion), + YamlEngine.marshal(swapper.swapToYamlConfiguration(each))); if (null == getActiveVersion(databaseName, schemaName, viewName)) { - repository.persist(ViewMetaDataNodePath.getViewActiveVersionPath(databaseName, schemaName, viewName), String.valueOf(MetaDataVersion.DEFAULT_VERSION)); + repository.persist(ViewMetaDataNodePath.getVersionNodePath(databaseName, schemaName, viewName).getVersionsPath(), String.valueOf(MetaDataVersion.DEFAULT_VERSION)); } metaDataVersions.add(new MetaDataVersion(ViewMetaDataNodePath.getViewPath(databaseName, schemaName, viewName), getActiveVersion(databaseName, schemaName, viewName), nextActiveVersion)); } @@ -91,7 +93,7 @@ public final class ViewMetaDataPersistService { } private Integer getActiveVersion(final String databaseName, final String schemaName, final String viewName) { - String value = repository.query(ViewMetaDataNodePath.getViewActiveVersionPath(databaseName, schemaName, viewName)); + String value = repository.query(ViewMetaDataNodePath.getVersionNodePath(databaseName, schemaName, viewName).getActiveVersionPath()); return Strings.isNullOrEmpty(value) ? null : Integer.parseInt(value); } diff --git a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/ViewMetaDataNodePath.java b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/ViewMetaDataNodePath.java index c5820e9bd32..5c207e47ef4 100644 --- a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/ViewMetaDataNodePath.java +++ b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/ViewMetaDataNodePath.java @@ -59,40 +59,15 @@ public final class ViewMetaDataNodePath { } /** - * Get view active version path. + * Get view version node path. * * @param databaseName database name * @param schemaName schema name * @param viewName view name - * @return view active version path + * @return view version node path */ - public static String getViewActiveVersionPath(final String databaseName, final String schemaName, final String viewName) { - return new VersionNodePath(getViewPath(databaseName, schemaName, viewName)).getActiveVersionPath(); - } - - /** - * Get view versions path. - * - * @param databaseName database name - * @param schemaName schema name - * @param viewName view name - * @return view versions path - */ - public static String getViewVersionsPath(final String databaseName, final String schemaName, final String viewName) { - return new VersionNodePath(getViewPath(databaseName, schemaName, viewName)).getVersionsPath(); - } - - /** - * Get view version path. - * - * @param databaseName database name - * @param schemaName schema name - * @param viewName view name - * @param version version - * @return view version path - */ - public static String getViewVersionPath(final String databaseName, final String schemaName, final String viewName, final int version) { - return new VersionNodePath(getViewPath(databaseName, schemaName, viewName)).getVersionPath(version); + public static VersionNodePath getVersionNodePath(final String databaseName, final String schemaName, final String viewName) { + return new VersionNodePath(getViewPath(databaseName, schemaName, viewName)); } /** @@ -124,7 +99,7 @@ public final class ViewMetaDataNodePath { * @return view name */ public static Optional<String> findViewNameByActiveVersionPath(final String path) { - Pattern pattern = Pattern.compile(getViewActiveVersionPath(IDENTIFIER_PATTERN, IDENTIFIER_PATTERN, IDENTIFIER_PATTERN), Pattern.CASE_INSENSITIVE); + Pattern pattern = Pattern.compile(getVersionNodePath(IDENTIFIER_PATTERN, IDENTIFIER_PATTERN, IDENTIFIER_PATTERN).getActiveVersionPath(), Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(path); return matcher.find() ? Optional.of(matcher.group(3)) : Optional.empty(); } diff --git a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/ViewMetaDataNodePathTest.java b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/ViewMetaDataNodePathTest.java index de1e92ce0b1..a2535e530a8 100644 --- a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/ViewMetaDataNodePathTest.java +++ b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/ViewMetaDataNodePathTest.java @@ -39,18 +39,10 @@ class ViewMetaDataNodePathTest { } @Test - void assertGetViewActiveVersionPath() { - assertThat(ViewMetaDataNodePath.getViewActiveVersionPath("foo_db", "foo_schema", "foo_view"), is("/metadata/foo_db/schemas/foo_schema/views/foo_view/active_version")); - } - - @Test - void assertGetViewVersionsPath() { - assertThat(ViewMetaDataNodePath.getViewVersionsPath("foo_db", "foo_schema", "foo_view"), is("/metadata/foo_db/schemas/foo_schema/views/foo_view/versions")); - } - - @Test - void assertGetViewVersionPath() { - assertThat(ViewMetaDataNodePath.getViewVersionPath("foo_db", "foo_schema", "foo_view", 0), is("/metadata/foo_db/schemas/foo_schema/views/foo_view/versions/0")); + void assertGetVersionNodePath() { + assertThat(ViewMetaDataNodePath.getVersionNodePath("foo_db", "foo_schema", "foo_view").getActiveVersionPath(), is("/metadata/foo_db/schemas/foo_schema/views/foo_view/active_version")); + assertThat(ViewMetaDataNodePath.getVersionNodePath("foo_db", "foo_schema", "foo_view").getVersionsPath(), is("/metadata/foo_db/schemas/foo_schema/views/foo_view/versions")); + assertThat(ViewMetaDataNodePath.getVersionNodePath("foo_db", "foo_schema", "foo_view").getVersionPath(0), is("/metadata/foo_db/schemas/foo_schema/views/foo_view/versions/0")); } @Test