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();
     }
 }

Reply via email to