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 b488111 Refactor RegistryCenterRepositoryFactory (#10343)
b488111 is described below
commit b488111b2cc4f851214e3e1e4646048ad8445711
Author: Liang Zhang <[email protected]>
AuthorDate: Fri May 14 22:29:44 2021 +0800
Refactor RegistryCenterRepositoryFactory (#10343)
* Rename RegistryCenterRepositoryFactory
* Move package of RegistryCenterRepositoryFactory
---
.../governance/core/facade/GovernanceFacade.java | 12 ++++----
...e.java => RegistryCenterRepositoryFactory.java} | 34 ++++++++++------------
.../core/facade/GovernanceFacadeTest.java | 10 +++----
3 files changed, 26 insertions(+), 30 deletions(-)
diff --git
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacade.java
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacade.java
index a04309c..6bf04bd 100644
---
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacade.java
+++
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacade.java
@@ -18,10 +18,10 @@
package org.apache.shardingsphere.governance.core.facade;
import lombok.Getter;
-import
org.apache.shardingsphere.governance.core.facade.repository.RegistryCenterRepositoryFacade;
import org.apache.shardingsphere.governance.core.registry.RegistryCenter;
import
org.apache.shardingsphere.governance.core.registry.listener.GovernanceListenerManager;
import
org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
+import
org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import
org.apache.shardingsphere.infra.config.datasource.DataSourceConfiguration;
@@ -39,7 +39,7 @@ public final class GovernanceFacade implements AutoCloseable {
private boolean isOverwrite;
- private RegistryCenterRepositoryFacade repositoryFacade;
+ private RegistryCenterRepository registryCenterRepository;
@Getter
private RegistryCenter registryCenter;
@@ -54,9 +54,9 @@ public final class GovernanceFacade implements AutoCloseable {
*/
public void init(final GovernanceConfiguration config, final
Collection<String> schemaNames) {
isOverwrite = config.isOverwrite();
- repositoryFacade = new RegistryCenterRepositoryFacade(config);
- registryCenter = new
RegistryCenter(repositoryFacade.getRegistryCenterRepository());
- listenerManager = new
GovernanceListenerManager(repositoryFacade.getRegistryCenterRepository(),
schemaNames.isEmpty()
+ registryCenterRepository =
RegistryCenterRepositoryFactory.newInstance(config);
+ registryCenter = new RegistryCenter(registryCenterRepository);
+ listenerManager = new
GovernanceListenerManager(registryCenterRepository, schemaNames.isEmpty()
? registryCenter.getAllSchemaNames() :
Stream.of(registryCenter.getAllSchemaNames(),
schemaNames).flatMap(Collection::stream).distinct().collect(Collectors.toList()));
}
@@ -89,6 +89,6 @@ public final class GovernanceFacade implements AutoCloseable {
@Override
public void close() {
- repositoryFacade.close();
+ registryCenterRepository.close();
}
}
diff --git
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/facade/repository/RegistryCenterRepositoryFacade.java
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/facade/RegistryCenterRepositoryFactory.java
similarity index 73%
rename from
shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/facade/repository/RegistryCenterRepositoryFacade.java
rename to
shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/facade/RegistryCenterRepositoryFactory.java
index 714fbe3..c4da317 100644
---
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/facade/repository/RegistryCenterRepositoryFacade.java
+++
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/facade/RegistryCenterRepositoryFactory.java
@@ -15,42 +15,38 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.governance.core.facade.repository;
+package org.apache.shardingsphere.governance.core.facade;
import com.google.common.base.Preconditions;
-import lombok.Getter;
-import
org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
-import
org.apache.shardingsphere.governance.repository.api.config.RegistryCenterConfiguration;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
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;
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.infra.spi.typed.TypedSPIRegistry;
/**
- * Registry center repository facade.
+ * Registry center repository factory.
*/
-@Getter
-public final class RegistryCenterRepositoryFacade implements AutoCloseable {
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class RegistryCenterRepositoryFactory {
static {
ShardingSphereServiceLoader.register(RegistryCenterRepository.class);
}
- private final RegistryCenterRepository registryCenterRepository;
-
- public RegistryCenterRepositoryFacade(final GovernanceConfiguration
config) {
- registryCenterRepository = createRegistryCenterRepository(config);
- }
-
- private RegistryCenterRepository createRegistryCenterRepository(final
GovernanceConfiguration config) {
+ /**
+ * Create new instance of Registry center repository.
+ *
+ * @param config governance configuration
+ * @return new instance of Registry center repository
+ */
+ public static RegistryCenterRepository newInstance(final
GovernanceConfiguration config) {
RegistryCenterConfiguration registryCenterConfig =
config.getRegistryCenterConfiguration();
Preconditions.checkNotNull(registryCenterConfig, "Registry center
configuration cannot be null.");
RegistryCenterRepository result =
TypedSPIRegistry.getRegisteredService(RegistryCenterRepository.class,
registryCenterConfig.getType(), registryCenterConfig.getProps());
result.init(config.getName(), registryCenterConfig);
return result;
}
-
- @Override
- public void close() {
- registryCenterRepository.close();
- }
}
diff --git
a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacadeTest.java
b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacadeTest.java
index e743f8c..1c939a3 100644
---
a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacadeTest.java
+++
b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/facade/GovernanceFacadeTest.java
@@ -17,12 +17,12 @@
package org.apache.shardingsphere.governance.core.facade;
-import
org.apache.shardingsphere.governance.core.facade.repository.RegistryCenterRepositoryFacade;
import org.apache.shardingsphere.governance.core.facade.util.FieldUtil;
import org.apache.shardingsphere.governance.core.registry.RegistryCenter;
import
org.apache.shardingsphere.governance.core.registry.listener.GovernanceListenerManager;
-import
org.apache.shardingsphere.governance.repository.api.config.RegistryCenterConfiguration;
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;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import
org.apache.shardingsphere.infra.config.datasource.DataSourceConfiguration;
import org.junit.Before;
@@ -46,7 +46,7 @@ public final class GovernanceFacadeTest {
private final GovernanceFacade governanceFacade = new GovernanceFacade();
@Mock
- private RegistryCenterRepositoryFacade repositoryFacade;
+ private RegistryCenterRepository registryCenterRepository;
@Mock
private RegistryCenter registryCenter;
@@ -58,7 +58,7 @@ public final class GovernanceFacadeTest {
public void setUp() {
GovernanceConfiguration governanceConfig = new
GovernanceConfiguration("test_name", new RegistryCenterConfiguration("ALL",
"127.0.0.1", new Properties()), false);
governanceFacade.init(governanceConfig, Arrays.asList("sharding_db",
"replica_query_db"));
- FieldUtil.setField(governanceFacade, "repositoryFacade",
repositoryFacade);
+ FieldUtil.setField(governanceFacade, "registryCenterRepository",
registryCenterRepository);
FieldUtil.setField(governanceFacade, "registryCenter", registryCenter);
FieldUtil.setField(governanceFacade, "listenerManager",
listenerManager);
}
@@ -88,6 +88,6 @@ public final class GovernanceFacadeTest {
@Test
public void assertClose() {
governanceFacade.close();
- verify(repositoryFacade).close();
+ verify(registryCenterRepository).close();
}
}