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 4e15de6a505 Add NodePathGenerator interface (#34692)
4e15de6a505 is described below
commit 4e15de6a50510398cc5a097cbc2e9287975c8330
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Feb 16 13:49:02 2025 +0800
Add NodePathGenerator interface (#34692)
* Add DatabaseRuleItemNodePathGenerator
* Add NodePathGenerator interface
* Add NodePathGenerator interface
* Add NodePathGenerator interface
---
.../database/DataSourceUnitPersistService.java | 2 +-
.../database/DatabaseRulePersistService.java | 9 ++--
.../config/global/GlobalRulePersistService.java | 2 +-
.../service/DatabaseMetaDataPersistService.java | 4 +-
.../service/SchemaMetaDataPersistService.java | 2 +-
.../service/TableMetaDataPersistService.java | 2 +-
.../service/ViewMetaDataPersistService.java | 2 +-
.../mode/manager/ContextManagerTest.java | 2 +-
.../mode/node/path/NodePathGenerator.java} | 35 +++++++------
.../global/GlobalPropertiesNodePathGenerator.java | 14 +++---
.../config/global/GlobalRuleNodePathGenerator.java | 22 +++------
.../path/metadata/DatabaseNodePathGenerator.java | 19 +++-----
.../node/path/metadata/DatabaseNodePathParser.java | 2 +-
.../metadata/database/SchemaNodePathGenerator.java | 22 +++------
.../metadata/database/SchemaNodePathParser.java | 2 +-
.../metadata/database/TableNodePathGenerator.java | 24 +++------
.../metadata/database/TableNodePathParser.java | 4 +-
.../metadata/database/ViewNodePathGenerator.java | 24 +++------
.../path/metadata/database/ViewNodePathParser.java | 4 +-
.../rule/DatabaseRuleItemNodePathGenerator.java | 57 ++++++++++++++++++++++
.../rule/DatabaseRuleNodePathGenerator.java | 44 +++--------------
.../storage/DataSourceNodePathGenerator.java | 14 +++---
.../storage/StorageNodeNodePathGenerator.java | 20 +++-----
.../storage/StorageNodeNodePathParser.java | 2 +-
.../storage/StorageUnitNodePathGenerator.java | 18 ++-----
.../storage/StorageUnitNodePathParser.java | 2 +-
.../global/GlobalRuleNodePathGeneratorTest.java | 2 +-
.../metadata/DatabaseNodePathGeneratorTest.java | 6 +--
.../database/SchemaNodePathGeneratorTest.java | 2 +-
.../database/TableNodePathGeneratorTest.java | 4 +-
.../database/ViewNodePathGeneratorTest.java | 4 +-
... => DatabaseRuleItemNodePathGeneratorTest.java} | 18 ++-----
.../rule/DatabaseRuleNodePathGeneratorTest.java | 20 +-------
.../storage/StorageNodeNodePathGeneratorTest.java | 4 +-
.../storage/StorageUnitNodePathGeneratorTest.java | 4 +-
.../type/DatabaseListenerChangedHandler.java | 4 +-
.../listener/DataChangedEventListenerRegistry.java | 2 +-
37 files changed, 189 insertions(+), 235 deletions(-)
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/database/DataSourceUnitPersistService.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/database/DataSourceUnitPersistService.java
index 0021abc76c5..6bb9f77595a 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/database/DataSourceUnitPersistService.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/database/DataSourceUnitPersistService.java
@@ -94,6 +94,6 @@ public final class DataSourceUnitPersistService {
* @param dataSourceName data source name
*/
public void delete(final String databaseName, final String dataSourceName)
{
- repository.delete(new
StorageUnitNodePathGenerator(databaseName).getStorageUnitPath(dataSourceName));
+ repository.delete(new
StorageUnitNodePathGenerator(databaseName).getPath(dataSourceName));
}
}
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 8f7a21bd2db..82493a987a4 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
@@ -24,6 +24,7 @@ import
org.apache.shardingsphere.infra.yaml.config.swapper.rule.YamlRuleConfigur
import
org.apache.shardingsphere.mode.metadata.persist.config.RepositoryTuplePersistService;
import
org.apache.shardingsphere.mode.metadata.persist.version.MetaDataVersionPersistService;
import
org.apache.shardingsphere.mode.node.path.config.database.item.DatabaseRuleItem;
+import
org.apache.shardingsphere.mode.node.path.metadata.rule.DatabaseRuleItemNodePathGenerator;
import
org.apache.shardingsphere.mode.node.path.metadata.rule.DatabaseRuleNodePathGenerator;
import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
import org.apache.shardingsphere.mode.node.tuple.RepositoryTuple;
@@ -92,9 +93,9 @@ public final class DatabaseRulePersistService {
Collection<MetaDataVersion> result = new LinkedList<>();
for (RepositoryTuple each : repositoryTuples) {
DatabaseRuleItem databaseRuleItem = new
DatabaseRuleItem(each.getKey());
- VersionNodePathGenerator versionNodePathGenerator = new
DatabaseRuleNodePathGenerator(databaseName).getVersion(ruleType,
databaseRuleItem);
+ VersionNodePathGenerator versionNodePathGenerator = new
DatabaseRuleItemNodePathGenerator(databaseName,
ruleType).getVersion(databaseRuleItem);
int nextVersion =
metaDataVersionPersistService.persist(versionNodePathGenerator,
each.getValue());
- result.add(new MetaDataVersion(new
DatabaseRuleNodePathGenerator(databaseName).getRulePath(ruleType,
databaseRuleItem), Math.max(MetaDataVersion.INIT_VERSION, nextVersion - 1)));
+ result.add(new MetaDataVersion(new
DatabaseRuleItemNodePathGenerator(databaseName,
ruleType).getPath(databaseRuleItem), Math.max(MetaDataVersion.INIT_VERSION,
nextVersion - 1)));
}
return result;
}
@@ -106,7 +107,7 @@ public final class DatabaseRulePersistService {
* @param ruleType rule type
*/
public void delete(final String databaseName, final String ruleType) {
- repository.delete(new
DatabaseRuleNodePathGenerator(databaseName).getRulePath(ruleType));
+ repository.delete(new
DatabaseRuleNodePathGenerator(databaseName).getPath(ruleType));
}
/**
@@ -132,7 +133,7 @@ public final class DatabaseRulePersistService {
private Collection<MetaDataVersion> delete(final String databaseName,
final String ruleType, final Collection<RepositoryTuple> repositoryTuples) {
Collection<MetaDataVersion> result = new LinkedList<>();
for (RepositoryTuple each : repositoryTuples) {
- String toBeDeletedKey = new
DatabaseRuleNodePathGenerator(databaseName).getRulePath(ruleType, new
DatabaseRuleItem(each.getKey()));
+ String toBeDeletedKey = new
DatabaseRuleItemNodePathGenerator(databaseName, ruleType).getPath(new
DatabaseRuleItem(each.getKey()));
repository.delete(toBeDeletedKey);
result.add(new MetaDataVersion(toBeDeletedKey));
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/global/GlobalRulePersistService.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/global/GlobalRulePersistService.java
index d1754fa4b32..9e74b6f5783 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/global/GlobalRulePersistService.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/global/GlobalRulePersistService.java
@@ -67,7 +67,7 @@ public final class GlobalRulePersistService {
* @return global rule configuration
*/
public Optional<RuleConfiguration> load(final String ruleType) {
- return
yamlRepositoryTupleSwapperEngine.swapToRuleConfiguration(ruleType,
repositoryTuplePersistService.load(new
GlobalRuleNodePathGenerator().getRulePath(ruleType)));
+ return
yamlRepositoryTupleSwapperEngine.swapToRuleConfiguration(ruleType,
repositoryTuplePersistService.load(new
GlobalRuleNodePathGenerator().getPath(ruleType)));
}
/**
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/DatabaseMetaDataPersistService.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/DatabaseMetaDataPersistService.java
index 82dbb753b13..a8610293c50 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/DatabaseMetaDataPersistService.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/DatabaseMetaDataPersistService.java
@@ -37,7 +37,7 @@ public final class DatabaseMetaDataPersistService {
* @param databaseName to be added database name
*/
public void add(final String databaseName) {
- repository.persist(new
DatabaseNodePathGenerator().getDatabasePath(databaseName), "");
+ repository.persist(new
DatabaseNodePathGenerator().getPath(databaseName), "");
}
/**
@@ -46,7 +46,7 @@ public final class DatabaseMetaDataPersistService {
* @param databaseName to be dropped database name
*/
public void drop(final String databaseName) {
- repository.delete(new
DatabaseNodePathGenerator().getDatabasePath(databaseName));
+ repository.delete(new
DatabaseNodePathGenerator().getPath(databaseName));
}
/**
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/SchemaMetaDataPersistService.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/SchemaMetaDataPersistService.java
index e7cfac67827..2cced9954aa 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/SchemaMetaDataPersistService.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/SchemaMetaDataPersistService.java
@@ -62,7 +62,7 @@ public final class SchemaMetaDataPersistService {
* @param schemaName to be dropped schema name
*/
public void drop(final String databaseName, final String schemaName) {
- repository.delete(new
SchemaNodePathGenerator(databaseName).getSchemaPath(schemaName));
+ repository.delete(new
SchemaNodePathGenerator(databaseName).getPath(schemaName));
}
/**
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/TableMetaDataPersistService.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/TableMetaDataPersistService.java
index e1bfd5b7c57..b586e0d931e 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/TableMetaDataPersistService.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/TableMetaDataPersistService.java
@@ -92,7 +92,7 @@ public final class TableMetaDataPersistService {
* @param tableName to be dropped table name
*/
public void drop(final String databaseName, final String schemaName, final
String tableName) {
- repository.delete(new TableNodePathGenerator(databaseName,
schemaName).getTablePath(tableName.toLowerCase()));
+ repository.delete(new TableNodePathGenerator(databaseName,
schemaName).getPath(tableName.toLowerCase()));
}
/**
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 7478dad912b..18da6638862 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
@@ -92,6 +92,6 @@ public final class ViewMetaDataPersistService {
* @param viewName to be dropped view name
*/
public void drop(final String databaseName, final String schemaName, final
String viewName) {
- repository.delete(new ViewNodePathGenerator(databaseName,
schemaName).getViewPath(viewName.toLowerCase()));
+ repository.delete(new ViewNodePathGenerator(databaseName,
schemaName).getPath(viewName.toLowerCase()));
}
}
diff --git
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
index d86f3402ba0..17ffbc8b738 100644
---
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
+++
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
@@ -146,7 +146,7 @@ class ContextManagerTest {
when(metaDataContexts.getMetaData().getDatabase("foo_db").getName()).thenReturn("foo_db");
ShardingSphereDatabase database = mockDatabase();
contextManager.reloadSchema(database, "foo_schema", "foo_ds");
-
verify(contextManager.getPersistServiceFacade().getRepository()).delete(new
SchemaNodePathGenerator("foo_db").getSchemaPath("foo_schema"));
+
verify(contextManager.getPersistServiceFacade().getRepository()).delete(new
SchemaNodePathGenerator("foo_db").getPath("foo_schema"));
}
@Test
diff --git
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/DatabaseNodePathGeneratorTest.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/NodePathGenerator.java
similarity index 61%
copy from
mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/DatabaseNodePathGeneratorTest.java
copy to
mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/NodePathGenerator.java
index 102a6cdf17f..0c30f0a46bf 100644
---
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/DatabaseNodePathGeneratorTest.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/NodePathGenerator.java
@@ -15,22 +15,27 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.mode.node.path.metadata;
+package org.apache.shardingsphere.mode.node.path;
-import org.junit.jupiter.api.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-class DatabaseNodePathGeneratorTest {
+/**
+ * Node path generator.
+ *
+ * @param <T> type of node
+ */
+public interface NodePathGenerator<T> {
- @Test
- void assertGetPath() {
- assertThat(new DatabaseNodePathGenerator().getRootPath(),
is("/metadata"));
- }
+ /**
+ * Get root path.
+ *
+ * @return root path
+ */
+ String getRootPath();
- @Test
- void assertGetDatabasePath() {
- assertThat(new DatabaseNodePathGenerator().getDatabasePath("foo_db"),
is("/metadata/foo_db"));
- }
+ /**
+ * Get path.
+ *
+ * @param node node
+ * @return path
+ */
+ String getPath(T node);
}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalPropertiesNodePathGenerator.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalPropertiesNodePathGenerator.java
index e63c5ada304..679d1238bb6 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalPropertiesNodePathGenerator.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalPropertiesNodePathGenerator.java
@@ -17,24 +17,26 @@
package org.apache.shardingsphere.mode.node.path.config.global;
+import org.apache.shardingsphere.mode.node.path.NodePathGenerator;
import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
/**
* Global properties node path generator.
*/
-public final class GlobalPropertiesNodePathGenerator {
+public final class GlobalPropertiesNodePathGenerator implements
NodePathGenerator<String> {
private static final String ROOT_NODE = "/props";
- /**
- * Get properties path.
- *
- * @return properties path
- */
+ @Override
public String getRootPath() {
return ROOT_NODE;
}
+ @Override
+ public String getPath(final String node) {
+ throw new UnsupportedOperationException("Global properties node do not
need path.");
+ }
+
/**
* Get properties version node path generator.
*
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalRuleNodePathGenerator.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalRuleNodePathGenerator.java
index f6ec2b4b5ac..e1c14867017 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalRuleNodePathGenerator.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalRuleNodePathGenerator.java
@@ -17,32 +17,24 @@
package org.apache.shardingsphere.mode.node.path.config.global;
+import org.apache.shardingsphere.mode.node.path.NodePathGenerator;
import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
/**
* Global props node path generator.
*/
-public final class GlobalRuleNodePathGenerator {
+public final class GlobalRuleNodePathGenerator implements
NodePathGenerator<String> {
private static final String ROOT_NODE = "/rules";
- /**
- * Get global rule root path.
- *
- * @return global rule root path
- */
+ @Override
public String getRootPath() {
return ROOT_NODE;
}
- /**
- * Get global rule path.
- *
- * @param ruleType rule type
- * @return global rule path
- */
- public String getRulePath(final String ruleType) {
- return String.join("/", getRootPath(), ruleType);
+ @Override
+ public String getPath(final String node) {
+ return String.join("/", getRootPath(), node);
}
/**
@@ -52,6 +44,6 @@ public final class GlobalRuleNodePathGenerator {
* @return global rule version node path generator
*/
public VersionNodePathGenerator getVersion(final String ruleType) {
- return new VersionNodePathGenerator(getRulePath(ruleType));
+ return new VersionNodePathGenerator(getPath(ruleType));
}
}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/DatabaseNodePathGenerator.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/DatabaseNodePathGenerator.java
index b1b63141c4b..8931a80635e 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/DatabaseNodePathGenerator.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/DatabaseNodePathGenerator.java
@@ -17,29 +17,22 @@
package org.apache.shardingsphere.mode.node.path.metadata;
+import org.apache.shardingsphere.mode.node.path.NodePathGenerator;
+
/**
* Database node path generator.
*/
-public final class DatabaseNodePathGenerator {
+public final class DatabaseNodePathGenerator implements
NodePathGenerator<String> {
private static final String ROOT_NODE = "/metadata";
- /**
- * Get database root path.
- *
- * @return schema root path
- */
+ @Override
public String getRootPath() {
return ROOT_NODE;
}
- /**
- * Get database path.
- *
- * @param databaseName database name
- * @return database path
- */
- public String getDatabasePath(final String databaseName) {
+ @Override
+ public String getPath(final String databaseName) {
return String.join("/", ROOT_NODE, databaseName);
}
}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/DatabaseNodePathParser.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/DatabaseNodePathParser.java
index a65db5e2198..f6183663c41 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/DatabaseNodePathParser.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/DatabaseNodePathParser.java
@@ -31,7 +31,7 @@ import java.util.regex.Pattern;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class DatabaseNodePathParser {
- private static final Pattern DATABASE_PATTERN = Pattern.compile(new
DatabaseNodePathGenerator().getDatabasePath(NodePathPattern.IDENTIFIER) + "?",
Pattern.CASE_INSENSITIVE);
+ private static final Pattern DATABASE_PATTERN = Pattern.compile(new
DatabaseNodePathGenerator().getPath(NodePathPattern.IDENTIFIER) + "?",
Pattern.CASE_INSENSITIVE);
/**
* Find database name.
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/SchemaNodePathGenerator.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/SchemaNodePathGenerator.java
index caa02577573..a898211f56f 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/SchemaNodePathGenerator.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/SchemaNodePathGenerator.java
@@ -18,34 +18,26 @@
package org.apache.shardingsphere.mode.node.path.metadata.database;
import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.mode.node.path.NodePathGenerator;
import
org.apache.shardingsphere.mode.node.path.metadata.DatabaseNodePathGenerator;
/**
* Schema node path generator.
*/
@RequiredArgsConstructor
-public final class SchemaNodePathGenerator {
+public final class SchemaNodePathGenerator implements
NodePathGenerator<String> {
private static final String SCHEMAS_NODE = "schemas";
private final String databaseName;
- /**
- * Get schema root path.
- *
- * @return schema root path
- */
+ @Override
public String getRootPath() {
- return String.join("/", new
DatabaseNodePathGenerator().getDatabasePath(databaseName), SCHEMAS_NODE);
+ return String.join("/", new
DatabaseNodePathGenerator().getPath(databaseName), SCHEMAS_NODE);
}
- /**
- * Get schema path.
- *
- * @param schemaName schema name
- * @return schema path
- */
- public String getSchemaPath(final String schemaName) {
- return String.join("/", getRootPath(), schemaName);
+ @Override
+ public String getPath(final String node) {
+ return String.join("/", getRootPath(), node);
}
}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/SchemaNodePathParser.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/SchemaNodePathParser.java
index 67d06a5bc7e..ddff0544152 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/SchemaNodePathParser.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/SchemaNodePathParser.java
@@ -40,7 +40,7 @@ public final class SchemaNodePathParser {
*/
public static Optional<String> findSchemaName(final String path, final
boolean containsChildPath) {
String endPattern = containsChildPath ? "?" : "$";
- Pattern pattern = Pattern.compile(new
SchemaNodePathGenerator(NodePathPattern.IDENTIFIER).getSchemaPath(NodePathPattern.IDENTIFIER)
+ endPattern, Pattern.CASE_INSENSITIVE);
+ Pattern pattern = Pattern.compile(new
SchemaNodePathGenerator(NodePathPattern.IDENTIFIER).getPath(NodePathPattern.IDENTIFIER)
+ endPattern, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(path);
return matcher.find() ? Optional.of(matcher.group(2)) :
Optional.empty();
}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/TableNodePathGenerator.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/TableNodePathGenerator.java
index d98ed1ee54e..1e9ad9a3d1f 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/TableNodePathGenerator.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/TableNodePathGenerator.java
@@ -17,12 +17,13 @@
package org.apache.shardingsphere.mode.node.path.metadata.database;
+import org.apache.shardingsphere.mode.node.path.NodePathGenerator;
import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
/**
* Table node path generator.
*/
-public final class TableNodePathGenerator {
+public final class TableNodePathGenerator implements NodePathGenerator<String>
{
private static final String TABLES_NODE = "tables";
@@ -35,23 +36,14 @@ public final class TableNodePathGenerator {
this.schemaName = schemaName;
}
- /**
- * Get table root path.
- *
- * @return table root path
- */
+ @Override
public String getRootPath() {
- return String.join("/",
schemaNodePathGenerator.getSchemaPath(schemaName), TABLES_NODE);
+ return String.join("/", schemaNodePathGenerator.getPath(schemaName),
TABLES_NODE);
}
- /**
- * Get table path.
- *
- * @param tableName table name
- * @return table path
- */
- public String getTablePath(final String tableName) {
- return String.join("/", getRootPath(), tableName);
+ @Override
+ public String getPath(final String node) {
+ return String.join("/", getRootPath(), node);
}
/**
@@ -61,6 +53,6 @@ public final class TableNodePathGenerator {
* @return table version node path generator
*/
public VersionNodePathGenerator getVersion(final String tableName) {
- return new VersionNodePathGenerator(getTablePath(tableName));
+ return new VersionNodePathGenerator(getPath(tableName));
}
}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/TableNodePathParser.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/TableNodePathParser.java
index 9ad6efa37df..071ee734f6a 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/TableNodePathParser.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/TableNodePathParser.java
@@ -33,10 +33,10 @@ import java.util.regex.Pattern;
public final class TableNodePathParser {
private static final Pattern PATTERN = Pattern.compile(
- new TableNodePathGenerator(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER).getTablePath(NodePathPattern.IDENTIFIER) + "$",
Pattern.CASE_INSENSITIVE);
+ new TableNodePathGenerator(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER).getPath(NodePathPattern.IDENTIFIER) + "$",
Pattern.CASE_INSENSITIVE);
private static final VersionNodePathParser VERSION_PARSER = new
VersionNodePathParser(
- new TableNodePathGenerator(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER).getTablePath(NodePathPattern.IDENTIFIER));
+ new TableNodePathGenerator(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER).getPath(NodePathPattern.IDENTIFIER));
/**
* Find table name.
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/ViewNodePathGenerator.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/ViewNodePathGenerator.java
index c9342a36074..274f7298c70 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/ViewNodePathGenerator.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/ViewNodePathGenerator.java
@@ -17,12 +17,13 @@
package org.apache.shardingsphere.mode.node.path.metadata.database;
+import org.apache.shardingsphere.mode.node.path.NodePathGenerator;
import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
/**
* View path generator.
*/
-public final class ViewNodePathGenerator {
+public final class ViewNodePathGenerator implements NodePathGenerator<String> {
private static final String VIEWS_NODE = "views";
@@ -35,23 +36,14 @@ public final class ViewNodePathGenerator {
this.schemaName = schemaName;
}
- /**
- * Get view root path.
- *
- * @return view root path
- */
+ @Override
public String getRootPath() {
- return String.join("/",
schemaNodePathGenerator.getSchemaPath(schemaName), VIEWS_NODE);
+ return String.join("/", schemaNodePathGenerator.getPath(schemaName),
VIEWS_NODE);
}
- /**
- * Get view path.
- *
- * @param viewName view name
- * @return view path
- */
- public String getViewPath(final String viewName) {
- return String.join("/", getRootPath(), viewName);
+ @Override
+ public String getPath(final String node) {
+ return String.join("/", getRootPath(), node);
}
/**
@@ -61,6 +53,6 @@ public final class ViewNodePathGenerator {
* @return view version node path generator
*/
public VersionNodePathGenerator getVersion(final String viewName) {
- return new VersionNodePathGenerator(getViewPath(viewName));
+ return new VersionNodePathGenerator(getPath(viewName));
}
}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/ViewNodePathParser.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/ViewNodePathParser.java
index ae94e8055b0..7b370940bca 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/ViewNodePathParser.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/database/ViewNodePathParser.java
@@ -33,10 +33,10 @@ import java.util.regex.Pattern;
public final class ViewNodePathParser {
private static final Pattern PATTERN = Pattern.compile(
- new ViewNodePathGenerator(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER).getViewPath(NodePathPattern.IDENTIFIER) + "$",
Pattern.CASE_INSENSITIVE);
+ new ViewNodePathGenerator(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER).getPath(NodePathPattern.IDENTIFIER) + "$",
Pattern.CASE_INSENSITIVE);
private static final VersionNodePathParser VERSION_PARSER = new
VersionNodePathParser(
- new ViewNodePathGenerator(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER).getViewPath(NodePathPattern.IDENTIFIER));
+ new ViewNodePathGenerator(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER).getPath(NodePathPattern.IDENTIFIER));
/**
* Get view name.
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleItemNodePathGenerator.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleItemNodePathGenerator.java
new file mode 100644
index 00000000000..97d43a9e785
--- /dev/null
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleItemNodePathGenerator.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.mode.node.path.metadata.rule;
+
+import org.apache.shardingsphere.mode.node.path.NodePathGenerator;
+import
org.apache.shardingsphere.mode.node.path.config.database.item.DatabaseRuleItem;
+import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
+
+/**
+ * Database rule item node path generator.
+ */
+public final class DatabaseRuleItemNodePathGenerator implements
NodePathGenerator<DatabaseRuleItem> {
+
+ private final DatabaseRuleNodePathGenerator databaseRuleNodePathGenerator;
+
+ private final String ruleType;
+
+ public DatabaseRuleItemNodePathGenerator(final String databaseName, final
String ruleType) {
+ databaseRuleNodePathGenerator = new
DatabaseRuleNodePathGenerator(databaseName);
+ this.ruleType = ruleType;
+ }
+
+ @Override
+ public String getRootPath() {
+ return databaseRuleNodePathGenerator.getPath(ruleType);
+ }
+
+ @Override
+ public String getPath(final DatabaseRuleItem databaseRuleItem) {
+ return String.join("/", getRootPath(), databaseRuleItem.toString());
+ }
+
+ /**
+ * Get database rule item version node path generator.
+ *
+ * @param databaseRuleItem database rule item
+ * @return database rule item version node path generator
+ */
+ public VersionNodePathGenerator getVersion(final DatabaseRuleItem
databaseRuleItem) {
+ return new VersionNodePathGenerator(getPath(databaseRuleItem));
+ }
+}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleNodePathGenerator.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleNodePathGenerator.java
index d562bcd0072..2c4a33a674a 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleNodePathGenerator.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleNodePathGenerator.java
@@ -18,58 +18,26 @@
package org.apache.shardingsphere.mode.node.path.metadata.rule;
import lombok.RequiredArgsConstructor;
-import
org.apache.shardingsphere.mode.node.path.config.database.item.DatabaseRuleItem;
+import org.apache.shardingsphere.mode.node.path.NodePathGenerator;
import
org.apache.shardingsphere.mode.node.path.metadata.DatabaseNodePathGenerator;
-import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
/**
* Database rule node path generator.
*/
@RequiredArgsConstructor
-public final class DatabaseRuleNodePathGenerator {
+public final class DatabaseRuleNodePathGenerator implements
NodePathGenerator<String> {
private static final String RULE_NODE = "rules";
private final String databaseName;
- /**
- * Get database root path.
- *
- * @return database root path
- */
+ @Override
public String getRootPath() {
return String.join("/", new DatabaseNodePathGenerator().getRootPath(),
databaseName, RULE_NODE);
}
- /**
- * Get database rule path.
- *
- * @param ruleType rule type
- * @return database rule path
- */
- public String getRulePath(final String ruleType) {
- return String.join("/", getRootPath(), ruleType);
- }
-
- /**
- * Get database rule path.
- *
- * @param ruleType rule type
- * @param databaseRuleItem database rule item
- * @return database rule path
- */
- public String getRulePath(final String ruleType, final DatabaseRuleItem
databaseRuleItem) {
- return String.join("/", getRulePath(ruleType),
databaseRuleItem.toString());
- }
-
- /**
- * Get database rule version node path generator.
- *
- * @param ruleType rule type
- * @param databaseRuleItem database rule item
- * @return database rule version node path generator
- */
- public VersionNodePathGenerator getVersion(final String ruleType, final
DatabaseRuleItem databaseRuleItem) {
- return new VersionNodePathGenerator(getRulePath(ruleType,
databaseRuleItem));
+ @Override
+ public String getPath(final String node) {
+ return String.join("/", getRootPath(), node);
}
}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/DataSourceNodePathGenerator.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/DataSourceNodePathGenerator.java
index e2e8be73ab2..63581827234 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/DataSourceNodePathGenerator.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/DataSourceNodePathGenerator.java
@@ -18,24 +18,26 @@
package org.apache.shardingsphere.mode.node.path.metadata.storage;
import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.mode.node.path.NodePathGenerator;
import
org.apache.shardingsphere.mode.node.path.metadata.DatabaseNodePathGenerator;
/**
* Data source node path generator.
*/
@RequiredArgsConstructor
-public final class DataSourceNodePathGenerator {
+public final class DataSourceNodePathGenerator implements
NodePathGenerator<String> {
private static final String DATA_SOURCES_NODE = "data_sources";
private final String databaseName;
- /**
- * Get data source root path.
- *
- * @return data source root path
- */
+ @Override
public String getRootPath() {
return String.join("/", new DatabaseNodePathGenerator().getRootPath(),
databaseName, DATA_SOURCES_NODE);
}
+
+ @Override
+ public String getPath(final String node) {
+ throw new UnsupportedOperationException("Data source node do not need
path.");
+ }
}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageNodeNodePathGenerator.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageNodeNodePathGenerator.java
index 02bb68d2c63..dc1cebe3cd0 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageNodeNodePathGenerator.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageNodeNodePathGenerator.java
@@ -18,35 +18,27 @@
package org.apache.shardingsphere.mode.node.path.metadata.storage;
import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.mode.node.path.NodePathGenerator;
import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
/**
* Storage node node path generator.
*/
@RequiredArgsConstructor
-public final class StorageNodeNodePathGenerator {
+public final class StorageNodeNodePathGenerator implements
NodePathGenerator<String> {
private static final String NODES_NODE = "nodes";
private final String databaseName;
- /**
- * Get storage node root path.
- *
- * @return storage node root path
- */
+ @Override
public String getRootPath() {
return String.join("/", new
DataSourceNodePathGenerator(databaseName).getRootPath(), NODES_NODE);
}
- /**
- * Get storage node path.
- *
- * @param storageNodeName storage node name
- * @return storage node path
- */
- public String getStorageNodePath(final String storageNodeName) {
- return String.join("/", getRootPath(), storageNodeName);
+ @Override
+ public String getPath(final String node) {
+ return String.join("/", getRootPath(), node);
}
/**
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageNodeNodePathParser.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageNodeNodePathParser.java
index c7df6e13273..e51de92de3d 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageNodeNodePathParser.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageNodeNodePathParser.java
@@ -32,7 +32,7 @@ import java.util.regex.Pattern;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class StorageNodeNodePathParser {
- private static final Pattern PATTERN = Pattern.compile(new
StorageNodeNodePathGenerator(NodePathPattern.IDENTIFIER).getStorageNodePath(NodePathPattern.IDENTIFIER)
+ "$", Pattern.CASE_INSENSITIVE);
+ private static final Pattern PATTERN = Pattern.compile(new
StorageNodeNodePathGenerator(NodePathPattern.IDENTIFIER).getPath(NodePathPattern.IDENTIFIER)
+ "$", Pattern.CASE_INSENSITIVE);
private static final VersionNodePathParser VERSION_PARSER =
new VersionNodePathParser(String.join("/", new
StorageNodeNodePathGenerator(NodePathPattern.IDENTIFIER).getRootPath(),
NodePathPattern.IDENTIFIER));
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageUnitNodePathGenerator.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageUnitNodePathGenerator.java
index 2fc0b779e79..b828b22b8ff 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageUnitNodePathGenerator.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageUnitNodePathGenerator.java
@@ -18,34 +18,26 @@
package org.apache.shardingsphere.mode.node.path.metadata.storage;
import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.mode.node.path.NodePathGenerator;
import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
/**
* Storage unit node path generator.
*/
@RequiredArgsConstructor
-public final class StorageUnitNodePathGenerator {
+public final class StorageUnitNodePathGenerator implements
NodePathGenerator<String> {
private static final String UNITS_NODE = "units";
private final String databaseName;
- /**
- * Get storage unit root path.
- *
- * @return storage unit root path
- */
+ @Override
public String getRootPath() {
return String.join("/", new
DataSourceNodePathGenerator(databaseName).getRootPath(), UNITS_NODE);
}
- /**
- * Get storage unit path.
- *
- * @param storageUnitName storage unit name
- * @return storage unit path
- */
- public String getStorageUnitPath(final String storageUnitName) {
+ @Override
+ public String getPath(final String storageUnitName) {
return String.join("/", getRootPath(), storageUnitName);
}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageUnitNodePathParser.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageUnitNodePathParser.java
index 9745f8d97b3..6f62220050c 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageUnitNodePathParser.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageUnitNodePathParser.java
@@ -33,7 +33,7 @@ import java.util.regex.Pattern;
public final class StorageUnitNodePathParser {
private static final Pattern PATTERN = Pattern.compile(
- new
StorageUnitNodePathGenerator(NodePathPattern.IDENTIFIER).getStorageUnitPath(NodePathPattern.IDENTIFIER)
+ "$", Pattern.CASE_INSENSITIVE);
+ new
StorageUnitNodePathGenerator(NodePathPattern.IDENTIFIER).getPath(NodePathPattern.IDENTIFIER)
+ "$", Pattern.CASE_INSENSITIVE);
private static final VersionNodePathParser VERSION_PARSER = new
VersionNodePathParser(
String.join("/", new
StorageUnitNodePathGenerator(NodePathPattern.IDENTIFIER).getRootPath(),
NodePathPattern.IDENTIFIER));
diff --git
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalRuleNodePathGeneratorTest.java
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalRuleNodePathGeneratorTest.java
index 8b6c4d0c581..e7f11af1a86 100644
---
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalRuleNodePathGeneratorTest.java
+++
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalRuleNodePathGeneratorTest.java
@@ -32,7 +32,7 @@ class GlobalRuleNodePathGeneratorTest {
@Test
void assertGetRulePath() {
- assertThat(new GlobalRuleNodePathGenerator().getRulePath("foo_rule"),
is("/rules/foo_rule"));
+ assertThat(new GlobalRuleNodePathGenerator().getPath("foo_rule"),
is("/rules/foo_rule"));
}
@Test
diff --git
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/DatabaseNodePathGeneratorTest.java
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/DatabaseNodePathGeneratorTest.java
index 102a6cdf17f..51036d3b67c 100644
---
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/DatabaseNodePathGeneratorTest.java
+++
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/DatabaseNodePathGeneratorTest.java
@@ -25,12 +25,12 @@ import static org.hamcrest.MatcherAssert.assertThat;
class DatabaseNodePathGeneratorTest {
@Test
- void assertGetPath() {
+ void assertGetRootPath() {
assertThat(new DatabaseNodePathGenerator().getRootPath(),
is("/metadata"));
}
@Test
- void assertGetDatabasePath() {
- assertThat(new DatabaseNodePathGenerator().getDatabasePath("foo_db"),
is("/metadata/foo_db"));
+ void assertGetPath() {
+ assertThat(new DatabaseNodePathGenerator().getPath("foo_db"),
is("/metadata/foo_db"));
}
}
diff --git
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/database/SchemaNodePathGeneratorTest.java
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/database/SchemaNodePathGeneratorTest.java
index 7bbe3833bcd..c004cd3e913 100644
---
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/database/SchemaNodePathGeneratorTest.java
+++
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/database/SchemaNodePathGeneratorTest.java
@@ -31,6 +31,6 @@ class SchemaNodePathGeneratorTest {
@Test
void assertGetSchemaPath() {
- assertThat(new
SchemaNodePathGenerator("foo_db").getSchemaPath("foo_schema"),
is("/metadata/foo_db/schemas/foo_schema"));
+ assertThat(new
SchemaNodePathGenerator("foo_db").getPath("foo_schema"),
is("/metadata/foo_db/schemas/foo_schema"));
}
}
diff --git
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/database/TableNodePathGeneratorTest.java
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/database/TableNodePathGeneratorTest.java
index b4d475c1969..2242715e194 100644
---
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/database/TableNodePathGeneratorTest.java
+++
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/database/TableNodePathGeneratorTest.java
@@ -30,8 +30,8 @@ class TableNodePathGeneratorTest {
}
@Test
- void assertGetTablePath() {
- assertThat(new TableNodePathGenerator("foo_db",
"foo_schema").getTablePath("foo_tbl"),
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl"));
+ void assertGetPath() {
+ assertThat(new TableNodePathGenerator("foo_db",
"foo_schema").getPath("foo_tbl"),
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl"));
}
@Test
diff --git
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/database/ViewNodePathGeneratorTest.java
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/database/ViewNodePathGeneratorTest.java
index 1f7de96921e..c40ced5d24c 100644
---
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/database/ViewNodePathGeneratorTest.java
+++
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/database/ViewNodePathGeneratorTest.java
@@ -30,8 +30,8 @@ class ViewNodePathGeneratorTest {
}
@Test
- void assertGetViewPath() {
- assertThat(new ViewNodePathGenerator("foo_db",
"foo_schema").getViewPath("foo_view"),
is("/metadata/foo_db/schemas/foo_schema/views/foo_view"));
+ void assertGetPath() {
+ assertThat(new ViewNodePathGenerator("foo_db",
"foo_schema").getPath("foo_view"),
is("/metadata/foo_db/schemas/foo_schema/views/foo_view"));
}
@Test
diff --git
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleNodePathGeneratorTest.java
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleItemNodePathGeneratorTest.java
similarity index 74%
copy from
mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleNodePathGeneratorTest.java
copy to
mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleItemNodePathGeneratorTest.java
index a6e42d4db43..ebf9c219ec1 100644
---
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleNodePathGeneratorTest.java
+++
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleItemNodePathGeneratorTest.java
@@ -24,27 +24,17 @@ import org.junit.jupiter.api.Test;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-class DatabaseRuleNodePathGeneratorTest {
+class DatabaseRuleItemNodePathGeneratorTest {
@Test
- void assertGetRootPath() {
- assertThat(new DatabaseRuleNodePathGenerator("foo_db").getRootPath(),
is("/metadata/foo_db/rules"));
- }
-
- @Test
- void assertGetRulePath() {
- assertThat(new
DatabaseRuleNodePathGenerator("foo_db").getRulePath("foo_rule"),
is("/metadata/foo_db/rules/foo_rule"));
- }
-
- @Test
- void assertGetRulePathWithKey() {
- assertThat(new
DatabaseRuleNodePathGenerator("foo_db").getRulePath("foo_rule", new
DatabaseRuleItem("foo_rule_item")),
is("/metadata/foo_db/rules/foo_rule/foo_rule_item"));
+ void assertGetPath() {
+ assertThat(new DatabaseRuleItemNodePathGenerator("foo_db",
"foo_rule").getPath(new DatabaseRuleItem("foo_rule_item")),
is("/metadata/foo_db/rules/foo_rule/foo_rule_item"));
}
@Test
void assertGetVersion() {
DatabaseRuleItem databaseRuleItem = new
DatabaseRuleItem("foo_rule_item");
- VersionNodePathGenerator versionNodePathGenerator = new
DatabaseRuleNodePathGenerator("foo_db").getVersion("foo_rule",
databaseRuleItem);
+ VersionNodePathGenerator versionNodePathGenerator = new
DatabaseRuleItemNodePathGenerator("foo_db",
"foo_rule").getVersion(databaseRuleItem);
assertThat(versionNodePathGenerator.getActiveVersionPath(),
is("/metadata/foo_db/rules/foo_rule/foo_rule_item/active_version"));
assertThat(versionNodePathGenerator.getVersionsPath(),
is("/metadata/foo_db/rules/foo_rule/foo_rule_item/versions"));
assertThat(versionNodePathGenerator.getVersionPath(0),
is("/metadata/foo_db/rules/foo_rule/foo_rule_item/versions/0"));
diff --git
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleNodePathGeneratorTest.java
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleNodePathGeneratorTest.java
index a6e42d4db43..3963b47e05d 100644
---
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleNodePathGeneratorTest.java
+++
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/rule/DatabaseRuleNodePathGeneratorTest.java
@@ -17,8 +17,6 @@
package org.apache.shardingsphere.mode.node.path.metadata.rule;
-import
org.apache.shardingsphere.mode.node.path.config.database.item.DatabaseRuleItem;
-import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
import org.junit.jupiter.api.Test;
import static org.hamcrest.CoreMatchers.is;
@@ -32,21 +30,7 @@ class DatabaseRuleNodePathGeneratorTest {
}
@Test
- void assertGetRulePath() {
- assertThat(new
DatabaseRuleNodePathGenerator("foo_db").getRulePath("foo_rule"),
is("/metadata/foo_db/rules/foo_rule"));
- }
-
- @Test
- void assertGetRulePathWithKey() {
- assertThat(new
DatabaseRuleNodePathGenerator("foo_db").getRulePath("foo_rule", new
DatabaseRuleItem("foo_rule_item")),
is("/metadata/foo_db/rules/foo_rule/foo_rule_item"));
- }
-
- @Test
- void assertGetVersion() {
- DatabaseRuleItem databaseRuleItem = new
DatabaseRuleItem("foo_rule_item");
- VersionNodePathGenerator versionNodePathGenerator = new
DatabaseRuleNodePathGenerator("foo_db").getVersion("foo_rule",
databaseRuleItem);
- assertThat(versionNodePathGenerator.getActiveVersionPath(),
is("/metadata/foo_db/rules/foo_rule/foo_rule_item/active_version"));
- assertThat(versionNodePathGenerator.getVersionsPath(),
is("/metadata/foo_db/rules/foo_rule/foo_rule_item/versions"));
- assertThat(versionNodePathGenerator.getVersionPath(0),
is("/metadata/foo_db/rules/foo_rule/foo_rule_item/versions/0"));
+ void assertGetPath() {
+ assertThat(new
DatabaseRuleNodePathGenerator("foo_db").getPath("foo_rule"),
is("/metadata/foo_db/rules/foo_rule"));
}
}
diff --git
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageNodeNodePathGeneratorTest.java
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageNodeNodePathGeneratorTest.java
index f838d4d7e66..3963b8da8de 100644
---
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageNodeNodePathGeneratorTest.java
+++
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageNodeNodePathGeneratorTest.java
@@ -31,8 +31,8 @@ class StorageNodeNodePathGeneratorTest {
}
@Test
- void assertGetStorageNodePath() {
- assertThat(new
StorageNodeNodePathGenerator("foo_db").getStorageNodePath("foo_ds"),
is("/metadata/foo_db/data_sources/nodes/foo_ds"));
+ void assertGetPath() {
+ assertThat(new
StorageNodeNodePathGenerator("foo_db").getPath("foo_ds"),
is("/metadata/foo_db/data_sources/nodes/foo_ds"));
}
@Test
diff --git
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageUnitNodePathGeneratorTest.java
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageUnitNodePathGeneratorTest.java
index 49d240dd108..2ee7197bde8 100644
---
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageUnitNodePathGeneratorTest.java
+++
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/storage/StorageUnitNodePathGeneratorTest.java
@@ -31,8 +31,8 @@ class StorageUnitNodePathGeneratorTest {
}
@Test
- void assertGetStorageUnitPath() {
- assertThat(new
StorageUnitNodePathGenerator("foo_db").getStorageUnitPath("foo_ds"),
is("/metadata/foo_db/data_sources/units/foo_ds"));
+ void assertGetPath() {
+ assertThat(new
StorageUnitNodePathGenerator("foo_db").getPath("foo_ds"),
is("/metadata/foo_db/data_sources/units/foo_ds"));
}
@Test
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/type/DatabaseListenerChangedHandler.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/type/DatabaseListenerChangedHandler.java
index 9f897d852f2..67ee6441fb1 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/type/DatabaseListenerChangedHandler.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/type/DatabaseListenerChangedHandler.java
@@ -57,10 +57,10 @@ public final class DatabaseListenerChangedHandler
implements GlobalDataChangedEv
private static void handle(final ContextManager contextManager, final
String databaseName, final ClusterDatabaseListenerCoordinatorType
clusterDatabaseListenerCoordinatorType) {
ClusterPersistRepository repository = (ClusterPersistRepository)
contextManager.getPersistServiceFacade().getRepository();
if (ClusterDatabaseListenerCoordinatorType.CREATE ==
clusterDatabaseListenerCoordinatorType) {
- repository.watch(new
DatabaseNodePathGenerator().getDatabasePath(databaseName), new
DatabaseMetaDataChangedListener(contextManager));
+ repository.watch(new
DatabaseNodePathGenerator().getPath(databaseName), new
DatabaseMetaDataChangedListener(contextManager));
contextManager.getMetaDataContextManager().getDatabaseMetaDataManager().addDatabase(databaseName);
} else if (ClusterDatabaseListenerCoordinatorType.DROP ==
clusterDatabaseListenerCoordinatorType) {
- repository.removeDataListener(new
DatabaseNodePathGenerator().getDatabasePath(databaseName));
+ repository.removeDataListener(new
DatabaseNodePathGenerator().getPath(databaseName));
contextManager.getMetaDataContextManager().getDatabaseMetaDataManager().dropDatabase(databaseName);
}
new
ClusterDatabaseListenerPersistCoordinator(repository).delete(databaseName);
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/listener/DataChangedEventListenerRegistry.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/listener/DataChangedEventListenerRegistry.java
index 0982a667388..43f13abc724 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/listener/DataChangedEventListenerRegistry.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/listener/DataChangedEventListenerRegistry.java
@@ -53,7 +53,7 @@ public final class DataChangedEventListenerRegistry {
}
private void registerDatabaseListeners(final String databaseName) {
- repository.watch(new
DatabaseNodePathGenerator().getDatabasePath(databaseName), new
DatabaseMetaDataChangedListener(contextManager));
+ repository.watch(new
DatabaseNodePathGenerator().getPath(databaseName), new
DatabaseMetaDataChangedListener(contextManager));
}
private void registerGlobalHandlers(final GlobalDataChangedEventHandler
handler) {