You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ki...@apache.org on 2020/07/30 17:38:26 UTC
[shardingsphere] branch master updated: Rename
ProxyConfigurationLoader (#6540)
This is an automated email from the ASF dual-hosted git repository.
kimmking 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 cc4cd08 Rename ProxyConfigurationLoader (#6540)
cc4cd08 is described below
commit cc4cd08c2b97ec6d497886c1fc5b01e39e8f0e6e
Author: Liang Zhang <te...@163.com>
AuthorDate: Fri Jul 31 01:38:05 2020 +0800
Rename ProxyConfigurationLoader (#6540)
* refactor OrchestrationShardingSphereDataSource
* refactor OrchestrationShardingSphereDataSource
* refactor OrchestrationShardingSphereDataSource
* Rename ProxyConfigurationLoader
* Refactor ProxyConfigurationLoader
* Refactor ProxyConfigurationConverter
* Fix javadoc
* Fix javadoc
* Refactor OrchestrationShardingSphereDataSource
* Refactor OrchestrationShardingSphereDataSource
---
.../core/facade/OrchestrationFacade.java | 18 ++++----
.../OrchestrationShardingSphereDataSource.java | 54 +++++++++++-----------
.../org/apache/shardingsphere/proxy/Bootstrap.java | 29 ++++++------
...onLoader.java => ProxyConfigurationLoader.java} | 34 +++++++-------
...figuration.java => YamlProxyConfiguration.java} | 6 +--
.../converter/DefaultConfigurationConverter.java | 35 +++++++-------
.../converter/ProxyConfigurationConverter.java | 9 ++--
...Test.java => ProxyConfigurationLoaderTest.java} | 12 ++---
.../OrchestrationConfigurationConverter.java | 28 +++++------
9 files changed, 115 insertions(+), 110 deletions(-)
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-facade/src/main/java/org/apache/shardingsphere/orchestration/core/facade/OrchestrationFacade.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-facade/src/main/java/org/apache/shardingsphere/orchestration/core/facade/OrchestrationFacade.java
index a6f3105..747910f 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-facade/src/main/java/org/apache/shardingsphere/orchestration/core/facade/OrchestrationFacade.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-facade/src/main/java/org/apache/shardingsphere/orchestration/core/facade/OrchestrationFacade.java
@@ -73,15 +73,6 @@ public final class OrchestrationFacade implements AutoCloseable {
/**
* Online instance.
- */
- public void onlineInstance() {
- registryCenter.persistInstanceOnline();
- registryCenter.persistDataSourcesNode();
- listenerManager.init();
- }
-
- /**
- * Online instance.
*
* @param dataSourceConfigurationMap schema data source configuration map
* @param schemaRuleMap schema rule map
@@ -98,6 +89,15 @@ public final class OrchestrationFacade implements AutoCloseable {
}
/**
+ * Online instance.
+ */
+ public void onlineInstance() {
+ registryCenter.persistInstanceOnline();
+ registryCenter.persistDataSourcesNode();
+ listenerManager.init();
+ }
+
+ /**
* Initialize metrics configuration to config center.
*
* @param metricsConfiguration metrics configuration
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-orchestration/src/main/java/org/apache/shardingsphere/driver/orchestration/internal/datasource/OrchestrationShardingSphereDataSource.java b/shardingsphere-jdbc/shardingsphere-jdbc-orchestration/src/main/java/org/apache/shardingsphere/driver/orchestration/internal/datasource/OrchestrationShardingSphereDataSource.java
index 3399f62..748be7b 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-orchestration/src/main/java/org/apache/shardingsphere/driver/orchestration/internal/datasource/OrchestrationShardingSphereDataSource.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-orchestration/src/main/java/org/apache/shardingsphere/driver/orchestration/internal/datasource/OrchestrationShardingSphereDataSource.java
@@ -69,6 +69,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Properties;
import java.util.logging.Logger;
import java.util.stream.Collectors;
@@ -90,7 +91,7 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
public OrchestrationShardingSphereDataSource(final OrchestrationConfiguration orchestrationConfig) throws SQLException {
init(orchestrationConfig);
dataSource = loadDataSource();
- onlineInstanceWithOrchestrationCenter(null);
+ initWithOrchestrationCenter(null);
disableDataSources();
persistMetaData(dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getMetaData().getSchema());
initCluster();
@@ -99,7 +100,7 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
public OrchestrationShardingSphereDataSource(final OrchestrationConfiguration orchestrationConfig, final ClusterConfiguration clusterConfiguration) throws SQLException {
init(orchestrationConfig);
dataSource = loadDataSource();
- onlineInstanceWithOrchestrationCenter(clusterConfiguration);
+ initWithOrchestrationCenter(clusterConfiguration);
disableDataSources();
persistMetaData(dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getMetaData().getSchema());
initCluster();
@@ -108,7 +109,7 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
public OrchestrationShardingSphereDataSource(final ShardingSphereDataSource shardingSphereDataSource, final OrchestrationConfiguration orchestrationConfig) {
init(orchestrationConfig);
dataSource = shardingSphereDataSource;
- onlineInstanceWithLocalConfiguration(null);
+ initWithLocalConfiguration(null);
disableDataSources();
persistMetaData(dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getMetaData().getSchema());
initCluster();
@@ -118,14 +119,14 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
final OrchestrationConfiguration orchestrationConfig, final ClusterConfiguration clusterConfiguration) {
init(orchestrationConfig);
dataSource = shardingSphereDataSource;
- onlineInstanceWithLocalConfiguration(clusterConfiguration);
+ initWithLocalConfiguration(clusterConfiguration);
disableDataSources();
persistMetaData(dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getMetaData().getSchema());
initCluster();
}
- private void init(final OrchestrationConfiguration orchestrationConfig) {
- orchestrationFacade.init(orchestrationConfig, Collections.singletonList(DefaultSchema.LOGIC_NAME));
+ private void init(final OrchestrationConfiguration config) {
+ orchestrationFacade.init(config, Collections.singletonList(DefaultSchema.LOGIC_NAME));
OrchestrationEventBus.getInstance().register(this);
}
@@ -136,7 +137,7 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
return new ShardingSphereDataSource(DataSourceConverter.getDataSourceMap(dataSourceConfigurations), ruleConfigurations, configCenter.loadProperties());
}
- private void onlineInstanceWithOrchestrationCenter(final ClusterConfiguration clusterConfiguration) {
+ private void initWithOrchestrationCenter(final ClusterConfiguration clusterConfiguration) {
orchestrationFacade.onlineInstance();
if (null != clusterConfiguration) {
orchestrationFacade.initClusterConfiguration(clusterConfiguration);
@@ -144,22 +145,23 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
dataSourceConfigurations.putAll(orchestrationFacade.getConfigCenter().loadDataSourceConfigurations(DefaultSchema.LOGIC_NAME));
}
- private void onlineInstanceWithLocalConfiguration(final ClusterConfiguration clusterConfiguration) {
+ private void initWithLocalConfiguration(final ClusterConfiguration clusterConfiguration) {
Map<String, DataSourceConfiguration> dataSourceConfigurations = DataSourceConverter.getDataSourceConfigurationMap(dataSource.getDataSourceMap());
Collection<RuleConfiguration> ruleConfigurations = dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getConfigurations();
- orchestrationFacade.onlineInstance(Collections.singletonMap(DefaultSchema.LOGIC_NAME, dataSourceConfigurations), Collections.singletonMap(DefaultSchema.LOGIC_NAME, ruleConfigurations),
- null, dataSource.getSchemaContexts().getProps().getProps());
+ Properties props = dataSource.getSchemaContexts().getProps().getProps();
+ orchestrationFacade.onlineInstance(
+ Collections.singletonMap(DefaultSchema.LOGIC_NAME, dataSourceConfigurations), Collections.singletonMap(DefaultSchema.LOGIC_NAME, ruleConfigurations), null, props);
if (null != clusterConfiguration) {
orchestrationFacade.initClusterConfiguration(clusterConfiguration);
}
this.dataSourceConfigurations.putAll(dataSourceConfigurations);
}
- // TODO decouple MasterSlaveRule
+ // TODO decouple masterslave rule
private void disableDataSources() {
Collection<String> disabledDataSources = orchestrationFacade.getRegistryCenter().loadDisabledDataSources();
if (!disabledDataSources.isEmpty()) {
- dataSource.getSchemaContexts().getSchemaContexts().forEach((key, value)
+ dataSource.getSchemaContexts().getSchemaContexts().forEach((key, value)
-> value.getSchema().getRules().stream().filter(each -> each instanceof MasterSlaveRule).forEach(each -> disableDataSources((MasterSlaveRule) each, disabledDataSources, key)));
}
}
@@ -176,6 +178,7 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
orchestrationFacade.getMetaDataCenter().persistMetaDataCenterNode(DefaultSchema.LOGIC_NAME, metaData);
}
+ // TODO decouple ClusterConfiguration
private void initCluster() {
ClusterConfiguration clusterConfig = orchestrationFacade.getConfigCenter().loadClusterConfiguration();
if (null != clusterConfig && null != clusterConfig.getHeartbeat()) {
@@ -278,18 +281,6 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
}
}
- /**
- * Heart beat detect.
- *
- * @param event heart beat detect notice event
- */
- @Subscribe
- public synchronized void heartbeat(final HeartbeatDetectNoticeEvent event) {
- if (ClusterInitFacade.isEnabled()) {
- ClusterFacade.getInstance().detectHeartbeat(dataSource.getSchemaContexts().getSchemaContexts());
- }
- }
-
private synchronized Map<String, DataSource> getChangedDataSources(final Map<String, DataSource> oldDataSources, final Map<String, DataSourceConfiguration> newDataSources) {
Map<String, DataSource> result = new LinkedHashMap<>(oldDataSources);
Map<String, DataSourceConfiguration> modifiedDataSources = getModifiedDataSources(newDataSources);
@@ -320,8 +311,19 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
private ShardingSphereSchema getChangedSchema(final ShardingSphereSchema oldSchema, final RuleSchemaMetaData newRuleSchemaMetaData) {
ShardingSphereMetaData metaData = new ShardingSphereMetaData(oldSchema.getMetaData().getDataSources(), newRuleSchemaMetaData);
- return new ShardingSphereSchema(oldSchema.getDatabaseType(), oldSchema.getConfigurations(),
- oldSchema.getRules(), oldSchema.getDataSources(), metaData);
+ return new ShardingSphereSchema(oldSchema.getDatabaseType(), oldSchema.getConfigurations(), oldSchema.getRules(), oldSchema.getDataSources(), metaData);
+ }
+
+ /**
+ * Heart beat detect.
+ *
+ * @param event heart beat detect notice event
+ */
+ @Subscribe
+ public synchronized void heartbeat(final HeartbeatDetectNoticeEvent event) {
+ if (ClusterInitFacade.isEnabled()) {
+ ClusterFacade.getInstance().detectHeartbeat(dataSource.getSchemaContexts().getSchemaContexts());
+ }
}
@Override
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 417f969..e5d9de9 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
@@ -17,8 +17,6 @@
package org.apache.shardingsphere.proxy;
-import com.google.common.primitives.Ints;
-import java.util.Objects;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -45,10 +43,10 @@ import org.apache.shardingsphere.proxy.backend.communication.jdbc.datasource.JDB
import org.apache.shardingsphere.proxy.backend.communication.jdbc.recognizer.JDBCDriverURLRecognizerEngine;
import org.apache.shardingsphere.proxy.backend.schema.ProxySchemaContexts;
import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
+import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
+import org.apache.shardingsphere.proxy.config.ProxyConfigurationLoader;
import org.apache.shardingsphere.proxy.config.converter.ProxyConfigurationConverter;
import org.apache.shardingsphere.proxy.config.converter.ProxyConfigurationConverterFactory;
-import org.apache.shardingsphere.proxy.config.ShardingConfiguration;
-import org.apache.shardingsphere.proxy.config.ShardingConfigurationLoader;
import org.apache.shardingsphere.proxy.config.yaml.YamlProxyRuleConfiguration;
import org.apache.shardingsphere.proxy.frontend.bootstrap.ShardingSphereProxy;
@@ -62,6 +60,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Objects;
import java.util.Properties;
import java.util.stream.Collectors;
@@ -83,11 +82,11 @@ public final class Bootstrap {
public static void main(final String[] args) throws Exception {
int port = getPort(args);
System.setProperty(Constants.PORT_KEY, String.valueOf(port));
- ShardingConfiguration shardingConfig = new ShardingConfigurationLoader().load(getConfigPath(args));
- logRuleConfigurationMap(getRuleConfigurations(shardingConfig.getRuleConfigurationMap()).values());
- boolean isOrchestration = null != shardingConfig.getServerConfiguration().getOrchestration();
+ YamlProxyConfiguration yamlConfig = new ProxyConfigurationLoader().load(getConfigurationPath(args));
+ logRuleConfigurationMap(getRuleConfigurations(yamlConfig.getRuleConfigurations()).values());
+ boolean isOrchestration = null != yamlConfig.getServerConfiguration().getOrchestration();
try (ProxyConfigurationConverter converter = ProxyConfigurationConverterFactory.newInstances(isOrchestration)) {
- ProxyConfiguration proxyConfiguration = converter.convert(shardingConfig);
+ ProxyConfiguration proxyConfiguration = converter.convert(yamlConfig);
initialize(proxyConfiguration, port, converter);
}
}
@@ -96,15 +95,15 @@ public final class Bootstrap {
if (0 == args.length) {
return Constants.DEFAULT_PORT;
}
- Integer port = Ints.tryParse(args[0]);
- return port == null ? Constants.DEFAULT_PORT : port;
+ try {
+ return Integer.parseInt(args[0]);
+ } catch (final NumberFormatException ex) {
+ throw new IllegalArgumentException(String.format("Invalid port `%s`.", args[0]));
+ }
}
- private static String getConfigPath(final String[] args) {
- if (args.length < 2) {
- return DEFAULT_CONFIG_PATH;
- }
- return paddingWithSlash(args[1]);
+ private static String getConfigurationPath(final String[] args) {
+ return args.length < 2 ? DEFAULT_CONFIG_PATH : paddingWithSlash(args[1]);
}
private static String paddingWithSlash(final String arg) {
diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ShardingConfigurationLoader.java b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfigurationLoader.java
similarity index 82%
rename from shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ShardingConfigurationLoader.java
rename to shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfigurationLoader.java
index a9fb5e0..bfc6759 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ShardingConfigurationLoader.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ProxyConfigurationLoader.java
@@ -18,10 +18,10 @@
package org.apache.shardingsphere.proxy.config;
import com.google.common.base.Preconditions;
+import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
import org.apache.shardingsphere.proxy.config.yaml.YamlDataSourceParameterMerger;
import org.apache.shardingsphere.proxy.config.yaml.YamlProxyRuleConfiguration;
import org.apache.shardingsphere.proxy.config.yaml.YamlProxyServerConfiguration;
-import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
import java.io.File;
import java.io.IOException;
@@ -29,15 +29,14 @@ import java.net.URL;
import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedList;
-import java.util.Map;
import java.util.Optional;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
- * Sharding configuration loader.
+ * Proxy configuration loader.
*/
-public final class ShardingConfigurationLoader {
+public final class ProxyConfigurationLoader {
private static final String DEFAULT_DATASOURCE_NAME = "dataSource";
@@ -52,25 +51,17 @@ public final class ShardingConfigurationLoader {
* @return configuration of ShardingSphere-Proxy
* @throws IOException IO exception
*/
- public ShardingConfiguration load(final String path) throws IOException {
+ public YamlProxyConfiguration load(final String path) throws IOException {
Collection<String> schemaNames = new HashSet<>();
YamlProxyServerConfiguration serverConfig = loadServerConfiguration(getResourceFile(path + "/" + SERVER_CONFIG_FILE));
File configPath = getResourceFile(path);
- Collection<YamlProxyRuleConfiguration> ruleConfigurations = new LinkedList<>();
- for (File each : findRuleConfigurationFiles(configPath)) {
- loadRuleConfiguration(each).ifPresent(yamlProxyRuleConfiguration -> {
- Preconditions.checkState(
- schemaNames.add(yamlProxyRuleConfiguration.getSchemaName()), "Schema name `%s` must unique at all rule configurations.", yamlProxyRuleConfiguration.getSchemaName());
- ruleConfigurations.add(yamlProxyRuleConfiguration);
- });
- }
+ Collection<YamlProxyRuleConfiguration> ruleConfigurations = loadRuleConfigurations(schemaNames, configPath);
Preconditions.checkState(!ruleConfigurations.isEmpty() || null != serverConfig.getOrchestration(), "Can not find any sharding rule configuration file in path `%s`.", configPath.getPath());
- Map<String, YamlProxyRuleConfiguration> ruleConfigurationMap = ruleConfigurations.stream().collect(Collectors.toMap(YamlProxyRuleConfiguration::getSchemaName, each -> each));
- return new ShardingConfiguration(serverConfig, ruleConfigurationMap);
+ return new YamlProxyConfiguration(serverConfig, ruleConfigurations.stream().collect(Collectors.toMap(YamlProxyRuleConfiguration::getSchemaName, each -> each)));
}
private File getResourceFile(final String path) {
- URL url = ShardingConfigurationLoader.class.getResource(path);
+ URL url = ProxyConfigurationLoader.class.getResource(path);
if (null != url) {
return new File(url.getFile());
}
@@ -84,6 +75,17 @@ public final class ShardingConfigurationLoader {
return result;
}
+ private Collection<YamlProxyRuleConfiguration> loadRuleConfigurations(final Collection<String> schemaNames, final File configPath) throws IOException {
+ Collection<YamlProxyRuleConfiguration> result = new LinkedList<>();
+ for (File each : findRuleConfigurationFiles(configPath)) {
+ loadRuleConfiguration(each).ifPresent(yamlProxyRuleConfig -> {
+ Preconditions.checkState(schemaNames.add(yamlProxyRuleConfig.getSchemaName()), "Schema name `%s` must unique at all rule configurations.", yamlProxyRuleConfig.getSchemaName());
+ result.add(yamlProxyRuleConfig);
+ });
+ }
+ return result;
+ }
+
private Optional<YamlProxyRuleConfiguration> loadRuleConfiguration(final File yamlFile) throws IOException {
YamlProxyRuleConfiguration result = YamlEngine.unmarshal(yamlFile, YamlProxyRuleConfiguration.class);
if (null == result) {
diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ShardingConfiguration.java b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/YamlProxyConfiguration.java
similarity index 93%
rename from shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ShardingConfiguration.java
rename to shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/YamlProxyConfiguration.java
index 7d3eae3..15388d4 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/ShardingConfiguration.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/YamlProxyConfiguration.java
@@ -25,13 +25,13 @@ import org.apache.shardingsphere.proxy.config.yaml.YamlProxyServerConfiguration;
import java.util.Map;
/**
- * Sharding configuration.
+ * Yaml proxy configuration.
*/
@RequiredArgsConstructor
@Getter
-public final class ShardingConfiguration {
+public final class YamlProxyConfiguration {
private final YamlProxyServerConfiguration serverConfiguration;
- private final Map<String, YamlProxyRuleConfiguration> ruleConfigurationMap;
+ private final Map<String, YamlProxyRuleConfiguration> ruleConfigurations;
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/converter/DefaultConfigurationConverter.java b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/converter/DefaultConfigurationConverter.java
index 085659b..71d575a 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/converter/DefaultConfigurationConverter.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/converter/DefaultConfigurationConverter.java
@@ -17,10 +17,6 @@
package org.apache.shardingsphere.proxy.config.converter;
-import java.sql.SQLException;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Optional;
import org.apache.shardingsphere.cluster.configuration.config.ClusterConfiguration;
import org.apache.shardingsphere.cluster.configuration.swapper.ClusterConfigurationYamlSwapper;
import org.apache.shardingsphere.cluster.configuration.yaml.YamlClusterConfiguration;
@@ -31,7 +27,12 @@ import org.apache.shardingsphere.kernel.context.SchemaContextsAware;
import org.apache.shardingsphere.kernel.context.SchemaContextsBuilder;
import org.apache.shardingsphere.kernel.context.schema.DataSourceParameter;
import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
-import org.apache.shardingsphere.proxy.config.ShardingConfiguration;
+import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
+
+import java.sql.SQLException;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Optional;
/**
* Default configuration converter.
@@ -39,18 +40,18 @@ import org.apache.shardingsphere.proxy.config.ShardingConfiguration;
public final class DefaultConfigurationConverter extends AbstractConfigurationConverter {
@Override
- public ProxyConfiguration convert(final ShardingConfiguration shardingConfiguration) {
- ProxyConfiguration proxyConfiguration = new ProxyConfiguration();
- Authentication authentication = new AuthenticationYamlSwapper().swapToObject(shardingConfiguration.getServerConfiguration().getAuthentication());
- Map<String, Map<String, DataSourceParameter>> schemaDataSources = getDataSourceParametersMap(shardingConfiguration.getRuleConfigurationMap());
- Map<String, Collection<RuleConfiguration>> schemaRules = getRuleConfigurations(shardingConfiguration.getRuleConfigurationMap());
- proxyConfiguration.setAuthentication(authentication);
- proxyConfiguration.setProps(shardingConfiguration.getServerConfiguration().getProps());
- proxyConfiguration.setSchemaDataSources(schemaDataSources);
- proxyConfiguration.setSchemaRules(schemaRules);
- proxyConfiguration.setCluster(getClusterConfiguration(shardingConfiguration.getServerConfiguration().getCluster()));
- proxyConfiguration.setMetrics(getMetricsConfiguration(shardingConfiguration.getServerConfiguration().getMetrics()));
- return proxyConfiguration;
+ public ProxyConfiguration convert(final YamlProxyConfiguration yamlProxyConfiguration) {
+ ProxyConfiguration result = new ProxyConfiguration();
+ Authentication authentication = new AuthenticationYamlSwapper().swapToObject(yamlProxyConfiguration.getServerConfiguration().getAuthentication());
+ Map<String, Map<String, DataSourceParameter>> schemaDataSources = getDataSourceParametersMap(yamlProxyConfiguration.getRuleConfigurations());
+ Map<String, Collection<RuleConfiguration>> schemaRules = getRuleConfigurations(yamlProxyConfiguration.getRuleConfigurations());
+ result.setAuthentication(authentication);
+ result.setProps(yamlProxyConfiguration.getServerConfiguration().getProps());
+ result.setSchemaDataSources(schemaDataSources);
+ result.setSchemaRules(schemaRules);
+ result.setCluster(getClusterConfiguration(yamlProxyConfiguration.getServerConfiguration().getCluster()));
+ result.setMetrics(getMetricsConfiguration(yamlProxyConfiguration.getServerConfiguration().getMetrics()));
+ return result;
}
@Override
diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/converter/ProxyConfigurationConverter.java b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/converter/ProxyConfigurationConverter.java
index 65327cb..2ebd6a9 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/converter/ProxyConfigurationConverter.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/converter/ProxyConfigurationConverter.java
@@ -17,11 +17,12 @@
package org.apache.shardingsphere.proxy.config.converter;
-import java.sql.SQLException;
import org.apache.shardingsphere.kernel.context.SchemaContextsAware;
import org.apache.shardingsphere.kernel.context.SchemaContextsBuilder;
import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
-import org.apache.shardingsphere.proxy.config.ShardingConfiguration;
+import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
+
+import java.sql.SQLException;
/**
* Proxy configuration converter.
@@ -31,10 +32,10 @@ public interface ProxyConfigurationConverter extends AutoCloseable {
/**
* Convert proxy configuration.
*
- * @param shardingConfiguration sharding configuration
+ * @param yamlProxyConfiguration YAML proxy configuration
* @return proxy configuration
*/
- ProxyConfiguration convert(ShardingConfiguration shardingConfiguration);
+ ProxyConfiguration convert(YamlProxyConfiguration yamlProxyConfiguration);
/**
* Build contexts aware.
diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/ShardingConfigurationLoaderTest.java b/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/ProxyConfigurationLoaderTest.java
similarity index 96%
rename from shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/ShardingConfigurationLoaderTest.java
rename to shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/ProxyConfigurationLoaderTest.java
index e69baa8..60be871 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/ShardingConfigurationLoaderTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/ProxyConfigurationLoaderTest.java
@@ -37,16 +37,16 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
-public final class ShardingConfigurationLoaderTest {
+public final class ProxyConfigurationLoaderTest {
@Test
public void assertLoad() throws IOException {
- ShardingConfiguration actual = new ShardingConfigurationLoader().load("/conf/");
+ YamlProxyConfiguration actual = new ProxyConfigurationLoader().load("/conf/");
assertThat(actual.getServerConfiguration().getOrchestration().getRegistryCenter().getServerLists(), is("localhost:2181"));
- assertThat(actual.getRuleConfigurationMap().size(), is(3));
- assertShardingRuleConfiguration(actual.getRuleConfigurationMap().get("sharding_db"));
- assertMasterSlaveRuleConfiguration(actual.getRuleConfigurationMap().get("master_slave_db"));
- assertEncryptRuleConfiguration(actual.getRuleConfigurationMap().get("encrypt_db"));
+ assertThat(actual.getRuleConfigurations().size(), is(3));
+ assertShardingRuleConfiguration(actual.getRuleConfigurations().get("sharding_db"));
+ assertMasterSlaveRuleConfiguration(actual.getRuleConfigurations().get("master_slave_db"));
+ assertEncryptRuleConfiguration(actual.getRuleConfigurations().get("encrypt_db"));
}
private void assertShardingRuleConfiguration(final YamlProxyRuleConfiguration actual) {
diff --git a/shardingsphere-proxy/shardingsphere-proxy-orchestration/src/main/java/org/apache/shardingsphere/proxy/orchestration/OrchestrationConfigurationConverter.java b/shardingsphere-proxy/shardingsphere-proxy-orchestration/src/main/java/org/apache/shardingsphere/proxy/orchestration/OrchestrationConfigurationConverter.java
index 2e6c95c..8708a2a 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-orchestration/src/main/java/org/apache/shardingsphere/proxy/orchestration/OrchestrationConfigurationConverter.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-orchestration/src/main/java/org/apache/shardingsphere/proxy/orchestration/OrchestrationConfigurationConverter.java
@@ -31,7 +31,7 @@ import org.apache.shardingsphere.orchestration.core.facade.OrchestrationFacade;
import org.apache.shardingsphere.orchestration.core.common.yaml.config.YamlOrchestrationConfiguration;
import org.apache.shardingsphere.orchestration.core.common.yaml.swapper.OrchestrationConfigurationYamlSwapper;
import org.apache.shardingsphere.proxy.config.ProxyConfiguration;
-import org.apache.shardingsphere.proxy.config.ShardingConfiguration;
+import org.apache.shardingsphere.proxy.config.YamlProxyConfiguration;
import org.apache.shardingsphere.proxy.config.converter.AbstractConfigurationConverter;
import org.apache.shardingsphere.proxy.config.util.DataSourceConverter;
import org.apache.shardingsphere.proxy.config.yaml.YamlProxyRuleConfiguration;
@@ -54,24 +54,24 @@ public final class OrchestrationConfigurationConverter extends AbstractConfigura
private final OrchestrationFacade orchestrationFacade = OrchestrationFacade.getInstance();
@Override
- public ProxyConfiguration convert(final ShardingConfiguration shardingConfiguration) {
- YamlOrchestrationConfiguration orchestration = shardingConfiguration.getServerConfiguration().getOrchestration();
- Set<String> schemaNames = shardingConfiguration.getRuleConfigurationMap().keySet();
- ProxyConfiguration proxyConfiguration = new ProxyConfiguration();
- orchestrationFacade.init(new OrchestrationConfigurationYamlSwapper().swapToObject(orchestration), schemaNames);
- initOrchestrationConfigurations(shardingConfiguration.getServerConfiguration(), shardingConfiguration.getRuleConfigurationMap(), orchestrationFacade);
+ public ProxyConfiguration convert(final YamlProxyConfiguration yamlProxyConfiguration) {
+ YamlOrchestrationConfiguration orchestrationConfig = yamlProxyConfiguration.getServerConfiguration().getOrchestration();
+ Set<String> schemaNames = yamlProxyConfiguration.getRuleConfigurations().keySet();
+ ProxyConfiguration result = new ProxyConfiguration();
+ orchestrationFacade.init(new OrchestrationConfigurationYamlSwapper().swapToObject(orchestrationConfig), schemaNames);
+ initOrchestrationConfigurations(yamlProxyConfiguration.getServerConfiguration(), yamlProxyConfiguration.getRuleConfigurations(), orchestrationFacade);
Authentication authentication = orchestrationFacade.getConfigCenter().loadAuthentication();
Properties properties = orchestrationFacade.getConfigCenter().loadProperties();
Map<String, Map<String, DataSourceParameter>> schemaDataSources = getDataSourceParametersMap(orchestrationFacade);
Map<String, Collection<RuleConfiguration>> schemaRules = getSchemaRules(orchestrationFacade);
ClusterConfiguration clusterConfiguration = orchestrationFacade.getConfigCenter().loadClusterConfiguration();
- proxyConfiguration.setAuthentication(authentication);
- proxyConfiguration.setProps(properties);
- proxyConfiguration.setSchemaDataSources(schemaDataSources);
- proxyConfiguration.setSchemaRules(schemaRules);
- proxyConfiguration.setCluster(clusterConfiguration);
- proxyConfiguration.setMetrics(getMetricsConfiguration(shardingConfiguration.getServerConfiguration().getMetrics()));
- return proxyConfiguration;
+ result.setAuthentication(authentication);
+ result.setProps(properties);
+ result.setSchemaDataSources(schemaDataSources);
+ result.setSchemaRules(schemaRules);
+ result.setCluster(clusterConfiguration);
+ result.setMetrics(getMetricsConfiguration(yamlProxyConfiguration.getServerConfiguration().getMetrics()));
+ return result;
}
@Override