You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2022/04/28 15:06:56 UTC
[shardingsphere] branch master updated: Remove ReadwriteSplittingDataSourceProcessor.getDataSources() (#17185)
This is an automated email from the ASF dual-hosted git repository.
zhaojinchao 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 8ea39e4b803 Remove ReadwriteSplittingDataSourceProcessor.getDataSources() (#17185)
8ea39e4b803 is described below
commit 8ea39e4b8039e2bc459e07df64754e78b7a468b8
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Thu Apr 28 23:06:40 2022 +0800
Remove ReadwriteSplittingDataSourceProcessor.getDataSources() (#17185)
* Refactor ReadwriteSplittingDataSourceProcessor
* Remove ReadwriteSplittingDataSourceProcessor.getDataSources()
* Remove ReadwriteSplittingDataSourceProcessor.getDataSources()
* Remove ReadwriteSplittingDataSourceProcessor.getDataSources()
* Remove ReadwriteSplittingDataSourceProcessor.getDataSources()
---
.../rule/ReadwriteSplittingDataSourceRule.java | 32 +++++++++-------------
.../ReadwriteSplittingDataSourceProcessor.java | 7 -----
...namicReadwriteSplittingDataSourceProcessor.java | 17 +-----------
...taticReadwriteSplittingDataSourceProcessor.java | 10 -------
4 files changed, 14 insertions(+), 52 deletions(-)
diff --git a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingDataSourceRule.java b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingDataSourceRule.java
index f7c9793377c..e554579e9f3 100644
--- a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingDataSourceRule.java
+++ b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/ReadwriteSplittingDataSourceRule.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.readwritesplitting.rule;
import com.google.common.base.Preconditions;
-import com.google.common.base.Splitter;
import com.google.common.base.Strings;
import lombok.AccessLevel;
import lombok.Getter;
@@ -34,7 +33,6 @@ import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import java.util.Map.Entry;
import java.util.stream.Collectors;
/**
@@ -107,24 +105,20 @@ public final class ReadwriteSplittingDataSourceRule {
* @return data sources
*/
public Map<String, String> getDataSources(final boolean removeDisabled) {
- Map<String, String> result = new LinkedHashMap<>();
- for (Entry<String, String> entry : dataSourceProcessor.getDataSources().entrySet()) {
- String key = entry.getKey();
- String value = entry.getValue();
- if (ExportableConstants.REPLICA_DATA_SOURCE_NAMES.equals(key) && removeDisabled) {
- value = removeDisabledDataSources(value);
- }
- result.put(key, value);
+ Map<String, String> result = new LinkedHashMap<>(2, 1);
+ String writeDataSourceName = dataSourceProcessor.getWriteDataSource();
+ if (null != writeDataSourceName) {
+ result.put(ExportableConstants.PRIMARY_DATA_SOURCE_NAME, writeDataSourceName);
}
- return result;
- }
-
- private String removeDisabledDataSources(final String readDataSources) {
- if (disabledDataSourceNames.isEmpty()) {
- return readDataSources;
+ List<String> readDataSourceNames = dataSourceProcessor.getReadDataSources();
+ if (readDataSourceNames.isEmpty()) {
+ return result;
}
- Collection<String> dataSources = new LinkedList<>(Splitter.on(",").trimResults().splitToList(readDataSources));
- dataSources.removeIf(disabledDataSourceNames::contains);
- return String.join(",", dataSources);
+ if (removeDisabled && !disabledDataSourceNames.isEmpty()) {
+ readDataSourceNames = new LinkedList<>(readDataSourceNames);
+ readDataSourceNames.removeIf(disabledDataSourceNames::contains);
+ }
+ result.put(ExportableConstants.REPLICA_DATA_SOURCE_NAMES, String.join(",", readDataSourceNames));
+ return result;
}
}
diff --git a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/type/ReadwriteSplittingDataSourceProcessor.java b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/type/ReadwriteSplittingDataSourceProcessor.java
index 917c249508b..07aa8bf6090 100644
--- a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/type/ReadwriteSplittingDataSourceProcessor.java
+++ b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/type/ReadwriteSplittingDataSourceProcessor.java
@@ -39,13 +39,6 @@ public interface ReadwriteSplittingDataSourceProcessor {
*/
List<String> getReadDataSources();
- /**
- * Get data sources.
- *
- * @return data sources
- */
- Map<String, String> getDataSources();
-
/**
* Get data source mapper.
*
diff --git a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/type/impl/DynamicReadwriteSplittingDataSourceProcessor.java b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/type/impl/DynamicReadwriteSplittingDataSourceProcessor.java
index 62fe657065e..1bc3e467333 100644
--- a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/type/impl/DynamicReadwriteSplittingDataSourceProcessor.java
+++ b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/type/impl/DynamicReadwriteSplittingDataSourceProcessor.java
@@ -17,12 +17,10 @@
package org.apache.shardingsphere.readwritesplitting.type.impl;
-import com.google.common.base.Strings;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.aware.DataSourceNameAware;
import org.apache.shardingsphere.infra.aware.DataSourceNameAwareFactory;
-import org.apache.shardingsphere.infra.distsql.constant.ExportableConstants;
import org.apache.shardingsphere.readwritesplitting.type.ReadwriteSplittingDataSourceProcessor;
import java.util.ArrayList;
@@ -45,8 +43,7 @@ public final class DynamicReadwriteSplittingDataSourceProcessor implements Readw
@Override
public String getWriteDataSource() {
- Optional<DataSourceNameAware> dataSourceNameAware = DataSourceNameAwareFactory.newInstance();
- return dataSourceNameAware.map(optional -> optional.getPrimaryDataSourceName(autoAwareDataSourceName)).orElse(null);
+ return DataSourceNameAwareFactory.newInstance().map(optional -> optional.getPrimaryDataSourceName(autoAwareDataSourceName)).orElse(null);
}
@Override
@@ -58,18 +55,6 @@ public final class DynamicReadwriteSplittingDataSourceProcessor implements Readw
return Collections.emptyList();
}
- @Override
- public Map<String, String> getDataSources() {
- Optional<DataSourceNameAware> dataSourceNameAware = DataSourceNameAwareFactory.newInstance();
- Map<String, String> result = new HashMap<>(2, 1);
- if (!Strings.isNullOrEmpty(autoAwareDataSourceName) && dataSourceNameAware.isPresent() && dataSourceNameAware.get().getRule().isPresent()) {
- result.put(ExportableConstants.PRIMARY_DATA_SOURCE_NAME, dataSourceNameAware.get().getPrimaryDataSourceName(autoAwareDataSourceName));
- result.put(ExportableConstants.REPLICA_DATA_SOURCE_NAMES, String.join(",", dataSourceNameAware.get().getReplicaDataSourceNames(autoAwareDataSourceName)));
- return result;
- }
- return result;
- }
-
@Override
public Map<String, Collection<String>> getDataSourceMapper(final String name) {
Map<String, Collection<String>> result = new HashMap<>(1, 1);
diff --git a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/type/impl/StaticReadwriteSplittingDataSourceProcessor.java b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/type/impl/StaticReadwriteSplittingDataSourceProcessor.java
index 69142ef13b7..afa336d92fb 100644
--- a/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/type/impl/StaticReadwriteSplittingDataSourceProcessor.java
+++ b/shardingsphere-features/shardingsphere-readwrite-splitting/shardingsphere-readwrite-splitting-core/src/main/java/org/apache/shardingsphere/readwritesplitting/type/impl/StaticReadwriteSplittingDataSourceProcessor.java
@@ -17,9 +17,7 @@
package org.apache.shardingsphere.readwritesplitting.type.impl;
-import com.google.common.base.Joiner;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.distsql.constant.ExportableConstants;
import org.apache.shardingsphere.readwritesplitting.type.ReadwriteSplittingDataSourceProcessor;
import java.util.Collection;
@@ -48,14 +46,6 @@ public final class StaticReadwriteSplittingDataSourceProcessor implements Readwr
return readDataSourceNames;
}
- @Override
- public Map<String, String> getDataSources() {
- Map<String, String> result = new HashMap<>(2, 1);
- result.put(ExportableConstants.PRIMARY_DATA_SOURCE_NAME, writeDataSourceName);
- result.put(ExportableConstants.REPLICA_DATA_SOURCE_NAMES, Joiner.on(",").join(readDataSourceNames));
- return result;
- }
-
@Override
public Map<String, Collection<String>> getDataSourceMapper(final String name) {
Map<String, Collection<String>> result = new HashMap<>(1, 1);