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 1ee97b7  Pull up getProxyConfiguration to AbstractBootstrapInitializer 
(#11625)
1ee97b7 is described below

commit 1ee97b786e15bff2219e3135d019e321fdcea25d
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Aug 3 23:34:21 2021 +0800

    Pull up getProxyConfiguration to AbstractBootstrapInitializer (#11625)
    
    * Add todo
    
    * Pull up getProxyConfiguration to AbstractBootstrapInitializer
---
 .../GovernanceShardingSphereDataSource.java        |   1 +
 .../org/apache/shardingsphere/proxy/Bootstrap.java |   4 +-
 .../proxy/initializer/BootstrapInitializer.java    |   8 ++
 .../impl/AbstractBootstrapInitializer.java         |  13 +-
 .../impl/GovernanceBootstrapInitializer.java       |  22 +--
 .../impl/StandardBootstrapInitializer.java         |  11 +-
 .../impl/AbstractBootstrapInitializerTest.java     |  47 +++----
 .../impl/GovernanceBootstrapInitializerTest.java   | 143 -------------------
 .../impl/StandardBootstrapInitializerTest.java     | 153 ---------------------
 .../resources/conf/reg_center/data-sources.yaml    |  39 ------
 .../src/test/resources/conf/reg_center/props.yaml  |  19 ---
 .../resources/conf/reg_center/sharding-rule.yaml   |  39 ------
 12 files changed, 63 insertions(+), 436 deletions(-)

diff --git 
a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
 
b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
index 9b7ac53..b7e4d51 100644
--- 
a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
+++ 
b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
@@ -76,6 +76,7 @@ public final class GovernanceShardingSphereDataSource extends 
AbstractUnsupporte
     
     public GovernanceShardingSphereDataSource(final Map<String, DataSource> 
dataSourceMap, final Collection<RuleConfiguration> ruleConfigs, 
                                               final Properties props, final 
GovernanceConfiguration governanceConfig) throws SQLException {
+        // TODO new GovernanceRule from SPI
         governanceRule = new GovernanceRule(governanceConfig);
         DistMetaDataPersistService persistService = new 
DistMetaDataPersistService(governanceRule.getRegistryCenter().getRepository());
         metaDataContexts = new 
GovernanceMetaDataContexts(createMetaDataContexts(persistService, 
dataSourceMap, ruleConfigs, props), persistService, 
governanceRule.getRegistryCenter());
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/Bootstrap.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/Bootstrap.java
index 0346dc9..950035c 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/Bootstrap.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/Bootstrap.java
@@ -54,7 +54,9 @@ public final class Bootstrap {
     public static void main(final String[] args) throws IOException, 
SQLException {
         BootstrapArguments bootstrapArgs = new BootstrapArguments(args);
         YamlProxyConfiguration yamlConfig = 
ProxyConfigurationLoader.load(bootstrapArgs.getConfigurationPath());
-        createBootstrapInitializer(yamlConfig).init(yamlConfig, 
bootstrapArgs.getPort());
+        BootstrapInitializer initializer = 
createBootstrapInitializer(yamlConfig);
+        initializer.init(yamlConfig, bootstrapArgs.getPort());
+        initializer.afterInit(yamlConfig);
     }
     
     private static BootstrapInitializer createBootstrapInitializer(final 
YamlProxyConfiguration yamlConfig) {
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/BootstrapInitializer.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/BootstrapInitializer.java
index 8fd1c24..d8f87b5 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/BootstrapInitializer.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/BootstrapInitializer.java
@@ -34,4 +34,12 @@ public interface BootstrapInitializer {
      * @throws SQLException SQL exception
      */
     void init(YamlProxyConfiguration yamlConfig, int port) throws SQLException;
+    
+    /**
+     * Called after Initialize.
+     * 
+     * @param yamlConfig YAML proxy configuration
+     */
+    default void afterInit(YamlProxyConfiguration yamlConfig) {
+    }
 }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializer.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializer.java
index 1e16f52..5aa97c3 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializer.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializer.java
@@ -39,6 +39,7 @@ import 
org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
 import 
org.apache.shardingsphere.proxy.config.util.DataSourceParameterConverter;
 import org.apache.shardingsphere.proxy.config.yaml.YamlProxyRuleConfiguration;
 import 
org.apache.shardingsphere.proxy.config.yaml.YamlProxyServerConfiguration;
+import 
org.apache.shardingsphere.proxy.config.yaml.swapper.YamlProxyConfigurationSwapper;
 import org.apache.shardingsphere.proxy.database.DatabaseServerInfo;
 import org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy;
 import org.apache.shardingsphere.proxy.initializer.BootstrapInitializer;
@@ -85,6 +86,16 @@ public abstract class AbstractBootstrapInitializer 
implements BootstrapInitializ
         shardingSphereProxy.start(port);
     }
     
+    private ProxyConfiguration getProxyConfiguration(final 
YamlProxyConfiguration yamlConfig) {
+        persistConfigurations(yamlConfig, isOverwrite(yamlConfig));
+        // TODO remove isEmpty judge after LocalDistMetaDataPersistRepository 
finished
+        ProxyConfiguration result = loadProxyConfiguration();
+        if (null != yamlConfig.getServerConfiguration().getGovernance()) {
+            return result;
+        }
+        return (result.getSchemaDataSources().isEmpty()) ? new 
YamlProxyConfigurationSwapper().swap(yamlConfig) : result;
+    }
+    
     private MetaDataContexts createMetaDataContexts(final ProxyConfiguration 
proxyConfig) throws SQLException {
         Map<String, Map<String, DataSource>> dataSourcesMap = 
createDataSourcesMap(proxyConfig.getSchemaDataSources());
         return new MetaDataContextsBuilder(dataSourcesMap, 
proxyConfig.getSchemaRules(), proxyConfig.getGlobalRules(), 
proxyConfig.getProps()).build(distMetaDataPersistService);
@@ -144,7 +155,7 @@ public abstract class AbstractBootstrapInitializer 
implements BootstrapInitializ
         return Optional.of(result);
     }
     
-    protected abstract ProxyConfiguration 
getProxyConfiguration(YamlProxyConfiguration yamlConfig);
+    protected abstract boolean isOverwrite(YamlProxyConfiguration yamlConfig);
     
     protected abstract MetaDataContexts 
decorateMetaDataContexts(MetaDataContexts metaDataContexts);
     
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
index 9519c6b..922873e 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
@@ -24,7 +24,6 @@ import 
org.apache.shardingsphere.governance.core.yaml.pojo.YamlGovernanceConfigu
 import 
org.apache.shardingsphere.governance.core.yaml.swapper.GovernanceConfigurationYamlSwapper;
 import org.apache.shardingsphere.infra.context.metadata.MetaDataContexts;
 import 
org.apache.shardingsphere.infra.context.metadata.impl.StandardMetaDataContexts;
-import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
 import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
 import org.apache.shardingsphere.scaling.core.api.ScalingWorker;
 import org.apache.shardingsphere.scaling.core.config.ScalingContext;
@@ -50,15 +49,8 @@ public final class GovernanceBootstrapInitializer extends 
AbstractBootstrapIniti
     }
     
     @Override
-    protected ProxyConfiguration getProxyConfiguration(final 
YamlProxyConfiguration yamlConfig) {
-        persistConfigurations(yamlConfig, 
yamlConfig.getServerConfiguration().getGovernance().isOverwrite());
-        
governanceRule.getRegistryCenter().onlineInstance(getSchemaNames(yamlConfig));
-        return loadProxyConfiguration();
-    }
-    
-    private Set<String> getSchemaNames(final YamlProxyConfiguration 
yamlConfig) {
-        return 
Stream.of(getDistMetaDataPersistService().getSchemaMetaDataService().loadAllNames(),
 yamlConfig.getRuleConfigurations().keySet()).flatMap(Collection::stream)
-                .collect(Collectors.toSet());
+    protected boolean isOverwrite(final YamlProxyConfiguration yamlConfig) {
+        return 
yamlConfig.getServerConfiguration().getGovernance().isOverwrite();
     }
     
     @Override
@@ -82,4 +74,14 @@ public final class GovernanceBootstrapInitializer extends 
AbstractBootstrapIniti
         ScalingContext.getInstance().init(scalingConfig);
         ScalingWorker.init();
     }
+    
+    @Override
+    public void afterInit(final YamlProxyConfiguration yamlConfig) {
+        
governanceRule.getRegistryCenter().onlineInstance(getSchemaNames(yamlConfig));
+    }
+    
+    private Set<String> getSchemaNames(final YamlProxyConfiguration 
yamlConfig) {
+        return 
Stream.of(getDistMetaDataPersistService().getSchemaMetaDataService().loadAllNames(),
 yamlConfig.getRuleConfigurations().keySet()).flatMap(Collection::stream)
+                .collect(Collectors.toSet());
+    }
 }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/StandardBootstrapInitializer.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/StandardBootstrapInitializer.java
index f3a98bf..ba70442 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/StandardBootstrapInitializer.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/StandardBootstrapInitializer.java
@@ -19,9 +19,7 @@ package org.apache.shardingsphere.proxy.initializer.impl;
 
 import 
org.apache.shardingsphere.infra.config.persist.repository.DistMetaDataPersistRepository;
 import org.apache.shardingsphere.infra.context.metadata.MetaDataContexts;
-import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
 import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
-import 
org.apache.shardingsphere.proxy.config.yaml.swapper.YamlProxyConfigurationSwapper;
 import org.apache.shardingsphere.scaling.core.config.ScalingContext;
 import org.apache.shardingsphere.transaction.context.TransactionContexts;
 
@@ -35,12 +33,9 @@ public final class StandardBootstrapInitializer extends 
AbstractBootstrapInitial
     }
     
     @Override
-    protected ProxyConfiguration getProxyConfiguration(final 
YamlProxyConfiguration yamlConfig) {
-        // TODO get overwrite from rule 
-        persistConfigurations(yamlConfig, true);
-        // TODO remove isEmpty judge after LocalDistMetaDataPersistRepository 
finished
-        ProxyConfiguration result = loadProxyConfiguration();
-        return (result.getSchemaDataSources().isEmpty()) ? new 
YamlProxyConfigurationSwapper().swap(yamlConfig) : result;
+    protected boolean isOverwrite(final YamlProxyConfiguration yamlConfig) {
+        // TODO get overwrite from rule
+        return true;
     }
     
     @Override
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializerTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializerTest.java
index a50c6e4..66163bc 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializerTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/initializer/impl/AbstractBootstrapInitializerTest.java
@@ -19,35 +19,34 @@ package org.apache.shardingsphere.proxy.initializer.impl;
 
 import lombok.Getter;
 import lombok.Setter;
+import lombok.SneakyThrows;
+import 
org.apache.shardingsphere.infra.config.persist.DistMetaDataPersistService;
 import 
org.apache.shardingsphere.infra.config.properties.ConfigurationProperties;
 import 
org.apache.shardingsphere.infra.config.properties.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.context.metadata.MetaDataContexts;
-import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
 import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
 import 
org.apache.shardingsphere.proxy.config.yaml.YamlProxyServerConfiguration;
 import org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy;
 import org.apache.shardingsphere.transaction.context.TransactionContexts;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
 import java.sql.SQLException;
+import java.util.Collections;
 import java.util.Properties;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.CALLS_REAL_METHODS;
+import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-@Ignore
 public abstract class AbstractBootstrapInitializerTest {
     
     @Getter
@@ -61,37 +60,39 @@ public abstract class AbstractBootstrapInitializerTest {
     }
     
     protected void doEnvironmentPrepare() {
-    
     }
     
     protected abstract void prepareSpecifiedInitializer();
     
     @Test
-    public final void assertInit() throws NoSuchFieldException, 
IllegalAccessException, SQLException {
-        Field field = 
AbstractBootstrapInitializer.class.getDeclaredField("shardingSphereProxy");
-        field.setAccessible(true);
-        Field modifiersField = Field.class.getDeclaredField("modifiers");
-        modifiersField.setAccessible(true);
-        modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
-        AbstractBootstrapInitializer abstractBootstrapInitializer = 
mock(AbstractBootstrapInitializer.class, CALLS_REAL_METHODS);
+    public final void assertInit() throws SQLException {
+        AbstractBootstrapInitializer initializer = 
mock(AbstractBootstrapInitializer.class, CALLS_REAL_METHODS);
         ShardingSphereProxy shardingSphereProxy = 
mock(ShardingSphereProxy.class);
-        field.set(abstractBootstrapInitializer, shardingSphereProxy);
-        
doReturn(mock(ProxyConfiguration.class)).when(abstractBootstrapInitializer).getProxyConfiguration(any());
+        setFieldValue(initializer, "shardingSphereProxy", shardingSphereProxy);
+        DistMetaDataPersistService distMetaDataPersistService = 
mock(DistMetaDataPersistService.class, RETURNS_DEEP_STUBS);
+        
when(distMetaDataPersistService.getSchemaMetaDataService().loadAllNames()).thenReturn(Collections.emptyList());
+        setFieldValue(initializer, "distMetaDataPersistService", 
distMetaDataPersistService);
         MetaDataContexts metaDataContexts = mock(MetaDataContexts.class);
         ConfigurationProperties props = mock(ConfigurationProperties.class);
         
when(props.getValue(ConfigurationPropertyKey.XA_TRANSACTION_MANAGER_TYPE)).thenReturn("Atomikos");
-        
when(props.getValue(ConfigurationPropertyKey.PROXY_OPENTRACING_ENABLED)).thenReturn(Boolean.FALSE);
         when(metaDataContexts.getProps()).thenReturn(props);
-        
doReturn(metaDataContexts).when(abstractBootstrapInitializer).decorateMetaDataContexts(any());
-        
doReturn(mock(TransactionContexts.class)).when(abstractBootstrapInitializer).decorateTransactionContexts(any(),
 any());
-        YamlProxyConfiguration yamlConfig = mock(YamlProxyConfiguration.class);
+        
doReturn(metaDataContexts).when(initializer).decorateMetaDataContexts(any());
+        
doReturn(mock(TransactionContexts.class)).when(initializer).decorateTransactionContexts(any(),
 any());
+        YamlProxyConfiguration yamlConfig = mock(YamlProxyConfiguration.class, 
RETURNS_DEEP_STUBS);
+        
when(yamlConfig.getRuleConfigurations()).thenReturn(Collections.emptyMap());
         
when(yamlConfig.getServerConfiguration()).thenReturn(mock(YamlProxyServerConfiguration.class));
-        abstractBootstrapInitializer.init(yamlConfig, eq(anyInt()));
+        when(yamlConfig.getServerConfiguration().getProps()).thenReturn(new 
Properties());
+        initializer.init(yamlConfig, eq(anyInt()));
         verify(shardingSphereProxy).start(anyInt());
     }
     
-    protected final void assertProps(final Properties actual) {
-        assertThat(actual.getProperty("alpha-1"), is("alpha-A"));
-        assertThat(actual.getProperty("beta-2"), is("beta-B"));
+    @SneakyThrows(ReflectiveOperationException.class)
+    private void setFieldValue(final AbstractBootstrapInitializer initializer, 
final String fieldName, final Object fieldValue) {
+        Field field = 
AbstractBootstrapInitializer.class.getDeclaredField(fieldName);
+        field.setAccessible(true);
+        Field modifiersField = Field.class.getDeclaredField("modifiers");
+        modifiersField.setAccessible(true);
+        modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
+        field.set(initializer, fieldValue);
     }
 }
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 cf41c36..380d263 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
@@ -21,174 +21,31 @@ 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.rule.GovernanceRule;
-import org.apache.shardingsphere.infra.config.RuleConfiguration;
-import 
org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
-import org.apache.shardingsphere.infra.config.datasource.DataSourceParameter;
 import 
org.apache.shardingsphere.infra.config.persist.DistMetaDataPersistService;
-import org.apache.shardingsphere.infra.config.persist.node.GlobalNode;
-import org.apache.shardingsphere.infra.config.persist.node.SchemaMetadataNode;
 import 
org.apache.shardingsphere.infra.config.properties.ConfigurationProperties;
 import org.apache.shardingsphere.infra.context.metadata.MetaDataContexts;
 import 
org.apache.shardingsphere.infra.context.metadata.impl.StandardMetaDataContexts;
-import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
-import org.apache.shardingsphere.proxy.config.ProxyConfigurationLoader;
-import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
 import org.apache.shardingsphere.proxy.fixture.FixtureRegistryCenterRepository;
-import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
-import 
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
-import 
org.apache.shardingsphere.sharding.api.config.strategy.sharding.ShardingStrategyConfiguration;
-import 
org.apache.shardingsphere.sharding.api.config.strategy.sharding.StandardShardingStrategyConfiguration;
 import org.apache.shardingsphere.transaction.context.TransactionContexts;
 import org.apache.shardingsphere.transaction.core.XATransactionManagerType;
 import org.junit.Test;
 
-import java.io.IOException;
 import java.lang.reflect.Field;
-import java.net.URISyntaxException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.util.Collection;
-import java.util.Map;
 import java.util.Properties;
-import java.util.stream.Collectors;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 public final class GovernanceBootstrapInitializerTest extends 
AbstractBootstrapInitializerTest {
     
-    private static final String DATA_SOURCE_YAML = 
"conf/reg_center/data-sources.yaml";
-    
-    private static final String SHARDING_RULE_YAML = 
"conf/reg_center/sharding-rule.yaml";
-    
-    private static final String PROPS_YAML = "conf/reg_center/props.yaml";
-    
     private final FixtureRegistryCenterRepository registryCenterRepository = 
new FixtureRegistryCenterRepository();
     
     @Test
-    public void assertGetProxyConfiguration() throws IOException {
-        init();
-        YamlProxyConfiguration yamlProxyConfig = 
ProxyConfigurationLoader.load("/conf/reg_center/");
-        
assertProxyConfiguration(getInitializer().getProxyConfiguration(yamlProxyConfig));
-        close();
-    }
-    
-    private void init() {
-        registryCenterRepository.persist(GlobalNode.getPropsPath(), 
readYAML(PROPS_YAML));
-        
registryCenterRepository.persist(SchemaMetadataNode.getMetadataNodePath(), 
"db");
-        
registryCenterRepository.persist(SchemaMetadataNode.getMetadataDataSourcePath("db"),
 readYAML(DATA_SOURCE_YAML));
-        registryCenterRepository.persist(SchemaMetadataNode.getRulePath("db"), 
readYAML(SHARDING_RULE_YAML));
-    }
-    
-    @SneakyThrows({URISyntaxException.class, IOException.class})
-    private String readYAML(final String yamlFile) {
-        return 
Files.readAllLines(Paths.get(ClassLoader.getSystemResource(yamlFile).toURI())).stream().map(each
 -> each + System.lineSeparator()).collect(Collectors.joining());
-    }
-    
-    private void close() {
-        registryCenterRepository.close();
-    }
-    
-    @Test
-    public void assertGetProxyConfigurationFromLocalConfiguration() throws 
IOException {
-        YamlProxyConfiguration yamlProxyConfig = 
ProxyConfigurationLoader.load("/conf/local");
-        ProxyConfiguration actual = 
getInitializer().getProxyConfiguration(yamlProxyConfig);
-        assertNotNull(actual);
-        assertProxyConfiguration(actual);
-        close();
-    }
-    
-    private void assertProxyConfiguration(final ProxyConfiguration actual) {
-        assertNotNull(actual);
-        assertSchemaDataSources(actual.getSchemaDataSources());
-        assertSchemaRules(actual.getSchemaRules());
-        assertProps(actual.getProps());
-    }
-    
-    private void assertSchemaDataSources(final Map<String, Map<String, 
DataSourceParameter>> actual) {
-        assertThat(actual.size(), is(1));
-        assertTrue(actual.containsKey("db"));
-        Map<String, DataSourceParameter> dataSourceParameterMap = 
actual.get("db");
-        assertThat(dataSourceParameterMap.size(), is(2));
-        assertTrue(dataSourceParameterMap.containsKey("ds_0"));
-        assertDataSourceParameter(dataSourceParameterMap.get("ds_0"));
-        assertTrue(dataSourceParameterMap.containsKey("ds_1"));
-        assertDataSourceParameter(dataSourceParameterMap.get("ds_1"));
-    }
-    
-    private void assertDataSourceParameter(final DataSourceParameter actual) {
-        assertThat(actual.getUrl(), is("jdbc:fixturedb:xxx"));
-        assertThat(actual.getUsername(), is("root"));
-        assertThat(actual.getPassword(), is("pwd"));
-        assertTrue(actual.isReadOnly());
-        assertThat(actual.getConnectionTimeoutMilliseconds(), is(1000L));
-        assertThat(actual.getIdleTimeoutMilliseconds(), is(2000L));
-        assertThat(actual.getMaxLifetimeMilliseconds(), is(4000L));
-        assertThat(actual.getMaxPoolSize(), is(20));
-        assertThat(actual.getMinPoolSize(), is(10));
-    }
-    
-    private void assertSchemaRules(final Map<String, 
Collection<RuleConfiguration>> actual) {
-        assertThat(actual.size(), is(1));
-        assertTrue(actual.containsKey("db"));
-        Collection<RuleConfiguration> ruleConfigurations = actual.get("db");
-        assertThat(ruleConfigurations.size(), is(1));
-        assertRuleConfiguration(ruleConfigurations.iterator().next());
-    }
-    
-    private void assertRuleConfiguration(final RuleConfiguration actual) {
-        assertNotNull(actual);
-        assertThat(actual, instanceOf(ShardingRuleConfiguration.class));
-        ShardingRuleConfiguration shardingRule = (ShardingRuleConfiguration) 
actual;
-        assertShardingTableRules(shardingRule.getTables());
-        assertShardingAlgorithms(shardingRule.getShardingAlgorithms());
-    }
-    
-    private void assertShardingTableRules(final 
Collection<ShardingTableRuleConfiguration> shardingTableRules) {
-        assertNotNull(shardingTableRules);
-        assertThat(shardingTableRules.size(), is(1));
-        ShardingTableRuleConfiguration shardingTableRule = 
shardingTableRules.iterator().next();
-        assertNotNull(shardingTableRule);
-        assertThat(shardingTableRule.getLogicTable(), is("t_order"));
-        assertThat(shardingTableRule.getActualDataNodes(), 
is("ds_${0..1}.t_order_${0..1}"));
-        assertShardingStrategy(shardingTableRule.getTableShardingStrategy(), 
"order_id", "t_order_inline");
-        
assertShardingStrategy(shardingTableRule.getDatabaseShardingStrategy(), 
"user_id", "database_inline");
-        assertNull(shardingTableRule.getKeyGenerateStrategy());
-    }
-    
-    private void assertShardingStrategy(final ShardingStrategyConfiguration 
shardingStrategy, final String shardingColumn, final String 
shardingAlgorithmName) {
-        assertNotNull(shardingStrategy);
-        assertThat(shardingStrategy, 
instanceOf(StandardShardingStrategyConfiguration.class));
-        StandardShardingStrategyConfiguration standardShardingStrategy = 
(StandardShardingStrategyConfiguration) shardingStrategy;
-        assertThat(standardShardingStrategy.getShardingColumn(), 
is(shardingColumn));
-        assertThat(standardShardingStrategy.getShardingAlgorithmName(), 
is(shardingAlgorithmName));
-    }
-    
-    private void assertShardingAlgorithms(final Map<String, 
ShardingSphereAlgorithmConfiguration> shardingAlgorithms) {
-        assertNotNull(shardingAlgorithms);
-        assertThat(shardingAlgorithms.size(), is(2));
-        assertTrue(shardingAlgorithms.containsKey("database_inline"));
-        assertShardingAlgorithm(shardingAlgorithms.get("database_inline"), 
"ds_${user_id % 2}");
-        assertTrue(shardingAlgorithms.containsKey("t_order_inline"));
-        assertShardingAlgorithm(shardingAlgorithms.get("t_order_inline"), 
"t_order_${order_id % 2}");
-    }
-    
-    private void assertShardingAlgorithm(final 
ShardingSphereAlgorithmConfiguration shardingAlgorithm, final String 
expectedAlgorithmExpr) {
-        assertNotNull(shardingAlgorithm);
-        assertThat(shardingAlgorithm.getType(), is("INLINE"));
-        Properties props = shardingAlgorithm.getProps();
-        assertNotNull(props);
-        assertThat(props.getProperty("algorithm-expression"), 
is(expectedAlgorithmExpr));
-    }
-    
-    @Test
     public void assertDecorateMetaDataContexts() {
         StandardMetaDataContexts metaDataContexts = 
mock(StandardMetaDataContexts.class);
         when(metaDataContexts.getProps()).thenReturn(new 
ConfigurationProperties(new Properties()));
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/initializer/impl/StandardBootstrapInitializerTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/initializer/impl/StandardBootstrapInitializerTest.java
index 2161af1..cacc241 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/initializer/impl/StandardBootstrapInitializerTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/initializer/impl/StandardBootstrapInitializerTest.java
@@ -17,175 +17,22 @@
 
 package org.apache.shardingsphere.proxy.initializer.impl;
 
-import 
org.apache.shardingsphere.authority.api.config.AuthorityRuleConfiguration;
-import 
org.apache.shardingsphere.authority.yaml.config.YamlAuthorityRuleConfiguration;
-import org.apache.shardingsphere.infra.config.RuleConfiguration;
-import org.apache.shardingsphere.infra.config.datasource.DataSourceParameter;
 import 
org.apache.shardingsphere.infra.config.persist.repository.DistMetaDataPersistRepository;
 import org.apache.shardingsphere.infra.context.metadata.MetaDataContexts;
-import org.apache.shardingsphere.infra.metadata.user.Grantee;
-import org.apache.shardingsphere.infra.metadata.user.ShardingSphereUser;
-import org.apache.shardingsphere.infra.metadata.user.ShardingSphereUsers;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
-import org.apache.shardingsphere.infra.yaml.config.pojo.YamlRuleConfiguration;
-import 
org.apache.shardingsphere.infra.yaml.config.pojo.algorithm.YamlShardingSphereAlgorithmConfiguration;
 import 
org.apache.shardingsphere.infra.yaml.config.swapper.YamlRuleConfigurationSwapper;
-import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
-import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
-import org.apache.shardingsphere.proxy.config.yaml.YamlDataSourceParameter;
-import org.apache.shardingsphere.proxy.config.yaml.YamlProxyRuleConfiguration;
-import 
org.apache.shardingsphere.proxy.config.yaml.YamlProxyServerConfiguration;
-import org.apache.shardingsphere.proxy.fixture.RuleConfigurationFixture;
-import org.apache.shardingsphere.proxy.fixture.YamlRuleConfigurationFixture;
 import org.apache.shardingsphere.transaction.context.TransactionContexts;
 import org.apache.shardingsphere.transaction.core.XATransactionManagerType;
 import org.junit.Test;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Optional;
-import java.util.Properties;
-
-import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 
 public final class StandardBootstrapInitializerTest extends 
AbstractBootstrapInitializerTest {
     
     @Test
-    public void assertGetProxyConfiguration() {
-        YamlProxyConfiguration yamlConfig = makeProxyConfiguration();
-        ProxyConfiguration actual = 
getInitializer().getProxyConfiguration(yamlConfig);
-        assertNotNull(actual);
-        assertProxyConfiguration(actual);
-    }
-    
-    private YamlProxyConfiguration makeProxyConfiguration() {
-        return new 
YamlProxyConfiguration(createYamlProxyServerConfiguration(), 
createYamlProxyRuleConfigurationMap());
-    }
-    
-    private Map<String, YamlProxyRuleConfiguration> 
createYamlProxyRuleConfigurationMap() {
-        Map<String, YamlProxyRuleConfiguration> result = new HashMap<>(1, 1);
-        result.put("logic-db", createYamlProxyRuleConfiguration());
-        return result;
-    }
-    
-    private YamlProxyRuleConfiguration createYamlProxyRuleConfiguration() {
-        YamlProxyRuleConfiguration result = new YamlProxyRuleConfiguration();
-        result.setDataSources(createYamlDataSourceParameterMap());
-        result.setRules(createYamlRuleConfigurations());
-        return result;
-    }
-    
-    private Collection<YamlRuleConfiguration> createYamlRuleConfigurations() {
-        YamlRuleConfigurationFixture result = new 
YamlRuleConfigurationFixture();
-        result.setName("testRule");
-        return Collections.singletonList(result);
-    }
-    
-    private Map<String, YamlDataSourceParameter> 
createYamlDataSourceParameterMap() {
-        Map<String, YamlDataSourceParameter> result = new HashMap<>(1, 1);
-        result.put("ds", createYamlDataSourceParameter());
-        return result;
-    }
-    
-    private YamlDataSourceParameter createYamlDataSourceParameter() {
-        YamlDataSourceParameter result = new YamlDataSourceParameter();
-        result.setUrl("jdbc:mysql://localhost:3306/ds");
-        result.setUsername("root");
-        result.setPassword("root");
-        result.setReadOnly(false);
-        result.setConnectionTimeoutMilliseconds(1000L);
-        result.setIdleTimeoutMilliseconds(2000L);
-        result.setMaxLifetimeMilliseconds(4000L);
-        result.setMaxPoolSize(20);
-        result.setMinPoolSize(10);
-        return result;
-    }
-    
-    private void assertProxyConfiguration(final ProxyConfiguration actual) {
-        assertSchemaDataSources(actual.getSchemaDataSources());
-        assertSchemaRules(actual.getSchemaRules());
-        assertUsers(new 
ShardingSphereUsers(getUsersFromAuthorityRule(actual.getGlobalRules())));
-        assertProps(actual.getProps());
-    }
-
-    private Collection<ShardingSphereUser> getUsersFromAuthorityRule(final 
Collection<RuleConfiguration> globalRuleConfigs) {
-        for (RuleConfiguration ruleConfig : globalRuleConfigs) {
-            if (ruleConfig instanceof AuthorityRuleConfiguration) {
-                AuthorityRuleConfiguration authorityRuleConfiguration = 
(AuthorityRuleConfiguration) ruleConfig;
-                return authorityRuleConfiguration.getUsers();
-            }
-        }
-        return Collections.emptyList();
-    }
-
-    private void assertSchemaDataSources(final Map<String, Map<String, 
DataSourceParameter>> actual) {
-        assertThat(actual.size(), is(1));
-        assertTrue(actual.containsKey("logic-db"));
-        Map<String, DataSourceParameter> dataSourceParameterMap = 
actual.get("logic-db");
-        assertThat(dataSourceParameterMap.size(), is(1));
-        assertTrue(dataSourceParameterMap.containsKey("ds"));
-        assertDataSourceParameter(dataSourceParameterMap.get("ds"));
-    }
-    
-    private void assertDataSourceParameter(final DataSourceParameter actual) {
-        assertThat(actual.getUrl(), is("jdbc:mysql://localhost:3306/ds"));
-        assertThat(actual.getUsername(), is("root"));
-        assertThat(actual.getPassword(), is("root"));
-        assertFalse(actual.isReadOnly());
-        assertThat(actual.getConnectionTimeoutMilliseconds(), is(1000L));
-        assertThat(actual.getIdleTimeoutMilliseconds(), is(2000L));
-        assertThat(actual.getMaxLifetimeMilliseconds(), is(4000L));
-        assertThat(actual.getMaxPoolSize(), is(20));
-        assertThat(actual.getMinPoolSize(), is(10));
-    }
-    
-    private void assertSchemaRules(final Map<String, 
Collection<RuleConfiguration>> actual) {
-        assertThat(actual.size(), is(1));
-        assertTrue(actual.containsKey("logic-db"));
-        Collection<RuleConfiguration> ruleConfigurations = 
actual.get("logic-db");
-        assertThat(ruleConfigurations.size(), is(1));
-        assertRuleConfiguration(ruleConfigurations.iterator().next());
-    }
-    
-    private void assertRuleConfiguration(final RuleConfiguration actual) {
-        assertThat(actual, instanceOf(RuleConfigurationFixture.class));
-        assertThat(((RuleConfigurationFixture) actual).getName(), 
is("testRule"));
-    }
-    
-    private void assertUsers(final ShardingSphereUsers actual) {
-        Optional<ShardingSphereUser> rootUser = actual.findUser(new 
Grantee("root", ""));
-        assertTrue(rootUser.isPresent());
-        assertThat(rootUser.get().getPassword(), is("root"));
-    }
-    
-    private YamlProxyServerConfiguration createYamlProxyServerConfiguration() {
-        final YamlProxyServerConfiguration result = new 
YamlProxyServerConfiguration();
-        YamlAuthorityRuleConfiguration yamlRule = new 
YamlAuthorityRuleConfiguration();
-        yamlRule.setUsers(Collections.singletonList("root@%:root"));
-        YamlShardingSphereAlgorithmConfiguration provider = new 
YamlShardingSphereAlgorithmConfiguration();
-        provider.setType("test");
-        yamlRule.setProvider(provider);
-        result.getRules().add(yamlRule);
-        result.setProps(createProperties());
-        return result;
-    }
-    
-    private Properties createProperties() {
-        Properties result = new Properties();
-        result.setProperty("alpha-1", "alpha-A");
-        result.setProperty("beta-2", "beta-B");
-        return result;
-    }
-
-    @Test
     public void assertDecorateMetaDataContexts() {
         MetaDataContexts metaDataContexts = mock(MetaDataContexts.class);
         
assertThat(getInitializer().decorateMetaDataContexts(metaDataContexts), 
is(metaDataContexts));
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/resources/conf/reg_center/data-sources.yaml
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/resources/conf/reg_center/data-sources.yaml
deleted file mode 100644
index 3ed7a49..0000000
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/resources/conf/reg_center/data-sources.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-ds_0:
-  dataSourceClassName: com.zaxxer.hikari.HikariDataSource
-  jdbcUrl: jdbc:fixturedb:xxx
-  username: root
-  password: pwd
-  connectionTimeout: 1000
-  idleTimeout: 2000
-  maxLifetime: 4000
-  maxPoolSize: 20
-  minPoolSize: 10
-  readOnly: true
-ds_1:
-  dataSourceClassName: com.zaxxer.hikari.HikariDataSource
-  jdbcUrl: jdbc:fixturedb:xxx
-  username: root
-  password: pwd
-  connectionTimeout: 1000
-  idleTimeout: 2000
-  maxLifetime: 4000
-  maxPoolSize: 20
-  minPoolSize: 10
-  readOnly: true
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/resources/conf/reg_center/props.yaml
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/resources/conf/reg_center/props.yaml
deleted file mode 100644
index 84ce968..0000000
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/resources/conf/reg_center/props.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-alpha-1: alpha-A
-beta-2: beta-B
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/resources/conf/reg_center/sharding-rule.yaml
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/resources/conf/reg_center/sharding-rule.yaml
deleted file mode 100644
index 43e7618..0000000
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/resources/conf/reg_center/sharding-rule.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-- !SHARDING
-  tables:
-    t_order:
-      actualDataNodes: ds_${0..1}.t_order_${0..1}
-      tableStrategy:
-        standard:
-          shardingColumn: order_id
-          shardingAlgorithmName: t_order_inline
-      databaseStrategy:
-        standard:
-          shardingColumn: user_id
-          shardingAlgorithmName: database_inline
-
-  shardingAlgorithms:
-    database_inline:
-      type: INLINE
-      props:
-        algorithm-expression: ds_${user_id % 2}
-    t_order_inline:
-      type: INLINE
-      props:
-        algorithm-expression: t_order_${order_id % 2}

Reply via email to