This is an automated email from the ASF dual-hosted git repository.
jianglongtao 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 175615eb2ba Remove StorageNodeName (#28650)
175615eb2ba is described below
commit 175615eb2ba1c8d312572b3ee08201c18d4ed9fd
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Oct 6 22:14:40 2023 +0800
Remove StorageNodeName (#28650)
---
.../DataSourceGeneratedDatabaseConfiguration.java | 11 ++-
.../DataSourceProvidedDatabaseConfiguration.java | 9 ++-
.../database/resource/ResourceMetaData.java | 5 +-
.../database/resource/StorageResource.java | 3 +-
.../database/resource/node/StorageNode.java | 22 +++++-
.../resource/node/StorageNodeAggregator.java | 26 +++----
.../database/resource/node/StorageNodeName.java | 51 --------------
.../resource/unit/StorageUnitNodeMapUtils.java | 12 ++--
...taSourceGeneratedDatabaseConfigurationTest.java | 4 +-
...ataSourceProvidedDatabaseConfigurationTest.java | 4 +-
.../infra/metadata/ShardingSphereMetaDataTest.java | 3 +-
.../datasource/ShardingSphereDataSourceTest.java | 6 +-
.../metadata/persist/MetaDataPersistService.java | 10 +--
.../single/route/SingleSQLRouterTest.java | 5 +-
.../transaction/rule/TransactionRuleTest.java | 9 ++-
.../context/ConfigurationContextManager.java | 11 ++-
.../manager/switcher/NewResourceSwitchManager.java | 31 ++++-----
.../manager/switcher/ResourceSwitchManager.java | 80 ++++++++++------------
.../mode/manager/ContextManagerTest.java | 9 ++-
.../switcher/ResourceSwitchManagerTest.java | 10 +--
.../manager/switcher/SwitchingResourceTest.java | 6 +-
.../swapper/YamlProxyConfigurationSwapperTest.java | 4 +-
.../ral/updatable/ImportMetaDataUpdaterTest.java | 5 +-
.../UnregisterStorageUnitBackendHandlerTest.java | 3 +-
.../version/ShardingSphereProxyVersionTest.java | 3 +-
25 files changed, 142 insertions(+), 200 deletions(-)
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfiguration.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfiguration.java
index 83b132e3989..715ad0bfdc7 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfiguration.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfiguration.java
@@ -26,7 +26,6 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourceP
import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
import
org.apache.shardingsphere.infra.metadata.database.resource.StorageResource;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnitNodeMapUtils;
@@ -54,22 +53,22 @@ public final class DataSourceGeneratedDatabaseConfiguration
implements DatabaseC
Map<String, DataSourcePoolProperties> dataSourcePoolPropertiesMap =
dataSourceConfigs.entrySet().stream()
.collect(Collectors.toMap(Entry::getKey, entry ->
DataSourcePoolPropertiesCreator.create(entry.getValue()), (oldValue,
currentValue) -> oldValue, LinkedHashMap::new));
Map<String, StorageNode> storageUnitNodeMap =
StorageUnitNodeMapUtils.fromDataSourcePoolProperties(dataSourcePoolPropertiesMap);
- Map<StorageNodeName, DataSource> storageNodeDataSources =
getStorageNodeDataSourceMap(dataSourcePoolPropertiesMap, storageUnitNodeMap);
+ Map<StorageNode, DataSource> storageNodeDataSources =
getStorageNodeDataSourceMap(dataSourcePoolPropertiesMap, storageUnitNodeMap);
storageUnits = new LinkedHashMap<>(dataSourceConfigs.size(), 1F);
for (Entry<String, DataSourceConfiguration> entry :
dataSourceConfigs.entrySet()) {
String storageUnitName = entry.getKey();
StorageNode storageNode = storageUnitNodeMap.get(storageUnitName);
- DataSource dataSource =
storageNodeDataSources.get(storageNode.getName());
+ DataSource dataSource = storageNodeDataSources.get(storageNode);
StorageUnit storageUnit = new StorageUnit(storageNode,
dataSourcePoolPropertiesMap.get(storageUnitName), dataSource);
storageUnits.put(storageUnitName, storageUnit);
}
storageResource = new StorageResource(storageNodeDataSources,
storageUnitNodeMap);
}
- private Map<StorageNodeName, DataSource> getStorageNodeDataSourceMap(final
Map<String, DataSourcePoolProperties> dataSourcePoolPropertiesMap, final
Map<String, StorageNode> storageUnitNodeMap) {
- Map<StorageNodeName, DataSource> result = new
LinkedHashMap<>(storageUnitNodeMap.size(), 1F);
+ private Map<StorageNode, DataSource> getStorageNodeDataSourceMap(final
Map<String, DataSourcePoolProperties> dataSourcePoolPropertiesMap, final
Map<String, StorageNode> storageUnitNodeMap) {
+ Map<StorageNode, DataSource> result = new
LinkedHashMap<>(storageUnitNodeMap.size(), 1F);
for (Entry<String, StorageNode> entry : storageUnitNodeMap.entrySet())
{
- result.computeIfAbsent(entry.getValue().getName(), key ->
DataSourcePoolCreator.create(entry.getKey(),
dataSourcePoolPropertiesMap.get(entry.getKey()), true, result.values()));
+ result.computeIfAbsent(entry.getValue(), key ->
DataSourcePoolCreator.create(entry.getKey(),
dataSourcePoolPropertiesMap.get(entry.getKey()), true, result.values()));
}
return result;
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfiguration.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfiguration.java
index 4da86afb39a..bc450dabfd5 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfiguration.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfiguration.java
@@ -25,7 +25,6 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePo
import
org.apache.shardingsphere.infra.metadata.database.resource.StorageResource;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeAggregator;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnitNodeMapUtils;
@@ -51,13 +50,13 @@ public final class DataSourceProvidedDatabaseConfiguration
implements DatabaseCo
public DataSourceProvidedDatabaseConfiguration(final Map<String,
DataSource> dataSources, final Collection<RuleConfiguration> ruleConfigs) {
this.ruleConfigurations = ruleConfigs;
Map<String, StorageNode> storageUnitNodeMap =
StorageUnitNodeMapUtils.fromDataSources(dataSources);
- Map<StorageNodeName, DataSource> storageNodeDataSources =
StorageNodeAggregator.aggregateDataSources(dataSources);
+ Map<StorageNode, DataSource> storageNodeDataSources =
StorageNodeAggregator.aggregateDataSources(dataSources);
Map<String, DataSourcePoolProperties> dataSourcePoolPropertiesMap =
createDataSourcePoolPropertiesMap(dataSources);
storageUnits = new LinkedHashMap<>(dataSourcePoolPropertiesMap.size(),
1F);
for (Entry<String, DataSourcePoolProperties> entry :
dataSourcePoolPropertiesMap.entrySet()) {
String storageUnitName = entry.getKey();
StorageNode storageNode = storageUnitNodeMap.get(storageUnitName);
- StorageUnit storageUnit = new StorageUnit(storageNode,
dataSourcePoolPropertiesMap.get(storageUnitName),
storageNodeDataSources.get(storageNode.getName()));
+ StorageUnit storageUnit = new StorageUnit(storageNode,
dataSourcePoolPropertiesMap.get(storageUnitName),
storageNodeDataSources.get(storageNode));
storageUnits.put(storageUnitName, storageUnit);
}
storageResource = new StorageResource(storageNodeDataSources,
storageUnitNodeMap);
@@ -68,12 +67,12 @@ public final class DataSourceProvidedDatabaseConfiguration
implements DatabaseCo
this.storageResource = storageResource;
this.ruleConfigurations = ruleConfigs;
Map<String, StorageNode> storageUnitNodeMap =
StorageUnitNodeMapUtils.fromDataSourcePoolProperties(dataSourcePoolPropertiesMap);
- Map<StorageNodeName, DataSource> storageNodeDataSources =
storageResource.getDataSources();
+ Map<StorageNode, DataSource> storageNodeDataSources =
storageResource.getDataSources();
storageUnits = new LinkedHashMap<>(dataSourcePoolPropertiesMap.size(),
1F);
for (Entry<String, DataSourcePoolProperties> entry :
dataSourcePoolPropertiesMap.entrySet()) {
String storageUnitName = entry.getKey();
StorageNode storageNode = storageUnitNodeMap.get(storageUnitName);
- StorageUnit storageUnit = new StorageUnit(storageNode,
dataSourcePoolPropertiesMap.get(storageUnitName),
storageNodeDataSources.get(storageNode.getName()));
+ StorageUnit storageUnit = new StorageUnit(storageNode,
dataSourcePoolPropertiesMap.get(storageUnitName),
storageNodeDataSources.get(storageNode));
storageUnits.put(storageUnitName, storageUnit);
}
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/ResourceMetaData.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/ResourceMetaData.java
index 0b8871ec912..ba0432523b2 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/ResourceMetaData.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/ResourceMetaData.java
@@ -23,7 +23,6 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourceP
import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeAggregator;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnitNodeMapUtils;
@@ -42,7 +41,7 @@ import java.util.stream.Collectors;
@Getter
public final class ResourceMetaData {
- private final Map<StorageNodeName, DataSource> dataSources;
+ private final Map<StorageNode, DataSource> dataSources;
private final Map<String, StorageUnit> storageUnits;
@@ -53,7 +52,7 @@ public final class ResourceMetaData {
Collectors.toMap(Entry::getKey, entry ->
DataSourcePoolPropertiesCreator.create(entry.getValue()), (oldValue,
currentValue) -> oldValue, LinkedHashMap::new));
storageUnits = new LinkedHashMap<>();
for (Entry<String, StorageNode> entry : storageNodes.entrySet()) {
- storageUnits.put(entry.getKey(), new StorageUnit(entry.getValue(),
dataSourcePoolPropsMap.get(entry.getKey()),
dataSources.get(entry.getValue().getName().getName())));
+ storageUnits.put(entry.getKey(), new StorageUnit(entry.getValue(),
dataSourcePoolPropsMap.get(entry.getKey()),
dataSources.get(entry.getValue().getName())));
}
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/StorageResource.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/StorageResource.java
index 742bb9c7fbe..0dcce77c213 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/StorageResource.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/StorageResource.java
@@ -20,7 +20,6 @@ package
org.apache.shardingsphere.infra.metadata.database.resource;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import javax.sql.DataSource;
import java.util.Map;
@@ -32,7 +31,7 @@ import java.util.Map;
@Getter
public final class StorageResource {
- private final Map<StorageNodeName, DataSource> dataSources;
+ private final Map<StorageNode, DataSource> dataSources;
private final Map<String, StorageNode> storageUnitNodeMap;
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNode.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNode.java
index 6083df308db..b1b23778720 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNode.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNode.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.infra.metadata.database.resource.node;
+import com.google.common.base.Objects;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@@ -27,5 +28,24 @@ import lombok.RequiredArgsConstructor;
@Getter
public final class StorageNode {
- private final StorageNodeName name;
+ private final String name;
+
+ public StorageNode(final String hostname, final int port, final String
username) {
+ name = String.format("%s_%s_%s", hostname, port, username);
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ return obj instanceof StorageNode && ((StorageNode)
obj).name.equalsIgnoreCase(name);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hashCode(name.toUpperCase());
+ }
+
+ @Override
+ public String toString() {
+ return name;
+ }
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNodeAggregator.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNodeAggregator.java
index 7f4212beea8..6872bb92a67 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNodeAggregator.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNodeAggregator.java
@@ -39,40 +39,40 @@ import java.util.stream.Collectors;
public final class StorageNodeAggregator {
/**
- * Aggregate data source map to storage node name grouped.
+ * Aggregate data source map to storage node grouped.
*
* @param dataSourceMap storage unit name and data source map
- * @return storage node name and data source map
+ * @return storage node and data source map
*/
- public static Map<StorageNodeName, DataSource> aggregateDataSources(final
Map<String, DataSource> dataSourceMap) {
+ public static Map<StorageNode, DataSource> aggregateDataSources(final
Map<String, DataSource> dataSourceMap) {
return dataSourceMap.entrySet().stream().collect(
- Collectors.toMap(entry -> new StorageNodeName(entry.getKey()),
Entry::getValue, (oldValue, currentValue) -> currentValue, () -> new
LinkedHashMap<>(dataSourceMap.size(), 1F)));
+ Collectors.toMap(entry -> new StorageNode(entry.getKey()),
Entry::getValue, (oldValue, currentValue) -> currentValue, () -> new
LinkedHashMap<>(dataSourceMap.size(), 1F)));
}
/**
- * Aggregate data source pool properties map to storage node name grouped.
+ * Aggregate data source pool properties map to storage node grouped.
*
* @param storageUnitDataSourcePoolPropsMap storage unit name and data
source pool properties map
- * @return storage node name and data source pool properties map
+ * @return storage node and data source pool properties map
*/
- public static Map<StorageNodeName, DataSourcePoolProperties>
aggregateDataSourcePoolProperties(final Map<String, DataSourcePoolProperties>
storageUnitDataSourcePoolPropsMap) {
- Map<StorageNodeName, DataSourcePoolProperties> result = new
LinkedHashMap<>();
+ public static Map<StorageNode, DataSourcePoolProperties>
aggregateDataSourcePoolProperties(final Map<String, DataSourcePoolProperties>
storageUnitDataSourcePoolPropsMap) {
+ Map<StorageNode, DataSourcePoolProperties> result = new
LinkedHashMap<>();
for (Entry<String, DataSourcePoolProperties> entry :
storageUnitDataSourcePoolPropsMap.entrySet()) {
Map<String, Object> standardProps =
entry.getValue().getConnectionPropertySynonyms().getStandardProperties();
String url = standardProps.get("url").toString();
boolean isInstanceConnectionAvailable = new
DatabaseTypeRegistry(DatabaseTypeFactory.get(url)).getDialectDatabaseMetaData().isInstanceConnectionAvailable();
- StorageNodeName storageNodeName =
getStorageNodeName(entry.getKey(), url,
standardProps.get("username").toString(), isInstanceConnectionAvailable);
- result.putIfAbsent(storageNodeName, entry.getValue());
+ StorageNode storageNode = getStorageNode(entry.getKey(), url,
standardProps.get("username").toString(), isInstanceConnectionAvailable);
+ result.putIfAbsent(storageNode, entry.getValue());
}
return result;
}
- private static StorageNodeName getStorageNodeName(final String
dataSourceName, final String url, final String username, final boolean
isInstanceConnectionAvailable) {
+ private static StorageNode getStorageNode(final String dataSourceName,
final String url, final String username, final boolean
isInstanceConnectionAvailable) {
try {
JdbcUrl jdbcUrl = new StandardJdbcUrlParser().parse(url);
- return isInstanceConnectionAvailable ? new
StorageNodeName(jdbcUrl.getHostname(), jdbcUrl.getPort(), username) : new
StorageNodeName(dataSourceName);
+ return isInstanceConnectionAvailable ? new
StorageNode(jdbcUrl.getHostname(), jdbcUrl.getPort(), username) : new
StorageNode(dataSourceName);
} catch (final UnrecognizedDatabaseURLException ex) {
- return new StorageNodeName(dataSourceName);
+ return new StorageNode(dataSourceName);
}
}
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNodeName.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNodeName.java
deleted file mode 100644
index 3ec99ec0e1a..00000000000
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNodeName.java
+++ /dev/null
@@ -1,51 +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.infra.metadata.database.resource.node;
-
-import com.google.common.base.Objects;
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-
-/**
- * Storage node name.
- */
-@RequiredArgsConstructor
-@Getter
-public final class StorageNodeName {
-
- private final String name;
-
- public StorageNodeName(final String hostname, final int port, final String
username) {
- name = String.format("%s_%s_%s", hostname, port, username);
- }
-
- @Override
- public boolean equals(final Object obj) {
- return obj instanceof StorageNodeName && ((StorageNodeName)
obj).name.equalsIgnoreCase(name);
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(name.toUpperCase());
- }
-
- @Override
- public String toString() {
- return name;
- }
-}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnitNodeMapUtils.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnitNodeMapUtils.java
index 602574eb62c..2be8758a117 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnitNodeMapUtils.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnitNodeMapUtils.java
@@ -26,7 +26,6 @@ import
org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory;
import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import javax.sql.DataSource;
import java.util.LinkedHashMap;
@@ -48,7 +47,7 @@ public final class StorageUnitNodeMapUtils {
*/
public static Map<String, StorageNode> fromDataSources(final Map<String,
DataSource> dataSources) {
return dataSources.entrySet().stream()
- .collect(Collectors.toMap(Entry::getKey, entry -> new
StorageNode(new StorageNodeName(entry.getKey())), (oldValue, currentValue) ->
currentValue, LinkedHashMap::new));
+ .collect(Collectors.toMap(Entry::getKey, entry -> new
StorageNode(entry.getKey()), (oldValue, currentValue) -> currentValue,
LinkedHashMap::new));
}
/**
@@ -70,16 +69,15 @@ public final class StorageUnitNodeMapUtils {
Map<String, Object> standardProps =
props.getConnectionPropertySynonyms().getStandardProperties();
String url = standardProps.get("url").toString();
boolean isInstanceConnectionAvailable = new
DatabaseTypeRegistry(DatabaseTypeFactory.get(url)).getDialectDatabaseMetaData().isInstanceConnectionAvailable();
- StorageNodeName storageNodeName = getStorageNodeName(storageUnitName,
url, standardProps.get("username").toString(), isInstanceConnectionAvailable);
- return new StorageNode(storageNodeName);
+ return getStorageNode(storageUnitName, url,
standardProps.get("username").toString(), isInstanceConnectionAvailable);
}
- private static StorageNodeName getStorageNodeName(final String
dataSourceName, final String url, final String username, final boolean
isInstanceConnectionAvailable) {
+ private static StorageNode getStorageNode(final String dataSourceName,
final String url, final String username, final boolean
isInstanceConnectionAvailable) {
try {
JdbcUrl jdbcUrl = new StandardJdbcUrlParser().parse(url);
- return isInstanceConnectionAvailable ? new
StorageNodeName(jdbcUrl.getHostname(), jdbcUrl.getPort(), username) : new
StorageNodeName(dataSourceName);
+ return isInstanceConnectionAvailable ? new
StorageNode(jdbcUrl.getHostname(), jdbcUrl.getPort(), username) : new
StorageNode(dataSourceName);
} catch (final UnrecognizedDatabaseURLException ex) {
- return new StorageNodeName(dataSourceName);
+ return new StorageNode(dataSourceName);
}
}
}
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfigurationTest.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfigurationTest.java
index 36fa57f9d5d..f2180ec3946 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfigurationTest.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfigurationTest.java
@@ -23,8 +23,8 @@ import
org.apache.shardingsphere.infra.datasource.pool.config.ConnectionConfigur
import
org.apache.shardingsphere.infra.datasource.pool.config.DataSourceConfiguration;
import
org.apache.shardingsphere.infra.datasource.pool.config.PoolConfiguration;
import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import org.apache.shardingsphere.infra.fixture.FixtureRuleConfiguration;
+import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
import org.junit.jupiter.api.Test;
import javax.sql.DataSource;
@@ -50,7 +50,7 @@ class DataSourceGeneratedDatabaseConfigurationTest {
@Test
void assertGetStorageNodes() {
DataSourceGeneratedDatabaseConfiguration databaseConfig =
createDataSourceGeneratedDatabaseConfiguration();
- HikariDataSource hikariDataSource = (HikariDataSource)
databaseConfig.getStorageResource().getDataSources().get(new
StorageNodeName("normal_db"));
+ HikariDataSource hikariDataSource = (HikariDataSource)
databaseConfig.getStorageResource().getDataSources().get(new
StorageNode("normal_db"));
assertThat(hikariDataSource.getJdbcUrl(),
is("jdbc:mock://127.0.0.1/normal_db"));
assertThat(hikariDataSource.getUsername(), is("root"));
assertThat(hikariDataSource.getPassword(), is(""));
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfigurationTest.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfigurationTest.java
index 241d1c56248..9c49325a45f 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfigurationTest.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfigurationTest.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.infra.config.database.impl;
import
org.apache.shardingsphere.infra.datasource.pool.CatalogSwitchableDataSource;
import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import org.apache.shardingsphere.infra.fixture.FixtureRuleConfiguration;
+import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.junit.jupiter.api.Test;
@@ -45,7 +45,7 @@ class DataSourceProvidedDatabaseConfigurationTest {
@Test
void assertGetStorageNodes() {
DataSourceProvidedDatabaseConfiguration databaseConfig =
createDataSourceProvidedDatabaseConfiguration();
- MockedDataSource dataSource = (MockedDataSource)
databaseConfig.getStorageResource().getDataSources().get(new
StorageNodeName("foo_ds"));
+ MockedDataSource dataSource = (MockedDataSource)
databaseConfig.getStorageResource().getDataSources().get(new
StorageNode("foo_ds"));
assertThat(dataSource.getUrl(), is("jdbc:mock://127.0.0.1/foo_ds"));
assertThat(dataSource.getUsername(), is("root"));
assertThat(dataSource.getPassword(), is("root"));
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
index e2629760467..12f765b559f 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
@@ -23,7 +23,6 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePo
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.rule.identifier.type.ResourceHeldRule;
@@ -112,7 +111,7 @@ class ShardingSphereMetaDataTest {
when(result.getResourceMetaData()).thenReturn(resourceMetaData);
DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/foo_ds"));
- StorageUnit storageUnit = new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps, dataSource);
+ StorageUnit storageUnit = new StorageUnit(mock(StorageNode.class),
dataSourcePoolProps, dataSource);
when(result.getResourceMetaData().getStorageUnits()).thenReturn(Collections.singletonMap("foo_db",
storageUnit));
when(result.getRuleMetaData()).thenReturn(new
RuleMetaData(Collections.singleton(databaseResourceHeldRule)));
return result;
diff --git
a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
index de2c40f748f..4404425c1cd 100644
---
a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
+++
b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
@@ -22,8 +22,8 @@ import lombok.SneakyThrows;
import
org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection;
import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
import org.apache.shardingsphere.infra.database.core.DefaultDatabase;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.executor.sql.execute.engine.ConnectionMode;
+import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
import org.apache.shardingsphere.infra.state.cluster.ClusterState;
import org.apache.shardingsphere.infra.state.instance.InstanceState;
import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -132,9 +132,9 @@ class ShardingSphereDataSourceTest {
try (HikariDataSource dataSource = createHikariDataSource()) {
ShardingSphereDataSource actual =
createShardingSphereDataSource(dataSource);
actual.close();
- Map<StorageNodeName, DataSource> dataSourceMap =
getContextManager(actual).getMetaDataContexts().getMetaData()
+ Map<StorageNode, DataSource> dataSourceMap =
getContextManager(actual).getMetaDataContexts().getMetaData()
.getDatabase(DefaultDatabase.LOGIC_NAME).getResourceMetaData().getDataSources();
- assertTrue(((HikariDataSource) dataSourceMap.get(new
StorageNodeName("ds"))).isClosed());
+ assertTrue(((HikariDataSource) dataSourceMap.get(new
StorageNode("ds"))).isClosed());
}
}
diff --git
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistService.java
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistService.java
index 6411201a0e4..0ebdf0a039c 100644
---
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistService.java
+++
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistService.java
@@ -21,11 +21,11 @@ import lombok.Getter;
import org.apache.shardingsphere.infra.config.database.DatabaseConfiguration;
import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
import
org.apache.shardingsphere.infra.config.rule.decorator.RuleConfigurationDecorator;
-import
org.apache.shardingsphere.infra.datasource.pool.destroyer.DataSourcePoolDestroyer;
import
org.apache.shardingsphere.infra.datasource.pool.config.DataSourceConfiguration;
-import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import
org.apache.shardingsphere.infra.datasource.pool.destroyer.DataSourcePoolDestroyer;
import
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
+import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
+import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.metadata.persist.data.ShardingSphereDataPersistService;
@@ -121,9 +121,9 @@ public final class MetaDataPersistService implements
MetaDataBasedPersistService
.collect(Collectors.toMap(Entry::getKey, entry ->
entry.getValue().getDataSourcePoolProperties(), (oldValue, currentValue) ->
oldValue, LinkedHashMap::new));
}
- private Map<String, DataSourcePoolProperties>
getDataSourcePoolPropertiesMap(final Map<StorageNodeName, DataSource>
storageNodeDataSources) {
+ private Map<String, DataSourcePoolProperties>
getDataSourcePoolPropertiesMap(final Map<StorageNode, DataSource>
storageNodeDataSources) {
Map<String, DataSourcePoolProperties> result = new
LinkedHashMap<>(storageNodeDataSources.size(), 1F);
- for (Entry<StorageNodeName, DataSource> entry :
storageNodeDataSources.entrySet()) {
+ for (Entry<StorageNode, DataSource> entry :
storageNodeDataSources.entrySet()) {
result.put(entry.getKey().getName(),
DataSourcePoolPropertiesCreator.create(entry.getValue()));
}
return result;
diff --git
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/SingleSQLRouterTest.java
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/SingleSQLRouterTest.java
index a1b7ca3e5dc..3f03c668365 100644
---
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/SingleSQLRouterTest.java
+++
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/SingleSQLRouterTest.java
@@ -26,7 +26,6 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePo
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
@@ -151,10 +150,10 @@ class SingleSQLRouterTest {
Map<String, StorageUnit> storageUnits = new HashMap<>(2, 1F);
DataSourcePoolProperties dataSourcePoolProps0 =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/ds_0"));
- storageUnits.put("ds_0", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps0, new
MockedDataSource()));
+ storageUnits.put("ds_0", new StorageUnit(mock(StorageNode.class),
dataSourcePoolProps0, new MockedDataSource()));
DataSourcePoolProperties dataSourcePoolProps1 =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/ds_1"));
- storageUnits.put("ds_1", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps1, new
MockedDataSource()));
+ storageUnits.put("ds_1", new StorageUnit(mock(StorageNode.class),
dataSourcePoolProps1, new MockedDataSource()));
ShardingSphereDatabase result = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
when(result.getResourceMetaData().getStorageUnits()).thenReturn(storageUnits);
when(result.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
diff --git
a/kernel/transaction/core/src/test/java/org/apache/shardingsphere/transaction/rule/TransactionRuleTest.java
b/kernel/transaction/core/src/test/java/org/apache/shardingsphere/transaction/rule/TransactionRuleTest.java
index ec0aa54fdb0..4bb970a26c1 100644
---
a/kernel/transaction/core/src/test/java/org/apache/shardingsphere/transaction/rule/TransactionRuleTest.java
+++
b/kernel/transaction/core/src/test/java/org/apache/shardingsphere/transaction/rule/TransactionRuleTest.java
@@ -21,7 +21,6 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePo
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.apache.shardingsphere.transaction.api.TransactionType;
@@ -102,10 +101,10 @@ class TransactionRuleTest {
Map<String, StorageUnit> storageUnits = new HashMap<>(2, 1F);
DataSourcePoolProperties dataSourcePoolProps0 =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/ds_0"));
- storageUnits.put("ds_0", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps0, new
MockedDataSource()));
+ storageUnits.put("ds_0", new StorageUnit(mock(StorageNode.class),
dataSourcePoolProps0, new MockedDataSource()));
DataSourcePoolProperties dataSourcePoolProps1 =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/ds_1"));
- storageUnits.put("ds_1", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps1, new
MockedDataSource()));
+ storageUnits.put("ds_1", new StorageUnit(mock(StorageNode.class),
dataSourcePoolProps1, new MockedDataSource()));
ResourceMetaData result = mock(ResourceMetaData.class,
RETURNS_DEEP_STUBS);
when(result.getStorageUnits()).thenReturn(storageUnits);
return result;
@@ -123,10 +122,10 @@ class TransactionRuleTest {
Map<String, StorageUnit> storageUnits = new HashMap<>(2, 1F);
DataSourcePoolProperties dataSourcePoolProps0 =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/ds_0"));
- storageUnits.put("ds_0", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps0, new
MockedDataSource()));
+ storageUnits.put("ds_0", new StorageUnit(mock(StorageNode.class),
dataSourcePoolProps0, new MockedDataSource()));
DataSourcePoolProperties dataSourcePoolProps1 =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/ds_1"));
- storageUnits.put("ds_1", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps1, new
MockedDataSource()));
+ storageUnits.put("ds_1", new StorageUnit(mock(StorageNode.class),
dataSourcePoolProps1, new MockedDataSource()));
ResourceMetaData result = mock(ResourceMetaData.class,
RETURNS_DEEP_STUBS);
when(result.getStorageUnits()).thenReturn(storageUnits);
return result;
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/context/ConfigurationContextManager.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/context/ConfigurationContextManager.java
index 389e43a46d9..4d30b5940f8 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/context/ConfigurationContextManager.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/context/ConfigurationContextManager.java
@@ -31,7 +31,6 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.StorageResource;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.metadata.database.schema.SchemaManager;
@@ -278,15 +277,15 @@ public final class ConfigurationContextManager {
* @return ShardingSphere databases
*/
public Map<String, ShardingSphereDatabase> renewDatabase(final
ShardingSphereDatabase database, final SwitchingResource resource) {
- Map<StorageNodeName, DataSource> newStorageNodes =
getNewStorageNodes(database.getResourceMetaData().getDataSources(), resource);
+ Map<StorageNode, DataSource> newStorageNodes =
getNewStorageNodes(database.getResourceMetaData().getDataSources(), resource);
Map<String, StorageUnit> newStorageUnits =
getNewStorageUnits(database.getResourceMetaData().getStorageUnits(), resource);
return Collections.singletonMap(database.getName().toLowerCase(), new
ShardingSphereDatabase(database.getName(), database.getProtocolType(),
new ResourceMetaData(newStorageNodes, newStorageUnits),
database.getRuleMetaData(), database.getSchemas()));
}
- private Map<StorageNodeName, DataSource> getNewStorageNodes(final
Map<StorageNodeName, DataSource> currentStorageNodes, final SwitchingResource
resource) {
- Map<StorageNodeName, DataSource> result = new LinkedHashMap<>();
- for (Entry<StorageNodeName, DataSource> entry :
currentStorageNodes.entrySet()) {
+ private Map<StorageNode, DataSource> getNewStorageNodes(final
Map<StorageNode, DataSource> currentStorageNodes, final SwitchingResource
resource) {
+ Map<StorageNode, DataSource> result = new LinkedHashMap<>();
+ for (Entry<StorageNode, DataSource> entry :
currentStorageNodes.entrySet()) {
if
(!resource.getStaleStorageResource().getDataSources().containsKey(entry.getKey()))
{
result.put(entry.getKey(), entry.getValue());
}
@@ -367,7 +366,7 @@ public final class ConfigurationContextManager {
}
private StorageResource getMergedStorageResource(final ResourceMetaData
currentResourceMetaData, final SwitchingResource switchingResource) {
- Map<StorageNodeName, DataSource> storageNodeDataSources =
currentResourceMetaData.getDataSources();
+ Map<StorageNode, DataSource> storageNodeDataSources =
currentResourceMetaData.getDataSources();
Map<String, StorageNode> storageUnitNodeMap = new LinkedHashMap<>(
currentResourceMetaData.getStorageUnits().entrySet().stream()
.collect(Collectors.toMap(Entry::getKey, entry ->
entry.getValue().getStorageNode(), (oldValue, currentValue) -> oldValue,
LinkedHashMap::new)));
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/NewResourceSwitchManager.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/NewResourceSwitchManager.java
index ce4263a5e7b..347affcf80f 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/NewResourceSwitchManager.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/NewResourceSwitchManager.java
@@ -22,12 +22,10 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePo
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.StorageResource;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeAggregator;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnitNodeMapUtils;
import javax.sql.DataSource;
-import java.util.Collection;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -52,16 +50,15 @@ public final class NewResourceSwitchManager {
.collect(Collectors.toMap(Entry::getKey, entry ->
entry.getValue().getDataSourcePoolProperties(), (oldValue, currentValue) ->
oldValue, LinkedHashMap::new)));
mergedPropsMap.putAll(storageUnitDataSourcePoolPropsMap);
Map<String, StorageNode> toBeCreatedStorageUintNodeMap =
StorageUnitNodeMapUtils.fromDataSourcePoolProperties(storageUnitDataSourcePoolPropsMap);
- Map<StorageNodeName, DataSourcePoolProperties> dataSourcePoolPropsMap
=
StorageNodeAggregator.aggregateDataSourcePoolProperties(storageUnitDataSourcePoolPropsMap);
+ Map<StorageNode, DataSourcePoolProperties> dataSourcePoolPropsMap =
StorageNodeAggregator.aggregateDataSourcePoolProperties(storageUnitDataSourcePoolPropsMap);
return new SwitchingResource(resourceMetaData,
getRegisterNewStorageResource(resourceMetaData, toBeCreatedStorageUintNodeMap,
dataSourcePoolPropsMap),
new StorageResource(Collections.emptyMap(),
Collections.emptyMap()), mergedPropsMap);
}
private StorageResource getRegisterNewStorageResource(final
ResourceMetaData resourceMetaData,
- final Map<String,
StorageNode> storageUintNodeMap, final Map<StorageNodeName,
DataSourcePoolProperties> dataSourcePoolPropsMap) {
- Collection<StorageNodeName> storageNodeNames =
storageUintNodeMap.values().stream().map(StorageNode::getName).collect(Collectors.toSet());
- Map<StorageNodeName, DataSource> newStorageNodes = new
LinkedHashMap<>(storageNodeNames.size(), 1F);
- for (StorageNodeName each : storageNodeNames) {
+ final Map<String,
StorageNode> storageUintNodeMap, final Map<StorageNode,
DataSourcePoolProperties> dataSourcePoolPropsMap) {
+ Map<StorageNode, DataSource> newStorageNodes = new
LinkedHashMap<>(storageUintNodeMap.size(), 1F);
+ for (StorageNode each : storageUintNodeMap.values()) {
if (!resourceMetaData.getDataSources().containsKey(each)) {
newStorageNodes.put(each,
DataSourcePoolCreator.create(dataSourcePoolPropsMap.get(each)));
}
@@ -81,25 +78,23 @@ public final class NewResourceSwitchManager {
.collect(Collectors.toMap(Entry::getKey, entry ->
entry.getValue().getDataSourcePoolProperties(), (oldValue, currentValue) ->
oldValue, LinkedHashMap::new)));
mergedDataSourcePoolPropsMap.putAll(propsMap);
Map<String, StorageNode> toBeAlteredStorageUintNodeMap =
StorageUnitNodeMapUtils.fromDataSourcePoolProperties(mergedDataSourcePoolPropsMap);
- Map<StorageNodeName, DataSourcePoolProperties> dataSourcePoolPropsMap
=
StorageNodeAggregator.aggregateDataSourcePoolProperties(mergedDataSourcePoolPropsMap);
+ Map<StorageNode, DataSourcePoolProperties> dataSourcePoolPropsMap =
StorageNodeAggregator.aggregateDataSourcePoolProperties(mergedDataSourcePoolPropsMap);
return new SwitchingResource(resourceMetaData,
getAlterNewStorageResource(toBeAlteredStorageUintNodeMap,
dataSourcePoolPropsMap),
getStaleStorageResource(resourceMetaData,
toBeAlteredStorageUintNodeMap), mergedDataSourcePoolPropsMap);
}
- private StorageResource getAlterNewStorageResource(final Map<String,
StorageNode> storageUintNodeMap, final Map<StorageNodeName,
DataSourcePoolProperties> dataSourcePoolPropsMap) {
- Collection<StorageNodeName> toBeAlteredStorageNodeNames =
storageUintNodeMap.values().stream().map(StorageNode::getName).collect(Collectors.toSet());
- Map<StorageNodeName, DataSource> storageNodes = new
LinkedHashMap<>(toBeAlteredStorageNodeNames.size(), 1F);
- for (StorageNodeName each : toBeAlteredStorageNodeNames) {
+ private StorageResource getAlterNewStorageResource(final Map<String,
StorageNode> storageUintNodeMap, final Map<StorageNode,
DataSourcePoolProperties> dataSourcePoolPropsMap) {
+ Map<StorageNode, DataSource> storageNodes = new
LinkedHashMap<>(storageUintNodeMap.size(), 1F);
+ for (StorageNode each : storageUintNodeMap.values()) {
storageNodes.put(each,
DataSourcePoolCreator.create(dataSourcePoolPropsMap.get(each)));
}
return new StorageResource(storageNodes, storageUintNodeMap);
}
private StorageResource getStaleStorageResource(final ResourceMetaData
resourceMetaData, final Map<String, StorageNode> storageUintNodeMap) {
- Collection<StorageNodeName> toBeAlteredStorageNodeNames =
storageUintNodeMap.values().stream().map(StorageNode::getName).collect(Collectors.toSet());
- Map<StorageNodeName, DataSource> storageNodes = new
LinkedHashMap<>(toBeAlteredStorageNodeNames.size(), 1F);
- for (Entry<StorageNodeName, DataSource> entry :
resourceMetaData.getDataSources().entrySet()) {
- if (toBeAlteredStorageNodeNames.contains(entry.getKey())) {
+ Map<StorageNode, DataSource> storageNodes = new
LinkedHashMap<>(storageUintNodeMap.size(), 1F);
+ for (Entry<StorageNode, DataSource> entry :
resourceMetaData.getDataSources().entrySet()) {
+ if (storageUintNodeMap.containsValue(entry.getKey())) {
storageNodes.put(entry.getKey(), entry.getValue());
}
}
@@ -129,9 +124,9 @@ public final class NewResourceSwitchManager {
StorageNode storageNode = metaDataMap.remove(storageUnitName);
Map<String, StorageNode> reservedStorageUintNodeMap =
resourceMetaData.getStorageUnits().entrySet().stream()
.collect(Collectors.toMap(Entry::getKey, entry ->
entry.getValue().getStorageNode()));
- Map<StorageNodeName, DataSource> storageNodes = new LinkedHashMap<>(1,
1F);
+ Map<StorageNode, DataSource> storageNodes = new LinkedHashMap<>(1, 1F);
if (reservedStorageUintNodeMap.values().stream().noneMatch(each ->
each.equals(storageNode))) {
- storageNodes.put(storageNode.getName(),
resourceMetaData.getDataSources().get(storageNode.getName()));
+ storageNodes.put(storageNode,
resourceMetaData.getDataSources().get(storageNode));
}
return new StorageResource(storageNodes,
Collections.singletonMap(storageUnitName, storageNode));
}
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManager.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManager.java
index adef4ddc0fe..1120384feba 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManager.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManager.java
@@ -23,7 +23,6 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePo
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.StorageResource;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeAggregator;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnitNodeMapUtils;
@@ -53,7 +52,7 @@ public final class ResourceSwitchManager {
.collect(Collectors.toMap(Entry::getKey, entry ->
entry.getValue().getDataSourcePoolProperties(), (oldValue, currentValue) ->
oldValue, LinkedHashMap::new)));
mergedPropsMap.putAll(toBeChangedPropsMap);
Map<String, StorageNode> toBeChangedStorageUnitNodeMap =
StorageUnitNodeMapUtils.fromDataSourcePoolProperties(toBeChangedPropsMap);
- Map<StorageNodeName, DataSourcePoolProperties> dataSourcePoolPropsMap
= StorageNodeAggregator.aggregateDataSourcePoolProperties(toBeChangedPropsMap);
+ Map<StorageNode, DataSourcePoolProperties> dataSourcePoolPropsMap =
StorageNodeAggregator.aggregateDataSourcePoolProperties(toBeChangedPropsMap);
StorageResource newStorageResource =
createNewStorageResource(resourceMetaData, toBeChangedStorageUnitNodeMap,
dataSourcePoolPropsMap);
StorageResource staleDataSources =
getStaleDataSources(resourceMetaData, toBeChangedStorageUnitNodeMap,
mergedPropsMap);
return new SwitchingResource(resourceMetaData, newStorageResource,
staleDataSources, mergedPropsMap);
@@ -89,29 +88,27 @@ public final class ResourceSwitchManager {
mergedDataSourcePoolPropertiesMap.putAll(toBeChangedPropsMap);
Map<String, StorageNode> toBeChangedStorageUnitNodeMap =
StorageUnitNodeMapUtils.fromDataSourcePoolProperties(toBeChangedPropsMap);
StorageResource staleStorageResource =
getStaleDataSources(resourceMetaData, toBeChangedStorageUnitNodeMap,
toBeChangedPropsMap);
- Collection<StorageNodeName> toBeChangedStorageNodeNames =
toBeChangedStorageUnitNodeMap.values().stream().map(StorageNode::getName).collect(Collectors.toSet());
-
staleStorageResource.getDataSources().putAll(getToBeDeletedDataSources(resourceMetaData.getDataSources(),
toBeChangedStorageNodeNames));
+
staleStorageResource.getDataSources().putAll(getToBeDeletedDataSources(resourceMetaData.getDataSources(),
toBeChangedStorageUnitNodeMap.values()));
staleStorageResource.getStorageUnitNodeMap().putAll(
getToBeDeletedStorageUnitNodeMap(resourceMetaData.getStorageUnits(),
toBeChangedStorageUnitNodeMap.keySet()));
- Map<StorageNodeName, DataSourcePoolProperties> dataSourcePoolPropsMap
= StorageNodeAggregator.aggregateDataSourcePoolProperties(toBeChangedPropsMap);
+ Map<StorageNode, DataSourcePoolProperties> dataSourcePoolPropsMap =
StorageNodeAggregator.aggregateDataSourcePoolProperties(toBeChangedPropsMap);
return new SwitchingResource(
resourceMetaData, createNewStorageResource(resourceMetaData,
toBeChangedStorageUnitNodeMap, dataSourcePoolPropsMap), staleStorageResource,
mergedDataSourcePoolPropertiesMap);
}
private StorageResource createNewStorageResource(final ResourceMetaData
resourceMetaData,
- final Map<String,
StorageNode> toBeChangedStorageUnitNodeMap, final Map<StorageNodeName,
DataSourcePoolProperties> dataSourcePoolPropsMap) {
- Collection<StorageNodeName> toBeChangedStorageNodeName =
toBeChangedStorageUnitNodeMap.values().stream().map(StorageNode::getName).collect(Collectors.toSet());
- Map<StorageNodeName, DataSource> storageNodes =
getNewStorageNodes(resourceMetaData, toBeChangedStorageNodeName,
dataSourcePoolPropsMap);
+ final Map<String,
StorageNode> toBeChangedStorageUnitNodeMap, final Map<StorageNode,
DataSourcePoolProperties> dataSourcePoolPropsMap) {
+ Map<StorageNode, DataSource> storageNodes =
getNewStorageNodes(resourceMetaData, toBeChangedStorageUnitNodeMap.values(),
dataSourcePoolPropsMap);
Map<String, StorageNode> storageUnitNodeMap =
getNewStorageUnitNodeMap(resourceMetaData, toBeChangedStorageUnitNodeMap);
return new StorageResource(storageNodes, storageUnitNodeMap);
}
- private Map<StorageNodeName, DataSource> getNewStorageNodes(final
ResourceMetaData resourceMetaData, final Collection<StorageNodeName>
toBeChangedStorageNodeName,
- final
Map<StorageNodeName, DataSourcePoolProperties> propsMap) {
- Map<StorageNodeName, DataSource> result = new
LinkedHashMap<>(resourceMetaData.getDataSources());
-
result.keySet().removeAll(getToBeDeletedDataSources(resourceMetaData.getDataSources(),
toBeChangedStorageNodeName).keySet());
- result.putAll(getChangedDataSources(resourceMetaData.getDataSources(),
toBeChangedStorageNodeName, propsMap));
-
result.putAll(getToBeAddedDataSources(resourceMetaData.getDataSources(),
toBeChangedStorageNodeName, propsMap));
+ private Map<StorageNode, DataSource> getNewStorageNodes(final
ResourceMetaData resourceMetaData, final Collection<StorageNode>
toBeChangedStorageNodes,
+ final
Map<StorageNode, DataSourcePoolProperties> propsMap) {
+ Map<StorageNode, DataSource> result = new
LinkedHashMap<>(resourceMetaData.getDataSources());
+
result.keySet().removeAll(getToBeDeletedDataSources(resourceMetaData.getDataSources(),
toBeChangedStorageNodes).keySet());
+ result.putAll(getChangedDataSources(resourceMetaData.getDataSources(),
toBeChangedStorageNodes, propsMap));
+
result.putAll(getToBeAddedDataSources(resourceMetaData.getDataSources(),
toBeChangedStorageNodes, propsMap));
return result;
}
@@ -125,29 +122,27 @@ public final class ResourceSwitchManager {
return result;
}
- private Map<StorageNodeName, DataSource> getChangedDataSources(final
Map<StorageNodeName, DataSource> storageNodes,
- final
Collection<StorageNodeName> toBeChangedStorageNodeName,
- final
Map<StorageNodeName, DataSourcePoolProperties> propsMap) {
- Collection<StorageNodeName> toBeChangedDataSourceNames =
toBeChangedStorageNodeName.stream()
+ private Map<StorageNode, DataSource> getChangedDataSources(final
Map<StorageNode, DataSource> storageNodes,
+ final
Collection<StorageNode> toBeChangedStorageNodes, final Map<StorageNode,
DataSourcePoolProperties> propsMap) {
+ Collection<StorageNode> toBeChangedDataSourceNames =
toBeChangedStorageNodes.stream()
.filter(each -> isModifiedDataSource(storageNodes, each,
propsMap.get(each))).collect(Collectors.toList());
- Map<StorageNodeName, DataSource> result = new
LinkedHashMap<>(toBeChangedStorageNodeName.size(), 1F);
- for (StorageNodeName each : toBeChangedDataSourceNames) {
+ Map<StorageNode, DataSource> result = new
LinkedHashMap<>(toBeChangedStorageNodes.size(), 1F);
+ for (StorageNode each : toBeChangedDataSourceNames) {
result.put(each, DataSourcePoolCreator.create(propsMap.get(each)));
}
return result;
}
- private boolean isModifiedDataSource(final Map<StorageNodeName,
DataSource> originalDataSources,
- final StorageNodeName
storageNodeName, final DataSourcePoolProperties propsMap) {
- return originalDataSources.containsKey(storageNodeName) &&
!propsMap.equals(DataSourcePoolPropertiesCreator.create(originalDataSources.get(storageNodeName)));
+ private boolean isModifiedDataSource(final Map<StorageNode, DataSource>
originalDataSources,
+ final StorageNode storageNode, final
DataSourcePoolProperties propsMap) {
+ return originalDataSources.containsKey(storageNode) &&
!propsMap.equals(DataSourcePoolPropertiesCreator.create(originalDataSources.get(storageNode)));
}
- private Map<StorageNodeName, DataSource> getToBeAddedDataSources(final
Map<StorageNodeName, DataSource> storageNodes,
- final
Collection<StorageNodeName> toBeChangedStorageNodeName,
- final
Map<StorageNodeName, DataSourcePoolProperties> propsMap) {
- Collection<StorageNodeName> toBeAddedDataSourceNames =
toBeChangedStorageNodeName.stream().filter(each ->
!storageNodes.containsKey(each)).collect(Collectors.toList());
- Map<StorageNodeName, DataSource> result = new LinkedHashMap<>();
- for (StorageNodeName each : toBeAddedDataSourceNames) {
+ private Map<StorageNode, DataSource> getToBeAddedDataSources(final
Map<StorageNode, DataSource> storageNodes,
+ final
Collection<StorageNode> toBeChangedStorageNodes, final Map<StorageNode,
DataSourcePoolProperties> propsMap) {
+ Collection<StorageNode> toBeAddedDataSourceNames =
toBeChangedStorageNodes.stream().filter(each ->
!storageNodes.containsKey(each)).collect(Collectors.toList());
+ Map<StorageNode, DataSource> result = new LinkedHashMap<>();
+ for (StorageNode each : toBeAddedDataSourceNames) {
result.put(each, DataSourcePoolCreator.create(propsMap.get(each)));
}
return result;
@@ -157,10 +152,8 @@ public final class ResourceSwitchManager {
Map<String, StorageNode> reservedStorageUnitNodeMap =
resourceMetaData.getStorageUnits().entrySet().stream()
.filter(entry ->
!toRemovedStorageUnitNodeMap.containsKey(entry.getKey()))
.collect(Collectors.toMap(Entry::getKey, entry ->
entry.getValue().getStorageNode()));
- Collection<StorageNodeName> toBeRemovedStorageNodeNames =
toRemovedStorageUnitNodeMap.values().stream().map(StorageNode::getName).collect(Collectors.toSet());
- Collection<StorageNodeName> inUsedDataSourceNames =
reservedStorageUnitNodeMap.values().stream().map(StorageNode::getName).collect(Collectors.toSet());
- Map<StorageNodeName, DataSource> staleStorageNodes =
resourceMetaData.getDataSources().entrySet().stream()
- .filter(entry ->
toBeRemovedStorageNodeNames.contains(entry.getKey()) &&
!inUsedDataSourceNames.contains(entry.getKey()))
+ Map<StorageNode, DataSource> staleStorageNodes =
resourceMetaData.getDataSources().entrySet().stream()
+ .filter(entry ->
toRemovedStorageUnitNodeMap.containsValue(entry.getKey()) &&
!reservedStorageUnitNodeMap.containsValue(entry.getKey()))
.collect(Collectors.toMap(Entry::getKey, Entry::getValue));
Map<String, StorageNode> staleStorageUnitNodeMap =
resourceMetaData.getStorageUnits().entrySet().stream()
.filter(entry ->
!reservedStorageUnitNodeMap.containsKey(entry.getKey())).collect(Collectors.toMap(Entry::getKey,
entry -> entry.getValue().getStorageNode()));
@@ -169,28 +162,27 @@ public final class ResourceSwitchManager {
private StorageResource getStaleDataSources(final ResourceMetaData
resourceMetaData, final Map<String, StorageNode> toBeChangedStorageUnitNodeMap,
final Map<String,
DataSourcePoolProperties> storageUnitDataSourcePoolPropsMap) {
- Map<StorageNodeName, DataSource> storageNodes = new
LinkedHashMap<>(resourceMetaData.getDataSources().size(), 1F);
+ Map<StorageNode, DataSource> storageNodes = new
LinkedHashMap<>(resourceMetaData.getDataSources().size(), 1F);
Map<String, StorageNode> storageUnitNodeMap = new
LinkedHashMap<>(resourceMetaData.getStorageUnits().size(), 1F);
storageNodes.putAll(getToBeChangedDataSources(resourceMetaData.getDataSources(),
StorageNodeAggregator.aggregateDataSourcePoolProperties(storageUnitDataSourcePoolPropsMap)));
storageUnitNodeMap.putAll(getChangedStorageUnitNodeMap(resourceMetaData.getStorageUnits(),
toBeChangedStorageUnitNodeMap));
return new StorageResource(storageNodes, storageUnitNodeMap);
}
- private Map<StorageNodeName, DataSource> getToBeChangedDataSources(final
Map<StorageNodeName, DataSource> storageNodes, final Map<StorageNodeName,
DataSourcePoolProperties> propsMap) {
- Map<StorageNodeName, DataSource> result = new
LinkedHashMap<>(storageNodes.size(), 1F);
- for (Entry<StorageNodeName, DataSourcePoolProperties> entry :
propsMap.entrySet()) {
- StorageNodeName storageNodeName = entry.getKey();
- if (isModifiedDataSource(storageNodes, storageNodeName,
entry.getValue())) {
- result.put(storageNodeName, storageNodes.get(storageNodeName));
+ private Map<StorageNode, DataSource> getToBeChangedDataSources(final
Map<StorageNode, DataSource> storageNodes, final Map<StorageNode,
DataSourcePoolProperties> propsMap) {
+ Map<StorageNode, DataSource> result = new
LinkedHashMap<>(storageNodes.size(), 1F);
+ for (Entry<StorageNode, DataSourcePoolProperties> entry :
propsMap.entrySet()) {
+ StorageNode storageNode = entry.getKey();
+ if (isModifiedDataSource(storageNodes, storageNode,
entry.getValue())) {
+ result.put(storageNode, storageNodes.get(storageNode));
}
}
return result;
}
- private Map<StorageNodeName, DataSource> getToBeDeletedDataSources(final
Map<StorageNodeName, DataSource> storageNodes,
- final
Collection<StorageNodeName> toBeChangedDataSourceNames) {
- Map<StorageNodeName, DataSource> result = new
LinkedHashMap<>(storageNodes.size(), 1F);
- for (Entry<StorageNodeName, DataSource> entry :
storageNodes.entrySet()) {
+ private Map<StorageNode, DataSource> getToBeDeletedDataSources(final
Map<StorageNode, DataSource> storageNodes, final Collection<StorageNode>
toBeChangedDataSourceNames) {
+ Map<StorageNode, DataSource> result = new
LinkedHashMap<>(storageNodes.size(), 1F);
+ for (Entry<StorageNode, DataSource> entry : storageNodes.entrySet()) {
if (!toBeChangedDataSourceNames.contains(entry.getKey())) {
result.put(entry.getKey(), entry.getValue());
}
diff --git
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
index c98f0d82150..c8372f0f1fa 100644
---
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
+++
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
@@ -29,7 +29,6 @@ import
org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeAggregator;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnitNodeMapUtils;
@@ -109,7 +108,7 @@ class ContextManagerTest {
when(result.getResourceMetaData().getStorageUnits()).thenReturn(Collections.singletonMap("foo_ds",
storageUnit));
DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/foo_db"));
- Map<String, StorageUnit> storageUnits =
Collections.singletonMap("foo_ds", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps, new
MockedDataSource()));
+ Map<String, StorageUnit> storageUnits =
Collections.singletonMap("foo_ds", new StorageUnit(mock(StorageNode.class),
dataSourcePoolProps, new MockedDataSource()));
when(result.getResourceMetaData().getStorageUnits()).thenReturn(storageUnits);
return result;
}
@@ -246,20 +245,20 @@ class ContextManagerTest {
contextManager.getConfigurationContextManager().alterDataSourceUnitsConfiguration("foo_db",
dataSourcePoolPropsMap);
assertThat(contextManager.getMetaDataContexts().getMetaData().getDatabase("foo_db").getResourceMetaData().getStorageUnits().size(),
is(3));
assertAlteredDataSource((MockedDataSource)
contextManager.getMetaDataContexts().getMetaData().getDatabase("foo_db")
- .getResourceMetaData().getDataSources().get(new
StorageNodeName("foo_ds")));
+ .getResourceMetaData().getDataSources().get(new
StorageNode("foo_ds")));
}
private ResourceMetaData createOriginalResource() {
Map<String, DataSource> originalDataSources = new LinkedHashMap<>(2,
1F);
originalDataSources.put("ds_1", new MockedDataSource());
originalDataSources.put("ds_2", new MockedDataSource());
- Map<StorageNodeName, DataSource> storageNodeDataSourceMap =
StorageNodeAggregator.aggregateDataSources(originalDataSources);
+ Map<StorageNode, DataSource> storageNodeDataSourceMap =
StorageNodeAggregator.aggregateDataSources(originalDataSources);
Map<String, StorageNode> storageUnitNodeMap =
StorageUnitNodeMapUtils.fromDataSources(originalDataSources);
Map<String, StorageUnit> storageUnits = new LinkedHashMap<>(2, 1F);
for (Entry<String, StorageNode> entry : storageUnitNodeMap.entrySet())
{
DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/foo_db"));
- storageUnits.put(entry.getKey(), new
StorageUnit(storageUnitNodeMap.get(entry.getKey()), dataSourcePoolProps,
storageNodeDataSourceMap.get(entry.getValue().getName())));
+ storageUnits.put(entry.getKey(), new
StorageUnit(storageUnitNodeMap.get(entry.getKey()), dataSourcePoolProps,
storageNodeDataSourceMap.get(entry.getValue())));
}
ResourceMetaData result = mock(ResourceMetaData.class,
RETURNS_DEEP_STUBS);
when(result.getStorageUnits()).thenReturn(storageUnits);
diff --git
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManagerTest.java
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManagerTest.java
index 268574521af..d5a579793ae 100644
---
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManagerTest.java
+++
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/switcher/ResourceSwitchManagerTest.java
@@ -18,8 +18,8 @@
package org.apache.shardingsphere.mode.manager.switcher;
import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
+import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.awaitility.Awaitility;
import org.junit.jupiter.api.Test;
@@ -32,8 +32,8 @@ import java.util.Map;
import java.util.concurrent.TimeUnit;
import static org.hamcrest.CoreMatchers.is;
-import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
class ResourceSwitchManagerTest {
@@ -86,9 +86,9 @@ class ResourceSwitchManagerTest {
private void assertNewDataSources(final SwitchingResource actual) {
assertThat(actual.getNewStorageResource().getDataSources().size(),
is(3));
-
assertTrue(actual.getNewStorageResource().getDataSources().containsKey(new
StorageNodeName("not_change")));
-
assertTrue(actual.getNewStorageResource().getDataSources().containsKey(new
StorageNodeName("new")));
-
assertTrue(actual.getNewStorageResource().getDataSources().containsKey(new
StorageNodeName("replace")));
+
assertTrue(actual.getNewStorageResource().getDataSources().containsKey(new
StorageNode("not_change")));
+
assertTrue(actual.getNewStorageResource().getDataSources().containsKey(new
StorageNode("new")));
+
assertTrue(actual.getNewStorageResource().getDataSources().containsKey(new
StorageNode("replace")));
}
private void assertStaleDataSources(final Map<String, DataSource>
originalDataSourceMap) {
diff --git
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/switcher/SwitchingResourceTest.java
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/switcher/SwitchingResourceTest.java
index 8cebd574e4d..59453e49369 100644
---
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/switcher/SwitchingResourceTest.java
+++
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/switcher/SwitchingResourceTest.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.mode.manager.switcher;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.StorageResource;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
+import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.awaitility.Awaitility;
import org.junit.jupiter.api.Test;
@@ -36,8 +36,8 @@ class SwitchingResourceTest {
void assertCloseStaleDataSources() {
MockedDataSource staleDataSource = new MockedDataSource();
ResourceMetaData resourceMetaData = mock(ResourceMetaData.class);
- StorageResource newStorageResource = new
StorageResource(Collections.singletonMap(new StorageNodeName("new_ds"), new
MockedDataSource()), Collections.emptyMap());
- StorageResource staleStorageResource = new
StorageResource(Collections.singletonMap(new StorageNodeName("stale_ds"),
staleDataSource), Collections.emptyMap());
+ StorageResource newStorageResource = new
StorageResource(Collections.singletonMap(new StorageNode("new_ds"), new
MockedDataSource()), Collections.emptyMap());
+ StorageResource staleStorageResource = new
StorageResource(Collections.singletonMap(new StorageNode("stale_ds"),
staleDataSource), Collections.emptyMap());
new SwitchingResource(resourceMetaData, newStorageResource,
staleStorageResource, Collections.emptyMap()).closeStaleDataSources();
Awaitility.await().pollDelay(10L,
TimeUnit.MILLISECONDS).until(staleDataSource::isClosed);
assertTrue(staleDataSource.isClosed());
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/config/yaml/swapper/YamlProxyConfigurationSwapperTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/config/yaml/swapper/YamlProxyConfigurationSwapperTest.java
index 9b84e070aae..d154b74b52c 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/config/yaml/swapper/YamlProxyConfigurationSwapperTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/config/yaml/swapper/YamlProxyConfigurationSwapperTest.java
@@ -22,7 +22,7 @@ import
org.apache.shardingsphere.authority.config.AuthorityRuleConfiguration;
import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
import org.apache.shardingsphere.infra.config.database.DatabaseConfiguration;
import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
+import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
import org.apache.shardingsphere.proxy.backend.config.ProxyConfiguration;
import org.apache.shardingsphere.proxy.backend.config.ProxyConfigurationLoader;
import org.apache.shardingsphere.proxy.backend.config.YamlProxyConfiguration;
@@ -56,7 +56,7 @@ class YamlProxyConfigurationSwapperTest {
private void assertDataSources(final ProxyConfiguration proxyConfig) {
Map<String, DatabaseConfiguration> actual =
proxyConfig.getDatabaseConfigurations();
assertThat(actual.size(), is(1));
- HikariDataSource dataSource = (HikariDataSource)
actual.get("swapper_test").getStorageResource().getDataSources().get(new
StorageNodeName("foo_db"));
+ HikariDataSource dataSource = (HikariDataSource)
actual.get("swapper_test").getStorageResource().getDataSources().get(new
StorageNode("foo_db"));
assertThat(dataSource.getJdbcUrl(),
is("jdbc:h2:mem:foo_db;DB_CLOSE_DELAY=-1"));
assertThat(dataSource.getUsername(), is("sa"));
assertThat(dataSource.getPassword(), is(""));
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataUpdaterTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataUpdaterTest.java
index 623f648809f..7aaac35296a 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataUpdaterTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataUpdaterTest.java
@@ -26,7 +26,6 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePo
import
org.apache.shardingsphere.infra.exception.core.external.sql.type.generic.UnsupportedSQLOperationException;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereColumn;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereIndex;
@@ -123,10 +122,10 @@ class ImportMetaDataUpdaterTest {
Map<String, StorageUnit> result = new LinkedHashMap<>(2, 1F);
DataSourcePoolProperties dataSourcePoolProps0 =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/ds_0"));
- result.put("ds_0", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps0, new
MockedDataSource()));
+ result.put("ds_0", new StorageUnit(mock(StorageNode.class),
dataSourcePoolProps0, new MockedDataSource()));
DataSourcePoolProperties dataSourcePoolProps1 =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/ds_1"));
- result.put("ds_1", new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps1, new
MockedDataSource()));
+ result.put("ds_1", new StorageUnit(mock(StorageNode.class),
dataSourcePoolProps1, new MockedDataSource()));
return result;
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/storage/unit/UnregisterStorageUnitBackendHandlerTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/storage/unit/UnregisterStorageUnitBackendHandlerTest.java
index b9b61078583..b8372ffb327 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/storage/unit/UnregisterStorageUnitBackendHandlerTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/storage/unit/UnregisterStorageUnitBackendHandlerTest.java
@@ -27,7 +27,6 @@ import
org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -89,7 +88,7 @@ class UnregisterStorageUnitBackendHandlerTest {
DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.emptyMap());
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/foo_db"));
- StorageUnit storageUnit = new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps, new
MockedDataSource());
+ StorageUnit storageUnit = new StorageUnit(mock(StorageNode.class),
dataSourcePoolProps, new MockedDataSource());
when(resourceMetaData.getStorageUnits()).thenReturn(Collections.singletonMap("foo_ds",
storageUnit));
when(database.getResourceMetaData()).thenReturn(resourceMetaData);
contextManager = mockContextManager();
diff --git
a/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/version/ShardingSphereProxyVersionTest.java
b/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/version/ShardingSphereProxyVersionTest.java
index 13d88dbb913..1c798d2f59a 100644
---
a/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/version/ShardingSphereProxyVersionTest.java
+++
b/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/version/ShardingSphereProxyVersionTest.java
@@ -23,7 +23,6 @@ import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePo
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
-import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNodeName;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -86,7 +85,7 @@ class ShardingSphereProxyVersionTest {
DataSource dataSource = createDataSource(databaseProductName,
databaseProductVersion);
DataSourcePoolProperties dataSourcePoolProps =
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
"jdbc:mock://127.0.0.1/foo_db"));
- StorageUnit storageUnit = new StorageUnit(new
StorageNode(mock(StorageNodeName.class)), dataSourcePoolProps, dataSource);
+ StorageUnit storageUnit = new StorageUnit(mock(StorageNode.class),
dataSourcePoolProps, dataSource);
when(result.getStorageUnits()).thenReturn(Collections.singletonMap("foo_ds",
storageUnit));
return result;
}