This is an automated email from the ASF dual-hosted git repository.
menghaoran pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 192cf256604 Refactor MetaDataReviseEngine (#37807)
192cf256604 is described below
commit 192cf25660489cbb807826de4c87ed028642427a
Author: Haoran Meng <[email protected]>
AuthorDate: Thu Jan 22 13:51:32 2026 +0800
Refactor MetaDataReviseEngine (#37807)
---
.../encrypt/metadata/EncryptMetaDataReviseEngineTest.java | 4 ++--
.../sharding/metadata/ShardingMetaDataReviseEngineTest.java | 5 ++---
.../metadata/database/schema/builder/GenericSchemaBuilder.java | 2 +-
.../metadata/database/schema/reviser/MetaDataReviseEngine.java | 6 +++---
.../metadata/database/schema/reviser/MetaDataReviseEngineTest.java | 7 +++----
.../single/metadata/SingleMetaDataReviseEngineTest.java | 4 ++--
6 files changed, 13 insertions(+), 15 deletions(-)
diff --git
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/metadata/EncryptMetaDataReviseEngineTest.java
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/metadata/EncryptMetaDataReviseEngineTest.java
index 1b0ceb92f9a..34e6312cebc 100644
---
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/metadata/EncryptMetaDataReviseEngineTest.java
+++
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/metadata/EncryptMetaDataReviseEngineTest.java
@@ -51,8 +51,8 @@ class EncryptMetaDataReviseEngineTest {
@Test
void assertRevise() {
Map<String, SchemaMetaData> schemaMetaData =
Collections.singletonMap("foo_db", new SchemaMetaData("foo_db",
Collections.singleton(createTableMetaData())));
- Map<String, ShardingSphereSchema> actual = new
MetaDataReviseEngine(Collections.singleton(mockEncryptRule())).revise(schemaMetaData,
mock(GenericSchemaBuilderMaterial.class),
- mock(DatabaseType.class));
+ Map<String, ShardingSphereSchema> actual = new
MetaDataReviseEngine(Collections.singleton(mockEncryptRule()),
mock(DatabaseType.class))
+ .revise(schemaMetaData,
mock(GenericSchemaBuilderMaterial.class));
assertThat(actual.size(), is(1));
assertTrue(actual.containsKey("foo_db"));
assertThat(actual.get("foo_db").getAllTables().size(), is(1));
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/ShardingMetaDataReviseEngineTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/ShardingMetaDataReviseEngineTest.java
index badb9e3c477..04a2d73fe64 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/ShardingMetaDataReviseEngineTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/ShardingMetaDataReviseEngineTest.java
@@ -54,9 +54,8 @@ class ShardingMetaDataReviseEngineTest {
void assertReviseWithKeyGenerateStrategy() {
GenericSchemaBuilderMaterial material =
mock(GenericSchemaBuilderMaterial.class);
when(material.getProps()).thenReturn(new ConfigurationProperties(new
Properties()));
- Map<String, ShardingSphereSchema> actual = new
MetaDataReviseEngine(Collections.singleton(mockShardingRule()))
- .revise(Collections.singletonMap("sharding_db", new
SchemaMetaData("sharding_db", Collections.singleton(createTableMetaData()))),
material,
- mock(DatabaseType.class));
+ Map<String, ShardingSphereSchema> actual = new
MetaDataReviseEngine(Collections.singleton(mockShardingRule()),
mock(DatabaseType.class))
+ .revise(Collections.singletonMap("sharding_db", new
SchemaMetaData("sharding_db", Collections.singleton(createTableMetaData()))),
material);
assertThat(actual.size(), is(1));
assertTrue(actual.containsKey("sharding_db"));
assertThat(actual.get("sharding_db").getAllTables().size(), is(1));
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilder.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilder.java
index a83d58b0f18..826da5d69b2 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilder.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilder.java
@@ -107,6 +107,6 @@ public final class GenericSchemaBuilder {
private static Map<String, ShardingSphereSchema> revise(final Map<String,
SchemaMetaData> schemaMetaDataMap, final GenericSchemaBuilderMaterial material,
final DatabaseType protocolType) {
Collection<ShardingSphereRule> rules = material.getRules().stream()
.filter(each ->
each.getAttributes().findAttribute(TableMapperRuleAttribute.class).isPresent()).collect(Collectors.toList());
- return new MetaDataReviseEngine(rules).revise(schemaMetaDataMap,
material, protocolType);
+ return new MetaDataReviseEngine(rules,
protocolType).revise(schemaMetaDataMap, material);
}
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/MetaDataReviseEngine.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/MetaDataReviseEngine.java
index 011f7ebacf9..6f3e77c124a 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/MetaDataReviseEngine.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/MetaDataReviseEngine.java
@@ -49,16 +49,16 @@ public final class MetaDataReviseEngine {
private final Collection<ShardingSphereRule> rules;
+ private final DatabaseType protocolType;
+
/**
* Revise meta data.
*
* @param schemaMetaDataMap schema meta data map
* @param material generic schema builder material
- * @param protocolType database type
* @return ShardingSphere schema map
*/
- public Map<String, ShardingSphereSchema> revise(final Map<String,
SchemaMetaData> schemaMetaDataMap, final GenericSchemaBuilderMaterial material,
- final DatabaseType
protocolType) {
+ public Map<String, ShardingSphereSchema> revise(final Map<String,
SchemaMetaData> schemaMetaDataMap, final GenericSchemaBuilderMaterial material)
{
if (schemaMetaDataMap.isEmpty()) {
return Collections.singletonMap(material.getDefaultSchemaName(),
new ShardingSphereSchema(material.getDefaultSchemaName(), protocolType));
}
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/MetaDataReviseEngineTest.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/MetaDataReviseEngineTest.java
index fb01d4c1479..a06c5e3d448 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/MetaDataReviseEngineTest.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/MetaDataReviseEngineTest.java
@@ -35,12 +35,11 @@ import static org.mockito.Mockito.mock;
class MetaDataReviseEngineTest {
- private final MetaDataReviseEngine engine = new
MetaDataReviseEngine(Collections.emptyList());
+ private final MetaDataReviseEngine engine = new
MetaDataReviseEngine(Collections.emptyList(), mock(DatabaseType.class));
@Test
void assertRevise() {
- Map<String, ShardingSphereSchema> actual =
engine.revise(Collections.singletonMap("foo_schema", new
SchemaMetaData("foo_schema", Collections.emptyList())), createBuilderMaterial(),
- mock(DatabaseType.class));
+ Map<String, ShardingSphereSchema> actual =
engine.revise(Collections.singletonMap("foo_schema", new
SchemaMetaData("foo_schema", Collections.emptyList())),
createBuilderMaterial());
assertThat(actual.size(), is(1));
ShardingSphereSchema schema = actual.get("foo_schema");
assertThat(schema.getName(), is("foo_schema"));
@@ -50,7 +49,7 @@ class MetaDataReviseEngineTest {
@Test
void assertReviseWithEmptySchemaMetaDataMap() {
- Map<String, ShardingSphereSchema> actual =
engine.revise(Collections.emptyMap(), createBuilderMaterial(),
mock(DatabaseType.class));
+ Map<String, ShardingSphereSchema> actual =
engine.revise(Collections.emptyMap(), createBuilderMaterial());
assertThat(actual.size(), is(1));
ShardingSphereSchema schema = actual.get("default_schema");
assertThat(schema.getName(), is("default_schema"));
diff --git
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/metadata/SingleMetaDataReviseEngineTest.java
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/metadata/SingleMetaDataReviseEngineTest.java
index 96fd1e1efb4..d627c8c05f3 100644
---
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/metadata/SingleMetaDataReviseEngineTest.java
+++
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/metadata/SingleMetaDataReviseEngineTest.java
@@ -50,8 +50,8 @@ class SingleMetaDataReviseEngineTest {
@Test
void assertRevise() {
Map<String, SchemaMetaData> schemaMetaDataMap =
Collections.singletonMap("sharding_db", new SchemaMetaData("sharding_db",
Collections.singleton(createTableMetaData())));
- Map<String, ShardingSphereSchema> actual = new
MetaDataReviseEngine(Collections.singleton(mock(SingleRule.class))).revise(schemaMetaDataMap,
mock(GenericSchemaBuilderMaterial.class),
- mock(DatabaseType.class));
+ Map<String, ShardingSphereSchema> actual = new
MetaDataReviseEngine(Collections.singleton(mock(SingleRule.class)),
mock(DatabaseType.class))
+ .revise(schemaMetaDataMap,
mock(GenericSchemaBuilderMaterial.class));
assertThat(actual.size(), is(1));
assertTrue(actual.containsKey("sharding_db"));
assertThat(actual.get("sharding_db").getAllTables().size(), is(1));