You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by wu...@apache.org on 2021/06/01 15:36:34 UTC
[shardingsphere] branch master updated: Refactor
governance.core.registry package (#10615)
This is an automated email from the ASF dual-hosted git repository.
wuweijie 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 4c091bf Refactor governance.core.registry package (#10615)
4c091bf is described below
commit 4c091bf75f80d39841fbb517cebe22627651ca00
Author: Liang Zhang <te...@163.com>
AuthorDate: Tue Jun 1 23:36:02 2021 +0800
Refactor governance.core.registry package (#10615)
* Add registry.config package
* Move lock package
* Add registry.state package
* Add registry.metadata package
* Add registry.process package
* Refactor governance.core.registry package
* Move ResourceState
---
.../listener/PrivilegeNodeChangedWatcher.java | 4 +--
.../listener/event/AuthorityChangedEvent.java | 2 +-
.../metadata/GovernanceMetaDataContexts.java | 22 +++++++-------
.../process/GovernanceExecuteProcessReporter.java | 6 ++--
.../transaction/GovernanceTransactionContexts.java | 2 +-
...ere.governance.core.registry.GovernanceWatcher} | 0
.../metadata/GovernanceMetaDataContextsTest.java | 16 +++++-----
.../GovernanceTransactionContextsTest.java | 2 +-
.../governance/core/GovernanceFacade.java | 2 +-
.../core/lock/ShardingSphereDistributeLock.java | 8 ++---
.../lock => lock/event}/LockNotificationEvent.java | 4 +--
.../lock => lock/event}/LockReleasedEvent.java | 4 +--
.../core/lock/{impl => service}/LockAck.java | 2 +-
.../core/lock/{impl => service}/LockNode.java | 2 +-
.../{impl => service}/LockRegistryService.java | 4 +--
.../impl => lock/watcher}/LockChangedWatcher.java | 12 ++++----
.../{watcher/event => }/GovernanceEvent.java | 2 +-
.../registry/{watcher => }/GovernanceWatcher.java | 2 +-
.../{watcher => }/GovernanceWatcherFactory.java | 2 +-
.../governance/core/registry/RegistryCenter.java | 18 ++++++------
.../registry/cache/ScalingRegistrySubscriber.java | 9 +++---
.../event/scaling => cache}/StartScalingEvent.java | 2 +-
.../event/datasource/DataSourceAddedEvent.java | 4 +--
.../event/datasource/DataSourceAlteredEvent.java | 4 +--
.../datasource/DataSourceChangeCompletedEvent.java | 4 +--
.../event/props/PropertiesChangedEvent.java | 4 +--
.../rule/GlobalRuleConfigurationsChangedEvent.java | 4 +--
.../event/rule/RuleConfigurationCachedEvent.java | 4 +--
.../event/rule/RuleConfigurationsAlteredEvent.java | 2 +-
.../event/rule/RuleConfigurationsChangedEvent.java | 4 +--
.../event/rule/SwitchRuleConfigurationEvent.java | 2 +-
.../event/schema/SchemaChangedEvent.java | 4 +--
.../service}/GlobalRegistryService.java | 2 +-
.../service}/SchemaBasedRegistryService.java | 2 +-
.../service}/impl/DataSourceRegistryService.java | 10 +++----
.../service}/impl/GlobalRuleRegistryService.java | 8 ++---
.../service}/impl/PropertiesRegistryService.java | 6 ++--
.../service}/impl/SchemaRuleRegistryService.java | 8 ++---
.../config => config/service}/node/GlobalNode.java | 2 +-
.../service}/node/SchemaMetadataNode.java | 2 +-
.../watcher}/GlobalRuleChangedWatcher.java | 8 ++---
.../watcher}/PropertiesChangedWatcher.java | 8 ++---
.../event}/MetaDataChangedEvent.java | 2 +-
.../event}/MetaDataCreatedEvent.java | 2 +-
.../event}/MetaDataDroppedEvent.java | 2 +-
.../event}/SchemaAddedEvent.java | 4 +--
.../event}/SchemaDeletedEvent.java | 4 +--
.../service}/SchemaRegistryService.java | 8 ++---
.../watcher}/MetaDataChangedWatcher.java | 20 ++++++-------
.../event}/ExecuteProcessReportEvent.java | 2 +-
.../event}/ExecuteProcessSummaryReportEvent.java | 2 +-
.../event}/ExecuteProcessUnitReportEvent.java | 2 +-
.../event}/ShowProcessListRequestEvent.java | 2 +-
.../event}/ShowProcessListResponseEvent.java | 2 +-
.../process => process/service}/ProcessNode.java | 2 +-
.../service}/ProcessRegistrySubscriber.java | 12 ++++----
.../core/registry/{ => state}/ResourceState.java | 2 +-
.../event}/DisabledStateChangedEvent.java | 4 +--
.../event}/PrimaryStateChangedEvent.java | 4 +--
.../service}/DataSourceStatusRegistryService.java | 4 +--
.../state => state/service}/StatesNode.java | 2 +-
.../watcher}/DataSourceStateChangedWatcher.java | 14 ++++-----
.../watcher}/TerminalStateChangedWatcher.java | 8 ++---
...ere.governance.core.registry.GovernanceWatcher} | 12 ++++----
.../governance/core/GovernanceFacadeTest.java | 2 +-
.../lock/ShardingSphereDistributeLockTest.java | 2 +-
.../core/lock/{impl => service}/LockNodeTest.java | 2 +-
.../{impl => service}/LockRegistryServiceTest.java | 2 +-
.../watcher}/LockChangedWatcherTest.java | 4 +--
.../core/registry/RegistryCenterTest.java | 8 ++---
.../cache/ScalingRegistrySubscriberTest.java | 2 +-
.../impl/DataSourceRegistryServiceTest.java | 6 ++--
.../impl/GlobalRuleRegistryServiceTest.java | 2 +-
.../impl/PropertiesRegistryServiceTest.java | 2 +-
.../impl/SchemaRuleRegistryServiceTest.java | 4 +--
.../service}/node/GlobalNodeTest.java | 2 +-
.../service}/node/SchemaMetadataNodeTest.java | 2 +-
.../watcher}/GlobalRuleChangedWatcherTest.java | 4 +--
.../watcher}/PropertiesChangedWatcherTest.java | 4 +--
.../service}/SchemaRegistryServiceTest.java | 6 ++--
.../watcher}/MetaDataChangedWatcherTest.java | 4 +--
.../DataSourceStatusRegistryServiceTest.java | 4 +--
.../state => state/service}/StatesNodeTest.java | 2 +-
.../DataSourceStateChangedWatcherTest.java | 6 ++--
.../watcher}/TerminalStateChangedWatcherTest.java | 4 +--
.../GovernanceShardingSphereDataSourceTest.java | 8 ++---
.../mysql/executor/ShowProcessListExecutor.java | 4 +--
.../rdl/impl/AddResourceBackendHandler.java | 2 +-
.../AlterDatabaseDiscoveryRuleBackendHandler.java | 24 +++++++--------
.../rdl/impl/AlterEncryptRuleBackendHandler.java | 20 ++++++-------
.../AlterReadwriteSplittingRuleBackendHandler.java | 20 ++++++-------
...terShardingBindingTableRulesBackendHandler.java | 8 ++---
...rShardingBroadcastTableRulesBackendHandler.java | 4 +--
.../impl/AlterShardingTableRuleBackendHandler.java | 30 +++++++++----------
.../rdl/impl/CreateDatabaseBackendHandler.java | 2 +-
.../CreateDatabaseDiscoveryRuleBackendHandler.java | 34 +++++++++++-----------
.../rdl/impl/CreateEncryptRuleBackendHandler.java | 24 +++++++--------
...CreateReadwriteSplittingRuleBackendHandler.java | 26 ++++++++---------
...ateShardingBindingTableRulesBackendHandler.java | 6 ++--
...eShardingBroadcastTableRulesBackendHandler.java | 2 +-
.../CreateShardingTableRuleBackendHandler.java | 12 ++++----
.../rdl/impl/DropDatabaseBackendHandler.java | 6 ++--
.../DropDatabaseDiscoveryRuleBackendHandler.java | 10 +++----
.../rdl/impl/DropEncryptRuleBackendHandler.java | 8 ++---
.../DropReadwriteSplittingRuleBackendHandler.java | 10 +++----
.../rdl/impl/DropResourceBackendHandler.java | 2 +-
...ropShardingBindingTableRulesBackendHandler.java | 6 ++--
...pShardingBroadcastTableRulesBackendHandler.java | 6 ++--
.../impl/DropShardingTableRuleBackendHandler.java | 28 +++++++++---------
.../impl/GovernanceBootstrapInitializerTest.java | 4 +--
.../scaling/core/api/ScalingWorker.java | 4 +--
.../scaling/core/job/FinishedCheckJob.java | 2 +-
112 files changed, 360 insertions(+), 361 deletions(-)
diff --git a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/authority/listener/PrivilegeNodeChangedWatcher.java b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/authority/listener/PrivilegeNodeChangedWatcher.java
index f4028c6..652a885 100644
--- a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/authority/listener/PrivilegeNodeChangedWatcher.java
+++ b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/authority/listener/PrivilegeNodeChangedWatcher.java
@@ -18,8 +18,8 @@
package org.apache.shardingsphere.governance.context.authority.listener;
import org.apache.shardingsphere.governance.context.authority.listener.event.AuthorityChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.service.state.StatesNode;
-import org.apache.shardingsphere.governance.core.registry.watcher.GovernanceWatcher;
+import org.apache.shardingsphere.governance.core.registry.state.service.StatesNode;
+import org.apache.shardingsphere.governance.core.registry.GovernanceWatcher;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
import org.apache.shardingsphere.infra.metadata.user.yaml.config.YamlUsersConfigurationConverter;
diff --git a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/authority/listener/event/AuthorityChangedEvent.java b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/authority/listener/event/AuthorityChangedEvent.java
index 371c00d..7fd5dc3 100644
--- a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/authority/listener/event/AuthorityChangedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/authority/listener/event/AuthorityChangedEvent.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.governance.context.authority.listener.event;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
import org.apache.shardingsphere.infra.metadata.user.ShardingSphereUser;
import java.util.Collection;
diff --git a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContexts.java b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContexts.java
index 9cfebfe..176e2e4 100644
--- a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContexts.java
+++ b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContexts.java
@@ -24,17 +24,17 @@ import org.apache.shardingsphere.governance.context.authority.listener.event.Aut
import org.apache.shardingsphere.governance.core.GovernanceFacade;
import org.apache.shardingsphere.governance.core.lock.ShardingSphereDistributeLock;
import org.apache.shardingsphere.governance.core.registry.schema.GovernanceSchema;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.datasource.DataSourceAlteredEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.datasource.DataSourceChangeCompletedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.metadata.MetaDataChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.metadata.SchemaAddedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.metadata.SchemaDeletedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.props.PropertiesChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.readwritesplitting.DisabledStateChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.readwritesplitting.PrimaryStateChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.GlobalRuleConfigurationsChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.schema.SchemaChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.datasource.DataSourceAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.datasource.DataSourceChangeCompletedEvent;
+import org.apache.shardingsphere.governance.core.registry.metadata.event.MetaDataChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.metadata.event.SchemaAddedEvent;
+import org.apache.shardingsphere.governance.core.registry.metadata.event.SchemaDeletedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.props.PropertiesChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.state.event.DisabledStateChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.state.event.PrimaryStateChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.GlobalRuleConfigurationsChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.schema.SchemaChangedEvent;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.config.datasource.DataSourceConfiguration;
import org.apache.shardingsphere.infra.config.datasource.DataSourceConverter;
diff --git a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/process/GovernanceExecuteProcessReporter.java b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/process/GovernanceExecuteProcessReporter.java
index 96f181b..eaff29a 100644
--- a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/process/GovernanceExecuteProcessReporter.java
+++ b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/process/GovernanceExecuteProcessReporter.java
@@ -17,9 +17,9 @@
package org.apache.shardingsphere.governance.context.process;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.invocation.ExecuteProcessReportEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.invocation.ExecuteProcessSummaryReportEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.invocation.ExecuteProcessUnitReportEvent;
+import org.apache.shardingsphere.governance.core.registry.process.event.ExecuteProcessReportEvent;
+import org.apache.shardingsphere.governance.core.registry.process.event.ExecuteProcessSummaryReportEvent;
+import org.apache.shardingsphere.governance.core.registry.process.event.ExecuteProcessUnitReportEvent;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupContext;
diff --git a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/transaction/GovernanceTransactionContexts.java b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/transaction/GovernanceTransactionContexts.java
index 022feb3..6ca5dd6 100644
--- a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/transaction/GovernanceTransactionContexts.java
+++ b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/transaction/GovernanceTransactionContexts.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.governance.context.transaction;
import com.google.common.eventbus.Subscribe;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.datasource.DataSourceChangeCompletedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.datasource.DataSourceChangeCompletedEvent;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.transaction.ShardingTransactionManagerEngine;
import org.apache.shardingsphere.transaction.context.TransactionContexts;
diff --git a/shardingsphere-governance/shardingsphere-governance-context/src/main/resources/META-INF/services/org.apache.shardingsphere.governance.core.registry.watcher.GovernanceWatcher b/shardingsphere-governance/shardingsphere-governance-context/src/main/resources/META-INF/services/org.apache.shardingsphere.governance.core.registry.GovernanceWatcher
similarity index 100%
rename from shardingsphere-governance/shardingsphere-governance-context/src/main/resources/META-INF/services/org.apache.shardingsphere.governance.core.registry.watcher.GovernanceWatcher
rename to shardingsphere-governance/shardingsphere-governance-context/src/main/resources/META-INF/services/org.apache.shardingsphere.governance.core.registry.GovernanceWatcher
diff --git a/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContextsTest.java b/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContextsTest.java
index fd510de..4d5b036 100644
--- a/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContextsTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContextsTest.java
@@ -22,14 +22,14 @@ import org.apache.shardingsphere.governance.context.authority.listener.event.Aut
import org.apache.shardingsphere.governance.core.GovernanceFacade;
import org.apache.shardingsphere.governance.core.registry.RegistryCenter;
import org.apache.shardingsphere.governance.core.registry.schema.GovernanceSchema;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.datasource.DataSourceAlteredEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.metadata.SchemaAddedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.metadata.SchemaDeletedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.props.PropertiesChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.readwritesplitting.DisabledStateChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.GlobalRuleConfigurationsChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.schema.SchemaChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.datasource.DataSourceAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.metadata.event.SchemaAddedEvent;
+import org.apache.shardingsphere.governance.core.registry.metadata.event.SchemaDeletedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.props.PropertiesChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.state.event.DisabledStateChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.GlobalRuleConfigurationsChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.schema.SchemaChangedEvent;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
import org.apache.shardingsphere.infra.config.datasource.DataSourceConfiguration;
diff --git a/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/transaction/GovernanceTransactionContextsTest.java b/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/transaction/GovernanceTransactionContextsTest.java
index 872cecc..4a0fd3d 100644
--- a/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/transaction/GovernanceTransactionContextsTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/transaction/GovernanceTransactionContextsTest.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.governance.context.transaction;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.datasource.DataSourceChangeCompletedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.datasource.DataSourceChangeCompletedEvent;
import org.apache.shardingsphere.transaction.ShardingTransactionManagerEngine;
import org.apache.shardingsphere.transaction.context.TransactionContexts;
import org.apache.shardingsphere.transaction.core.XATransactionManagerType;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/GovernanceFacade.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/GovernanceFacade.java
index b26b786..3d44117 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/GovernanceFacade.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/GovernanceFacade.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.governance.core;
import lombok.Getter;
import org.apache.shardingsphere.governance.core.registry.RegistryCenter;
import org.apache.shardingsphere.governance.core.registry.RegistryCenterRepositoryFactory;
-import org.apache.shardingsphere.governance.core.registry.watcher.GovernanceWatcherFactory;
+import org.apache.shardingsphere.governance.core.registry.GovernanceWatcherFactory;
import org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/ShardingSphereDistributeLock.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/ShardingSphereDistributeLock.java
index 13c47d0..a1f2f24 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/ShardingSphereDistributeLock.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/ShardingSphereDistributeLock.java
@@ -18,10 +18,10 @@
package org.apache.shardingsphere.governance.core.lock;
import com.google.common.eventbus.Subscribe;
-import org.apache.shardingsphere.governance.core.lock.impl.LockRegistryService;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.lock.LockNotificationEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.lock.LockReleasedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.props.PropertiesChangedEvent;
+import org.apache.shardingsphere.governance.core.lock.service.LockRegistryService;
+import org.apache.shardingsphere.governance.core.lock.event.LockNotificationEvent;
+import org.apache.shardingsphere.governance.core.lock.event.LockReleasedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.props.PropertiesChangedEvent;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.apache.shardingsphere.infra.config.properties.ConfigurationProperties;
import org.apache.shardingsphere.infra.config.properties.ConfigurationPropertyKey;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/lock/LockNotificationEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/event/LockNotificationEvent.java
similarity index 85%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/lock/LockNotificationEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/event/LockNotificationEvent.java
index e4d913c..e53ffbe 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/lock/LockNotificationEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/event/LockNotificationEvent.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.lock;
+package org.apache.shardingsphere.governance.core.lock.event;
import lombok.AllArgsConstructor;
import lombok.Getter;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
/**
* Lock notification event.
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/lock/LockReleasedEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/event/LockReleasedEvent.java
similarity index 85%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/lock/LockReleasedEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/event/LockReleasedEvent.java
index ad3ccc6..ee32cdd 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/lock/LockReleasedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/event/LockReleasedEvent.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.lock;
+package org.apache.shardingsphere.governance.core.lock.event;
import lombok.AllArgsConstructor;
import lombok.Getter;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
/**
* Lock released event.
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/impl/LockAck.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/service/LockAck.java
similarity index 93%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/impl/LockAck.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/service/LockAck.java
index 1f69bb2..3564401 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/impl/LockAck.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/service/LockAck.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.lock.impl;
+package org.apache.shardingsphere.governance.core.lock.service;
/**
* Lock ack.
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/impl/LockNode.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/service/LockNode.java
similarity index 97%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/impl/LockNode.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/service/LockNode.java
index 9a28e92..d32c9b1 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/impl/LockNode.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/service/LockNode.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.lock.impl;
+package org.apache.shardingsphere.governance.core.lock.service;
import com.google.common.base.Joiner;
import lombok.AccessLevel;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/impl/LockRegistryService.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/service/LockRegistryService.java
similarity index 97%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/impl/LockRegistryService.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/service/LockRegistryService.java
index a37bc07..25edd6b 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/impl/LockRegistryService.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/service/LockRegistryService.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.lock.impl;
+package org.apache.shardingsphere.governance.core.lock.service;
import com.google.common.base.Joiner;
import com.google.common.base.Strings;
import org.apache.shardingsphere.governance.core.registry.instance.GovernanceInstance;
-import org.apache.shardingsphere.governance.core.registry.service.state.StatesNode;
+import org.apache.shardingsphere.governance.core.registry.state.service.StatesNode;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import java.util.Collection;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/LockChangedWatcher.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/watcher/LockChangedWatcher.java
similarity index 80%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/LockChangedWatcher.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/watcher/LockChangedWatcher.java
index 73f20b2..c63ac39 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/LockChangedWatcher.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/lock/watcher/LockChangedWatcher.java
@@ -15,13 +15,13 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.impl;
+package org.apache.shardingsphere.governance.core.lock.watcher;
-import org.apache.shardingsphere.governance.core.lock.impl.LockNode;
-import org.apache.shardingsphere.governance.core.registry.watcher.GovernanceWatcher;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.lock.LockNotificationEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.lock.LockReleasedEvent;
+import org.apache.shardingsphere.governance.core.lock.service.LockNode;
+import org.apache.shardingsphere.governance.core.registry.GovernanceWatcher;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.lock.event.LockNotificationEvent;
+import org.apache.shardingsphere.governance.core.lock.event.LockReleasedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/GovernanceEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/GovernanceEvent.java
similarity index 92%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/GovernanceEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/GovernanceEvent.java
index 49e2d46..d88beb4 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/GovernanceEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/GovernanceEvent.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event;
+package org.apache.shardingsphere.governance.core.registry;
/**
* Governance event.
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/GovernanceWatcher.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/GovernanceWatcher.java
similarity index 96%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/GovernanceWatcher.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/GovernanceWatcher.java
index b642020..32d63a5 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/GovernanceWatcher.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/GovernanceWatcher.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher;
+package org.apache.shardingsphere.governance.core.registry;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/GovernanceWatcherFactory.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/GovernanceWatcherFactory.java
similarity index 97%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/GovernanceWatcherFactory.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/GovernanceWatcherFactory.java
index f53e623..3538757 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/GovernanceWatcherFactory.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/GovernanceWatcherFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher;
+package org.apache.shardingsphere.governance.core.registry;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenter.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenter.java
index 9f3a028..b3e929d 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenter.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenter.java
@@ -18,17 +18,17 @@
package org.apache.shardingsphere.governance.core.registry;
import lombok.Getter;
-import org.apache.shardingsphere.governance.core.lock.impl.LockRegistryService;
+import org.apache.shardingsphere.governance.core.lock.service.LockRegistryService;
import org.apache.shardingsphere.governance.core.registry.cache.ScalingRegistrySubscriber;
import org.apache.shardingsphere.governance.core.registry.instance.GovernanceInstance;
-import org.apache.shardingsphere.governance.core.registry.service.config.impl.DataSourceRegistryService;
-import org.apache.shardingsphere.governance.core.registry.service.config.impl.GlobalRuleRegistryService;
-import org.apache.shardingsphere.governance.core.registry.service.config.impl.PropertiesRegistryService;
-import org.apache.shardingsphere.governance.core.registry.service.config.impl.SchemaRuleRegistryService;
-import org.apache.shardingsphere.governance.core.registry.service.process.ProcessRegistrySubscriber;
-import org.apache.shardingsphere.governance.core.registry.service.schema.SchemaRegistryService;
-import org.apache.shardingsphere.governance.core.registry.service.state.DataSourceStatusRegistryService;
-import org.apache.shardingsphere.governance.core.registry.service.state.StatesNode;
+import org.apache.shardingsphere.governance.core.registry.config.service.impl.DataSourceRegistryService;
+import org.apache.shardingsphere.governance.core.registry.config.service.impl.GlobalRuleRegistryService;
+import org.apache.shardingsphere.governance.core.registry.config.service.impl.PropertiesRegistryService;
+import org.apache.shardingsphere.governance.core.registry.config.service.impl.SchemaRuleRegistryService;
+import org.apache.shardingsphere.governance.core.registry.process.service.ProcessRegistrySubscriber;
+import org.apache.shardingsphere.governance.core.registry.metadata.service.SchemaRegistryService;
+import org.apache.shardingsphere.governance.core.registry.state.service.DataSourceStatusRegistryService;
+import org.apache.shardingsphere.governance.core.registry.state.service.StatesNode;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.config.datasource.DataSourceConfiguration;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/cache/ScalingRegistrySubscriber.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/cache/ScalingRegistrySubscriber.java
index 4cf9f75..520b290 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/cache/ScalingRegistrySubscriber.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/cache/ScalingRegistrySubscriber.java
@@ -18,11 +18,10 @@
package org.apache.shardingsphere.governance.core.registry.cache;
import com.google.common.eventbus.Subscribe;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationCachedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.SwitchRuleConfigurationEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.scaling.StartScalingEvent;
-import org.apache.shardingsphere.governance.core.registry.service.config.impl.SchemaRuleRegistryService;
-import org.apache.shardingsphere.governance.core.registry.service.config.node.SchemaMetadataNode;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationCachedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.SwitchRuleConfigurationEvent;
+import org.apache.shardingsphere.governance.core.registry.config.service.impl.SchemaRuleRegistryService;
+import org.apache.shardingsphere.governance.core.registry.config.service.node.SchemaMetadataNode;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/scaling/StartScalingEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/cache/StartScalingEvent.java
similarity index 94%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/scaling/StartScalingEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/cache/StartScalingEvent.java
index a956ed5..e7d410e 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/scaling/StartScalingEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/cache/StartScalingEvent.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.scaling;
+package org.apache.shardingsphere.governance.core.registry.cache;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/datasource/DataSourceAddedEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/datasource/DataSourceAddedEvent.java
similarity index 87%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/datasource/DataSourceAddedEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/datasource/DataSourceAddedEvent.java
index ec8b5a7..03df533 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/datasource/DataSourceAddedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/datasource/DataSourceAddedEvent.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.datasource;
+package org.apache.shardingsphere.governance.core.registry.config.event.datasource;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
import org.apache.shardingsphere.infra.config.datasource.DataSourceConfiguration;
import java.util.Map;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/datasource/DataSourceAlteredEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/datasource/DataSourceAlteredEvent.java
similarity index 87%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/datasource/DataSourceAlteredEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/datasource/DataSourceAlteredEvent.java
index 73b305b..201a035 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/datasource/DataSourceAlteredEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/datasource/DataSourceAlteredEvent.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.datasource;
+package org.apache.shardingsphere.governance.core.registry.config.event.datasource;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
import org.apache.shardingsphere.infra.config.datasource.DataSourceConfiguration;
import java.util.Map;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/datasource/DataSourceChangeCompletedEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/datasource/DataSourceChangeCompletedEvent.java
similarity index 88%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/datasource/DataSourceChangeCompletedEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/datasource/DataSourceChangeCompletedEvent.java
index 630b249..1838900 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/datasource/DataSourceChangeCompletedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/datasource/DataSourceChangeCompletedEvent.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.datasource;
+package org.apache.shardingsphere.governance.core.registry.config.event.datasource;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import javax.sql.DataSource;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/props/PropertiesChangedEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/props/PropertiesChangedEvent.java
similarity index 86%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/props/PropertiesChangedEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/props/PropertiesChangedEvent.java
index 0cdeda0..1117d88 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/props/PropertiesChangedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/props/PropertiesChangedEvent.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.props;
+package org.apache.shardingsphere.governance.core.registry.config.event.props;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
import java.util.Properties;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/rule/GlobalRuleConfigurationsChangedEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/rule/GlobalRuleConfigurationsChangedEvent.java
similarity index 87%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/rule/GlobalRuleConfigurationsChangedEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/rule/GlobalRuleConfigurationsChangedEvent.java
index b821e81..860ab85 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/rule/GlobalRuleConfigurationsChangedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/rule/GlobalRuleConfigurationsChangedEvent.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.rule;
+package org.apache.shardingsphere.governance.core.registry.config.event.rule;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import java.util.Collection;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/rule/RuleConfigurationCachedEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/rule/RuleConfigurationCachedEvent.java
similarity index 86%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/rule/RuleConfigurationCachedEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/rule/RuleConfigurationCachedEvent.java
index 0d4398d..7d5acb5 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/rule/RuleConfigurationCachedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/rule/RuleConfigurationCachedEvent.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.rule;
+package org.apache.shardingsphere.governance.core.registry.config.event.rule;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
/**
* Rule configuration cached event.
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/rule/RuleConfigurationsAlteredEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/rule/RuleConfigurationsAlteredEvent.java
similarity index 93%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/rule/RuleConfigurationsAlteredEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/rule/RuleConfigurationsAlteredEvent.java
index aa546d9..dd621ed 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/rule/RuleConfigurationsAlteredEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/rule/RuleConfigurationsAlteredEvent.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.rule;
+package org.apache.shardingsphere.governance.core.registry.config.event.rule;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/rule/RuleConfigurationsChangedEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/rule/RuleConfigurationsChangedEvent.java
similarity index 88%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/rule/RuleConfigurationsChangedEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/rule/RuleConfigurationsChangedEvent.java
index 6fde5fe..784a5c3 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/rule/RuleConfigurationsChangedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/rule/RuleConfigurationsChangedEvent.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.rule;
+package org.apache.shardingsphere.governance.core.registry.config.event.rule;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import java.util.Collection;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/rule/SwitchRuleConfigurationEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/rule/SwitchRuleConfigurationEvent.java
similarity index 93%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/rule/SwitchRuleConfigurationEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/rule/SwitchRuleConfigurationEvent.java
index 1864eca..882b20d 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/rule/SwitchRuleConfigurationEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/rule/SwitchRuleConfigurationEvent.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.rule;
+package org.apache.shardingsphere.governance.core.registry.config.event.rule;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/schema/SchemaChangedEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/schema/SchemaChangedEvent.java
similarity index 87%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/schema/SchemaChangedEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/schema/SchemaChangedEvent.java
index ee78c40..9873915 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/schema/SchemaChangedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/event/schema/SchemaChangedEvent.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.schema;
+package org.apache.shardingsphere.governance.core.registry.config.event.schema;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
import org.apache.shardingsphere.infra.metadata.schema.ShardingSphereSchema;
/**
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/GlobalRegistryService.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/GlobalRegistryService.java
similarity index 94%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/GlobalRegistryService.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/GlobalRegistryService.java
index 00a3e5c..b48af51 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/GlobalRegistryService.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/GlobalRegistryService.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.config;
+package org.apache.shardingsphere.governance.core.registry.config.service;
/**
* Global registry service.
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/SchemaBasedRegistryService.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/SchemaBasedRegistryService.java
similarity index 95%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/SchemaBasedRegistryService.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/SchemaBasedRegistryService.java
index e30858a..48fcb78 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/SchemaBasedRegistryService.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/SchemaBasedRegistryService.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.config;
+package org.apache.shardingsphere.governance.core.registry.config.service;
/**
* Schema based registry service.
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/DataSourceRegistryService.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/DataSourceRegistryService.java
similarity index 90%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/DataSourceRegistryService.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/DataSourceRegistryService.java
index 236b56c..6ba6515 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/DataSourceRegistryService.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/DataSourceRegistryService.java
@@ -15,14 +15,14 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.config.impl;
+package org.apache.shardingsphere.governance.core.registry.config.service.impl;
import com.google.common.base.Strings;
import com.google.common.eventbus.Subscribe;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.datasource.DataSourceAddedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.datasource.DataSourceAlteredEvent;
-import org.apache.shardingsphere.governance.core.registry.service.config.SchemaBasedRegistryService;
-import org.apache.shardingsphere.governance.core.registry.service.config.node.SchemaMetadataNode;
+import org.apache.shardingsphere.governance.core.registry.config.service.SchemaBasedRegistryService;
+import org.apache.shardingsphere.governance.core.registry.config.event.datasource.DataSourceAddedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.datasource.DataSourceAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.service.node.SchemaMetadataNode;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.apache.shardingsphere.infra.config.datasource.DataSourceConfiguration;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/GlobalRuleRegistryService.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/GlobalRuleRegistryService.java
similarity index 93%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/GlobalRuleRegistryService.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/GlobalRuleRegistryService.java
index 5501034..9ba295e 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/GlobalRuleRegistryService.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/GlobalRuleRegistryService.java
@@ -15,15 +15,15 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.config.impl;
+package org.apache.shardingsphere.governance.core.registry.config.service.impl;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import com.google.common.eventbus.Subscribe;
import org.apache.shardingsphere.authority.api.config.AuthorityRuleConfiguration;
-import org.apache.shardingsphere.governance.core.registry.service.config.GlobalRegistryService;
-import org.apache.shardingsphere.governance.core.registry.service.config.node.GlobalNode;
-import org.apache.shardingsphere.governance.core.registry.service.state.StatesNode;
+import org.apache.shardingsphere.governance.core.registry.config.service.GlobalRegistryService;
+import org.apache.shardingsphere.governance.core.registry.config.service.node.GlobalNode;
+import org.apache.shardingsphere.governance.core.registry.state.service.StatesNode;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.metadata.mapper.event.dcl.impl.CreateUserStatementEvent;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/PropertiesRegistryService.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/PropertiesRegistryService.java
similarity index 87%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/PropertiesRegistryService.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/PropertiesRegistryService.java
index 97d47f7..c990915 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/PropertiesRegistryService.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/PropertiesRegistryService.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.config.impl;
+package org.apache.shardingsphere.governance.core.registry.config.service.impl;
import com.google.common.base.Strings;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.governance.core.registry.service.config.GlobalRegistryService;
-import org.apache.shardingsphere.governance.core.registry.service.config.node.GlobalNode;
+import org.apache.shardingsphere.governance.core.registry.config.service.GlobalRegistryService;
+import org.apache.shardingsphere.governance.core.registry.config.service.node.GlobalNode;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/SchemaRuleRegistryService.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/SchemaRuleRegistryService.java
similarity index 90%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/SchemaRuleRegistryService.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/SchemaRuleRegistryService.java
index 0ae4c8e..57a9061 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/SchemaRuleRegistryService.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/SchemaRuleRegistryService.java
@@ -15,14 +15,14 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.config.impl;
+package org.apache.shardingsphere.governance.core.registry.config.service.impl;
import com.google.common.base.Strings;
import com.google.common.eventbus.Subscribe;
+import org.apache.shardingsphere.governance.core.registry.config.service.SchemaBasedRegistryService;
+import org.apache.shardingsphere.governance.core.registry.config.service.node.SchemaMetadataNode;
import org.apache.shardingsphere.infra.rule.checker.RuleConfigurationCheckerFactory;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
-import org.apache.shardingsphere.governance.core.registry.service.config.SchemaBasedRegistryService;
-import org.apache.shardingsphere.governance.core.registry.service.config.node.SchemaMetadataNode;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/node/GlobalNode.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/node/GlobalNode.java
similarity index 94%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/node/GlobalNode.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/node/GlobalNode.java
index 25ac806..bfed0c2 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/node/GlobalNode.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/node/GlobalNode.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.config.node;
+package org.apache.shardingsphere.governance.core.registry.config.service.node;
import com.google.common.base.Joiner;
import lombok.AccessLevel;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/node/SchemaMetadataNode.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/node/SchemaMetadataNode.java
similarity index 97%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/node/SchemaMetadataNode.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/node/SchemaMetadataNode.java
index b9082f1..0fc406d 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/config/node/SchemaMetadataNode.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/service/node/SchemaMetadataNode.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.config.node;
+package org.apache.shardingsphere.governance.core.registry.config.service.node;
import com.google.common.base.Joiner;
import lombok.AccessLevel;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/GlobalRuleChangedWatcher.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/watcher/GlobalRuleChangedWatcher.java
similarity index 87%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/GlobalRuleChangedWatcher.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/watcher/GlobalRuleChangedWatcher.java
index 41861ec..2ed6fd6 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/GlobalRuleChangedWatcher.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/watcher/GlobalRuleChangedWatcher.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.impl;
+package org.apache.shardingsphere.governance.core.registry.config.watcher;
import com.google.common.base.Preconditions;
-import org.apache.shardingsphere.governance.core.registry.service.config.node.GlobalNode;
-import org.apache.shardingsphere.governance.core.registry.watcher.GovernanceWatcher;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.GlobalRuleConfigurationsChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.service.node.GlobalNode;
+import org.apache.shardingsphere.governance.core.registry.GovernanceWatcher;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.GlobalRuleConfigurationsChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/PropertiesChangedWatcher.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/watcher/PropertiesChangedWatcher.java
similarity index 84%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/PropertiesChangedWatcher.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/watcher/PropertiesChangedWatcher.java
index 41bac42..c1266ba 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/PropertiesChangedWatcher.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/config/watcher/PropertiesChangedWatcher.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.impl;
+package org.apache.shardingsphere.governance.core.registry.config.watcher;
-import org.apache.shardingsphere.governance.core.registry.service.config.node.GlobalNode;
-import org.apache.shardingsphere.governance.core.registry.watcher.GovernanceWatcher;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.props.PropertiesChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.service.node.GlobalNode;
+import org.apache.shardingsphere.governance.core.registry.GovernanceWatcher;
+import org.apache.shardingsphere.governance.core.registry.config.event.props.PropertiesChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/metadata/MetaDataChangedEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/event/MetaDataChangedEvent.java
similarity index 92%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/metadata/MetaDataChangedEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/event/MetaDataChangedEvent.java
index 3e60d35..6f409b6 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/metadata/MetaDataChangedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/event/MetaDataChangedEvent.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.metadata;
+package org.apache.shardingsphere.governance.core.registry.metadata.event;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/metadata/MetaDataCreatedEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/event/MetaDataCreatedEvent.java
similarity index 92%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/metadata/MetaDataCreatedEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/event/MetaDataCreatedEvent.java
index 0c261a1..414af56 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/metadata/MetaDataCreatedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/event/MetaDataCreatedEvent.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.metadata;
+package org.apache.shardingsphere.governance.core.registry.metadata.event;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/metadata/MetaDataDroppedEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/event/MetaDataDroppedEvent.java
similarity index 92%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/metadata/MetaDataDroppedEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/event/MetaDataDroppedEvent.java
index 7b47b6e..2e31a5f 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/metadata/MetaDataDroppedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/event/MetaDataDroppedEvent.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.metadata;
+package org.apache.shardingsphere.governance.core.registry.metadata.event;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/metadata/SchemaAddedEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/event/SchemaAddedEvent.java
similarity index 85%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/metadata/SchemaAddedEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/event/SchemaAddedEvent.java
index 2c4add3..2534662 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/metadata/SchemaAddedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/event/SchemaAddedEvent.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.metadata;
+package org.apache.shardingsphere.governance.core.registry.metadata.event;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
/**
* Schema added event.
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/metadata/SchemaDeletedEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/event/SchemaDeletedEvent.java
similarity index 85%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/metadata/SchemaDeletedEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/event/SchemaDeletedEvent.java
index ee5199d..e8e006c 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/metadata/SchemaDeletedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/event/SchemaDeletedEvent.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.metadata;
+package org.apache.shardingsphere.governance.core.registry.metadata.event;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
/**
* Schema deleted event.
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/schema/SchemaRegistryService.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/service/SchemaRegistryService.java
similarity index 91%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/schema/SchemaRegistryService.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/service/SchemaRegistryService.java
index 0158788..5e06161 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/schema/SchemaRegistryService.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/service/SchemaRegistryService.java
@@ -15,13 +15,13 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.schema;
+package org.apache.shardingsphere.governance.core.registry.metadata.service;
import com.google.common.base.Strings;
import com.google.common.eventbus.Subscribe;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.metadata.MetaDataCreatedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.metadata.MetaDataDroppedEvent;
-import org.apache.shardingsphere.governance.core.registry.service.config.node.SchemaMetadataNode;
+import org.apache.shardingsphere.governance.core.registry.metadata.event.MetaDataCreatedEvent;
+import org.apache.shardingsphere.governance.core.registry.metadata.event.MetaDataDroppedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.service.node.SchemaMetadataNode;
import org.apache.shardingsphere.governance.core.yaml.schema.pojo.YamlSchema;
import org.apache.shardingsphere.governance.core.yaml.schema.swapper.SchemaYamlSwapper;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/MetaDataChangedWatcher.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/watcher/MetaDataChangedWatcher.java
similarity index 87%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/MetaDataChangedWatcher.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/watcher/MetaDataChangedWatcher.java
index 946293c..d817b3a 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/MetaDataChangedWatcher.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/metadata/watcher/MetaDataChangedWatcher.java
@@ -15,20 +15,20 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.impl;
+package org.apache.shardingsphere.governance.core.registry.metadata.watcher;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import org.apache.shardingsphere.governance.core.registry.cache.CacheNode;
-import org.apache.shardingsphere.governance.core.registry.service.config.node.SchemaMetadataNode;
-import org.apache.shardingsphere.governance.core.registry.watcher.GovernanceWatcher;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.datasource.DataSourceAlteredEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.metadata.SchemaAddedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.metadata.SchemaDeletedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationCachedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.schema.SchemaChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.service.node.SchemaMetadataNode;
+import org.apache.shardingsphere.governance.core.registry.GovernanceWatcher;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.datasource.DataSourceAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.metadata.event.SchemaAddedEvent;
+import org.apache.shardingsphere.governance.core.registry.metadata.event.SchemaDeletedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationCachedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.schema.SchemaChangedEvent;
import org.apache.shardingsphere.governance.core.yaml.schema.pojo.YamlSchema;
import org.apache.shardingsphere.governance.core.yaml.schema.swapper.SchemaYamlSwapper;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/invocation/ExecuteProcessReportEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/event/ExecuteProcessReportEvent.java
similarity index 92%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/invocation/ExecuteProcessReportEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/event/ExecuteProcessReportEvent.java
index dd1185a..2cfe071 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/invocation/ExecuteProcessReportEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/event/ExecuteProcessReportEvent.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.invocation;
+package org.apache.shardingsphere.governance.core.registry.process.event;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/invocation/ExecuteProcessSummaryReportEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/event/ExecuteProcessSummaryReportEvent.java
similarity index 93%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/invocation/ExecuteProcessSummaryReportEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/event/ExecuteProcessSummaryReportEvent.java
index d178336..ee6da05 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/invocation/ExecuteProcessSummaryReportEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/event/ExecuteProcessSummaryReportEvent.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.invocation;
+package org.apache.shardingsphere.governance.core.registry.process.event;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/invocation/ExecuteProcessUnitReportEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/event/ExecuteProcessUnitReportEvent.java
similarity index 93%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/invocation/ExecuteProcessUnitReportEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/event/ExecuteProcessUnitReportEvent.java
index ba8f128..3e18370 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/invocation/ExecuteProcessUnitReportEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/event/ExecuteProcessUnitReportEvent.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.invocation;
+package org.apache.shardingsphere.governance.core.registry.process.event;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/invocation/ShowProcessListRequestEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/event/ShowProcessListRequestEvent.java
similarity index 92%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/invocation/ShowProcessListRequestEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/event/ShowProcessListRequestEvent.java
index b91dedc..44410cd 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/invocation/ShowProcessListRequestEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/event/ShowProcessListRequestEvent.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.invocation;
+package org.apache.shardingsphere.governance.core.registry.process.event;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/invocation/ShowProcessListResponseEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/event/ShowProcessListResponseEvent.java
similarity index 92%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/invocation/ShowProcessListResponseEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/event/ShowProcessListResponseEvent.java
index f79ec48..83f1aa4 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/invocation/ShowProcessListResponseEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/event/ShowProcessListResponseEvent.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.invocation;
+package org.apache.shardingsphere.governance.core.registry.process.event;
import java.util.Collection;
import lombok.Getter;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/process/ProcessNode.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/service/ProcessNode.java
similarity index 95%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/process/ProcessNode.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/service/ProcessNode.java
index 39c429e..57704ab 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/process/ProcessNode.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/service/ProcessNode.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.process;
+package org.apache.shardingsphere.governance.core.registry.process.service;
import com.google.common.base.Joiner;
import lombok.AccessLevel;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/process/ProcessRegistrySubscriber.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/service/ProcessRegistrySubscriber.java
similarity index 87%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/process/ProcessRegistrySubscriber.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/service/ProcessRegistrySubscriber.java
index 9b45655..c071a23 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/process/ProcessRegistrySubscriber.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/process/service/ProcessRegistrySubscriber.java
@@ -15,14 +15,14 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.process;
+package org.apache.shardingsphere.governance.core.registry.process.service;
import com.google.common.eventbus.Subscribe;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.invocation.ExecuteProcessReportEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.invocation.ExecuteProcessSummaryReportEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.invocation.ExecuteProcessUnitReportEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.invocation.ShowProcessListRequestEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.invocation.ShowProcessListResponseEvent;
+import org.apache.shardingsphere.governance.core.registry.process.event.ExecuteProcessReportEvent;
+import org.apache.shardingsphere.governance.core.registry.process.event.ExecuteProcessSummaryReportEvent;
+import org.apache.shardingsphere.governance.core.registry.process.event.ExecuteProcessUnitReportEvent;
+import org.apache.shardingsphere.governance.core.registry.process.event.ShowProcessListRequestEvent;
+import org.apache.shardingsphere.governance.core.registry.process.event.ShowProcessListResponseEvent;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.infra.executor.sql.process.model.ExecuteProcessConstants;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/ResourceState.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/ResourceState.java
similarity index 93%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/ResourceState.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/ResourceState.java
index 31199d5..4387607 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/ResourceState.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/ResourceState.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry;
+package org.apache.shardingsphere.governance.core.registry.state;
/**
* Resource state.
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/readwritesplitting/DisabledStateChangedEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/event/DisabledStateChangedEvent.java
similarity index 86%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/readwritesplitting/DisabledStateChangedEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/event/DisabledStateChangedEvent.java
index 1637f8a..531d717 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/readwritesplitting/DisabledStateChangedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/event/DisabledStateChangedEvent.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.readwritesplitting;
+package org.apache.shardingsphere.governance.core.registry.state.event;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
import org.apache.shardingsphere.governance.core.registry.schema.GovernanceSchema;
/**
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/readwritesplitting/PrimaryStateChangedEvent.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/event/PrimaryStateChangedEvent.java
similarity index 86%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/readwritesplitting/PrimaryStateChangedEvent.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/event/PrimaryStateChangedEvent.java
index b9f1a63..a3a6991 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/event/readwritesplitting/PrimaryStateChangedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/event/PrimaryStateChangedEvent.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.event.readwritesplitting;
+package org.apache.shardingsphere.governance.core.registry.state.event;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
import org.apache.shardingsphere.governance.core.registry.schema.GovernanceSchema;
/**
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/state/DataSourceStatusRegistryService.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/service/DataSourceStatusRegistryService.java
similarity index 95%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/state/DataSourceStatusRegistryService.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/service/DataSourceStatusRegistryService.java
index 390184d..6f68952 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/state/DataSourceStatusRegistryService.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/service/DataSourceStatusRegistryService.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.state;
+package org.apache.shardingsphere.governance.core.registry.state.service;
import com.google.common.base.Strings;
import com.google.common.eventbus.Subscribe;
-import org.apache.shardingsphere.governance.core.registry.ResourceState;
+import org.apache.shardingsphere.governance.core.registry.state.ResourceState;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.infra.rule.event.impl.DataSourceDisabledEvent;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/state/StatesNode.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/service/StatesNode.java
similarity index 98%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/state/StatesNode.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/service/StatesNode.java
index 418f04d..d841a19 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/service/state/StatesNode.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/service/StatesNode.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.state;
+package org.apache.shardingsphere.governance.core.registry.state.service;
import com.google.common.base.Joiner;
import lombok.AccessLevel;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/DataSourceStateChangedWatcher.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/watcher/DataSourceStateChangedWatcher.java
similarity index 77%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/DataSourceStateChangedWatcher.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/watcher/DataSourceStateChangedWatcher.java
index c1d28c3..41d7e4c 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/DataSourceStateChangedWatcher.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/watcher/DataSourceStateChangedWatcher.java
@@ -15,14 +15,14 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.impl;
+package org.apache.shardingsphere.governance.core.registry.state.watcher;
-import org.apache.shardingsphere.governance.core.registry.ResourceState;
-import org.apache.shardingsphere.governance.core.registry.watcher.GovernanceWatcher;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.readwritesplitting.DisabledStateChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.readwritesplitting.PrimaryStateChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.service.state.StatesNode;
+import org.apache.shardingsphere.governance.core.registry.state.ResourceState;
+import org.apache.shardingsphere.governance.core.registry.GovernanceWatcher;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.state.event.DisabledStateChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.state.event.PrimaryStateChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.state.service.StatesNode;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/TerminalStateChangedWatcher.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/watcher/TerminalStateChangedWatcher.java
similarity index 86%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/TerminalStateChangedWatcher.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/watcher/TerminalStateChangedWatcher.java
index 28d67ce..4fa4ca0 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/TerminalStateChangedWatcher.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/state/watcher/TerminalStateChangedWatcher.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.impl;
+package org.apache.shardingsphere.governance.core.registry.state.watcher;
-import org.apache.shardingsphere.governance.core.registry.ResourceState;
+import org.apache.shardingsphere.governance.core.registry.state.ResourceState;
import org.apache.shardingsphere.governance.core.registry.instance.GovernanceInstance;
-import org.apache.shardingsphere.governance.core.registry.watcher.GovernanceWatcher;
-import org.apache.shardingsphere.governance.core.registry.service.state.StatesNode;
+import org.apache.shardingsphere.governance.core.registry.GovernanceWatcher;
+import org.apache.shardingsphere.governance.core.registry.state.service.StatesNode;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
import org.apache.shardingsphere.infra.state.StateEvent;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/resources/META-INF/services/org.apache.shardingsphere.governance.core.registry.watcher.GovernanceWatcher b/shardingsphere-governance/shardingsphere-governance-core/src/main/resources/META-INF/services/org.apache.shardingsphere.governance.core.registry.GovernanceWatcher
similarity index 59%
rename from shardingsphere-governance/shardingsphere-governance-core/src/main/resources/META-INF/services/org.apache.shardingsphere.governance.core.registry.watcher.GovernanceWatcher
rename to shardingsphere-governance/shardingsphere-governance-core/src/main/resources/META-INF/services/org.apache.shardingsphere.governance.core.registry.GovernanceWatcher
index e1e053e..b0858ef 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/resources/META-INF/services/org.apache.shardingsphere.governance.core.registry.watcher.GovernanceWatcher
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/resources/META-INF/services/org.apache.shardingsphere.governance.core.registry.GovernanceWatcher
@@ -15,9 +15,9 @@
# limitations under the License.
#
-org.apache.shardingsphere.governance.core.registry.watcher.impl.DataSourceStateChangedWatcher
-org.apache.shardingsphere.governance.core.registry.watcher.impl.MetaDataChangedWatcher
-org.apache.shardingsphere.governance.core.registry.watcher.impl.GlobalRuleChangedWatcher
-org.apache.shardingsphere.governance.core.registry.watcher.impl.PropertiesChangedWatcher
-org.apache.shardingsphere.governance.core.registry.watcher.impl.TerminalStateChangedWatcher
-org.apache.shardingsphere.governance.core.registry.watcher.impl.LockChangedWatcher
+org.apache.shardingsphere.governance.core.registry.state.watcher.DataSourceStateChangedWatcher
+org.apache.shardingsphere.governance.core.registry.metadata.watcher.MetaDataChangedWatcher
+org.apache.shardingsphere.governance.core.registry.config.watcher.GlobalRuleChangedWatcher
+org.apache.shardingsphere.governance.core.registry.config.watcher.PropertiesChangedWatcher
+org.apache.shardingsphere.governance.core.registry.state.watcher.TerminalStateChangedWatcher
+org.apache.shardingsphere.governance.core.lock.watcher.LockChangedWatcher
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/GovernanceFacadeTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/GovernanceFacadeTest.java
index 2348e6b..e7c43d3 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/GovernanceFacadeTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/GovernanceFacadeTest.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.governance.core;
import lombok.SneakyThrows;
import org.apache.shardingsphere.governance.core.registry.RegistryCenter;
-import org.apache.shardingsphere.governance.core.registry.watcher.GovernanceWatcherFactory;
+import org.apache.shardingsphere.governance.core.registry.GovernanceWatcherFactory;
import org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
import org.apache.shardingsphere.governance.repository.api.config.RegistryCenterConfiguration;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/ShardingSphereDistributeLockTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/ShardingSphereDistributeLockTest.java
index 80c626e..a69a504 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/ShardingSphereDistributeLockTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/ShardingSphereDistributeLockTest.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.governance.core.lock;
-import org.apache.shardingsphere.governance.core.lock.impl.LockRegistryService;
+import org.apache.shardingsphere.governance.core.lock.service.LockRegistryService;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.junit.Before;
import org.junit.Test;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/impl/LockNodeTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/service/LockNodeTest.java
similarity index 96%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/impl/LockNodeTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/service/LockNodeTest.java
index 0052a26..9a04231 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/impl/LockNodeTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/service/LockNodeTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.lock.impl;
+package org.apache.shardingsphere.governance.core.lock.service;
import org.junit.Test;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/impl/LockRegistryServiceTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/service/LockRegistryServiceTest.java
similarity index 97%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/impl/LockRegistryServiceTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/service/LockRegistryServiceTest.java
index 0e46f23..da96c61 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/impl/LockRegistryServiceTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/service/LockRegistryServiceTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.lock.impl;
+package org.apache.shardingsphere.governance.core.lock.service;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.junit.Before;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/LockChangedWatcherTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/watcher/LockChangedWatcherTest.java
similarity index 89%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/LockChangedWatcherTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/watcher/LockChangedWatcherTest.java
index 453e681..43f073ec 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/LockChangedWatcherTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/lock/watcher/LockChangedWatcherTest.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.impl;
+package org.apache.shardingsphere.governance.core.lock.watcher;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
import org.junit.Test;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterTest.java
index de4a4ee..e56487c 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/RegistryCenterTest.java
@@ -18,10 +18,10 @@
package org.apache.shardingsphere.governance.core.registry;
import lombok.SneakyThrows;
-import org.apache.shardingsphere.governance.core.registry.service.config.impl.DataSourceRegistryService;
-import org.apache.shardingsphere.governance.core.registry.service.config.impl.GlobalRuleRegistryService;
-import org.apache.shardingsphere.governance.core.registry.service.config.impl.PropertiesRegistryService;
-import org.apache.shardingsphere.governance.core.registry.service.config.impl.SchemaRuleRegistryService;
+import org.apache.shardingsphere.governance.core.registry.config.service.impl.DataSourceRegistryService;
+import org.apache.shardingsphere.governance.core.registry.config.service.impl.GlobalRuleRegistryService;
+import org.apache.shardingsphere.governance.core.registry.config.service.impl.PropertiesRegistryService;
+import org.apache.shardingsphere.governance.core.registry.config.service.impl.SchemaRuleRegistryService;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.config.datasource.DataSourceConfiguration;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/cache/ScalingRegistrySubscriberTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/cache/ScalingRegistrySubscriberTest.java
index 276d412..db472f9 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/cache/ScalingRegistrySubscriberTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/cache/ScalingRegistrySubscriberTest.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.governance.core.registry.cache;
-import org.apache.shardingsphere.governance.core.registry.service.config.impl.SchemaRuleRegistryService;
+import org.apache.shardingsphere.governance.core.registry.config.service.impl.SchemaRuleRegistryService;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.junit.Before;
import org.junit.Test;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/DataSourceRegistryServiceTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/DataSourceRegistryServiceTest.java
similarity index 95%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/DataSourceRegistryServiceTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/DataSourceRegistryServiceTest.java
index 5e3ad4c..ac92d11 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/DataSourceRegistryServiceTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/DataSourceRegistryServiceTest.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.config.impl;
+package org.apache.shardingsphere.governance.core.registry.config.service.impl;
import lombok.SneakyThrows;
import org.apache.shardingsphere.governance.core.registry.MockDataSource;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.datasource.DataSourceAddedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.datasource.DataSourceAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.datasource.DataSourceAddedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.datasource.DataSourceAlteredEvent;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.apache.shardingsphere.infra.config.datasource.DataSourceConfiguration;
import org.junit.Before;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/GlobalRuleRegistryServiceTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/GlobalRuleRegistryServiceTest.java
similarity index 98%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/GlobalRuleRegistryServiceTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/GlobalRuleRegistryServiceTest.java
index 3ad6af1..95406f5 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/GlobalRuleRegistryServiceTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/GlobalRuleRegistryServiceTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.config.impl;
+package org.apache.shardingsphere.governance.core.registry.config.service.impl;
import lombok.SneakyThrows;
import org.apache.shardingsphere.authority.api.config.AuthorityRuleConfiguration;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/PropertiesRegistryServiceTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/PropertiesRegistryServiceTest.java
similarity index 96%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/PropertiesRegistryServiceTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/PropertiesRegistryServiceTest.java
index c452ddc..c20319c 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/PropertiesRegistryServiceTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/PropertiesRegistryServiceTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.config.impl;
+package org.apache.shardingsphere.governance.core.registry.config.service.impl;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.apache.shardingsphere.infra.config.properties.ConfigurationPropertyKey;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/SchemaRuleRegistryServiceTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/SchemaRuleRegistryServiceTest.java
similarity index 94%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/SchemaRuleRegistryServiceTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/SchemaRuleRegistryServiceTest.java
index a40d7b4..49b6a17 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/impl/SchemaRuleRegistryServiceTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/impl/SchemaRuleRegistryServiceTest.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.config.impl;
+package org.apache.shardingsphere.governance.core.registry.config.service.impl;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.junit.Before;
import org.junit.Test;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/node/GlobalNodeTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/node/GlobalNodeTest.java
similarity index 93%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/node/GlobalNodeTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/node/GlobalNodeTest.java
index 27e0bce..c8d2552 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/node/GlobalNodeTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/node/GlobalNodeTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.config.node;
+package org.apache.shardingsphere.governance.core.registry.config.service.node;
import org.junit.Test;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/node/SchemaMetadataNodeTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/node/SchemaMetadataNodeTest.java
similarity index 95%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/node/SchemaMetadataNodeTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/node/SchemaMetadataNodeTest.java
index bc41dad..64c134e 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/config/node/SchemaMetadataNodeTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/service/node/SchemaMetadataNodeTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.config.node;
+package org.apache.shardingsphere.governance.core.registry.config.service.node;
import org.apache.shardingsphere.infra.database.DefaultSchema;
import org.junit.Test;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/GlobalRuleChangedWatcherTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/watcher/GlobalRuleChangedWatcherTest.java
similarity index 91%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/GlobalRuleChangedWatcherTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/watcher/GlobalRuleChangedWatcherTest.java
index 8e9147b..36eae8a 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/GlobalRuleChangedWatcherTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/watcher/GlobalRuleChangedWatcherTest.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.impl;
+package org.apache.shardingsphere.governance.core.registry.config.watcher;
import lombok.SneakyThrows;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.GlobalRuleConfigurationsChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.GlobalRuleConfigurationsChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
import org.junit.Test;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/PropertiesChangedWatcherTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/watcher/PropertiesChangedWatcherTest.java
similarity index 90%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/PropertiesChangedWatcherTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/watcher/PropertiesChangedWatcherTest.java
index 2fa1932..f193e95 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/PropertiesChangedWatcherTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/config/watcher/PropertiesChangedWatcherTest.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.impl;
+package org.apache.shardingsphere.governance.core.registry.config.watcher;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.props.PropertiesChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.props.PropertiesChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
import org.apache.shardingsphere.infra.config.properties.ConfigurationPropertyKey;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/schema/SchemaRegistryServiceTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/metadata/service/SchemaRegistryServiceTest.java
similarity index 95%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/schema/SchemaRegistryServiceTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/metadata/service/SchemaRegistryServiceTest.java
index 6a5d4fa..de61963 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/schema/SchemaRegistryServiceTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/metadata/service/SchemaRegistryServiceTest.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.schema;
+package org.apache.shardingsphere.governance.core.registry.metadata.service;
import lombok.SneakyThrows;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.metadata.MetaDataCreatedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.metadata.MetaDataDroppedEvent;
+import org.apache.shardingsphere.governance.core.registry.metadata.event.MetaDataCreatedEvent;
+import org.apache.shardingsphere.governance.core.registry.metadata.event.MetaDataDroppedEvent;
import org.apache.shardingsphere.governance.core.yaml.schema.pojo.YamlSchema;
import org.apache.shardingsphere.governance.core.yaml.schema.swapper.SchemaYamlSwapper;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/MetaDataChangedWatcherTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/metadata/watcher/MetaDataChangedWatcherTest.java
similarity index 90%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/MetaDataChangedWatcherTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/metadata/watcher/MetaDataChangedWatcherTest.java
index beaacf1..c9cfad4 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/MetaDataChangedWatcherTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/metadata/watcher/MetaDataChangedWatcherTest.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.impl;
+package org.apache.shardingsphere.governance.core.registry.metadata.watcher;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
import org.junit.Test;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/state/DataSourceStatusRegistryServiceTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/state/service/DataSourceStatusRegistryServiceTest.java
similarity index 96%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/state/DataSourceStatusRegistryServiceTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/state/service/DataSourceStatusRegistryServiceTest.java
index 0e9396b..1ef765a 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/state/DataSourceStatusRegistryServiceTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/state/service/DataSourceStatusRegistryServiceTest.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.state;
+package org.apache.shardingsphere.governance.core.registry.state.service;
-import org.apache.shardingsphere.governance.core.registry.ResourceState;
+import org.apache.shardingsphere.governance.core.registry.state.ResourceState;
import org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.apache.shardingsphere.infra.rule.event.impl.DataSourceDisabledEvent;
import org.apache.shardingsphere.infra.rule.event.impl.PrimaryDataSourceEvent;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/state/StatesNodeTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/state/service/StatesNodeTest.java
similarity index 97%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/state/StatesNodeTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/state/service/StatesNodeTest.java
index 109aab3..3585aa5 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/service/state/StatesNodeTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/state/service/StatesNodeTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.service.state;
+package org.apache.shardingsphere.governance.core.registry.state.service;
import org.apache.shardingsphere.governance.core.registry.schema.GovernanceSchema;
import org.junit.Test;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/DataSourceStateChangedWatcherTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/state/watcher/DataSourceStateChangedWatcherTest.java
similarity index 86%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/DataSourceStateChangedWatcherTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/state/watcher/DataSourceStateChangedWatcherTest.java
index a9e4819..c13fa63 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/DataSourceStateChangedWatcherTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/state/watcher/DataSourceStateChangedWatcherTest.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.impl;
+package org.apache.shardingsphere.governance.core.registry.state.watcher;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.GovernanceEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.readwritesplitting.DisabledStateChangedEvent;
import org.apache.shardingsphere.governance.core.registry.schema.GovernanceSchema;
+import org.apache.shardingsphere.governance.core.registry.state.event.DisabledStateChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.GovernanceEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
import org.junit.Test;
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/TerminalStateChangedWatcherTest.java b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/state/watcher/TerminalStateChangedWatcherTest.java
similarity index 92%
rename from shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/TerminalStateChangedWatcherTest.java
rename to shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/state/watcher/TerminalStateChangedWatcherTest.java
index 42574b4..6e8b6c0 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/watcher/impl/TerminalStateChangedWatcherTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/registry/state/watcher/TerminalStateChangedWatcherTest.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.registry.watcher.impl;
+package org.apache.shardingsphere.governance.core.registry.state.watcher;
-import org.apache.shardingsphere.governance.core.registry.ResourceState;
+import org.apache.shardingsphere.governance.core.registry.state.ResourceState;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type;
import org.apache.shardingsphere.infra.state.StateEvent;
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSourceTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSourceTest.java
index 14b2a1d..aaec7af 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSourceTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/test/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSourceTest.java
@@ -22,10 +22,10 @@ import org.apache.commons.dbcp2.BasicDataSource;
import org.apache.shardingsphere.driver.governance.api.yaml.YamlGovernanceShardingSphereDataSourceFactory;
import org.apache.shardingsphere.governance.context.metadata.GovernanceMetaDataContexts;
import org.apache.shardingsphere.governance.core.registry.schema.GovernanceSchema;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.datasource.DataSourceAlteredEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.props.PropertiesChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.readwritesplitting.DisabledStateChangedEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.datasource.DataSourceAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.props.PropertiesChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.state.event.DisabledStateChangedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsChangedEvent;
import org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
import org.apache.shardingsphere.governance.repository.api.config.RegistryCenterConfiguration;
import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowProcessListExecutor.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowProcessListExecutor.java
index 8fc1d19..1f98c10 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowProcessListExecutor.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowProcessListExecutor.java
@@ -26,8 +26,8 @@ import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import lombok.Getter;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.invocation.ShowProcessListRequestEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.invocation.ShowProcessListResponseEvent;
+import org.apache.shardingsphere.governance.core.registry.process.event.ShowProcessListRequestEvent;
+import org.apache.shardingsphere.governance.core.registry.process.event.ShowProcessListResponseEvent;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResultMetaData;
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AddResourceBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AddResourceBackendHandler.java
index 659af0e..7a4a8bf 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AddResourceBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AddResourceBackendHandler.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.impl;
import org.apache.shardingsphere.distsql.parser.segment.DataSourceSegment;
import org.apache.shardingsphere.distsql.parser.statement.rdl.create.impl.AddResourceStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.datasource.DataSourceAddedEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.datasource.DataSourceAddedEvent;
import org.apache.shardingsphere.infra.config.datasource.DataSourceConfiguration;
import org.apache.shardingsphere.infra.config.datasource.DataSourceValidator;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterDatabaseDiscoveryRuleBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterDatabaseDiscoveryRuleBackendHandler.java
index e095f70..236f198 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterDatabaseDiscoveryRuleBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterDatabaseDiscoveryRuleBackendHandler.java
@@ -24,7 +24,7 @@ import org.apache.shardingsphere.dbdiscovery.common.yaml.converter.DatabaseDisco
import org.apache.shardingsphere.dbdiscovery.spi.DatabaseDiscoveryType;
import org.apache.shardingsphere.distsql.parser.segment.rdl.DatabaseDiscoveryRuleSegment;
import org.apache.shardingsphere.distsql.parser.statement.rdl.alter.AlterDatabaseDiscoveryRuleStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
@@ -52,11 +52,11 @@ import java.util.stream.Collectors;
* Alter database discovery rule backend handler.
*/
public final class AlterDatabaseDiscoveryRuleBackendHandler extends SchemaRequiredBackendHandler<AlterDatabaseDiscoveryRuleStatement> {
-
+
static {
ShardingSphereServiceLoader.register(DatabaseDiscoveryType.class);
}
-
+
public AlterDatabaseDiscoveryRuleBackendHandler(final AlterDatabaseDiscoveryRuleStatement sqlStatement, final BackendConnection backendConnection) {
super(sqlStatement, backendConnection);
}
@@ -71,11 +71,11 @@ public final class AlterDatabaseDiscoveryRuleBackendHandler extends SchemaRequir
post(schemaName, rules);
return new UpdateResponseHeader(statement);
}
-
+
private Collection<String> getAlteredRuleNames(final AlterDatabaseDiscoveryRuleStatement statement) {
return statement.getDatabaseDiscoveryRules().stream().map(DatabaseDiscoveryRuleSegment::getName).collect(Collectors.toList());
}
-
+
private DatabaseDiscoveryRuleConfiguration getDatabaseDiscoveryRuleConfiguration(final String schemaName, final Collection<String> alteredRuleNames) {
Optional<DatabaseDiscoveryRuleConfiguration> ruleConfig = ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations().stream()
.filter(each -> each instanceof DatabaseDiscoveryRuleConfiguration).map(each -> (DatabaseDiscoveryRuleConfiguration) each).findFirst();
@@ -91,7 +91,7 @@ public final class AlterDatabaseDiscoveryRuleBackendHandler extends SchemaRequir
checkResources(schemaName, sqlStatement);
checkDiscoveryType(sqlStatement);
}
-
+
private void checkAlteredRules(final String schemaName, final DatabaseDiscoveryRuleConfiguration databaseDiscoveryRuleConfiguration, final Collection<String> alteredRuleNames) {
Set<String> existRuleNames = databaseDiscoveryRuleConfiguration.getDataSources().stream().map(DatabaseDiscoveryDataSourceRuleConfiguration::getName).collect(Collectors.toSet());
Collection<String> notExistRuleNames = alteredRuleNames.stream()
@@ -100,7 +100,7 @@ public final class AlterDatabaseDiscoveryRuleBackendHandler extends SchemaRequir
throw new DatabaseDiscoveryRulesNotExistedException(schemaName, notExistRuleNames);
}
}
-
+
private void checkResources(final String schemaName, final AlterDatabaseDiscoveryRuleStatement statement) {
Collection<String> resources = new LinkedHashSet<>();
statement.getDatabaseDiscoveryRules().forEach(each -> resources.addAll(each.getDataSources()));
@@ -109,21 +109,21 @@ public final class AlterDatabaseDiscoveryRuleBackendHandler extends SchemaRequir
throw new ResourceNotExistedException(schemaName, notExistResources);
}
}
-
+
private void checkDiscoveryType(final AlterDatabaseDiscoveryRuleStatement statement) {
- Collection<String> invalidDiscoveryTypes = statement.getDatabaseDiscoveryRules().stream().map(each -> each.getDiscoveryTypeName()).distinct()
+ Collection<String> invalidDiscoveryTypes = statement.getDatabaseDiscoveryRules().stream().map(DatabaseDiscoveryRuleSegment::getDiscoveryTypeName).distinct()
.filter(each -> !TypedSPIRegistry.findRegisteredService(DatabaseDiscoveryType.class, each, new Properties()).isPresent())
.collect(Collectors.toList());
if (!invalidDiscoveryTypes.isEmpty()) {
throw new InvalidDatabaseDiscoveryTypesException(invalidDiscoveryTypes);
}
}
-
+
private boolean isValidResource(final String schemaName, final String resourceName) {
return Objects.nonNull(ProxyContext.getInstance().getMetaData(schemaName).getResource())
&& ProxyContext.getInstance().getMetaData(schemaName).getResource().getDataSources().containsKey(resourceName);
}
-
+
private YamlDatabaseDiscoveryRuleConfiguration alter(final DatabaseDiscoveryRuleConfiguration ruleConfig, final AlterDatabaseDiscoveryRuleStatement statement) {
YamlDatabaseDiscoveryRuleConfiguration alterYamlDatabaseDiscoveryRuleConfiguration = DatabaseDiscoveryRuleStatementConverter.convert(statement.getDatabaseDiscoveryRules());
YamlDatabaseDiscoveryRuleConfiguration result = new YamlRuleConfigurationSwapperEngine()
@@ -135,7 +135,7 @@ public final class AlterDatabaseDiscoveryRuleBackendHandler extends SchemaRequir
result.getDiscoveryTypes().putAll(alterYamlDatabaseDiscoveryRuleConfiguration.getDiscoveryTypes());
return result;
}
-
+
private void post(final String schemaName, final Collection<RuleConfiguration> rules) {
ShardingSphereEventBus.getInstance().post(new RuleConfigurationsAlteredEvent(schemaName, rules));
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterEncryptRuleBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterEncryptRuleBackendHandler.java
index 39ba704..b050ef1 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterEncryptRuleBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterEncryptRuleBackendHandler.java
@@ -24,7 +24,7 @@ import org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfigu
import org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm;
import org.apache.shardingsphere.encrypt.yaml.config.YamlEncryptRuleConfiguration;
import org.apache.shardingsphere.encrypt.yaml.converter.EncryptRuleStatementConverter;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
@@ -49,11 +49,11 @@ import java.util.stream.Collectors;
* Alter encrypt rule backend handler.
*/
public final class AlterEncryptRuleBackendHandler extends SchemaRequiredBackendHandler<AlterEncryptRuleStatement> {
-
+
static {
ShardingSphereServiceLoader.register(EncryptAlgorithm.class);
}
-
+
public AlterEncryptRuleBackendHandler(final AlterEncryptRuleStatement sqlStatement, final BackendConnection backendConnection) {
super(sqlStatement, backendConnection);
}
@@ -71,16 +71,16 @@ public final class AlterEncryptRuleBackendHandler extends SchemaRequiredBackendH
post(schemaName, rules);
return new UpdateResponseHeader(sqlStatement);
}
-
+
private Collection<String> getAlteredTables(final AlterEncryptRuleStatement sqlStatement) {
return sqlStatement.getEncryptRules().stream().map(EncryptRuleSegment::getTableName).collect(Collectors.toList());
}
-
+
private void check(final String schemaName, final AlterEncryptRuleStatement sqlStatement, final EncryptRuleConfiguration encryptRuleConfiguration) {
checkAlteredTables(schemaName, encryptRuleConfiguration, sqlStatement);
checkEncryptors(sqlStatement);
}
-
+
private void checkAlteredTables(final String schemaName, final EncryptRuleConfiguration encryptRuleConfiguration,
final AlterEncryptRuleStatement sqlStatement) {
Collection<String> existTables = getExistTables(encryptRuleConfiguration);
@@ -90,14 +90,14 @@ public final class AlterEncryptRuleBackendHandler extends SchemaRequiredBackendH
throw new EncryptRulesNotExistedException(schemaName, notExistTables);
}
}
-
+
private Collection<String> getExistTables(final EncryptRuleConfiguration encryptRuleConfiguration) {
return encryptRuleConfiguration.getTables().stream().map(EncryptTableRuleConfiguration::getName).collect(Collectors.toList());
}
-
+
private void checkEncryptors(final AlterEncryptRuleStatement sqlStatement) {
Collection<String> encryptors = new LinkedHashSet<>();
- sqlStatement.getEncryptRules().stream().forEach(each -> encryptors.addAll(each.getColumns().stream()
+ sqlStatement.getEncryptRules().forEach(each -> encryptors.addAll(each.getColumns().stream()
.map(column -> column.getEncryptor().getAlgorithmName()).collect(Collectors.toSet())));
Collection<String> invalidEncryptors = encryptors.stream().filter(each -> !TypedSPIRegistry.findRegisteredService(EncryptAlgorithm.class, each, new Properties()).isPresent())
.collect(Collectors.toList());
@@ -116,7 +116,7 @@ public final class AlterEncryptRuleBackendHandler extends SchemaRequiredBackendH
result.getEncryptors().putAll(alterYamlEncryptRuleConfiguration.getEncryptors());
return result;
}
-
+
private void post(final String schemaName, final Collection<RuleConfiguration> rules) {
ShardingSphereEventBus.getInstance().post(new RuleConfigurationsAlteredEvent(schemaName, rules));
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterReadwriteSplittingRuleBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterReadwriteSplittingRuleBackendHandler.java
index d744725..4125e45 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterReadwriteSplittingRuleBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterReadwriteSplittingRuleBackendHandler.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.impl;
import com.google.common.base.Strings;
import org.apache.shardingsphere.distsql.parser.segment.rdl.ReadwriteSplittingRuleSegment;
import org.apache.shardingsphere.distsql.parser.statement.rdl.alter.AlterReadwriteSplittingRuleStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
@@ -53,11 +53,11 @@ import java.util.stream.Collectors;
* Alter readwrite-splitting rule backend handler.
*/
public final class AlterReadwriteSplittingRuleBackendHandler extends SchemaRequiredBackendHandler<AlterReadwriteSplittingRuleStatement> {
-
+
static {
ShardingSphereServiceLoader.register(ReplicaLoadBalanceAlgorithm.class);
}
-
+
public AlterReadwriteSplittingRuleBackendHandler(final AlterReadwriteSplittingRuleStatement sqlStatement, final BackendConnection backendConnection) {
super(sqlStatement, backendConnection);
}
@@ -76,7 +76,7 @@ public final class AlterReadwriteSplittingRuleBackendHandler extends SchemaRequi
post(schemaName, rules);
return new UpdateResponseHeader(sqlStatement);
}
-
+
private Collection<String> getAlteredRuleNames(final AlterReadwriteSplittingRuleStatement sqlStatement) {
return sqlStatement.getReadwriteSplittingRules().stream().map(ReadwriteSplittingRuleSegment::getName).collect(Collectors.toSet());
}
@@ -87,7 +87,7 @@ public final class AlterReadwriteSplittingRuleBackendHandler extends SchemaRequi
checkResources(sqlStatement, schemaName);
checkLoadBalancer(sqlStatement);
}
-
+
private void checkAlteredRules(final String schemaName, final ReadwriteSplittingRuleConfiguration ruleConfig, final Collection<String> alteredRuleNames) {
Set<String> existRuleNames = ruleConfig.getDataSources().stream().map(ReadwriteSplittingDataSourceRuleConfiguration::getName).collect(Collectors.toSet());
Collection<String> notExistRuleNames = alteredRuleNames.stream()
@@ -96,7 +96,7 @@ public final class AlterReadwriteSplittingRuleBackendHandler extends SchemaRequi
throw new ReadwriteSplittingRulesNotExistedException(schemaName, notExistRuleNames);
}
}
-
+
private void checkResources(final AlterReadwriteSplittingRuleStatement sqlStatement, final String schemaName) {
Collection<String> resources = new LinkedHashSet<>();
sqlStatement.getReadwriteSplittingRules().stream().filter(each -> Strings.isNullOrEmpty(each.getAutoAwareResource())).forEach(each -> {
@@ -108,16 +108,16 @@ public final class AlterReadwriteSplittingRuleBackendHandler extends SchemaRequi
throw new ResourceNotExistedException(schemaName, notExistResources);
}
}
-
+
private void checkLoadBalancer(final AlterReadwriteSplittingRuleStatement sqlStatement) {
- Collection<String> invalidLoadBalances = sqlStatement.getReadwriteSplittingRules().stream().map(each -> each.getLoadBalancer()).distinct()
+ Collection<String> invalidLoadBalances = sqlStatement.getReadwriteSplittingRules().stream().map(ReadwriteSplittingRuleSegment::getLoadBalancer).distinct()
.filter(each -> !TypedSPIRegistry.findRegisteredService(ReplicaLoadBalanceAlgorithm.class, each, new Properties()).isPresent())
.collect(Collectors.toList());
if (!invalidLoadBalances.isEmpty()) {
throw new InvalidLoadBalancersException(invalidLoadBalances);
}
}
-
+
private boolean isValidResource(final String schemaName, final String resourceName) {
return Objects.nonNull(ProxyContext.getInstance().getMetaData(schemaName).getResource())
&& ProxyContext.getInstance().getMetaData(schemaName).getResource().getDataSources().containsKey(resourceName);
@@ -135,7 +135,7 @@ public final class AlterReadwriteSplittingRuleBackendHandler extends SchemaRequi
result.getLoadBalancers().putAll(alterYamlReadwriteSplittingRuleConfiguration.getLoadBalancers());
return result;
}
-
+
private void post(final String schemaName, final Collection<RuleConfiguration> rules) {
ShardingSphereEventBus.getInstance().post(new RuleConfigurationsAlteredEvent(schemaName, rules));
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterShardingBindingTableRulesBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterShardingBindingTableRulesBackendHandler.java
index 65f4c81..25675e9 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterShardingBindingTableRulesBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterShardingBindingTableRulesBackendHandler.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.impl;
import com.google.common.base.Splitter;
import org.apache.shardingsphere.distsql.parser.statement.rdl.alter.AlterShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
@@ -44,7 +44,7 @@ import java.util.stream.Collectors;
* Alter sharding binding table rule backend handler.
*/
public final class AlterShardingBindingTableRulesBackendHandler extends SchemaRequiredBackendHandler<AlterShardingBindingTableRulesStatement> {
-
+
public AlterShardingBindingTableRulesBackendHandler(final AlterShardingBindingTableRulesStatement sqlStatement, final BackendConnection backendConnection) {
super(sqlStatement, backendConnection);
}
@@ -74,7 +74,7 @@ public final class AlterShardingBindingTableRulesBackendHandler extends SchemaRe
throw new ShardingTableRuleNotExistedException(schemaName, invalidBindingTables);
}
}
-
+
private Collection<String> getLogicTables(final String schemaName) {
ShardingRuleConfiguration shardingRuleConfiguration = getShardingRuleConfiguration(schemaName);
Collection<String> existLogicTables = new HashSet<>();
@@ -82,7 +82,7 @@ public final class AlterShardingBindingTableRulesBackendHandler extends SchemaRe
existLogicTables.addAll(shardingRuleConfiguration.getAutoTables().stream().map(ShardingAutoTableRuleConfiguration::getLogicTable).collect(Collectors.toSet()));
return existLogicTables;
}
-
+
private ShardingRuleConfiguration getShardingRuleConfiguration(final String schemaName) {
Optional<ShardingRuleConfiguration> shardingRuleConfig = ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations().stream()
.filter(each -> each instanceof ShardingRuleConfiguration).map(each -> (ShardingRuleConfiguration) each).findFirst();
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterShardingBroadcastTableRulesBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterShardingBroadcastTableRulesBackendHandler.java
index 41176b0..676ff91 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterShardingBroadcastTableRulesBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterShardingBroadcastTableRulesBackendHandler.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.impl;
import org.apache.shardingsphere.distsql.parser.statement.rdl.alter.AlterShardingBroadcastTableRulesStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
@@ -36,7 +36,7 @@ import java.util.Optional;
* Alter sharding broadcast table rule backend handler.
*/
public final class AlterShardingBroadcastTableRulesBackendHandler extends SchemaRequiredBackendHandler<AlterShardingBroadcastTableRulesStatement> {
-
+
public AlterShardingBroadcastTableRulesBackendHandler(final AlterShardingBroadcastTableRulesStatement sqlStatement, final BackendConnection backendConnection) {
super(sqlStatement, backendConnection);
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterShardingTableRuleBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterShardingTableRuleBackendHandler.java
index 5b66b52..0d705b1 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterShardingTableRuleBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/AlterShardingTableRuleBackendHandler.java
@@ -17,8 +17,9 @@
package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.impl;
+import org.apache.shardingsphere.distsql.parser.segment.TableRuleSegment;
import org.apache.shardingsphere.distsql.parser.statement.rdl.alter.AlterShardingTableRuleStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapperEngine;
@@ -38,6 +39,7 @@ import org.apache.shardingsphere.sharding.yaml.config.YamlShardingRuleConfigurat
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
+import java.util.Map.Entry;
import java.util.Optional;
import java.util.stream.Collectors;
@@ -57,7 +59,7 @@ public final class AlterShardingTableRuleBackendHandler extends SchemaRequiredBa
post(schemaName, new YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(Collections.singleton(yamlShardingRuleConfiguration)));
return new UpdateResponseHeader(sqlStatement);
}
-
+
private void check(final String schemaName, final AlterShardingTableRuleStatement sqlStatement) {
Collection<String> duplicateTables = getDuplicateTables(sqlStatement);
if (!duplicateTables.isEmpty()) {
@@ -73,47 +75,43 @@ public final class AlterShardingTableRuleBackendHandler extends SchemaRequiredBa
throw new ShardingTableRuleNotExistedException(schemaName, notExistTables);
}
}
-
+
private Collection<String> getDuplicateTables(final AlterShardingTableRuleStatement sqlStatement) {
return sqlStatement.getTables().stream()
- .collect(Collectors.toMap(e -> e.getLogicTable(), e -> 1, (a, b) -> a + b))
+ .collect(Collectors.toMap(TableRuleSegment::getLogicTable, e -> 1, Integer::sum))
.entrySet().stream()
.filter(entry -> entry.getValue() > 1)
- .map(entry -> entry.getKey())
+ .map(Entry::getKey)
.collect(Collectors.toList());
}
-
+
private Collection<String> getAlteredTables(final AlterShardingTableRuleStatement sqlStatement) {
- return sqlStatement.getTables().stream().map(each -> each.getLogicTable()).collect(Collectors.toList());
+ return sqlStatement.getTables().stream().map(TableRuleSegment::getLogicTable).collect(Collectors.toList());
}
-
+
private Optional<ShardingRuleConfiguration> getShardingRuleConfiguration(final String schemaName) {
return ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations().stream()
.filter(each -> each instanceof ShardingRuleConfiguration).map(each -> (ShardingRuleConfiguration) each).findFirst();
}
-
+
private Collection<String> getShardingTables(final ShardingRuleConfiguration shardingRuleConfiguration) {
Collection<String> result = new LinkedList<>();
result.addAll(shardingRuleConfiguration.getTables().stream().map(ShardingTableRuleConfiguration::getLogicTable).collect(Collectors.toList()));
result.addAll(shardingRuleConfiguration.getAutoTables().stream().map(ShardingAutoTableRuleConfiguration::getLogicTable).collect(Collectors.toList()));
return result;
}
-
+
private YamlShardingRuleConfiguration alter(final String schemaName, final AlterShardingTableRuleStatement sqlStatement) {
YamlShardingRuleConfiguration result = new YamlRuleConfigurationSwapperEngine()
.swapToYamlRuleConfigurations(Collections.singleton(getShardingRuleConfiguration(schemaName).get())).stream()
.filter(each -> each instanceof YamlShardingRuleConfiguration).map(each -> (YamlShardingRuleConfiguration) each).findFirst().get();
YamlShardingRuleConfiguration yamlShardingRuleConfiguration = ShardingRuleStatementConverter.convert(sqlStatement);
result.getShardingAlgorithms().putAll(yamlShardingRuleConfiguration.getShardingAlgorithms());
- yamlShardingRuleConfiguration.getTables().keySet().forEach(each -> {
- if (result.getTables().keySet().contains(each)) {
- result.getTables().remove(each);
- }
- });
+ yamlShardingRuleConfiguration.getTables().keySet().forEach(each -> result.getTables().remove(each));
result.getAutoTables().putAll(yamlShardingRuleConfiguration.getAutoTables());
return result;
}
-
+
private void post(final String schemaName, final Collection<RuleConfiguration> rules) {
ShardingSphereEventBus.getInstance().post(new RuleConfigurationsAlteredEvent(schemaName, rules));
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateDatabaseBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateDatabaseBackendHandler.java
index e649283..acb3856 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateDatabaseBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateDatabaseBackendHandler.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.impl;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.metadata.MetaDataCreatedEvent;
+import org.apache.shardingsphere.governance.core.registry.metadata.event.MetaDataCreatedEvent;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import org.apache.shardingsphere.proxy.backend.exception.DBCreateExistsException;
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateDatabaseDiscoveryRuleBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateDatabaseDiscoveryRuleBackendHandler.java
index 971c1f5..aaa9272 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateDatabaseDiscoveryRuleBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateDatabaseDiscoveryRuleBackendHandler.java
@@ -24,7 +24,7 @@ import org.apache.shardingsphere.dbdiscovery.common.yaml.converter.DatabaseDisco
import org.apache.shardingsphere.dbdiscovery.spi.DatabaseDiscoveryType;
import org.apache.shardingsphere.distsql.parser.segment.rdl.DatabaseDiscoveryRuleSegment;
import org.apache.shardingsphere.distsql.parser.statement.rdl.create.impl.CreateDatabaseDiscoveryRuleStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.typed.TypedSPIRegistry;
@@ -41,6 +41,7 @@ import org.apache.shardingsphere.proxy.backend.text.SchemaRequiredBackendHandler
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedHashSet;
+import java.util.Map.Entry;
import java.util.Objects;
import java.util.Optional;
import java.util.Properties;
@@ -50,11 +51,11 @@ import java.util.stream.Collectors;
* Create database discovery rule backend handler.
*/
public final class CreateDatabaseDiscoveryRuleBackendHandler extends SchemaRequiredBackendHandler<CreateDatabaseDiscoveryRuleStatement> {
-
+
static {
ShardingSphereServiceLoader.register(DatabaseDiscoveryType.class);
}
-
+
public CreateDatabaseDiscoveryRuleBackendHandler(final CreateDatabaseDiscoveryRuleStatement sqlStatement, final BackendConnection backendConnection) {
super(sqlStatement, backendConnection);
}
@@ -72,7 +73,7 @@ public final class CreateDatabaseDiscoveryRuleBackendHandler extends SchemaRequi
checkResources(schemaName, sqlStatement);
checkDiscoverTypes(sqlStatement);
}
-
+
private void checkDuplicateRuleNames(final String schemaName, final CreateDatabaseDiscoveryRuleStatement sqlStatement) {
Optional<DatabaseDiscoveryRuleConfiguration> optional = getDatabaseDiscoveryRuleConfiguration(schemaName);
if (optional.isPresent()) {
@@ -85,16 +86,16 @@ public final class CreateDatabaseDiscoveryRuleBackendHandler extends SchemaRequi
}
}
}
-
+
private Collection<String> getDuplicateRuleNames(final CreateDatabaseDiscoveryRuleStatement sqlStatement) {
return sqlStatement.getDatabaseDiscoveryRules().stream()
- .collect(Collectors.toMap(each -> each.getName(), e -> 1, (a, b) -> a + b))
+ .collect(Collectors.toMap(DatabaseDiscoveryRuleSegment::getName, e -> 1, Integer::sum))
.entrySet().stream()
.filter(entry -> entry.getValue() > 1)
- .map(entry -> entry.getKey())
+ .map(Entry::getKey)
.collect(Collectors.toSet());
}
-
+
private void checkResources(final String schemaName, final CreateDatabaseDiscoveryRuleStatement sqlStatement) {
Collection<String> resources = new LinkedHashSet<>();
sqlStatement.getDatabaseDiscoveryRules().forEach(each -> resources.addAll(each.getDataSources()));
@@ -103,30 +104,30 @@ public final class CreateDatabaseDiscoveryRuleBackendHandler extends SchemaRequi
throw new ResourceNotExistedException(schemaName, notExistResources);
}
}
-
+
private void checkDiscoverTypes(final CreateDatabaseDiscoveryRuleStatement sqlStatement) {
- Collection<String> invalidDiscoveryTypes = sqlStatement.getDatabaseDiscoveryRules().stream().map(each -> each.getDiscoveryTypeName()).distinct()
+ Collection<String> invalidDiscoveryTypes = sqlStatement.getDatabaseDiscoveryRules().stream().map(DatabaseDiscoveryRuleSegment::getDiscoveryTypeName).distinct()
.filter(each -> !TypedSPIRegistry.findRegisteredService(DatabaseDiscoveryType.class, each, new Properties()).isPresent())
.collect(Collectors.toList());
if (!invalidDiscoveryTypes.isEmpty()) {
throw new InvalidDatabaseDiscoveryTypesException(invalidDiscoveryTypes);
}
}
-
+
private Collection<String> getRuleNames(final DatabaseDiscoveryRuleConfiguration databaseDiscoveryRuleConfiguration) {
return databaseDiscoveryRuleConfiguration.getDataSources().stream().map(DatabaseDiscoveryDataSourceRuleConfiguration::getName).collect(Collectors.toList());
}
-
+
private boolean isValidResource(final String schemaName, final String resourceName) {
return Objects.nonNull(ProxyContext.getInstance().getMetaData(schemaName).getResource())
&& ProxyContext.getInstance().getMetaData(schemaName).getResource().getDataSources().containsKey(resourceName);
}
-
+
private Optional<DatabaseDiscoveryRuleConfiguration> getDatabaseDiscoveryRuleConfiguration(final String schemaName) {
return ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations().stream()
.filter(each -> each instanceof DatabaseDiscoveryRuleConfiguration).findAny().map(each -> (DatabaseDiscoveryRuleConfiguration) each);
}
-
+
private void create(final String schemaName, final CreateDatabaseDiscoveryRuleStatement sqlStatement) {
YamlDatabaseDiscoveryRuleConfiguration yamlDatabaseDiscoveryRuleConfiguration = DatabaseDiscoveryRuleStatementConverter.convert(sqlStatement.getDatabaseDiscoveryRules());
DatabaseDiscoveryRuleConfiguration createdDatabaseDiscoveryRuleConfiguration = new YamlRuleConfigurationSwapperEngine()
@@ -140,9 +141,8 @@ public final class CreateDatabaseDiscoveryRuleBackendHandler extends SchemaRequi
ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations().add(createdDatabaseDiscoveryRuleConfiguration);
}
}
-
+
private void post(final String schemaName) {
- ShardingSphereEventBus.getInstance().post(new RuleConfigurationsAlteredEvent(schemaName, ProxyContext.getInstance()
- .getMetaData(schemaName).getRuleMetaData().getConfigurations()));
+ ShardingSphereEventBus.getInstance().post(new RuleConfigurationsAlteredEvent(schemaName, ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations()));
}
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateEncryptRuleBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateEncryptRuleBackendHandler.java
index 62e0721..fd46d29 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateEncryptRuleBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateEncryptRuleBackendHandler.java
@@ -24,7 +24,7 @@ import org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfigu
import org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm;
import org.apache.shardingsphere.encrypt.yaml.config.YamlEncryptRuleConfiguration;
import org.apache.shardingsphere.encrypt.yaml.converter.EncryptRuleStatementConverter;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.typed.TypedSPIRegistry;
@@ -48,11 +48,11 @@ import java.util.stream.Collectors;
* Create encrypt rule backend handler.
*/
public final class CreateEncryptRuleBackendHandler extends SchemaRequiredBackendHandler<CreateEncryptRuleStatement> {
-
+
static {
ShardingSphereServiceLoader.register(EncryptAlgorithm.class);
}
-
+
public CreateEncryptRuleBackendHandler(final CreateEncryptRuleStatement sqlStatement, final BackendConnection backendConnection) {
super(sqlStatement, backendConnection);
}
@@ -70,7 +70,7 @@ public final class CreateEncryptRuleBackendHandler extends SchemaRequiredBackend
checkEncryptors(sqlStatement);
// TODO check resource
}
-
+
private void checkDuplicateRuleNames(final String schemaName, final CreateEncryptRuleStatement sqlStatement) {
Optional<EncryptRuleConfiguration> optional = getEncryptRuleConfiguration(schemaName);
if (optional.isPresent()) {
@@ -82,18 +82,18 @@ public final class CreateEncryptRuleBackendHandler extends SchemaRequiredBackend
}
}
}
-
+
private void checkEncryptors(final CreateEncryptRuleStatement sqlStatement) {
Collection<String> encryptors = new LinkedHashSet<>();
- sqlStatement.getEncryptRules().stream().forEach(each -> encryptors.addAll(each.getColumns().stream()
+ sqlStatement.getEncryptRules().forEach(each -> encryptors.addAll(each.getColumns().stream()
.map(column -> column.getEncryptor().getAlgorithmName()).collect(Collectors.toSet())));
- Collection<String> invalidEncryptors = encryptors.stream().filter(each -> !TypedSPIRegistry.findRegisteredService(EncryptAlgorithm.class, each, new Properties()).isPresent())
- .collect(Collectors.toList());
+ Collection<String> invalidEncryptors = encryptors.stream().filter(
+ each -> !TypedSPIRegistry.findRegisteredService(EncryptAlgorithm.class, each, new Properties()).isPresent()).collect(Collectors.toList());
if (!invalidEncryptors.isEmpty()) {
throw new InvalidEncryptorsException(invalidEncryptors);
}
}
-
+
private void create(final String schemaName, final CreateEncryptRuleStatement sqlStatement) {
YamlEncryptRuleConfiguration yamlEncryptRuleConfiguration = EncryptRuleStatementConverter.convert(sqlStatement.getEncryptRules());
EncryptRuleConfiguration createdEncryptRuleConfiguration = new YamlRuleConfigurationSwapperEngine()
@@ -107,16 +107,16 @@ public final class CreateEncryptRuleBackendHandler extends SchemaRequiredBackend
ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations().add(createdEncryptRuleConfiguration);
}
}
-
+
private Optional<EncryptRuleConfiguration> getEncryptRuleConfiguration(final String schemaName) {
return ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations()
.stream().filter(each -> each instanceof EncryptRuleConfiguration).findAny().map(each -> (EncryptRuleConfiguration) each);
}
-
+
private Collection<String> getRuleNames(final EncryptRuleConfiguration encryptRuleConfiguration) {
return encryptRuleConfiguration.getTables().stream().map(EncryptTableRuleConfiguration::getName).collect(Collectors.toList());
}
-
+
private void post(final String schemaName) {
ShardingSphereEventBus.getInstance().post(new RuleConfigurationsAlteredEvent(schemaName,
ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations()));
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateReadwriteSplittingRuleBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateReadwriteSplittingRuleBackendHandler.java
index a4ae87c..e7753ba 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateReadwriteSplittingRuleBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateReadwriteSplittingRuleBackendHandler.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.impl;
import com.google.common.base.Strings;
import org.apache.shardingsphere.distsql.parser.segment.rdl.ReadwriteSplittingRuleSegment;
import org.apache.shardingsphere.distsql.parser.statement.rdl.create.impl.CreateReadwriteSplittingRuleStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.typed.TypedSPIRegistry;
@@ -51,11 +51,11 @@ import java.util.stream.Collectors;
* Create readwrite splitting rule backend handler.
*/
public final class CreateReadwriteSplittingRuleBackendHandler extends SchemaRequiredBackendHandler<CreateReadwriteSplittingRuleStatement> {
-
+
static {
ShardingSphereServiceLoader.register(ReplicaLoadBalanceAlgorithm.class);
}
-
+
public CreateReadwriteSplittingRuleBackendHandler(final CreateReadwriteSplittingRuleStatement sqlStatement, final BackendConnection backendConnection) {
super(sqlStatement, backendConnection);
}
@@ -73,7 +73,7 @@ public final class CreateReadwriteSplittingRuleBackendHandler extends SchemaRequ
checkResources(schemaName, sqlStatement);
checkLoadBalancers(sqlStatement);
}
-
+
private void checkDuplicateRuleNames(final String schemaName, final CreateReadwriteSplittingRuleStatement sqlStatement) {
Optional<ReadwriteSplittingRuleConfiguration> optional = getReadwriteSplittingRuleConfiguration(schemaName);
if (optional.isPresent()) {
@@ -85,23 +85,23 @@ public final class CreateReadwriteSplittingRuleBackendHandler extends SchemaRequ
}
}
}
-
+
private void checkResources(final String schemaName, final CreateReadwriteSplittingRuleStatement sqlStatement) {
Collection<String> notExistResources = getResources(sqlStatement).stream().filter(each -> !this.isValidResource(schemaName, each)).collect(Collectors.toList());
if (!notExistResources.isEmpty()) {
throw new ResourceNotExistedException(schemaName, notExistResources);
}
}
-
+
private void checkLoadBalancers(final CreateReadwriteSplittingRuleStatement sqlStatement) {
- Collection<String> invalidLoadBalances = sqlStatement.getReadwriteSplittingRules().stream().map(each -> each.getLoadBalancer()).distinct()
+ Collection<String> invalidLoadBalances = sqlStatement.getReadwriteSplittingRules().stream().map(ReadwriteSplittingRuleSegment::getLoadBalancer).distinct()
.filter(each -> !TypedSPIRegistry.findRegisteredService(ReplicaLoadBalanceAlgorithm.class, each, new Properties()).isPresent())
.collect(Collectors.toList());
if (!invalidLoadBalances.isEmpty()) {
throw new InvalidLoadBalancersException(invalidLoadBalances);
}
}
-
+
private Collection<String> getResources(final CreateReadwriteSplittingRuleStatement sqlStatement) {
Collection<String> result = new LinkedHashSet<>();
sqlStatement.getReadwriteSplittingRules().stream().filter(each -> Strings.isNullOrEmpty(each.getAutoAwareResource())).forEach(each -> {
@@ -110,21 +110,21 @@ public final class CreateReadwriteSplittingRuleBackendHandler extends SchemaRequ
});
return result;
}
-
+
private boolean isValidResource(final String schemaName, final String resourceName) {
return Objects.nonNull(ProxyContext.getInstance().getMetaData(schemaName).getResource())
&& ProxyContext.getInstance().getMetaData(schemaName).getResource().getDataSources().containsKey(resourceName);
}
-
+
private Optional<ReadwriteSplittingRuleConfiguration> getReadwriteSplittingRuleConfiguration(final String schemaName) {
return ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations().stream()
.filter(each -> each instanceof ReadwriteSplittingRuleConfiguration).map(each -> (ReadwriteSplittingRuleConfiguration) each).findAny();
}
-
+
private Collection<String> getRuleNames(final ReadwriteSplittingRuleConfiguration readwriteSplittingRuleConfiguration) {
return readwriteSplittingRuleConfiguration.getDataSources().stream().map(ReadwriteSplittingDataSourceRuleConfiguration::getName).collect(Collectors.toList());
}
-
+
private void create(final String schemaName, final CreateReadwriteSplittingRuleStatement sqlStatement) {
YamlReadwriteSplittingRuleConfiguration yamlReadwriteSplittingRuleConfiguration = ReadwriteSplittingRuleStatementConverter.convert(sqlStatement);
ReadwriteSplittingRuleConfiguration createdReadwriteSplittingRuleConfiguration = new YamlRuleConfigurationSwapperEngine()
@@ -138,7 +138,7 @@ public final class CreateReadwriteSplittingRuleBackendHandler extends SchemaRequ
ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations().add(createdReadwriteSplittingRuleConfiguration);
}
}
-
+
private void post(final String schemaName) {
ShardingSphereEventBus.getInstance().post(new RuleConfigurationsAlteredEvent(schemaName,
ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations()));
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateShardingBindingTableRulesBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateShardingBindingTableRulesBackendHandler.java
index f202e3a..0604d1c 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateShardingBindingTableRulesBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateShardingBindingTableRulesBackendHandler.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.impl;
import com.google.common.base.Splitter;
import org.apache.shardingsphere.distsql.parser.statement.rdl.create.impl.CreateShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
@@ -73,7 +73,7 @@ public final class CreateShardingBindingTableRulesBackendHandler extends SchemaR
throw new ShardingTableRuleNotExistedException(schemaName, invalidBindingTables);
}
}
-
+
private Collection<String> getLogicTables(final String schemaName) {
ShardingRuleConfiguration shardingRuleConfiguration = getShardingRuleConfiguration(schemaName);
Collection<String> existLogicTables = new HashSet<>();
@@ -81,7 +81,7 @@ public final class CreateShardingBindingTableRulesBackendHandler extends SchemaR
existLogicTables.addAll(shardingRuleConfiguration.getAutoTables().stream().map(ShardingAutoTableRuleConfiguration::getLogicTable).collect(Collectors.toSet()));
return existLogicTables;
}
-
+
private ShardingRuleConfiguration getShardingRuleConfiguration(final String schemaName) {
Optional<ShardingRuleConfiguration> shardingRuleConfig = ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations().stream()
.filter(each -> each instanceof ShardingRuleConfiguration).map(each -> (ShardingRuleConfiguration) each).findFirst();
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateShardingBroadcastTableRulesBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateShardingBroadcastTableRulesBackendHandler.java
index ca8029c..9235c6e 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateShardingBroadcastTableRulesBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateShardingBroadcastTableRulesBackendHandler.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.impl;
import org.apache.shardingsphere.distsql.parser.statement.rdl.create.impl.CreateShardingBroadcastTableRulesStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateShardingTableRuleBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateShardingTableRuleBackendHandler.java
index 82f69fb..11bf2f0 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateShardingTableRuleBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/CreateShardingTableRuleBackendHandler.java
@@ -17,8 +17,9 @@
package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.impl;
+import org.apache.shardingsphere.distsql.parser.segment.TableRuleSegment;
import org.apache.shardingsphere.distsql.parser.statement.rdl.create.impl.CreateShardingTableRuleStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapperEngine;
import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
@@ -32,6 +33,7 @@ import org.apache.shardingsphere.sharding.converter.ShardingRuleStatementConvert
import java.util.Collection;
import java.util.Collections;
+import java.util.Map.Entry;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
@@ -55,14 +57,14 @@ public final class CreateShardingTableRuleBackendHandler extends SchemaRequiredB
private void check(final String schemaName, final CreateShardingTableRuleStatement sqlStatement) {
Collection<String> existLogicTables = getLogicTables(schemaName);
- Set<String> duplicateTableNames = sqlStatement.getTables().stream().collect(Collectors.toMap(each -> each.getLogicTable(), each -> 1, (a, b) -> a + b))
- .entrySet().stream().filter(entry -> entry.getValue() > 1).map(entry -> entry.getKey()).collect(Collectors.toSet());
- duplicateTableNames.addAll(sqlStatement.getTables().stream().map(each -> each.getLogicTable()).filter(existLogicTables::contains).collect(Collectors.toSet()));
+ Set<String> duplicateTableNames = sqlStatement.getTables().stream().collect(Collectors.toMap(TableRuleSegment::getLogicTable, each -> 1, Integer::sum))
+ .entrySet().stream().filter(entry -> entry.getValue() > 1).map(Entry::getKey).collect(Collectors.toSet());
+ duplicateTableNames.addAll(sqlStatement.getTables().stream().map(TableRuleSegment::getLogicTable).filter(existLogicTables::contains).collect(Collectors.toSet()));
if (!duplicateTableNames.isEmpty()) {
throw new DuplicateTablesException(duplicateTableNames);
}
}
-
+
private void create(final String schemaName, final CreateShardingTableRuleStatement sqlStatement) {
ShardingRuleConfiguration shardingRuleConfiguration = (ShardingRuleConfiguration) new YamlRuleConfigurationSwapperEngine()
.swapToRuleConfigurations(Collections.singleton(ShardingRuleStatementConverter.convert(sqlStatement))).iterator().next();
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropDatabaseBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropDatabaseBackendHandler.java
index 4a08353..0c551b0 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropDatabaseBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropDatabaseBackendHandler.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.impl;
import com.google.common.base.Strings;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.metadata.MetaDataDroppedEvent;
+import org.apache.shardingsphere.governance.core.registry.metadata.event.MetaDataDroppedEvent;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
@@ -36,7 +36,7 @@ import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropDatabas
public final class DropDatabaseBackendHandler implements TextProtocolBackendHandler {
private final DropDatabaseStatement sqlStatement;
-
+
private final BackendConnection backendConnection;
@Override
@@ -54,7 +54,7 @@ public final class DropDatabaseBackendHandler implements TextProtocolBackendHand
throw new DBDropExistsException(sqlStatement.getDatabaseName());
}
}
-
+
private boolean isDropCurrentDatabase(final String databaseName) {
return !Strings.isNullOrEmpty(backendConnection.getSchemaName())
&& backendConnection.getSchemaName().equals(databaseName);
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropDatabaseDiscoveryRuleBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropDatabaseDiscoveryRuleBackendHandler.java
index 916b2e8..742ca75 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropDatabaseDiscoveryRuleBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropDatabaseDiscoveryRuleBackendHandler.java
@@ -21,7 +21,7 @@ import org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleCon
import org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration;
import org.apache.shardingsphere.dbdiscovery.common.yaml.config.YamlDatabaseDiscoveryRuleConfiguration;
import org.apache.shardingsphere.distsql.parser.statement.rdl.drop.impl.DropDatabaseDiscoveryRuleStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapperEngine;
@@ -41,7 +41,7 @@ import java.util.stream.Collectors;
* Drop database discovery rule backend handler.
*/
public final class DropDatabaseDiscoveryRuleBackendHandler extends SchemaRequiredBackendHandler<DropDatabaseDiscoveryRuleStatement> {
-
+
public DropDatabaseDiscoveryRuleBackendHandler(final DropDatabaseDiscoveryRuleStatement sqlStatement, final BackendConnection backendConnection) {
super(sqlStatement, backendConnection);
}
@@ -57,7 +57,7 @@ public final class DropDatabaseDiscoveryRuleBackendHandler extends SchemaRequire
.isEmpty() ? Collections.emptyList() : Collections.singletonList(yamlDatabaseDiscoveryRuleConfiguration)));
return new UpdateResponseHeader(sqlStatement);
}
-
+
private DatabaseDiscoveryRuleConfiguration getDatabaseDiscoveryRuleConfiguration(final String schemaName, final Collection<String> droppedRuleNames) {
Optional<DatabaseDiscoveryRuleConfiguration> ruleConfig = ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations().stream()
.filter(each -> each instanceof DatabaseDiscoveryRuleConfiguration).map(each -> (DatabaseDiscoveryRuleConfiguration) each).findFirst();
@@ -66,7 +66,7 @@ public final class DropDatabaseDiscoveryRuleBackendHandler extends SchemaRequire
}
return ruleConfig.get();
}
-
+
private YamlDatabaseDiscoveryRuleConfiguration getYamlDatabaseDiscoveryRuleConfiguration(final DatabaseDiscoveryRuleConfiguration databaseDiscoveryRuleConfiguration) {
return new YamlRuleConfigurationSwapperEngine()
.swapToYamlRuleConfigurations(Collections.singletonList(databaseDiscoveryRuleConfiguration)).stream()
@@ -80,7 +80,7 @@ public final class DropDatabaseDiscoveryRuleBackendHandler extends SchemaRequire
throw new DatabaseDiscoveryRulesNotExistedException(schemaName, notExistedRuleNames);
}
}
-
+
private void drop(final YamlDatabaseDiscoveryRuleConfiguration yamlDatabaseDiscoveryRuleConfiguration, final DropDatabaseDiscoveryRuleStatement sqlStatement) {
for (String each : sqlStatement.getRuleNames()) {
yamlDatabaseDiscoveryRuleConfiguration.getDiscoveryTypes()
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropEncryptRuleBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropEncryptRuleBackendHandler.java
index 006b9d0..2dd736c 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropEncryptRuleBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropEncryptRuleBackendHandler.java
@@ -21,7 +21,7 @@ import org.apache.shardingsphere.distsql.parser.statement.rdl.drop.impl.DropEncr
import org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
import org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration;
import org.apache.shardingsphere.encrypt.yaml.config.YamlEncryptRuleConfiguration;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapperEngine;
@@ -41,7 +41,7 @@ import java.util.stream.Collectors;
* Drop encrypt rule backend handler.
*/
public final class DropEncryptRuleBackendHandler extends SchemaRequiredBackendHandler<DropEncryptRuleStatement> {
-
+
public DropEncryptRuleBackendHandler(final DropEncryptRuleStatement sqlStatement, final BackendConnection backendConnection) {
super(sqlStatement, backendConnection);
}
@@ -70,14 +70,14 @@ public final class DropEncryptRuleBackendHandler extends SchemaRequiredBackendHa
throw new EncryptRulesNotExistedException(schemaName, notExistedTables);
}
}
-
+
private void drop(final YamlEncryptRuleConfiguration yamlEncryptRuleConfiguration, final Collection<String> droppedTables) {
for (String each : droppedTables) {
dropEncryptors(each, yamlEncryptRuleConfiguration);
yamlEncryptRuleConfiguration.getTables().remove(each);
}
}
-
+
private void dropEncryptors(final String droppedTable, final YamlEncryptRuleConfiguration yamlEncryptRuleConfiguration) {
yamlEncryptRuleConfiguration.getTables().get(droppedTable).getColumns()
.values().forEach(value -> yamlEncryptRuleConfiguration.getEncryptors().remove(value.getEncryptorName()));
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropReadwriteSplittingRuleBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropReadwriteSplittingRuleBackendHandler.java
index 61653b0..e92c474 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropReadwriteSplittingRuleBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropReadwriteSplittingRuleBackendHandler.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.impl;
import org.apache.shardingsphere.distsql.parser.statement.rdl.drop.impl.DropReadwriteSplittingRuleStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapperEngine;
@@ -41,7 +41,7 @@ import java.util.stream.Collectors;
* Drop readwrite splitting rule backend handler.
*/
public final class DropReadwriteSplittingRuleBackendHandler extends SchemaRequiredBackendHandler<DropReadwriteSplittingRuleStatement> {
-
+
public DropReadwriteSplittingRuleBackendHandler(final DropReadwriteSplittingRuleStatement sqlStatement, final BackendConnection backendConnection) {
super(sqlStatement, backendConnection);
}
@@ -58,7 +58,7 @@ public final class DropReadwriteSplittingRuleBackendHandler extends SchemaRequir
.isEmpty() ? Collections.emptyList() : Collections.singletonList(yamlReadwriteSplittingRuleConfiguration)));
return new UpdateResponseHeader(sqlStatement);
}
-
+
private ReadwriteSplittingRuleConfiguration getReadwriteSplittingRuleConfiguration(final String schemaName, final Collection<String> droppedRuleNames) {
Optional<ReadwriteSplittingRuleConfiguration> ruleConfig = ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations().stream()
.filter(each -> each instanceof ReadwriteSplittingRuleConfiguration).map(each -> (ReadwriteSplittingRuleConfiguration) each).findFirst();
@@ -67,7 +67,7 @@ public final class DropReadwriteSplittingRuleBackendHandler extends SchemaRequir
}
return ruleConfig.get();
}
-
+
private YamlReadwriteSplittingRuleConfiguration getYamlReadwriteSplittingRuleConfiguration(final ReadwriteSplittingRuleConfiguration readwriteSplittingRuleConfiguration) {
return new YamlRuleConfigurationSwapperEngine()
.swapToYamlRuleConfigurations(Collections.singletonList(readwriteSplittingRuleConfiguration)).stream()
@@ -81,7 +81,7 @@ public final class DropReadwriteSplittingRuleBackendHandler extends SchemaRequir
throw new ReadwriteSplittingRulesNotExistedException(schemaName, droppedRuleNames);
}
}
-
+
private void drop(final YamlReadwriteSplittingRuleConfiguration yamlConfig, final Collection<String> ruleNames) {
for (String each : ruleNames) {
yamlConfig.getLoadBalancers().remove(yamlConfig.getDataSources().get(each).getLoadBalancerName());
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropResourceBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropResourceBackendHandler.java
index b10c0f6..30f8d5b 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropResourceBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropResourceBackendHandler.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.impl;
import org.apache.shardingsphere.distsql.parser.statement.rdl.drop.impl.DropResourceStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.datasource.DataSourceAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.datasource.DataSourceAlteredEvent;
import org.apache.shardingsphere.infra.config.datasource.DataSourceConverter;
import org.apache.shardingsphere.infra.datanode.DataNode;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingBindingTableRulesBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingBindingTableRulesBackendHandler.java
index bf369c0..1e85859 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingBindingTableRulesBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingBindingTableRulesBackendHandler.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.impl;
import org.apache.shardingsphere.distsql.parser.statement.rdl.drop.impl.DropShardingBindingTableRulesStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
@@ -34,7 +34,7 @@ import java.util.Optional;
* Drop sharding binding table rules backend handler.
*/
public final class DropShardingBindingTableRulesBackendHandler extends SchemaRequiredBackendHandler<DropShardingBindingTableRulesStatement> {
-
+
public DropShardingBindingTableRulesBackendHandler(final DropShardingBindingTableRulesStatement sqlStatement, final BackendConnection backendConnection) {
super(sqlStatement, backendConnection);
}
@@ -52,7 +52,7 @@ public final class DropShardingBindingTableRulesBackendHandler extends SchemaReq
post(schemaName);
return new UpdateResponseHeader(sqlStatement);
}
-
+
private Optional<ShardingRuleConfiguration> getShardingRuleConfiguration(final String schemaName) {
return ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations().stream()
.filter(each -> each instanceof ShardingRuleConfiguration).map(each -> (ShardingRuleConfiguration) each).findFirst();
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingBroadcastTableRulesBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingBroadcastTableRulesBackendHandler.java
index 8e015ed..6abbee4 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingBroadcastTableRulesBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingBroadcastTableRulesBackendHandler.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.impl;
import org.apache.shardingsphere.distsql.parser.statement.rdl.drop.impl.DropShardingBroadcastTableRulesStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
@@ -34,7 +34,7 @@ import java.util.Optional;
* Drop sharding broadcast table rules backend handler.
*/
public final class DropShardingBroadcastTableRulesBackendHandler extends SchemaRequiredBackendHandler<DropShardingBroadcastTableRulesStatement> {
-
+
public DropShardingBroadcastTableRulesBackendHandler(final DropShardingBroadcastTableRulesStatement sqlStatement, final BackendConnection backendConnection) {
super(sqlStatement, backendConnection);
}
@@ -49,7 +49,7 @@ public final class DropShardingBroadcastTableRulesBackendHandler extends SchemaR
post(schemaName);
return new UpdateResponseHeader(sqlStatement);
}
-
+
private Optional<ShardingRuleConfiguration> getShardingRuleConfiguration(final String schemaName) {
return ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations().stream()
.filter(each -> each instanceof ShardingRuleConfiguration).map(each -> (ShardingRuleConfiguration) each).findFirst();
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingTableRuleBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingTableRuleBackendHandler.java
index b6707cb..1930361 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingTableRuleBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/impl/DropShardingTableRuleBackendHandler.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.impl;
import com.google.common.base.Splitter;
import org.apache.shardingsphere.distsql.parser.statement.rdl.drop.impl.DropShardingTableRuleStatement;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.RuleConfigurationsAlteredEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.RuleConfigurationsAlteredEvent;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
@@ -50,29 +50,29 @@ public final class DropShardingTableRuleBackendHandler extends SchemaRequiredBac
@Override
public ResponseHeader execute(final String schemaName, final DropShardingTableRuleStatement sqlStatement) {
Collection<String> tableNames = sqlStatement.getTableNames().stream().map(each -> each.getIdentifier().getValue()).collect(Collectors.toList());
- Optional<ShardingRuleConfiguration> shardingRuleConfiguration = getShardingRuleConfiguration(schemaName);
- check(schemaName, shardingRuleConfiguration, tableNames);
- drop(shardingRuleConfiguration.get(), tableNames);
+ Optional<ShardingRuleConfiguration> shardingRuleConfig = getShardingRuleConfiguration(schemaName);
+ if (!shardingRuleConfig.isPresent()) {
+ throw new ShardingTableRuleNotExistedException(schemaName, tableNames);
+ }
+ check(schemaName, shardingRuleConfig.get(), tableNames);
+ drop(shardingRuleConfig.get(), tableNames);
post(schemaName);
return new UpdateResponseHeader(sqlStatement);
}
- private void check(final String schemaName, final Optional<ShardingRuleConfiguration> shardingRuleConfiguration, final Collection<String> tableNames) {
- if (!shardingRuleConfiguration.isPresent()) {
- throw new ShardingTableRuleNotExistedException(schemaName, tableNames);
- }
- Collection<String> shardingTableNames = getShardingTables(shardingRuleConfiguration.get());
+ private void check(final String schemaName, final ShardingRuleConfiguration shardingRuleConfig, final Collection<String> tableNames) {
+ Collection<String> shardingTableNames = getShardingTables(shardingRuleConfig);
Collection<String> notExistedTableNames = tableNames.stream().filter(each -> !shardingTableNames.contains(each)).collect(Collectors.toList());
if (!notExistedTableNames.isEmpty()) {
throw new ShardingTableRuleNotExistedException(schemaName, notExistedTableNames);
}
- Collection<String> bindingTables = getBindingTables(shardingRuleConfiguration.get());
+ Collection<String> bindingTables = getBindingTables(shardingRuleConfig);
Collection<String> usedTableNames = tableNames.stream().filter(bindingTables::contains).collect(Collectors.toList());
if (!usedTableNames.isEmpty()) {
throw new ShardingTableRulesInUsedException(usedTableNames);
}
}
-
+
private Collection<String> getShardingTables(final ShardingRuleConfiguration shardingRuleConfiguration) {
Collection<String> result = new LinkedList<>();
result.addAll(shardingRuleConfiguration.getTables().stream().map(ShardingTableRuleConfiguration::getLogicTable).collect(Collectors.toList()));
@@ -91,18 +91,18 @@ public final class DropShardingTableRuleBackendHandler extends SchemaRequiredBac
shardingRuleConfig.getTables().removeAll(shardingRuleConfig.getTables().stream().filter(each -> tableName.equalsIgnoreCase(each.getLogicTable())).collect(Collectors.toList()));
shardingRuleConfig.getAutoTables().removeAll(shardingRuleConfig.getAutoTables().stream().filter(each -> tableName.equalsIgnoreCase(each.getLogicTable())).collect(Collectors.toList()));
}
-
+
private Optional<ShardingRuleConfiguration> getShardingRuleConfiguration(final String schemaName) {
return ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations().stream()
.filter(each -> each instanceof ShardingRuleConfiguration).map(each -> (ShardingRuleConfiguration) each).findFirst();
}
-
+
private Collection<String> getBindingTables(final ShardingRuleConfiguration shardingRuleConfiguration) {
Collection<String> bindTables = new LinkedHashSet<>();
shardingRuleConfiguration.getBindingTableGroups().forEach(each -> bindTables.addAll(Splitter.on(",").splitToList(each)));
return bindTables;
}
-
+
private void post(final String schemaName) {
// TODO should use RuleConfigurationsChangeEvent
ShardingSphereEventBus.getInstance().post(new RuleConfigurationsAlteredEvent(schemaName, ProxyContext.getInstance().getMetaData(schemaName).getRuleMetaData().getConfigurations()));
diff --git a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializerTest.java b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializerTest.java
index efbd02f..8f20d17 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializerTest.java
@@ -20,8 +20,8 @@ package org.apache.shardingsphere.proxy.initializer.impl;
import lombok.SneakyThrows;
import org.apache.shardingsphere.governance.context.metadata.GovernanceMetaDataContexts;
import org.apache.shardingsphere.governance.context.transaction.GovernanceTransactionContexts;
-import org.apache.shardingsphere.governance.core.registry.service.config.node.GlobalNode;
-import org.apache.shardingsphere.governance.core.registry.service.config.node.SchemaMetadataNode;
+import org.apache.shardingsphere.governance.core.registry.config.service.node.GlobalNode;
+import org.apache.shardingsphere.governance.core.registry.config.service.node.SchemaMetadataNode;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
import org.apache.shardingsphere.infra.config.datasource.DataSourceParameter;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/api/ScalingWorker.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/api/ScalingWorker.java
index a6817b0..4f73125 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/api/ScalingWorker.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/api/ScalingWorker.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.scaling.core.api;
import com.google.common.eventbus.Subscribe;
import lombok.extern.slf4j.Slf4j;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.SwitchRuleConfigurationEvent;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.scaling.StartScalingEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.SwitchRuleConfigurationEvent;
+import org.apache.shardingsphere.governance.core.registry.cache.StartScalingEvent;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.scaling.core.config.HandleConfiguration;
import org.apache.shardingsphere.scaling.core.config.JobConfiguration;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/FinishedCheckJob.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/FinishedCheckJob.java
index 08eb72a..ee51962 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/FinishedCheckJob.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/FinishedCheckJob.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.scaling.core.job;
import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.elasticjob.api.ShardingContext;
import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
-import org.apache.shardingsphere.governance.core.registry.watcher.event.rule.SwitchRuleConfigurationEvent;
+import org.apache.shardingsphere.governance.core.registry.config.event.rule.SwitchRuleConfigurationEvent;
import org.apache.shardingsphere.infra.eventbus.ShardingSphereEventBus;
import org.apache.shardingsphere.scaling.core.api.GovernanceRepositoryAPI;
import org.apache.shardingsphere.scaling.core.api.ScalingAPI;