This is an automated email from the ASF dual-hosted git repository.

menghaoran 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 dd2b821  Use ProxyConfiguration.schemaConfigurations to instead of 
schemaResources and schemaRules (#15044)
dd2b821 is described below

commit dd2b8211c0724477b32c2aee32354916dfcf9089
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Jan 25 13:14:56 2022 +0800

    Use ProxyConfiguration.schemaConfigurations to instead of schemaResources 
and schemaRules (#15044)
    
    * Add ProxyConfiguration.schemaConfigurations
    
    * Remove ProxyConfiguration.schemaResources and schemaRules
    
    * Refactor YamlProxyConfigurationSwapper
---
 .../proxy/config/ProxyConfiguration.java           |  5 +-
 .../ProxyDataSourceConfigurationConverter.java     | 56 ---------------
 ...guration.java => ProxySchemaConfiguration.java} | 15 ++--
 .../swapper/YamlProxyConfigurationSwapper.java     | 41 ++++++++---
 .../proxy/initializer/BootstrapInitializer.java    | 31 ++++----
 .../ProxyDataSourceConfigurationConverterTest.java | 83 ----------------------
 .../swapper/YamlProxyConfigurationSwapperTest.java | 26 +++----
 7 files changed, 67 insertions(+), 190 deletions(-)

diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfiguration.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfiguration.java
index 13a06d6..419ef31 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfiguration.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfiguration.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.proxy.config;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.infra.config.RuleConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration;
 
 import java.util.Collection;
 import java.util.Map;
@@ -33,9 +32,7 @@ import java.util.Properties;
 @Getter
 public final class ProxyConfiguration {
     
-    private final Map<String, Map<String, DataSourceConfiguration>> 
schemaResources;
-    
-    private final Map<String, Collection<RuleConfiguration>> schemaRules;
+    private final Map<String, ProxySchemaConfiguration> schemaConfigurations;
     
     private final Collection<RuleConfiguration> globalRules;
     
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyDataSourceConfigurationConverter.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyDataSourceConfigurationConverter.java
deleted file mode 100644
index 8d1d501..0000000
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyDataSourceConfigurationConverter.java
+++ /dev/null
@@ -1,56 +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.
- */
-
-package org.apache.shardingsphere.proxy.config;
-
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-import 
org.apache.shardingsphere.infra.datasource.config.ConnectionConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration;
-import org.apache.shardingsphere.infra.datasource.config.PoolConfiguration;
-import 
org.apache.shardingsphere.proxy.config.yaml.YamlProxyDataSourceConfiguration;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.stream.Collectors;
-
-/**
- * ShardingSphere-Proxy data source configuration converter.
- */
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class ProxyDataSourceConfigurationConverter {
-    
-    /**
-     * Get data source configuration map.
-     *
-     * @param yamlResourceConfigMap yaml resource configuration map
-     * @return data source configuration map
-     */
-    public static Map<String, DataSourceConfiguration> 
getDataSourceConfigurationMap(final Map<String, 
YamlProxyDataSourceConfiguration> yamlResourceConfigMap) {
-        return yamlResourceConfigMap.entrySet().stream()
-                .collect(Collectors.toMap(Entry::getKey, entry -> 
createDataSourceConfiguration(entry.getValue()), (oldValue, currentValue) -> 
oldValue, LinkedHashMap::new));
-    }
-    
-    private static DataSourceConfiguration createDataSourceConfiguration(final 
YamlProxyDataSourceConfiguration yamlConfig) {
-        ConnectionConfiguration connectionConfig = new 
ConnectionConfiguration(yamlConfig.getUrl(), yamlConfig.getUsername(), 
yamlConfig.getPassword());
-        PoolConfiguration poolConfig = new 
PoolConfiguration(yamlConfig.getConnectionTimeoutMilliseconds(), 
yamlConfig.getIdleTimeoutMilliseconds(), 
-                yamlConfig.getMaxLifetimeMilliseconds(), 
yamlConfig.getMaxPoolSize(), yamlConfig.getMinPoolSize(), 
yamlConfig.getReadOnly(), 
-                yamlConfig.getCustomPoolProps());
-        return new DataSourceConfiguration(connectionConfig, poolConfig);
-    }
-}
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfiguration.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxySchemaConfiguration.java
similarity index 74%
copy from 
shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfiguration.java
copy to 
shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxySchemaConfiguration.java
index 13a06d6..d3ccf27 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfiguration.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/ProxySchemaConfiguration.java
@@ -24,22 +24,15 @@ import 
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration
 
 import java.util.Collection;
 import java.util.Map;
-import java.util.Properties;
 
 /**
- * Proxy configuration.
+ * Proxy schema configuration.
  */
 @RequiredArgsConstructor
 @Getter
-public final class ProxyConfiguration {
+public final class ProxySchemaConfiguration {
     
-    private final Map<String, Map<String, DataSourceConfiguration>> 
schemaResources;
+    private final Map<String, DataSourceConfiguration> dataSources;
     
-    private final Map<String, Collection<RuleConfiguration>> schemaRules;
-    
-    private final Collection<RuleConfiguration> globalRules;
-    
-    private final Properties props;
-    
-    private final Collection<String> labels;
+    private final Collection<RuleConfiguration> rules;
 }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapper.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapper.java
index 8d6a062..7c87489 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapper.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapper.java
@@ -18,11 +18,14 @@
 package org.apache.shardingsphere.proxy.config.yaml.swapper;
 
 import org.apache.shardingsphere.infra.config.RuleConfiguration;
+import 
org.apache.shardingsphere.infra.datasource.config.ConnectionConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration;
+import org.apache.shardingsphere.infra.datasource.config.PoolConfiguration;
 import 
org.apache.shardingsphere.infra.yaml.config.swapper.YamlRuleConfigurationSwapperEngine;
 import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
+import org.apache.shardingsphere.proxy.config.ProxySchemaConfiguration;
 import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
-import 
org.apache.shardingsphere.proxy.config.ProxyDataSourceConfigurationConverter;
+import 
org.apache.shardingsphere.proxy.config.yaml.YamlProxyDataSourceConfiguration;
 import 
org.apache.shardingsphere.proxy.config.yaml.YamlProxySchemaConfiguration;
 
 import java.util.Collection;
@@ -46,9 +49,37 @@ public final class YamlProxyConfigurationSwapper {
     public ProxyConfiguration swap(final YamlProxyConfiguration yamlConfig) {
         Map<String, Map<String, DataSourceConfiguration>> 
schemaDataSourceConfigs = 
getDataSourceConfigurationMap(yamlConfig.getSchemaConfigurations());
         Map<String, Collection<RuleConfiguration>> schemaConfigs = 
getSchemaConfigurations(yamlConfig.getSchemaConfigurations());
+        Map<String, ProxySchemaConfiguration> schemaConfigurations = new 
LinkedHashMap<>(schemaDataSourceConfigs.size(), 1);
+        for (Entry<String, Map<String, DataSourceConfiguration>> entry : 
schemaDataSourceConfigs.entrySet()) {
+            schemaConfigurations.put(entry.getKey(), new 
ProxySchemaConfiguration(entry.getValue(), schemaConfigs.get(entry.getKey())));
+        }
         Collection<RuleConfiguration> globalRules = new 
YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(yamlConfig.getServerConfiguration().getRules());
         Properties props = yamlConfig.getServerConfiguration().getProps();
-        return new ProxyConfiguration(schemaDataSourceConfigs, schemaConfigs, 
globalRules, props, yamlConfig.getServerConfiguration().getLabels());
+        return new ProxyConfiguration(schemaConfigurations, globalRules, 
props, yamlConfig.getServerConfiguration().getLabels());
+    }
+    
+    private Map<String, Map<String, DataSourceConfiguration>> 
getDataSourceConfigurationMap(final Map<String, YamlProxySchemaConfiguration> 
yamlSchemaConfigs) {
+        Map<String, Map<String, DataSourceConfiguration>> result = new 
LinkedHashMap<>(yamlSchemaConfigs.size(), 1);
+        for (Entry<String, YamlProxySchemaConfiguration> entry : 
yamlSchemaConfigs.entrySet()) {
+            result.put(entry.getKey(), 
getDataSourceConfigurations(entry.getValue().getDataSources()));
+        }
+        return result;
+    }
+    
+    private Map<String, DataSourceConfiguration> 
getDataSourceConfigurations(final Map<String, YamlProxyDataSourceConfiguration> 
yamlDataSourceConfigs) {
+        Map<String, DataSourceConfiguration> result = new 
LinkedHashMap<>(yamlDataSourceConfigs.size(), 1);
+        for (Entry<String, YamlProxyDataSourceConfiguration> entry : 
yamlDataSourceConfigs.entrySet()) {
+            result.put(entry.getKey(), 
getDataSourceConfiguration(entry.getValue()));
+        }
+        return result;
+    }
+    
+    private DataSourceConfiguration getDataSourceConfiguration(final 
YamlProxyDataSourceConfiguration yamlDataSourceConfig) {
+        ConnectionConfiguration connectionConfig = new 
ConnectionConfiguration(yamlDataSourceConfig.getUrl(), 
yamlDataSourceConfig.getUsername(), yamlDataSourceConfig.getPassword());
+        PoolConfiguration poolConfig = new 
PoolConfiguration(yamlDataSourceConfig.getConnectionTimeoutMilliseconds(), 
yamlDataSourceConfig.getIdleTimeoutMilliseconds(),
+                yamlDataSourceConfig.getMaxLifetimeMilliseconds(), 
yamlDataSourceConfig.getMaxPoolSize(), yamlDataSourceConfig.getMinPoolSize(), 
yamlDataSourceConfig.getReadOnly(),
+                yamlDataSourceConfig.getCustomPoolProps());
+        return new DataSourceConfiguration(connectionConfig, poolConfig);
     }
     
     private Map<String, Collection<RuleConfiguration>> 
getSchemaConfigurations(final Map<String, YamlProxySchemaConfiguration> 
yamlSchemaConfigs) {
@@ -56,10 +87,4 @@ public final class YamlProxyConfigurationSwapper {
         return 
yamlSchemaConfigs.entrySet().stream().collect(Collectors.toMap(Entry::getKey, 
             entry -> 
swapperEngine.swapToRuleConfigurations(entry.getValue().getRules()), (oldValue, 
currentValue) -> oldValue, LinkedHashMap::new));
     }
-    
-    private Map<String, Map<String, DataSourceConfiguration>> 
getDataSourceConfigurationMap(final Map<String, YamlProxySchemaConfiguration> 
yamlSchemaConfigs) {
-        return yamlSchemaConfigs.entrySet().stream().collect(
-                Collectors.toMap(Entry::getKey, entry -> 
ProxyDataSourceConfigurationConverter.getDataSourceConfigurationMap(entry.getValue().getDataSources()),
-                    (oldValue, currentValue) -> oldValue, LinkedHashMap::new));
-    }
 }
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 58d8dab..423677f 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
@@ -27,6 +27,7 @@ import org.apache.shardingsphere.db.protocol.CommonConstants;
 import org.apache.shardingsphere.db.protocol.mysql.constant.MySQLServerInfo;
 import 
org.apache.shardingsphere.db.protocol.postgresql.constant.PostgreSQLServerInfo;
 import org.apache.shardingsphere.infra.autogen.version.ShardingSphereVersion;
+import org.apache.shardingsphere.infra.config.RuleConfiguration;
 import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator;
@@ -42,12 +43,14 @@ import 
org.apache.shardingsphere.mode.manager.ContextManagerBuilderParameter;
 import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
+import org.apache.shardingsphere.proxy.config.ProxySchemaConfiguration;
 import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
 import 
org.apache.shardingsphere.proxy.config.yaml.swapper.YamlProxyConfigurationSwapper;
 import org.apache.shardingsphere.proxy.database.DatabaseServerInfo;
 
 import javax.sql.DataSource;
 import java.sql.SQLException;
+import java.util.Collection;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -69,32 +72,36 @@ public final class BootstrapInitializer {
      * @throws SQLException SQL exception
      */
     public void init(final YamlProxyConfiguration yamlConfig, final int port) 
throws SQLException {
-        ModeConfiguration modeConfig = null == 
yamlConfig.getServerConfiguration().getMode()
-                ? null : new 
ModeConfigurationYamlSwapper().swapToObject(yamlConfig.getServerConfiguration().getMode());
+        ModeConfiguration modeConfig = null == 
yamlConfig.getServerConfiguration().getMode() ? null : new 
ModeConfigurationYamlSwapper().swapToObject(yamlConfig.getServerConfiguration().getMode());
         ContextManager contextManager = createContextManager(yamlConfig, 
modeConfig, port);
-        initContext(contextManager);
+        ProxyContext.getInstance().init(contextManager);
         initRuleAlteredJobWorker(modeConfig, contextManager);
         setDatabaseServerInfo();
     }
     
     private ContextManager createContextManager(final YamlProxyConfiguration 
yamlConfig, final ModeConfiguration modeConfig, final int port) throws 
SQLException {
         ProxyConfiguration proxyConfig = new 
YamlProxyConfigurationSwapper().swap(yamlConfig);
-        Map<String, Map<String, DataSource>> dataSourcesMap = 
getDataSourcesMap(proxyConfig.getSchemaResources());
-        ContextManagerBuilderParameter parameter = 
ContextManagerBuilderParameter.builder().modeConfig(modeConfig).dataSourcesMap(dataSourcesMap).schemaRuleConfigs(proxyConfig.getSchemaRules())
+        Map<String, Map<String, DataSource>> dataSourcesMap = 
getDataSourcesMap(proxyConfig.getSchemaConfigurations());
+        ContextManagerBuilderParameter parameter = 
ContextManagerBuilderParameter.builder().modeConfig(modeConfig).dataSourcesMap(dataSourcesMap)
+                
.schemaRuleConfigs(getSchemaRuleConfigurations(proxyConfig.getSchemaConfigurations()))
                 
.globalRuleConfigs(proxyConfig.getGlobalRules()).props(proxyConfig.getProps()).labels(proxyConfig.getLabels())
                 .instanceDefinition(new InstanceDefinition(InstanceType.PROXY, 
port)).build();
         return 
ContextManagerBuilderFactory.newInstance(modeConfig).build(parameter);
     }
     
-    private void initContext(final ContextManager contextManager) {
-        ProxyContext.getInstance().init(contextManager);
+    // TODO add DataSourceConfiguration param to ContextManagerBuilder to 
avoid re-build data source
+    private Map<String, Map<String, DataSource>> getDataSourcesMap(final 
Map<String, ProxySchemaConfiguration> schemaConfigMap) {
+        Map<String, Map<String, DataSource>> result = new 
LinkedHashMap<>(schemaConfigMap.size(), 1);
+        for (Entry<String, ProxySchemaConfiguration> entry : 
schemaConfigMap.entrySet()) {
+            result.put(entry.getKey(), 
DataSourcePoolCreator.create(createDataSourcePropertiesMap(entry.getValue().getDataSources())));
+        }
+        return result;
     }
     
-    // TODO add ResourceConfiguration param to ContextManagerBuilder to avoid 
re-build data source
-    private Map<String, Map<String, DataSource>> getDataSourcesMap(final 
Map<String, Map<String, DataSourceConfiguration>> dataSourceConfigMap) {
-        Map<String, Map<String, DataSource>> result = new 
LinkedHashMap<>(dataSourceConfigMap.size(), 1);
-        for (Entry<String, Map<String, DataSourceConfiguration>> entry : 
dataSourceConfigMap.entrySet()) {
-            result.put(entry.getKey(), 
DataSourcePoolCreator.create(createDataSourcePropertiesMap(entry.getValue())));
+    private Map<String, Collection<RuleConfiguration>> 
getSchemaRuleConfigurations(final Map<String, ProxySchemaConfiguration> 
schemaConfigMap) {
+        Map<String, Collection<RuleConfiguration>> result = new 
LinkedHashMap<>(schemaConfigMap.size(), 1);
+        for (Entry<String, ProxySchemaConfiguration> entry : 
schemaConfigMap.entrySet()) {
+            result.put(entry.getKey(), entry.getValue().getRules());
         }
         return result;
     }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/config/ProxyDataSourceConfigurationConverterTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/config/ProxyDataSourceConfigurationConverterTest.java
deleted file mode 100644
index 3b6a04a..0000000
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/config/ProxyDataSourceConfigurationConverterTest.java
+++ /dev/null
@@ -1,83 +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.
- */
-
-package org.apache.shardingsphere.proxy.config;
-
-import 
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration;
-import 
org.apache.shardingsphere.proxy.config.yaml.YamlProxyDataSourceConfiguration;
-import org.junit.Test;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-public final class ProxyDataSourceConfigurationConverterTest {
-    
-    @Test
-    public void assertGetResourceConfigurationMap() {
-        YamlProxyDataSourceConfiguration yamlResourceConfig0 = new 
YamlProxyDataSourceConfiguration();
-        yamlResourceConfig0.setUrl("jdbc:mysql://localhost:3306/ds_0");
-        yamlResourceConfig0.setCustomPoolProps(getCustomPoolProperties());
-        setYamlResourceConfigurationPropertyWithoutUrl(yamlResourceConfig0);
-        YamlProxyDataSourceConfiguration yamlResourceConfig1 = new 
YamlProxyDataSourceConfiguration();
-        yamlResourceConfig1.setUrl("jdbc:mysql://localhost:3306/ds_1");
-        yamlResourceConfig1.setCustomPoolProps(getCustomPoolProperties());
-        setYamlResourceConfigurationPropertyWithoutUrl(yamlResourceConfig1);
-        Map<String, YamlProxyDataSourceConfiguration> yamlResourceConfigs = 
new HashMap<>(2, 1);
-        yamlResourceConfigs.put("ds_0", yamlResourceConfig0);
-        yamlResourceConfigs.put("ds_1", yamlResourceConfig1);
-        Map<String, DataSourceConfiguration> actualResourceConfig = 
ProxyDataSourceConfigurationConverter.getDataSourceConfigurationMap(yamlResourceConfigs);
-        assertThat(actualResourceConfig.size(), is(2));
-        assertThat(actualResourceConfig.get("ds_0").getConnection().getUrl(), 
is("jdbc:mysql://localhost:3306/ds_0"));
-        assertThat(actualResourceConfig.get("ds_1").getConnection().getUrl(), 
is("jdbc:mysql://localhost:3306/ds_1"));
-        assertResourceConfiguration(actualResourceConfig.get("ds_0"));
-        assertResourceConfiguration(actualResourceConfig.get("ds_1"));
-    }
-    
-    private void setYamlResourceConfigurationPropertyWithoutUrl(final 
YamlProxyDataSourceConfiguration yamlResourceConfig) {
-        yamlResourceConfig.setUsername("root");
-        yamlResourceConfig.setPassword("root");
-        yamlResourceConfig.setConnectionTimeoutMilliseconds(30 * 1000L);
-        yamlResourceConfig.setIdleTimeoutMilliseconds(60 * 1000L);
-        yamlResourceConfig.setMaxLifetimeMilliseconds(0L);
-        yamlResourceConfig.setMaxPoolSize(50);
-        yamlResourceConfig.setMinPoolSize(1);
-    }
-    
-    private void assertResourceConfiguration(final DataSourceConfiguration 
resourceConfig) {
-        assertThat(resourceConfig.getConnection().getUsername(), is("root"));
-        assertThat(resourceConfig.getConnection().getPassword(), is("root"));
-        
assertThat(resourceConfig.getPool().getConnectionTimeoutMilliseconds(), is(30 * 
1000L));
-        assertThat(resourceConfig.getPool().getIdleTimeoutMilliseconds(), 
is(60 * 1000L));
-        assertThat(resourceConfig.getPool().getMaxLifetimeMilliseconds(), 
is(0L));
-        assertThat(resourceConfig.getPool().getMaxPoolSize(), is(50));
-        assertThat(resourceConfig.getPool().getMinPoolSize(), is(1));
-        assertThat(resourceConfig.getPool().getCustomProperties().size(), 
is(2));
-        
assertThat(resourceConfig.getPool().getCustomProperties().get("maxPoolSize"), 
is(30));
-        
assertThat(resourceConfig.getPool().getCustomProperties().get("idleTimeoutMilliseconds"),
 is("30000"));
-    }
-    
-    private Properties getCustomPoolProperties() {
-        Properties result = new Properties();
-        result.put("maxPoolSize", 30);
-        result.put("idleTimeoutMilliseconds", "30000");
-        return result;
-    }
-}
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapperTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapperTest.java
index 49664e5..c68e846 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapperTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/test/java/org/apache/shardingsphere/proxy/config/yaml/swapper/YamlProxyConfigurationSwapperTest.java
@@ -20,13 +20,14 @@ package org.apache.shardingsphere.proxy.config.yaml.swapper;
 import org.apache.shardingsphere.authority.config.AuthorityRuleConfiguration;
 import 
org.apache.shardingsphere.authority.yaml.config.YamlAuthorityRuleConfiguration;
 import org.apache.shardingsphere.infra.config.RuleConfiguration;
+import 
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration;
 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.yaml.config.pojo.algorithm.YamlShardingSphereAlgorithmConfiguration;
 import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
+import org.apache.shardingsphere.proxy.config.ProxySchemaConfiguration;
 import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
-import 
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration;
 import 
org.apache.shardingsphere.proxy.config.yaml.YamlProxyDataSourceConfiguration;
 import 
org.apache.shardingsphere.proxy.config.yaml.YamlProxySchemaConfiguration;
 import 
org.apache.shardingsphere.proxy.config.yaml.YamlProxyServerConfiguration;
@@ -43,7 +44,6 @@ import java.util.Properties;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
@@ -62,11 +62,10 @@ public final class YamlProxyConfigurationSwapperTest {
     }
     
     private void assertSchemaDataSources(final ProxyConfiguration proxyConfig) 
{
-        Map<String, Map<String, DataSourceConfiguration>> 
schemaDataSourceConfigs = proxyConfig.getSchemaResources();
-        assertNotNull(schemaDataSourceConfigs);
-        assertThat(schemaDataSourceConfigs.size(), is(1));
-        assertTrue(schemaDataSourceConfigs.containsKey("yamlProxyRule1"));
-        DataSourceConfiguration dataSourceConfig = 
schemaDataSourceConfigs.get("yamlProxyRule1").get("ds1");
+        Map<String, ProxySchemaConfiguration> schemaConfigs = 
proxyConfig.getSchemaConfigurations();
+        assertThat(schemaConfigs.size(), is(1));
+        assertTrue(schemaConfigs.containsKey("yamlProxyRule1"));
+        DataSourceConfiguration dataSourceConfig = 
schemaConfigs.get("yamlProxyRule1").getDataSources().get("ds1");
         assertThat(dataSourceConfig.getConnection().getUrl(), is("url1"));
         assertThat(dataSourceConfig.getConnection().getUsername(), 
is("username1"));
         assertThat(dataSourceConfig.getConnection().getPassword(), 
is("password1"));
@@ -79,20 +78,15 @@ public final class YamlProxyConfigurationSwapperTest {
     }
     
     private void assertSchemaRules(final ProxyConfiguration proxyConfig) {
-        Map<String, Collection<RuleConfiguration>> schemaRules = 
proxyConfig.getSchemaRules();
-        assertNotNull(schemaRules);
-        assertThat(schemaRules.size(), is(1));
-        Collection<RuleConfiguration> ruleConfigs = 
schemaRules.get("yamlProxyRule1");
-        assertNotNull(ruleConfigs);
+        Map<String, ProxySchemaConfiguration> schemaConfigs = 
proxyConfig.getSchemaConfigurations();
+        assertThat(schemaConfigs.size(), is(1));
+        Collection<RuleConfiguration> ruleConfigs = 
schemaConfigs.get("yamlProxyRule1").getRules();
         assertThat(ruleConfigs.size(), is(1));
-        RuleConfiguration ruleConfig = ruleConfigs.iterator().next();
-        assertNotNull(ruleConfig);
-        assertThat(ruleConfig, 
instanceOf(ReadwriteSplittingRuleConfiguration.class));
+        assertThat(ruleConfigs.iterator().next(), 
instanceOf(ReadwriteSplittingRuleConfiguration.class));
     }
     
     private void assertProxyConfigurationProps(final ProxyConfiguration 
proxyConfig) {
         Properties proxyConfigurationProps = proxyConfig.getProps();
-        assertNotNull(proxyConfigurationProps);
         assertThat(proxyConfigurationProps.size(), is(1));
         assertThat(proxyConfigurationProps.getProperty("key4"), is("value4"));
     }

Reply via email to