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 36165d64bd0 Refactor metadata NodePathGenerator from static to
instance (#34691)
36165d64bd0 is described below
commit 36165d64bd0546e4c8e0bdb15d6053ee35b027a8
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Feb 16 12:04:38 2025 +0800
Refactor metadata NodePathGenerator from static to instance (#34691)
* Refactor metadata NodePathGenerator from static to instance
* Refactor metadata NodePathGenerator from static to instance
---
.../database/DataSourceUnitPersistService.java | 11 ++++----
.../database/DatabaseRulePersistService.java | 10 ++++----
.../config/global/GlobalRulePersistService.java | 6 ++---
.../config/global/PropertiesPersistService.java | 6 ++---
.../service/DatabaseMetaDataPersistService.java | 6 ++---
.../service/SchemaMetaDataPersistService.java | 6 ++---
.../service/TableMetaDataPersistService.java | 11 ++++----
.../service/ViewMetaDataPersistService.java | 11 ++++----
.../mode/manager/ContextManagerTest.java | 2 +-
.../global/GlobalPropertiesNodePathGenerator.java | 7 ++---
.../global/GlobalPropertiesNodePathParser.java | 2 +-
.../config/global/GlobalRuleNodePathGenerator.java | 9 +++----
.../config/global/GlobalRuleNodePathParser.java | 2 +-
.../path/metadata/DatabaseNodePathGenerator.java | 8 ++----
.../node/path/metadata/DatabaseNodePathParser.java | 2 +-
.../metadata/database/SchemaNodePathGenerator.java | 17 ++++++------
.../metadata/database/SchemaNodePathParser.java | 2 +-
.../metadata/database/TableNodePathGenerator.java | 30 +++++++++++-----------
.../metadata/database/TableNodePathParser.java | 4 +--
.../metadata/database/ViewNodePathGenerator.java | 30 +++++++++++-----------
.../path/metadata/database/ViewNodePathParser.java | 4 +--
.../rule/DatabaseRuleNodePathGenerator.java | 27 +++++++++----------
.../storage/DataSourceNodePathGenerator.java | 12 ++++-----
.../metadata/storage/DataSourceNodePathParser.java | 2 +-
.../storage/StorageNodeNodePathGenerator.java | 22 ++++++++--------
.../storage/StorageNodeNodePathParser.java | 4 +--
.../storage/StorageUnitNodePathGenerator.java | 22 ++++++++--------
.../storage/StorageUnitNodePathParser.java | 7 ++---
.../GlobalPropertiesNodePathGeneratorTest.java | 10 +++++---
.../global/GlobalRuleNodePathGeneratorTest.java | 12 +++++----
.../metadata/DatabaseNodePathGeneratorTest.java | 4 +--
.../database/SchemaNodePathGeneratorTest.java | 4 +--
.../database/TableNodePathGeneratorTest.java | 12 ++++-----
.../database/ViewNodePathGeneratorTest.java | 12 ++++-----
.../rule/DatabaseRuleNodePathGeneratorTest.java | 17 ++++++------
.../storage/DataSourceNodePathGeneratorTest.java | 2 +-
.../storage/StorageNodeNodePathGeneratorTest.java | 13 +++++-----
.../storage/StorageUnitNodePathGeneratorTest.java | 13 +++++-----
.../type/DatabaseListenerChangedHandler.java | 4 +--
.../global/type/GlobalRuleChangedHandler.java | 2 +-
.../global/type/PropertiesChangedHandler.java | 2 +-
.../listener/DataChangedEventListenerRegistry.java | 2 +-
42 files changed, 189 insertions(+), 202 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 9db416da925..0021abc76c5 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
@@ -55,7 +55,7 @@ public final class DataSourceUnitPersistService {
* @return data source pool properties map
*/
public Map<String, DataSourcePoolProperties> load(final String
databaseName) {
- Collection<String> childrenKeys =
repository.getChildrenKeys(StorageUnitNodePathGenerator.getRootPath(databaseName));
+ Collection<String> childrenKeys = repository.getChildrenKeys(new
StorageUnitNodePathGenerator(databaseName).getRootPath());
return childrenKeys.stream().collect(Collectors.toMap(each -> each,
each -> load(databaseName, each), (a, b) -> b, () -> new
LinkedHashMap<>(childrenKeys.size(), 1F)));
}
@@ -68,8 +68,9 @@ public final class DataSourceUnitPersistService {
*/
@SuppressWarnings("unchecked")
public DataSourcePoolProperties load(final String databaseName, final
String dataSourceName) {
- int activeVersion =
Integer.parseInt(repository.query(StorageUnitNodePathGenerator.getVersion(databaseName,
dataSourceName).getActiveVersionPath()));
- String dataSourceContent =
repository.query(StorageUnitNodePathGenerator.getVersion(databaseName,
dataSourceName).getVersionPath(activeVersion));
+ VersionNodePathGenerator versionNodePathGenerator = new
StorageUnitNodePathGenerator(databaseName).getVersion(dataSourceName);
+ int activeVersion =
Integer.parseInt(repository.query(versionNodePathGenerator.getActiveVersionPath()));
+ String dataSourceContent =
repository.query(versionNodePathGenerator.getVersionPath(activeVersion));
return
yamlDataSourceConfigurationSwapper.swapToDataSourcePoolProperties(YamlEngine.unmarshal(dataSourceContent,
Map.class));
}
@@ -81,7 +82,7 @@ public final class DataSourceUnitPersistService {
*/
public void persist(final String databaseName, final Map<String,
DataSourcePoolProperties> dataSourcePropsMap) {
for (Entry<String, DataSourcePoolProperties> entry :
dataSourcePropsMap.entrySet()) {
- VersionNodePathGenerator versionNodePathGenerator =
StorageUnitNodePathGenerator.getVersion(databaseName, entry.getKey());
+ VersionNodePathGenerator versionNodePathGenerator = new
StorageUnitNodePathGenerator(databaseName).getVersion(entry.getKey());
metaDataVersionPersistService.persist(versionNodePathGenerator,
YamlEngine.marshal(yamlDataSourceConfigurationSwapper.swapToMap(entry.getValue())));
}
}
@@ -93,6 +94,6 @@ public final class DataSourceUnitPersistService {
* @param dataSourceName data source name
*/
public void delete(final String databaseName, final String dataSourceName)
{
-
repository.delete(StorageUnitNodePathGenerator.getStorageUnitPath(databaseName,
dataSourceName));
+ repository.delete(new
StorageUnitNodePathGenerator(databaseName).getStorageUnitPath(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 43492938707..8f7a21bd2db 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
@@ -67,7 +67,7 @@ public final class DatabaseRulePersistService {
* @return configurations
*/
public Collection<RuleConfiguration> load(final String databaseName) {
- return
yamlRepositoryTupleSwapperEngine.swapToRuleConfigurations(repositoryTuplePersistService.load(DatabaseRuleNodePathGenerator.getRootPath(databaseName)));
+ return
yamlRepositoryTupleSwapperEngine.swapToRuleConfigurations(repositoryTuplePersistService.load(new
DatabaseRuleNodePathGenerator(databaseName).getRootPath()));
}
/**
@@ -92,9 +92,9 @@ public final class DatabaseRulePersistService {
Collection<MetaDataVersion> result = new LinkedList<>();
for (RepositoryTuple each : repositoryTuples) {
DatabaseRuleItem databaseRuleItem = new
DatabaseRuleItem(each.getKey());
- VersionNodePathGenerator versionNodePathGenerator =
DatabaseRuleNodePathGenerator.getVersion(databaseName, ruleType,
databaseRuleItem);
+ VersionNodePathGenerator versionNodePathGenerator = new
DatabaseRuleNodePathGenerator(databaseName).getVersion(ruleType,
databaseRuleItem);
int nextVersion =
metaDataVersionPersistService.persist(versionNodePathGenerator,
each.getValue());
- result.add(new
MetaDataVersion(DatabaseRuleNodePathGenerator.getRulePath(databaseName,
ruleType, databaseRuleItem), Math.max(MetaDataVersion.INIT_VERSION, nextVersion
- 1)));
+ result.add(new MetaDataVersion(new
DatabaseRuleNodePathGenerator(databaseName).getRulePath(ruleType,
databaseRuleItem), Math.max(MetaDataVersion.INIT_VERSION, nextVersion - 1)));
}
return result;
}
@@ -106,7 +106,7 @@ public final class DatabaseRulePersistService {
* @param ruleType rule type
*/
public void delete(final String databaseName, final String ruleType) {
-
repository.delete(DatabaseRuleNodePathGenerator.getRulePath(databaseName,
ruleType));
+ repository.delete(new
DatabaseRuleNodePathGenerator(databaseName).getRulePath(ruleType));
}
/**
@@ -132,7 +132,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 =
DatabaseRuleNodePathGenerator.getRulePath(databaseName, ruleType, new
DatabaseRuleItem(each.getKey()));
+ String toBeDeletedKey = new
DatabaseRuleNodePathGenerator(databaseName).getRulePath(ruleType, 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 4f47ac6aff8..d1754fa4b32 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
@@ -57,7 +57,7 @@ public final class GlobalRulePersistService {
* @return global rule configurations
*/
public Collection<RuleConfiguration> load() {
- return
yamlRepositoryTupleSwapperEngine.swapToRuleConfigurations(repositoryTuplePersistService.load(GlobalRuleNodePathGenerator.getRootPath()));
+ return
yamlRepositoryTupleSwapperEngine.swapToRuleConfigurations(repositoryTuplePersistService.load(new
GlobalRuleNodePathGenerator().getRootPath()));
}
/**
@@ -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(GlobalRuleNodePathGenerator.getRulePath(ruleType)));
+ return
yamlRepositoryTupleSwapperEngine.swapToRuleConfiguration(ruleType,
repositoryTuplePersistService.load(new
GlobalRuleNodePathGenerator().getRulePath(ruleType)));
}
/**
@@ -83,7 +83,7 @@ public final class GlobalRulePersistService {
private void persistTuples(final Collection<RepositoryTuple> tuples) {
for (RepositoryTuple each : tuples) {
- VersionNodePathGenerator versionNodePathGenerator =
GlobalRuleNodePathGenerator.getVersion(each.getKey());
+ VersionNodePathGenerator versionNodePathGenerator = new
GlobalRuleNodePathGenerator().getVersion(each.getKey());
metaDataVersionPersistService.persist(versionNodePathGenerator,
each.getValue());
}
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/global/PropertiesPersistService.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/global/PropertiesPersistService.java
index 681148ce76f..63cdfd65684 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/global/PropertiesPersistService.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/config/global/PropertiesPersistService.java
@@ -45,12 +45,12 @@ public final class PropertiesPersistService {
*/
public Properties load() {
return loadActiveVersion()
- .map(optional ->
YamlEngine.unmarshal(repository.query(GlobalPropertiesNodePathGenerator.getVersion().getVersionPath(optional)),
Properties.class))
+ .map(optional -> YamlEngine.unmarshal(repository.query(new
GlobalPropertiesNodePathGenerator().getVersion().getVersionPath(optional)),
Properties.class))
.orElse(new Properties());
}
private Optional<Integer> loadActiveVersion() {
- String value =
repository.query(GlobalPropertiesNodePathGenerator.getVersion().getActiveVersionPath());
+ String value = repository.query(new
GlobalPropertiesNodePathGenerator().getVersion().getActiveVersionPath());
return Strings.isNullOrEmpty(value) ? Optional.empty() :
Optional.of(Integer.parseInt(value));
}
@@ -60,7 +60,7 @@ public final class PropertiesPersistService {
* @param props properties
*/
public void persist(final Properties props) {
- VersionNodePathGenerator versionNodePathGenerator =
GlobalPropertiesNodePathGenerator.getVersion();
+ VersionNodePathGenerator versionNodePathGenerator = new
GlobalPropertiesNodePathGenerator().getVersion();
metaDataVersionPersistService.persist(versionNodePathGenerator,
YamlEngine.marshal(props));
}
}
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 458ccdcb352..82dbb753b13 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(DatabaseNodePathGenerator.getDatabasePath(databaseName), "");
+ repository.persist(new
DatabaseNodePathGenerator().getDatabasePath(databaseName), "");
}
/**
@@ -46,7 +46,7 @@ public final class DatabaseMetaDataPersistService {
* @param databaseName to be dropped database name
*/
public void drop(final String databaseName) {
-
repository.delete(DatabaseNodePathGenerator.getDatabasePath(databaseName));
+ repository.delete(new
DatabaseNodePathGenerator().getDatabasePath(databaseName));
}
/**
@@ -55,6 +55,6 @@ public final class DatabaseMetaDataPersistService {
* @return loaded database names
*/
public Collection<String> loadAllDatabaseNames() {
- return
repository.getChildrenKeys(DatabaseNodePathGenerator.getRootPath());
+ return repository.getChildrenKeys(new
DatabaseNodePathGenerator().getRootPath());
}
}
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 ce54be7dec4..e7cfac67827 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
@@ -52,7 +52,7 @@ public final class SchemaMetaDataPersistService {
* @param schemaName to be added schema name
*/
public void add(final String databaseName, final String schemaName) {
- repository.persist(TableNodePathGenerator.getRootPath(databaseName,
schemaName), "");
+ repository.persist(new TableNodePathGenerator(databaseName,
schemaName).getRootPath(), "");
}
/**
@@ -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(SchemaNodePathGenerator.getSchemaPath(databaseName,
schemaName));
+ repository.delete(new
SchemaNodePathGenerator(databaseName).getSchemaPath(schemaName));
}
/**
@@ -112,7 +112,7 @@ public final class SchemaMetaDataPersistService {
* @return schemas
*/
public Collection<ShardingSphereSchema> load(final String databaseName) {
- return
repository.getChildrenKeys(SchemaNodePathGenerator.getRootPath(databaseName)).stream()
+ return repository.getChildrenKeys(new
SchemaNodePathGenerator(databaseName).getRootPath()).stream()
.map(each -> new ShardingSphereSchema(each,
tableMetaDataPersistService.load(databaseName, each),
viewMetaDataPersistService.load(databaseName,
each))).collect(Collectors.toList());
}
}
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 2f2d8df0188..e1bfd5b7c57 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
@@ -50,7 +50,7 @@ public final class TableMetaDataPersistService {
* @return loaded tables
*/
public Collection<ShardingSphereTable> load(final String databaseName,
final String schemaName) {
- return
repository.getChildrenKeys(TableNodePathGenerator.getRootPath(databaseName,
schemaName)).stream().map(each -> load(databaseName, schemaName, each))
+ return repository.getChildrenKeys(new
TableNodePathGenerator(databaseName,
schemaName).getRootPath()).stream().map(each -> load(databaseName, schemaName,
each))
.collect(Collectors.toList());
}
@@ -63,8 +63,9 @@ public final class TableMetaDataPersistService {
* @return loaded table
*/
public ShardingSphereTable load(final String databaseName, final String
schemaName, final String tableName) {
- int activeVersion =
Integer.parseInt(repository.query(TableNodePathGenerator.getVersion(databaseName,
schemaName, tableName).getActiveVersionPath()));
- String tableContent =
repository.query(TableNodePathGenerator.getVersion(databaseName, schemaName,
tableName).getVersionPath(activeVersion));
+ VersionNodePathGenerator versionNodePathGenerator = new
TableNodePathGenerator(databaseName, schemaName).getVersion(tableName);
+ int activeVersion =
Integer.parseInt(repository.query(versionNodePathGenerator.getActiveVersionPath()));
+ String tableContent =
repository.query(versionNodePathGenerator.getVersionPath(activeVersion));
return swapper.swapToObject(YamlEngine.unmarshal(tableContent,
YamlShardingSphereTable.class));
}
@@ -78,7 +79,7 @@ public final class TableMetaDataPersistService {
public void persist(final String databaseName, final String schemaName,
final Collection<ShardingSphereTable> tables) {
for (ShardingSphereTable each : tables) {
String tableName = each.getName().toLowerCase();
- VersionNodePathGenerator versionNodePathGenerator =
TableNodePathGenerator.getVersion(databaseName, schemaName, tableName);
+ VersionNodePathGenerator versionNodePathGenerator = new
TableNodePathGenerator(databaseName, schemaName).getVersion(tableName);
metaDataVersionPersistService.persist(versionNodePathGenerator,
YamlEngine.marshal(swapper.swapToYamlConfiguration(each)));
}
}
@@ -91,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(TableNodePathGenerator.getTablePath(databaseName,
schemaName, tableName.toLowerCase()));
+ repository.delete(new TableNodePathGenerator(databaseName,
schemaName).getTablePath(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 50700ae10e0..7478dad912b 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
@@ -50,7 +50,7 @@ public final class ViewMetaDataPersistService {
* @return loaded views
*/
public Collection<ShardingSphereView> load(final String databaseName,
final String schemaName) {
- return
repository.getChildrenKeys(ViewNodePathGenerator.getRootPath(databaseName,
schemaName)).stream().map(each -> load(databaseName, schemaName, each))
+ return repository.getChildrenKeys(new
ViewNodePathGenerator(databaseName,
schemaName).getRootPath()).stream().map(each -> load(databaseName, schemaName,
each))
.collect(Collectors.toList());
}
@@ -63,8 +63,9 @@ public final class ViewMetaDataPersistService {
* @return loaded view
*/
public ShardingSphereView load(final String databaseName, final String
schemaName, final String viewName) {
- int activeVersion =
Integer.parseInt(repository.query(ViewNodePathGenerator.getVersion(databaseName,
schemaName, viewName).getActiveVersionPath()));
- String view =
repository.query(ViewNodePathGenerator.getVersion(databaseName, schemaName,
viewName).getVersionPath(activeVersion));
+ VersionNodePathGenerator versionNodePathGenerator = new
ViewNodePathGenerator(databaseName, schemaName).getVersion(viewName);
+ int activeVersion =
Integer.parseInt(repository.query(versionNodePathGenerator.getActiveVersionPath()));
+ String view =
repository.query(versionNodePathGenerator.getVersionPath(activeVersion));
return swapper.swapToObject(YamlEngine.unmarshal(view,
YamlShardingSphereView.class));
}
@@ -78,7 +79,7 @@ public final class ViewMetaDataPersistService {
public void persist(final String databaseName, final String schemaName,
final Collection<ShardingSphereView> views) {
for (ShardingSphereView each : views) {
String viewName = each.getName().toLowerCase();
- VersionNodePathGenerator versionNodePathGenerator =
ViewNodePathGenerator.getVersion(databaseName, schemaName, viewName);
+ VersionNodePathGenerator versionNodePathGenerator = new
ViewNodePathGenerator(databaseName, schemaName).getVersion(viewName);
metaDataVersionPersistService.persist(versionNodePathGenerator,
YamlEngine.marshal(swapper.swapToYamlConfiguration(each)));
}
}
@@ -91,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(ViewNodePathGenerator.getViewPath(databaseName,
schemaName, viewName.toLowerCase()));
+ repository.delete(new ViewNodePathGenerator(databaseName,
schemaName).getViewPath(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 d50681a0abd..d86f3402ba0 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(SchemaNodePathGenerator.getSchemaPath("foo_db",
"foo_schema"));
+
verify(contextManager.getPersistServiceFacade().getRepository()).delete(new
SchemaNodePathGenerator("foo_db").getSchemaPath("foo_schema"));
}
@Test
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 7f2b35a31ec..e63c5ada304 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,14 +17,11 @@
package org.apache.shardingsphere.mode.node.path.config.global;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
/**
* Global properties node path generator.
*/
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class GlobalPropertiesNodePathGenerator {
private static final String ROOT_NODE = "/props";
@@ -34,7 +31,7 @@ public final class GlobalPropertiesNodePathGenerator {
*
* @return properties path
*/
- public static String getRootPath() {
+ public String getRootPath() {
return ROOT_NODE;
}
@@ -43,7 +40,7 @@ public final class GlobalPropertiesNodePathGenerator {
*
* @return properties version node path generator
*/
- public static VersionNodePathGenerator getVersion() {
+ public VersionNodePathGenerator getVersion() {
return new VersionNodePathGenerator(getRootPath());
}
}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalPropertiesNodePathParser.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalPropertiesNodePathParser.java
index 5cecfabbad4..e8a9a54b774 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalPropertiesNodePathParser.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalPropertiesNodePathParser.java
@@ -27,7 +27,7 @@ import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathParser;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class GlobalPropertiesNodePathParser {
- private static final VersionNodePathParser VERSION_PARSER = new
VersionNodePathParser(GlobalPropertiesNodePathGenerator.getRootPath());
+ private static final VersionNodePathParser VERSION_PARSER = new
VersionNodePathParser(new GlobalPropertiesNodePathGenerator().getRootPath());
/**
* Get properties version node path parser.
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 172fe3482cf..f6ec2b4b5ac 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,14 +17,11 @@
package org.apache.shardingsphere.mode.node.path.config.global;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
/**
* Global props node path generator.
*/
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class GlobalRuleNodePathGenerator {
private static final String ROOT_NODE = "/rules";
@@ -34,7 +31,7 @@ public final class GlobalRuleNodePathGenerator {
*
* @return global rule root path
*/
- public static String getRootPath() {
+ public String getRootPath() {
return ROOT_NODE;
}
@@ -44,7 +41,7 @@ public final class GlobalRuleNodePathGenerator {
* @param ruleType rule type
* @return global rule path
*/
- public static String getRulePath(final String ruleType) {
+ public String getRulePath(final String ruleType) {
return String.join("/", getRootPath(), ruleType);
}
@@ -54,7 +51,7 @@ public final class GlobalRuleNodePathGenerator {
* @param ruleType rule type
* @return global rule version node path generator
*/
- public static VersionNodePathGenerator getVersion(final String ruleType) {
+ public VersionNodePathGenerator getVersion(final String ruleType) {
return new VersionNodePathGenerator(getRulePath(ruleType));
}
}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalRuleNodePathParser.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalRuleNodePathParser.java
index b20948e3404..cc6260d842b 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalRuleNodePathParser.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalRuleNodePathParser.java
@@ -28,7 +28,7 @@ import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathParser;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class GlobalRuleNodePathParser {
- private static final VersionNodePathParser PARSER = new
VersionNodePathParser(GlobalRuleNodePathGenerator.getRootPath() + "/" +
NodePathPattern.IDENTIFIER);
+ private static final VersionNodePathParser PARSER = new
VersionNodePathParser(new GlobalRuleNodePathGenerator().getRootPath() + "/" +
NodePathPattern.IDENTIFIER);
/**
* Get global rule version node path parser.
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 fbc59eb269e..b1b63141c4b 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,13 +17,9 @@
package org.apache.shardingsphere.mode.node.path.metadata;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-
/**
* Database node path generator.
*/
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class DatabaseNodePathGenerator {
private static final String ROOT_NODE = "/metadata";
@@ -33,7 +29,7 @@ public final class DatabaseNodePathGenerator {
*
* @return schema root path
*/
- public static String getRootPath() {
+ public String getRootPath() {
return ROOT_NODE;
}
@@ -43,7 +39,7 @@ public final class DatabaseNodePathGenerator {
* @param databaseName database name
* @return database path
*/
- public static String getDatabasePath(final String databaseName) {
+ public String getDatabasePath(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 c863c1f78cf..a65db5e2198 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(DatabaseNodePathGenerator.getDatabasePath(NodePathPattern.IDENTIFIER)
+ "?", Pattern.CASE_INSENSITIVE);
+ private static final Pattern DATABASE_PATTERN = Pattern.compile(new
DatabaseNodePathGenerator().getDatabasePath(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 24cc6fde30e..caa02577573 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
@@ -17,36 +17,35 @@
package org.apache.shardingsphere.mode.node.path.metadata.database;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
+import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.mode.node.path.metadata.DatabaseNodePathGenerator;
/**
* Schema node path generator.
*/
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
+@RequiredArgsConstructor
public final class SchemaNodePathGenerator {
private static final String SCHEMAS_NODE = "schemas";
+ private final String databaseName;
+
/**
* Get schema root path.
*
- * @param databaseName database name
* @return schema root path
*/
- public static String getRootPath(final String databaseName) {
- return String.join("/",
DatabaseNodePathGenerator.getDatabasePath(databaseName), SCHEMAS_NODE);
+ public String getRootPath() {
+ return String.join("/", new
DatabaseNodePathGenerator().getDatabasePath(databaseName), SCHEMAS_NODE);
}
/**
* Get schema path.
*
- * @param databaseName database name
* @param schemaName schema name
* @return schema path
*/
- public static String getSchemaPath(final String databaseName, final String
schemaName) {
- return String.join("/", getRootPath(databaseName), schemaName);
+ public String getSchemaPath(final String schemaName) {
+ return String.join("/", getRootPath(), schemaName);
}
}
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 0ff422438df..67d06a5bc7e 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(SchemaNodePathGenerator.getSchemaPath(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER) + endPattern, Pattern.CASE_INSENSITIVE);
+ Pattern pattern = Pattern.compile(new
SchemaNodePathGenerator(NodePathPattern.IDENTIFIER).getSchemaPath(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 0c9bbf40fa8..d98ed1ee54e 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,50 +17,50 @@
package org.apache.shardingsphere.mode.node.path.metadata.database;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
/**
* Table node path generator.
*/
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class TableNodePathGenerator {
private static final String TABLES_NODE = "tables";
+ private final SchemaNodePathGenerator schemaNodePathGenerator;
+
+ private final String schemaName;
+
+ public TableNodePathGenerator(final String databaseName, final String
schemaName) {
+ schemaNodePathGenerator = new SchemaNodePathGenerator(databaseName);
+ this.schemaName = schemaName;
+ }
+
/**
* Get table root path.
*
- * @param databaseName database name
- * @param schemaName schema name
* @return table root path
*/
- public static String getRootPath(final String databaseName, final String
schemaName) {
- return String.join("/",
SchemaNodePathGenerator.getSchemaPath(databaseName, schemaName), TABLES_NODE);
+ public String getRootPath() {
+ return String.join("/",
schemaNodePathGenerator.getSchemaPath(schemaName), TABLES_NODE);
}
/**
* Get table path.
*
- * @param databaseName database name
- * @param schemaName schema name
* @param tableName table name
* @return table path
*/
- public static String getTablePath(final String databaseName, final String
schemaName, final String tableName) {
- return String.join("/", getRootPath(databaseName, schemaName),
tableName);
+ public String getTablePath(final String tableName) {
+ return String.join("/", getRootPath(), tableName);
}
/**
* Get table version node path generator.
*
- * @param databaseName database name
- * @param schemaName schema name
* @param tableName table name
* @return table version node path generator
*/
- public static VersionNodePathGenerator getVersion(final String
databaseName, final String schemaName, final String tableName) {
- return new VersionNodePathGenerator(getTablePath(databaseName,
schemaName, tableName));
+ public VersionNodePathGenerator getVersion(final String tableName) {
+ return new VersionNodePathGenerator(getTablePath(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 f1033b050f1..9ad6efa37df 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(
- TableNodePathGenerator.getTablePath(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER, NodePathPattern.IDENTIFIER) + "$",
Pattern.CASE_INSENSITIVE);
+ new TableNodePathGenerator(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER).getTablePath(NodePathPattern.IDENTIFIER) + "$",
Pattern.CASE_INSENSITIVE);
private static final VersionNodePathParser VERSION_PARSER = new
VersionNodePathParser(
- TableNodePathGenerator.getTablePath(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER, NodePathPattern.IDENTIFIER));
+ new TableNodePathGenerator(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER).getTablePath(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 5d67828e1d2..c9342a36074 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,50 +17,50 @@
package org.apache.shardingsphere.mode.node.path.metadata.database;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
/**
* View path generator.
*/
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class ViewNodePathGenerator {
private static final String VIEWS_NODE = "views";
+ private final SchemaNodePathGenerator schemaNodePathGenerator;
+
+ private final String schemaName;
+
+ public ViewNodePathGenerator(final String databaseName, final String
schemaName) {
+ schemaNodePathGenerator = new SchemaNodePathGenerator(databaseName);
+ this.schemaName = schemaName;
+ }
+
/**
* Get view root path.
*
- * @param databaseName database name
- * @param schemaName schema name
* @return view root path
*/
- public static String getRootPath(final String databaseName, final String
schemaName) {
- return String.join("/",
SchemaNodePathGenerator.getSchemaPath(databaseName, schemaName), VIEWS_NODE);
+ public String getRootPath() {
+ return String.join("/",
schemaNodePathGenerator.getSchemaPath(schemaName), VIEWS_NODE);
}
/**
* Get view path.
*
- * @param databaseName database name
- * @param schemaName schema name
* @param viewName view name
* @return view path
*/
- public static String getViewPath(final String databaseName, final String
schemaName, final String viewName) {
- return String.join("/", getRootPath(databaseName, schemaName),
viewName);
+ public String getViewPath(final String viewName) {
+ return String.join("/", getRootPath(), viewName);
}
/**
* Get view version node path generator.
*
- * @param databaseName database name
- * @param schemaName schema name
* @param viewName view name
* @return view version node path generator
*/
- public static VersionNodePathGenerator getVersion(final String
databaseName, final String schemaName, final String viewName) {
- return new VersionNodePathGenerator(getViewPath(databaseName,
schemaName, viewName));
+ public VersionNodePathGenerator getVersion(final String viewName) {
+ return new VersionNodePathGenerator(getViewPath(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 76690382ec6..ae94e8055b0 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(
- ViewNodePathGenerator.getViewPath(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER, NodePathPattern.IDENTIFIER) + "$",
Pattern.CASE_INSENSITIVE);
+ new ViewNodePathGenerator(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER).getViewPath(NodePathPattern.IDENTIFIER) + "$",
Pattern.CASE_INSENSITIVE);
private static final VersionNodePathParser VERSION_PARSER = new
VersionNodePathParser(
- ViewNodePathGenerator.getViewPath(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER, NodePathPattern.IDENTIFIER));
+ new ViewNodePathGenerator(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER).getViewPath(NodePathPattern.IDENTIFIER));
/**
* Get view name.
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 6941f97deb3..d562bcd0072 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
@@ -17,8 +17,7 @@
package org.apache.shardingsphere.mode.node.path.metadata.rule;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
+import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.mode.node.path.config.database.item.DatabaseRuleItem;
import
org.apache.shardingsphere.mode.node.path.metadata.DatabaseNodePathGenerator;
import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
@@ -26,53 +25,51 @@ import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator
/**
* Database rule node path generator.
*/
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
+@RequiredArgsConstructor
public final class DatabaseRuleNodePathGenerator {
private static final String RULE_NODE = "rules";
+ private final String databaseName;
+
/**
* Get database root path.
*
- * @param databaseName database name
* @return database root path
*/
- public static String getRootPath(final String databaseName) {
- return String.join("/", DatabaseNodePathGenerator.getRootPath(),
databaseName, RULE_NODE);
+ public String getRootPath() {
+ return String.join("/", new DatabaseNodePathGenerator().getRootPath(),
databaseName, RULE_NODE);
}
/**
* Get database rule path.
*
- * @param databaseName database name
* @param ruleType rule type
* @return database rule path
*/
- public static String getRulePath(final String databaseName, final String
ruleType) {
- return String.join("/", getRootPath(databaseName), ruleType);
+ public String getRulePath(final String ruleType) {
+ return String.join("/", getRootPath(), ruleType);
}
/**
* Get database rule path.
*
- * @param databaseName database name
* @param ruleType rule type
* @param databaseRuleItem database rule item
* @return database rule path
*/
- public static String getRulePath(final String databaseName, final String
ruleType, final DatabaseRuleItem databaseRuleItem) {
- return String.join("/", getRulePath(databaseName, ruleType),
databaseRuleItem.toString());
+ public String getRulePath(final String ruleType, final DatabaseRuleItem
databaseRuleItem) {
+ return String.join("/", getRulePath(ruleType),
databaseRuleItem.toString());
}
/**
* Get database rule version node path generator.
*
- * @param databaseName database name
* @param ruleType rule type
* @param databaseRuleItem database rule item
* @return database rule version node path generator
*/
- public static VersionNodePathGenerator getVersion(final String
databaseName, final String ruleType, final DatabaseRuleItem databaseRuleItem) {
- return new VersionNodePathGenerator(getRulePath(databaseName,
ruleType, databaseRuleItem));
+ public VersionNodePathGenerator getVersion(final String ruleType, final
DatabaseRuleItem databaseRuleItem) {
+ return new VersionNodePathGenerator(getRulePath(ruleType,
databaseRuleItem));
}
}
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 c7145b53707..e2e8be73ab2 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
@@ -17,25 +17,25 @@
package org.apache.shardingsphere.mode.node.path.metadata.storage;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
+import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.mode.node.path.metadata.DatabaseNodePathGenerator;
/**
* Data source node path generator.
*/
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
+@RequiredArgsConstructor
public final class DataSourceNodePathGenerator {
private static final String DATA_SOURCES_NODE = "data_sources";
+ private final String databaseName;
+
/**
* Get data source root path.
*
- * @param databaseName database name
* @return data source root path
*/
- public static String getRootPath(final String databaseName) {
- return String.join("/", DatabaseNodePathGenerator.getRootPath(),
databaseName, DATA_SOURCES_NODE);
+ public String getRootPath() {
+ return String.join("/", new DatabaseNodePathGenerator().getRootPath(),
databaseName, DATA_SOURCES_NODE);
}
}
diff --git
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/DataSourceNodePathParser.java
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/DataSourceNodePathParser.java
index 1b35e9c307f..69bbb869719 100644
---
a/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/DataSourceNodePathParser.java
+++
b/mode/node/src/main/java/org/apache/shardingsphere/mode/node/path/metadata/storage/DataSourceNodePathParser.java
@@ -29,7 +29,7 @@ import java.util.regex.Pattern;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class DataSourceNodePathParser {
- private static final Pattern PATTERN =
Pattern.compile(DataSourceNodePathGenerator.getRootPath(NodePathPattern.IDENTIFIER)
+ "?", Pattern.CASE_INSENSITIVE);
+ private static final Pattern PATTERN = Pattern.compile(new
DataSourceNodePathGenerator(NodePathPattern.IDENTIFIER).getRootPath() + "?",
Pattern.CASE_INSENSITIVE);
/**
* Is data source 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 07353a9b7cd..02bb68d2c63 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
@@ -17,47 +17,45 @@
package org.apache.shardingsphere.mode.node.path.metadata.storage;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
+import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
/**
* Storage node node path generator.
*/
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
+@RequiredArgsConstructor
public final class StorageNodeNodePathGenerator {
private static final String NODES_NODE = "nodes";
+ private final String databaseName;
+
/**
* Get storage node root path.
*
- * @param databaseName database name
* @return storage node root path
*/
- public static String getRootPath(final String databaseName) {
- return String.join("/",
DataSourceNodePathGenerator.getRootPath(databaseName), NODES_NODE);
+ public String getRootPath() {
+ return String.join("/", new
DataSourceNodePathGenerator(databaseName).getRootPath(), NODES_NODE);
}
/**
* Get storage node path.
*
- * @param databaseName database name
* @param storageNodeName storage node name
* @return storage node path
*/
- public static String getStorageNodePath(final String databaseName, final
String storageNodeName) {
- return String.join("/", getRootPath(databaseName), storageNodeName);
+ public String getStorageNodePath(final String storageNodeName) {
+ return String.join("/", getRootPath(), storageNodeName);
}
/**
* Get storage node version node path generator.
*
- * @param databaseName database name
* @param storageNodeName storage node name
* @return storage node version node path generator
*/
- public static VersionNodePathGenerator getVersion(final String
databaseName, final String storageNodeName) {
- return new VersionNodePathGenerator(String.join("/",
getRootPath(databaseName), storageNodeName));
+ public VersionNodePathGenerator getVersion(final String storageNodeName) {
+ return new VersionNodePathGenerator(String.join("/", getRootPath(),
storageNodeName));
}
}
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 abed4fd52a6..c7df6e13273 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,10 +32,10 @@ import java.util.regex.Pattern;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class StorageNodeNodePathParser {
- private static final Pattern PATTERN =
Pattern.compile(StorageNodeNodePathGenerator.getStorageNodePath(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER) + "$", Pattern.CASE_INSENSITIVE);
+ private static final Pattern PATTERN = Pattern.compile(new
StorageNodeNodePathGenerator(NodePathPattern.IDENTIFIER).getStorageNodePath(NodePathPattern.IDENTIFIER)
+ "$", Pattern.CASE_INSENSITIVE);
private static final VersionNodePathParser VERSION_PARSER =
- new VersionNodePathParser(String.join("/",
StorageNodeNodePathGenerator.getRootPath(NodePathPattern.IDENTIFIER),
NodePathPattern.IDENTIFIER));
+ new VersionNodePathParser(String.join("/", new
StorageNodeNodePathGenerator(NodePathPattern.IDENTIFIER).getRootPath(),
NodePathPattern.IDENTIFIER));
/**
* Find storage node name.
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 a7a5fe30e1f..2fc0b779e79 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
@@ -17,47 +17,45 @@
package org.apache.shardingsphere.mode.node.path.metadata.storage;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
+import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
/**
* Storage unit node path generator.
*/
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
+@RequiredArgsConstructor
public final class StorageUnitNodePathGenerator {
private static final String UNITS_NODE = "units";
+ private final String databaseName;
+
/**
* Get storage unit root path.
*
- * @param databaseName database name
* @return storage unit root path
*/
- public static String getRootPath(final String databaseName) {
- return String.join("/",
DataSourceNodePathGenerator.getRootPath(databaseName), UNITS_NODE);
+ public String getRootPath() {
+ return String.join("/", new
DataSourceNodePathGenerator(databaseName).getRootPath(), UNITS_NODE);
}
/**
* Get storage unit path.
*
- * @param databaseName database name
* @param storageUnitName storage unit name
* @return storage unit path
*/
- public static String getStorageUnitPath(final String databaseName, final
String storageUnitName) {
- return String.join("/", getRootPath(databaseName), storageUnitName);
+ public String getStorageUnitPath(final String storageUnitName) {
+ return String.join("/", getRootPath(), storageUnitName);
}
/**
* Get storage unit version node path generator.
*
- * @param databaseName database name
* @param storageUnitName storage unit name
* @return storage unit version node path generator
*/
- public static VersionNodePathGenerator getVersion(final String
databaseName, final String storageUnitName) {
- return new VersionNodePathGenerator(String.join("/",
getRootPath(databaseName), storageUnitName));
+ public VersionNodePathGenerator getVersion(final String storageUnitName) {
+ return new VersionNodePathGenerator(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 7ffece7b773..9745f8d97b3 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
@@ -32,10 +32,11 @@ import java.util.regex.Pattern;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class StorageUnitNodePathParser {
- private static final Pattern PATTERN =
Pattern.compile(StorageUnitNodePathGenerator.getStorageUnitPath(NodePathPattern.IDENTIFIER,
NodePathPattern.IDENTIFIER) + "$", Pattern.CASE_INSENSITIVE);
+ private static final Pattern PATTERN = Pattern.compile(
+ new
StorageUnitNodePathGenerator(NodePathPattern.IDENTIFIER).getStorageUnitPath(NodePathPattern.IDENTIFIER)
+ "$", Pattern.CASE_INSENSITIVE);
- private static final VersionNodePathParser VERSION_PARSER =
- new VersionNodePathParser(String.join("/",
StorageUnitNodePathGenerator.getRootPath(NodePathPattern.IDENTIFIER),
NodePathPattern.IDENTIFIER));
+ private static final VersionNodePathParser VERSION_PARSER = new
VersionNodePathParser(
+ String.join("/", new
StorageUnitNodePathGenerator(NodePathPattern.IDENTIFIER).getRootPath(),
NodePathPattern.IDENTIFIER));
/**
* Find storage unit name.
diff --git
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalPropertiesNodePathGeneratorTest.java
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalPropertiesNodePathGeneratorTest.java
index a1d28a89da1..150565bac92 100644
---
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalPropertiesNodePathGeneratorTest.java
+++
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/config/global/GlobalPropertiesNodePathGeneratorTest.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.mode.node.path.config.global;
+import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
import org.junit.jupiter.api.Test;
import static org.hamcrest.CoreMatchers.is;
@@ -26,13 +27,14 @@ class GlobalPropertiesNodePathGeneratorTest {
@Test
void assertGetRootPath() {
- assertThat(GlobalPropertiesNodePathGenerator.getRootPath(),
is("/props"));
+ assertThat(new GlobalPropertiesNodePathGenerator().getRootPath(),
is("/props"));
}
@Test
void assertGetVersion() {
-
assertThat(GlobalPropertiesNodePathGenerator.getVersion().getActiveVersionPath(),
is("/props/active_version"));
-
assertThat(GlobalPropertiesNodePathGenerator.getVersion().getVersionsPath(),
is("/props/versions"));
-
assertThat(GlobalPropertiesNodePathGenerator.getVersion().getVersionPath(0),
is("/props/versions/0"));
+ VersionNodePathGenerator versionNodePathGenerator = new
GlobalPropertiesNodePathGenerator().getVersion();
+ assertThat(versionNodePathGenerator.getActiveVersionPath(),
is("/props/active_version"));
+ assertThat(versionNodePathGenerator.getVersionsPath(),
is("/props/versions"));
+ assertThat(versionNodePathGenerator.getVersionPath(0),
is("/props/versions/0"));
}
}
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 6bac708b560..8b6c4d0c581 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
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.mode.node.path.config.global;
+import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
import org.junit.jupiter.api.Test;
import static org.hamcrest.CoreMatchers.is;
@@ -26,18 +27,19 @@ class GlobalRuleNodePathGeneratorTest {
@Test
void assertGetRootPath() {
- assertThat(GlobalRuleNodePathGenerator.getRootPath(), is("/rules"));
+ assertThat(new GlobalRuleNodePathGenerator().getRootPath(),
is("/rules"));
}
@Test
void assertGetRulePath() {
- assertThat(GlobalRuleNodePathGenerator.getRulePath("foo_rule"),
is("/rules/foo_rule"));
+ assertThat(new GlobalRuleNodePathGenerator().getRulePath("foo_rule"),
is("/rules/foo_rule"));
}
@Test
void assertGetVersion() {
-
assertThat(GlobalRuleNodePathGenerator.getVersion("foo_rule").getActiveVersionPath(),
is("/rules/foo_rule/active_version"));
-
assertThat(GlobalRuleNodePathGenerator.getVersion("foo_rule").getVersionsPath(),
is("/rules/foo_rule/versions"));
-
assertThat(GlobalRuleNodePathGenerator.getVersion("foo_rule").getVersionPath(0),
is("/rules/foo_rule/versions/0"));
+ VersionNodePathGenerator versionNodePathGenerator = new
GlobalRuleNodePathGenerator().getVersion("foo_rule");
+ assertThat(versionNodePathGenerator.getActiveVersionPath(),
is("/rules/foo_rule/active_version"));
+ assertThat(versionNodePathGenerator.getVersionsPath(),
is("/rules/foo_rule/versions"));
+ assertThat(versionNodePathGenerator.getVersionPath(0),
is("/rules/foo_rule/versions/0"));
}
}
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 fd4a9e61d26..102a6cdf17f 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
@@ -26,11 +26,11 @@ class DatabaseNodePathGeneratorTest {
@Test
void assertGetPath() {
- assertThat(DatabaseNodePathGenerator.getRootPath(), is("/metadata"));
+ assertThat(new DatabaseNodePathGenerator().getRootPath(),
is("/metadata"));
}
@Test
void assertGetDatabasePath() {
- assertThat(DatabaseNodePathGenerator.getDatabasePath("foo_db"),
is("/metadata/foo_db"));
+ assertThat(new DatabaseNodePathGenerator().getDatabasePath("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 343cd835f2b..7bbe3833bcd 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
@@ -26,11 +26,11 @@ class SchemaNodePathGeneratorTest {
@Test
void assertGetRootPath() {
- assertThat(SchemaNodePathGenerator.getRootPath("foo_db"),
is("/metadata/foo_db/schemas"));
+ assertThat(new SchemaNodePathGenerator("foo_db").getRootPath(),
is("/metadata/foo_db/schemas"));
}
@Test
void assertGetSchemaPath() {
- assertThat(SchemaNodePathGenerator.getSchemaPath("foo_db",
"foo_schema"), is("/metadata/foo_db/schemas/foo_schema"));
+ assertThat(new
SchemaNodePathGenerator("foo_db").getSchemaPath("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 94870e41a4d..b4d475c1969 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
@@ -26,20 +26,18 @@ class TableNodePathGeneratorTest {
@Test
void assertGetRootPath() {
- assertThat(TableNodePathGenerator.getRootPath("foo_db", "foo_schema"),
is("/metadata/foo_db/schemas/foo_schema/tables"));
+ assertThat(new TableNodePathGenerator("foo_db",
"foo_schema").getRootPath(), is("/metadata/foo_db/schemas/foo_schema/tables"));
}
@Test
void assertGetTablePath() {
- assertThat(TableNodePathGenerator.getTablePath("foo_db", "foo_schema",
"foo_tbl"), is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl"));
+ assertThat(new TableNodePathGenerator("foo_db",
"foo_schema").getTablePath("foo_tbl"),
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl"));
}
@Test
void assertGetVersion() {
- assertThat(TableNodePathGenerator.getVersion("foo_db", "foo_schema",
"foo_tbl").getActiveVersionPath(),
-
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/active_version"));
- assertThat(TableNodePathGenerator.getVersion("foo_db", "foo_schema",
"foo_tbl").getVersionsPath(),
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/versions"));
- assertThat(TableNodePathGenerator.getVersion("foo_db", "foo_schema",
"foo_tbl").getVersionPath(0),
-
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/versions/0"));
+ assertThat(new TableNodePathGenerator("foo_db",
"foo_schema").getVersion("foo_tbl").getActiveVersionPath(),
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/active_version"));
+ assertThat(new TableNodePathGenerator("foo_db",
"foo_schema").getVersion("foo_tbl").getVersionsPath(),
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/versions"));
+ assertThat(new TableNodePathGenerator("foo_db",
"foo_schema").getVersion("foo_tbl").getVersionPath(0),
is("/metadata/foo_db/schemas/foo_schema/tables/foo_tbl/versions/0"));
}
}
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 fa7ada1b3ee..1f7de96921e 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
@@ -26,20 +26,18 @@ class ViewNodePathGeneratorTest {
@Test
void assertGetRootPath() {
- assertThat(ViewNodePathGenerator.getRootPath("foo_db", "foo_schema"),
is("/metadata/foo_db/schemas/foo_schema/views"));
+ assertThat(new ViewNodePathGenerator("foo_db",
"foo_schema").getRootPath(), is("/metadata/foo_db/schemas/foo_schema/views"));
}
@Test
void assertGetViewPath() {
- assertThat(ViewNodePathGenerator.getViewPath("foo_db", "foo_schema",
"foo_view"), is("/metadata/foo_db/schemas/foo_schema/views/foo_view"));
+ assertThat(new ViewNodePathGenerator("foo_db",
"foo_schema").getViewPath("foo_view"),
is("/metadata/foo_db/schemas/foo_schema/views/foo_view"));
}
@Test
void assertGetVersion() {
- assertThat(ViewNodePathGenerator.getVersion("foo_db", "foo_schema",
"foo_view").getActiveVersionPath(),
-
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/active_version"));
- assertThat(ViewNodePathGenerator.getVersion("foo_db", "foo_schema",
"foo_view").getVersionsPath(),
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/versions"));
- assertThat(ViewNodePathGenerator.getVersion("foo_db", "foo_schema",
"foo_view").getVersionPath(0),
-
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/versions/0"));
+ assertThat(new ViewNodePathGenerator("foo_db",
"foo_schema").getVersion("foo_view").getActiveVersionPath(),
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/active_version"));
+ assertThat(new ViewNodePathGenerator("foo_db",
"foo_schema").getVersion("foo_view").getVersionsPath(),
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/versions"));
+ assertThat(new ViewNodePathGenerator("foo_db",
"foo_schema").getVersion("foo_view").getVersionPath(0),
is("/metadata/foo_db/schemas/foo_schema/views/foo_view/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 91c33b0d239..a6e42d4db43 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
@@ -18,6 +18,7 @@
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;
@@ -27,27 +28,25 @@ class DatabaseRuleNodePathGeneratorTest {
@Test
void assertGetRootPath() {
- assertThat(DatabaseRuleNodePathGenerator.getRootPath("foo_db"),
is("/metadata/foo_db/rules"));
+ assertThat(new DatabaseRuleNodePathGenerator("foo_db").getRootPath(),
is("/metadata/foo_db/rules"));
}
@Test
void assertGetRulePath() {
- assertThat(DatabaseRuleNodePathGenerator.getRulePath("foo_db",
"foo_rule"), is("/metadata/foo_db/rules/foo_rule"));
+ assertThat(new
DatabaseRuleNodePathGenerator("foo_db").getRulePath("foo_rule"),
is("/metadata/foo_db/rules/foo_rule"));
}
@Test
void assertGetRulePathWithKey() {
- assertThat(DatabaseRuleNodePathGenerator.getRulePath("foo_db",
"foo_rule", new DatabaseRuleItem("foo_rule_item")),
is("/metadata/foo_db/rules/foo_rule/foo_rule_item"));
+ 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");
- assertThat(DatabaseRuleNodePathGenerator.getVersion("foo_db",
"foo_rule", databaseRuleItem).getActiveVersionPath(),
-
is("/metadata/foo_db/rules/foo_rule/foo_rule_item/active_version"));
- assertThat(DatabaseRuleNodePathGenerator.getVersion("foo_db",
"foo_rule", databaseRuleItem).getVersionsPath(),
- is("/metadata/foo_db/rules/foo_rule/foo_rule_item/versions"));
- assertThat(DatabaseRuleNodePathGenerator.getVersion("foo_db",
"foo_rule", databaseRuleItem).getVersionPath(0),
-
is("/metadata/foo_db/rules/foo_rule/foo_rule_item/versions/0"));
+ 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"));
}
}
diff --git
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/storage/DataSourceNodePathGeneratorTest.java
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/storage/DataSourceNodePathGeneratorTest.java
index e58fa0d27e8..2c4e1152840 100644
---
a/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/storage/DataSourceNodePathGeneratorTest.java
+++
b/mode/node/src/test/java/org/apache/shardingsphere/mode/node/path/metadata/storage/DataSourceNodePathGeneratorTest.java
@@ -26,6 +26,6 @@ class DataSourceNodePathGeneratorTest {
@Test
void assertGetRootPath() {
- assertThat(DataSourceNodePathGenerator.getRootPath("foo_db"),
is("/metadata/foo_db/data_sources"));
+ assertThat(new DataSourceNodePathGenerator("foo_db").getRootPath(),
is("/metadata/foo_db/data_sources"));
}
}
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 0236c7c8af0..f838d4d7e66 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
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.mode.node.path.metadata.storage;
+import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
import org.junit.jupiter.api.Test;
import static org.hamcrest.CoreMatchers.is;
@@ -26,19 +27,19 @@ class StorageNodeNodePathGeneratorTest {
@Test
void assertGetRootPath() {
- assertThat(StorageNodeNodePathGenerator.getRootPath("foo_db"),
is("/metadata/foo_db/data_sources/nodes"));
+ assertThat(new StorageNodeNodePathGenerator("foo_db").getRootPath(),
is("/metadata/foo_db/data_sources/nodes"));
}
@Test
void assertGetStorageNodePath() {
- assertThat(StorageNodeNodePathGenerator.getStorageNodePath("foo_db",
"foo_ds"), is("/metadata/foo_db/data_sources/nodes/foo_ds"));
+ assertThat(new
StorageNodeNodePathGenerator("foo_db").getStorageNodePath("foo_ds"),
is("/metadata/foo_db/data_sources/nodes/foo_ds"));
}
@Test
void assertGetVersion() {
- assertThat(StorageNodeNodePathGenerator.getVersion("foo_db",
"foo_ds").getActiveVersionPath(),
-
is("/metadata/foo_db/data_sources/nodes/foo_ds/active_version"));
- assertThat(StorageNodeNodePathGenerator.getVersion("foo_db",
"foo_ds").getVersionsPath(),
is("/metadata/foo_db/data_sources/nodes/foo_ds/versions"));
- assertThat(StorageNodeNodePathGenerator.getVersion("foo_db",
"foo_ds").getVersionPath(0),
is("/metadata/foo_db/data_sources/nodes/foo_ds/versions/0"));
+ VersionNodePathGenerator versionNodePathGenerator = new
StorageNodeNodePathGenerator("foo_db").getVersion("foo_ds");
+ assertThat(versionNodePathGenerator.getActiveVersionPath(),
is("/metadata/foo_db/data_sources/nodes/foo_ds/active_version"));
+ assertThat(versionNodePathGenerator.getVersionsPath(),
is("/metadata/foo_db/data_sources/nodes/foo_ds/versions"));
+ assertThat(versionNodePathGenerator.getVersionPath(0),
is("/metadata/foo_db/data_sources/nodes/foo_ds/versions/0"));
}
}
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 937e936acfd..49d240dd108 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
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.mode.node.path.metadata.storage;
+import
org.apache.shardingsphere.mode.node.path.version.VersionNodePathGenerator;
import org.junit.jupiter.api.Test;
import static org.hamcrest.CoreMatchers.is;
@@ -26,19 +27,19 @@ class StorageUnitNodePathGeneratorTest {
@Test
void assertGetRootPath() {
- assertThat(StorageUnitNodePathGenerator.getRootPath("foo_db"),
is("/metadata/foo_db/data_sources/units"));
+ assertThat(new StorageUnitNodePathGenerator("foo_db").getRootPath(),
is("/metadata/foo_db/data_sources/units"));
}
@Test
void assertGetStorageUnitPath() {
- assertThat(StorageUnitNodePathGenerator.getStorageUnitPath("foo_db",
"foo_ds"), is("/metadata/foo_db/data_sources/units/foo_ds"));
+ assertThat(new
StorageUnitNodePathGenerator("foo_db").getStorageUnitPath("foo_ds"),
is("/metadata/foo_db/data_sources/units/foo_ds"));
}
@Test
void assertGetVersion() {
- assertThat(StorageUnitNodePathGenerator.getVersion("foo_db",
"foo_ds").getActiveVersionPath(),
-
is("/metadata/foo_db/data_sources/units/foo_ds/active_version"));
- assertThat(StorageUnitNodePathGenerator.getVersion("foo_db",
"foo_ds").getVersionsPath(),
is("/metadata/foo_db/data_sources/units/foo_ds/versions"));
- assertThat(StorageUnitNodePathGenerator.getVersion("foo_db",
"foo_ds").getVersionPath(0),
is("/metadata/foo_db/data_sources/units/foo_ds/versions/0"));
+ VersionNodePathGenerator versionNodePathGenerator = new
StorageUnitNodePathGenerator("foo_db").getVersion("foo_ds");
+ assertThat(versionNodePathGenerator.getActiveVersionPath(),
is("/metadata/foo_db/data_sources/units/foo_ds/active_version"));
+ assertThat(versionNodePathGenerator.getVersionsPath(),
is("/metadata/foo_db/data_sources/units/foo_ds/versions"));
+ assertThat(versionNodePathGenerator.getVersionPath(0),
is("/metadata/foo_db/data_sources/units/foo_ds/versions/0"));
}
}
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 df19a15cde7..9f897d852f2 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(DatabaseNodePathGenerator.getDatabasePath(databaseName), new
DatabaseMetaDataChangedListener(contextManager));
+ repository.watch(new
DatabaseNodePathGenerator().getDatabasePath(databaseName), new
DatabaseMetaDataChangedListener(contextManager));
contextManager.getMetaDataContextManager().getDatabaseMetaDataManager().addDatabase(databaseName);
} else if (ClusterDatabaseListenerCoordinatorType.DROP ==
clusterDatabaseListenerCoordinatorType) {
-
repository.removeDataListener(DatabaseNodePathGenerator.getDatabasePath(databaseName));
+ repository.removeDataListener(new
DatabaseNodePathGenerator().getDatabasePath(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/handler/global/type/GlobalRuleChangedHandler.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/type/GlobalRuleChangedHandler.java
index 330aa5d6857..e6be5a2ef8d 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/type/GlobalRuleChangedHandler.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/type/GlobalRuleChangedHandler.java
@@ -38,7 +38,7 @@ public final class GlobalRuleChangedHandler implements
GlobalDataChangedEventHan
@Override
public String getSubscribedKey() {
- return GlobalRuleNodePathGenerator.getRootPath();
+ return new GlobalRuleNodePathGenerator().getRootPath();
}
@Override
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/type/PropertiesChangedHandler.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/type/PropertiesChangedHandler.java
index 6eee39b901d..c9d2d6f02b6 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/type/PropertiesChangedHandler.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/type/PropertiesChangedHandler.java
@@ -35,7 +35,7 @@ public final class PropertiesChangedHandler implements
GlobalDataChangedEventHan
@Override
public String getSubscribedKey() {
- return GlobalPropertiesNodePathGenerator.getRootPath();
+ return new GlobalPropertiesNodePathGenerator().getRootPath();
}
@Override
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 b842848b2cd..0982a667388 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(DatabaseNodePathGenerator.getDatabasePath(databaseName), new
DatabaseMetaDataChangedListener(contextManager));
+ repository.watch(new
DatabaseNodePathGenerator().getDatabasePath(databaseName), new
DatabaseMetaDataChangedListener(contextManager));
}
private void registerGlobalHandlers(final GlobalDataChangedEventHandler
handler) {