This is an automated email from the ASF dual-hosted git repository.
sunnianjun 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 ecaa6d948f4 Rename StorageUnitNodeMapperUtils (#28599)
ecaa6d948f4 is described below
commit ecaa6d948f40635832fd621e335b7616a2277f58
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Sep 27 15:30:16 2023 +0800
Rename StorageUnitNodeMapperUtils (#28599)
---
.../impl/DataSourceGeneratedDatabaseConfiguration.java | 4 ++--
.../StorageUnitNodeMapperUtils.java} | 14 ++++----------
.../mode/manager/switcher/NewResourceSwitchManager.java | 10 +++++-----
.../mode/manager/switcher/ResourceSwitchManager.java | 12 ++++++------
4 files changed, 17 insertions(+), 23 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 6c481d63f62..b877a421cb1 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
@@ -25,7 +25,7 @@ import
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCre
import
org.apache.shardingsphere.infra.datasource.pool.props.creator.DataSourcePoolPropertiesCreator;
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.StorageResourceCreator;
+import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnitNodeMapperUtils;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnitNodeMapper;
@@ -52,7 +52,7 @@ public final class DataSourceGeneratedDatabaseConfiguration
implements DatabaseC
ruleConfigurations = ruleConfigs;
dataSourcePoolPropertiesMap = dataSourceConfigs.entrySet().stream()
.collect(Collectors.toMap(Entry::getKey, entry ->
DataSourcePoolPropertiesCreator.create(entry.getValue()), (oldValue,
currentValue) -> oldValue, LinkedHashMap::new));
- Map<String, StorageUnitNodeMapper> mappers =
StorageResourceCreator.getStorageUnitNodeMappers(dataSourcePoolPropertiesMap);
+ Map<String, StorageUnitNodeMapper> mappers =
StorageUnitNodeMapperUtils.getStorageUnitNodeMappers(dataSourcePoolPropertiesMap);
storageResource = new
StorageResource(getStorageNodeDataSourceMap(mappers), mappers);
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/StorageResourceCreator.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnitNodeMapperUtils.java
similarity index 92%
rename from
infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/StorageResourceCreator.java
rename to
infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnitNodeMapperUtils.java
index 20c504edfc0..20587b25914 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/StorageResourceCreator.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnitNodeMapperUtils.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.metadata.database.resource;
+package org.apache.shardingsphere.infra.metadata.database.resource.unit;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
@@ -26,19 +26,16 @@ 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.unit.StorageUnitNodeMapper;
-import java.util.Collection;
-import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
/**
- * Storage resource creator.
+ * Storage unit node mapper utility class.
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class StorageResourceCreator {
+public final class StorageUnitNodeMapperUtils {
/**
* Get storage unit node mappers.
@@ -90,15 +87,12 @@ public final class StorageResourceCreator {
*/
public static Map<StorageNode, DataSourcePoolProperties>
getStorageNodeDataSourcePoolProperties(final Map<String,
DataSourcePoolProperties> storageUnitDataSourcePoolProps) {
Map<StorageNode, DataSourcePoolProperties> result = new
LinkedHashMap<>();
- Collection<StorageNode> storageNodes = new HashSet<>();
for (Entry<String, DataSourcePoolProperties> entry :
storageUnitDataSourcePoolProps.entrySet()) {
Map<String, Object> standardProps =
entry.getValue().getConnectionPropertySynonyms().getStandardProperties();
String url = standardProps.get("url").toString();
boolean isInstanceConnectionAvailable = new
DatabaseTypeRegistry(DatabaseTypeFactory.get(url)).getDialectDatabaseMetaData().isInstanceConnectionAvailable();
StorageNode storageNode = new
StorageNode(getStorageNodeName(entry.getKey(), url,
standardProps.get("username").toString(), isInstanceConnectionAvailable));
- if (storageNodes.add(storageNode)) {
- result.put(storageNode, entry.getValue());
- }
+ result.putIfAbsent(storageNode, entry.getValue());
}
return result;
}
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 5caa61cfe56..b13736b6cc1 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
@@ -21,7 +21,7 @@ import
org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCre
import
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
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.StorageResourceCreator;
+import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnitNodeMapperUtils;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnitNodeMapper;
@@ -50,7 +50,7 @@ public final class NewResourceSwitchManager {
public SwitchingResource registerStorageUnit(final ResourceMetaData
resourceMetaData, final Map<String, DataSourcePoolProperties>
storageUnitDataSourcePoolProps) {
Map<String, DataSourcePoolProperties> mergedPropsMap = new
HashMap<>(resourceMetaData.getStorageUnitMetaData().getDataSourcePoolPropertiesMap());
mergedPropsMap.putAll(storageUnitDataSourcePoolProps);
- Map<String, StorageUnitNodeMapper> toBeCreatedMappers =
StorageResourceCreator.getStorageUnitNodeMappers(storageUnitDataSourcePoolProps);
+ Map<String, StorageUnitNodeMapper> toBeCreatedMappers =
StorageUnitNodeMapperUtils.getStorageUnitNodeMappers(storageUnitDataSourcePoolProps);
return new SwitchingResource(resourceMetaData,
getRegisterNewStorageResource(resourceMetaData, toBeCreatedMappers,
storageUnitDataSourcePoolProps),
new StorageResource(Collections.emptyMap(),
Collections.emptyMap()), mergedPropsMap);
}
@@ -58,7 +58,7 @@ public final class NewResourceSwitchManager {
private StorageResource getRegisterNewStorageResource(final
ResourceMetaData resourceMetaData,
final Map<String,
StorageUnitNodeMapper> mappers, final Map<String, DataSourcePoolProperties>
storageUnitDataSourcePoolProps) {
Collection<StorageNode> storageNodes =
mappers.values().stream().map(StorageUnitNodeMapper::getStorageNode).collect(Collectors.toSet());
- Map<StorageNode, DataSourcePoolProperties>
storageNodeDataSourcePoolProps =
StorageResourceCreator.getStorageNodeDataSourcePoolProperties(storageUnitDataSourcePoolProps);
+ Map<StorageNode, DataSourcePoolProperties>
storageNodeDataSourcePoolProps =
StorageUnitNodeMapperUtils.getStorageNodeDataSourcePoolProperties(storageUnitDataSourcePoolProps);
Map<StorageNode, DataSource> newStorageNodes = new
LinkedHashMap<>(storageNodes.size(), 1F);
for (StorageNode each : storageNodes) {
if (!resourceMetaData.getDataSourceMap().containsKey(each)) {
@@ -78,14 +78,14 @@ public final class NewResourceSwitchManager {
public SwitchingResource alterStorageUnit(final ResourceMetaData
resourceMetaData, final Map<String, DataSourcePoolProperties> propsMap) {
Map<String, DataSourcePoolProperties>
mergedDataSourcePoolPropertiesMap = new
HashMap<>(resourceMetaData.getStorageUnitMetaData().getDataSourcePoolPropertiesMap());
mergedDataSourcePoolPropertiesMap.putAll(propsMap);
- Map<String, StorageUnitNodeMapper> toBeAlteredMappers =
StorageResourceCreator.getStorageUnitNodeMappers(mergedDataSourcePoolPropertiesMap);
+ Map<String, StorageUnitNodeMapper> toBeAlteredMappers =
StorageUnitNodeMapperUtils.getStorageUnitNodeMappers(mergedDataSourcePoolPropertiesMap);
return new SwitchingResource(resourceMetaData,
getAlterNewStorageResource(toBeAlteredMappers,
mergedDataSourcePoolPropertiesMap),
getStaleStorageResource(resourceMetaData, toBeAlteredMappers),
mergedDataSourcePoolPropertiesMap);
}
private StorageResource getAlterNewStorageResource(final Map<String,
StorageUnitNodeMapper> mappers, final Map<String, DataSourcePoolProperties>
storageUnitDataSourcePoolProps) {
Collection<StorageNode> toBeAlteredStorageNodes =
mappers.values().stream().map(StorageUnitNodeMapper::getStorageNode).collect(Collectors.toSet());
- Map<StorageNode, DataSourcePoolProperties>
storageNodeDataSourcePoolProps =
StorageResourceCreator.getStorageNodeDataSourcePoolProperties(storageUnitDataSourcePoolProps);
+ Map<StorageNode, DataSourcePoolProperties>
storageNodeDataSourcePoolProps =
StorageUnitNodeMapperUtils.getStorageNodeDataSourcePoolProperties(storageUnitDataSourcePoolProps);
Map<StorageNode, DataSource> storageNodes = new
LinkedHashMap<>(toBeAlteredStorageNodes.size(), 1F);
for (StorageNode each : toBeAlteredStorageNodes) {
storageNodes.put(each,
DataSourcePoolCreator.create(storageNodeDataSourcePoolProps.get(each)));
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 47abbbf6884..86410964518 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
@@ -22,7 +22,7 @@ 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.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.StorageResource;
-import
org.apache.shardingsphere.infra.metadata.database.resource.StorageResourceCreator;
+import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnitNodeMapperUtils;
import
org.apache.shardingsphere.infra.metadata.database.resource.node.StorageNode;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnitNodeMapper;
@@ -51,7 +51,7 @@ public final class ResourceSwitchManager {
public SwitchingResource create(final ResourceMetaData resourceMetaData,
final Map<String, DataSourcePoolProperties> toBeChangedPropsMap) {
Map<String, DataSourcePoolProperties> mergedPropsMap = new
HashMap<>(resourceMetaData.getStorageUnitMetaData().getDataSourcePoolPropertiesMap());
mergedPropsMap.putAll(toBeChangedPropsMap);
- Map<String, StorageUnitNodeMapper> toBeChangedMappers =
StorageResourceCreator.getStorageUnitNodeMappers(toBeChangedPropsMap);
+ Map<String, StorageUnitNodeMapper> toBeChangedMappers =
StorageUnitNodeMapperUtils.getStorageUnitNodeMappers(toBeChangedPropsMap);
return new SwitchingResource(resourceMetaData,
createNewStorageResource(resourceMetaData, toBeChangedMappers,
toBeChangedPropsMap),
getStaleDataSources(resourceMetaData, toBeChangedMappers,
mergedPropsMap), mergedPropsMap);
}
@@ -66,7 +66,7 @@ public final class ResourceSwitchManager {
public SwitchingResource createByDropResource(final ResourceMetaData
resourceMetaData, final Map<String, DataSourcePoolProperties>
toBeDeletedPropsMap) {
Map<String, DataSourcePoolProperties>
mergedDataSourcePoolPropertiesMap = new
HashMap<>(resourceMetaData.getStorageUnitMetaData().getDataSourcePoolPropertiesMap());
mergedDataSourcePoolPropertiesMap.keySet().removeIf(toBeDeletedPropsMap::containsKey);
- Map<String, StorageUnitNodeMapper> toRemovedMappers =
StorageResourceCreator.getStorageUnitNodeMappers(toBeDeletedPropsMap);
+ Map<String, StorageUnitNodeMapper> toRemovedMappers =
StorageUnitNodeMapperUtils.getStorageUnitNodeMappers(toBeDeletedPropsMap);
return new SwitchingResource(resourceMetaData, new
StorageResource(Collections.emptyMap(), Collections.emptyMap()),
getToBeRemovedStaleDataSources(resourceMetaData,
toRemovedMappers), mergedDataSourcePoolPropertiesMap);
}
@@ -82,7 +82,7 @@ public final class ResourceSwitchManager {
Map<String, DataSourcePoolProperties>
mergedDataSourcePoolPropertiesMap = new
HashMap<>(resourceMetaData.getStorageUnitMetaData().getDataSourcePoolPropertiesMap());
mergedDataSourcePoolPropertiesMap.keySet().removeIf(each ->
!toBeChangedPropsMap.containsKey(each));
mergedDataSourcePoolPropertiesMap.putAll(toBeChangedPropsMap);
- Map<String, StorageUnitNodeMapper> toBeChangedMappers =
StorageResourceCreator.getStorageUnitNodeMappers(toBeChangedPropsMap);
+ Map<String, StorageUnitNodeMapper> toBeChangedMappers =
StorageUnitNodeMapperUtils.getStorageUnitNodeMappers(toBeChangedPropsMap);
StorageResource staleStorageResource =
getStaleDataSources(resourceMetaData, toBeChangedMappers, toBeChangedPropsMap);
Collection<StorageNode> toBeChangedStorageNodes =
toBeChangedMappers.values().stream().map(StorageUnitNodeMapper::getStorageNode).collect(Collectors.toSet());
staleStorageResource.getDataSourceMap().putAll(getToBeDeletedDataSources(resourceMetaData.getDataSourceMap(),
toBeChangedStorageNodes));
@@ -95,7 +95,7 @@ public final class ResourceSwitchManager {
private StorageResource createNewStorageResource(final ResourceMetaData
resourceMetaData,
final Map<String,
StorageUnitNodeMapper> toBeChangedMappers, final Map<String,
DataSourcePoolProperties> storageUnitDataSourcePoolProps) {
Collection<StorageNode> toBeChangedStorageNode =
toBeChangedMappers.values().stream().map(StorageUnitNodeMapper::getStorageNode).collect(Collectors.toSet());
- Map<StorageNode, DataSourcePoolProperties>
storageNodeDataSourcePoolProps =
StorageResourceCreator.getStorageNodeDataSourcePoolProperties(storageUnitDataSourcePoolProps);
+ Map<StorageNode, DataSourcePoolProperties>
storageNodeDataSourcePoolProps =
StorageUnitNodeMapperUtils.getStorageNodeDataSourcePoolProperties(storageUnitDataSourcePoolProps);
Map<StorageNode, DataSource> storageNodes =
getNewStorageNodes(resourceMetaData, toBeChangedStorageNode,
storageNodeDataSourcePoolProps);
Map<String, StorageUnitNodeMapper> storageUnitNodeMappers =
getNewStorageUnitNodeMappers(resourceMetaData, toBeChangedMappers);
@@ -162,7 +162,7 @@ public final class ResourceSwitchManager {
final Map<String,
DataSourcePoolProperties> storageUnitDataSourcePoolProps) {
Map<StorageNode, DataSource> storageNodes = new
LinkedHashMap<>(resourceMetaData.getDataSourceMap().size(), 1F);
Map<String, StorageUnitNodeMapper> storageUnitNodeMappers = new
LinkedHashMap<>(resourceMetaData.getStorageUnitMetaData().getUnitNodeMappers().size(),
1F);
-
storageNodes.putAll(getToBeChangedDataSources(resourceMetaData.getDataSourceMap(),
StorageResourceCreator.getStorageNodeDataSourcePoolProperties(storageUnitDataSourcePoolProps)));
+
storageNodes.putAll(getToBeChangedDataSources(resourceMetaData.getDataSourceMap(),
StorageUnitNodeMapperUtils.getStorageNodeDataSourcePoolProperties(storageUnitDataSourcePoolProps)));
storageUnitNodeMappers.putAll(getChangedStorageUnitNodeMappers(resourceMetaData.getStorageUnitMetaData().getStorageUnits(),
toBeChangedMappers));
return new StorageResource(storageNodes, storageUnitNodeMappers);
}