This is an automated email from the ASF dual-hosted git repository.

terrymanu 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 2867056486e Refactor SchemaMetaDataReviseEngine (#38889)
2867056486e is described below

commit 2867056486e289f8db185b3fcfcae9bfb42c7178
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Jun 23 01:47:15 2026 +0800

    Refactor SchemaMetaDataReviseEngine (#38889)
---
 .../reviser/schema/SchemaMetaDataReviseEngine.java | 25 +++++++---------------
 .../schema/SchemaMetaDataReviseEngineTest.java     |  7 +++---
 2 files changed, 12 insertions(+), 20 deletions(-)

diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/schema/SchemaMetaDataReviseEngine.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/schema/SchemaMetaDataReviseEngine.java
index 3de3069497a..ddabc02bfad 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/schema/SchemaMetaDataReviseEngine.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/schema/SchemaMetaDataReviseEngine.java
@@ -17,6 +17,7 @@
 
 package 
org.apache.shardingsphere.infra.metadata.database.schema.reviser.schema;
 
+import lombok.RequiredArgsConstructor;
 import 
org.apache.shardingsphere.database.connector.core.metadata.data.model.IndexMetaData;
 import 
org.apache.shardingsphere.database.connector.core.metadata.data.model.SchemaMetaData;
 import 
org.apache.shardingsphere.database.connector.core.metadata.data.model.TableMetaData;
@@ -38,24 +39,14 @@ import java.util.stream.Collectors;
 /**
  * Schema meta data revise engine.
  */
+@RequiredArgsConstructor
 public final class SchemaMetaDataReviseEngine {
     
     private final Collection<ShardingSphereRule> rules;
     
     private final ConfigurationProperties props;
     
-    private final Collection<ShardingSphereSchema> 
schemaMetaDataRevisionCandidateSchemas;
-    
-    public SchemaMetaDataReviseEngine(final Collection<ShardingSphereRule> 
rules, final ConfigurationProperties props) {
-        this(rules, props, Collections.emptyList());
-    }
-    
-    public SchemaMetaDataReviseEngine(final Collection<ShardingSphereRule> 
rules, final ConfigurationProperties props,
-                                      final Collection<ShardingSphereSchema> 
schemaMetaDataRevisionCandidateSchemas) {
-        this.rules = rules;
-        this.props = props;
-        this.schemaMetaDataRevisionCandidateSchemas = 
schemaMetaDataRevisionCandidateSchemas;
-    }
+    private final Collection<ShardingSphereSchema> revisionCandidateSchemas;
     
     /**
      * Revise schema meta data.
@@ -74,20 +65,20 @@ public final class SchemaMetaDataReviseEngine {
     
     private <T extends ShardingSphereRule> SchemaMetaData revise(final 
SchemaMetaData originalMetaData, final T rule, final MetaDataReviseEntry<T> 
reviseEntry) {
         TableMetaDataReviseEngine<T> tableMetaDataReviseEngine = new 
TableMetaDataReviseEngine<>(rule, reviseEntry);
-        Collection<TableMetaData> 
schemaMetaDataRevisionCandidateTableMetaDataList = 
createSchemaMetaDataRevisionCandidateTableMetaDataList(originalMetaData);
+        Collection<TableMetaData> revisionCandidateTableMetaDataList = 
createRevisionCandidateTableMetaDataList(originalMetaData);
         Optional<? extends SchemaTableAggregationReviser<T>> 
aggregationReviser = reviseEntry.getSchemaTableAggregationReviser(props);
         if (!aggregationReviser.isPresent()) {
             return new SchemaMetaData(originalMetaData.getName(), 
originalMetaData.getTables().stream()
-                    .map(each -> tableMetaDataReviseEngine.revise(each, 
originalMetaData.getTables(), 
schemaMetaDataRevisionCandidateTableMetaDataList)).collect(Collectors.toList()));
+                    .map(each -> tableMetaDataReviseEngine.revise(each, 
originalMetaData.getTables(), 
revisionCandidateTableMetaDataList)).collect(Collectors.toList()));
         }
         for (TableMetaData each : originalMetaData.getTables()) {
-            
aggregationReviser.get().add(tableMetaDataReviseEngine.revise(each, 
originalMetaData.getTables(), 
schemaMetaDataRevisionCandidateTableMetaDataList));
+            
aggregationReviser.get().add(tableMetaDataReviseEngine.revise(each, 
originalMetaData.getTables(), revisionCandidateTableMetaDataList));
         }
         return new SchemaMetaData(originalMetaData.getName(), 
aggregationReviser.get().aggregate(rule));
     }
     
-    private Collection<TableMetaData> 
createSchemaMetaDataRevisionCandidateTableMetaDataList(final SchemaMetaData 
originalMetaData) {
-        return schemaMetaDataRevisionCandidateSchemas.stream().filter(each -> 
each.getName().equalsIgnoreCase(originalMetaData.getName()))
+    private Collection<TableMetaData> 
createRevisionCandidateTableMetaDataList(final SchemaMetaData originalMetaData) 
{
+        return revisionCandidateSchemas.stream().filter(each -> 
each.getName().equalsIgnoreCase(originalMetaData.getName()))
                 .flatMap(each -> 
each.getAllTables().stream()).map(SchemaMetaDataReviseEngine::convertToTableMetaData).collect(Collectors.toList());
     }
     
diff --git 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/schema/SchemaMetaDataReviseEngineTest.java
 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/schema/SchemaMetaDataReviseEngineTest.java
index ec6c637aa8c..d9b04bde2c8 100644
--- 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/schema/SchemaMetaDataReviseEngineTest.java
+++ 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/schema/SchemaMetaDataReviseEngineTest.java
@@ -59,7 +59,7 @@ class SchemaMetaDataReviseEngineTest {
     @Test
     void assertReviseWithoutMetaDataReviseEntry() {
         SchemaMetaData schemaMetaData = new SchemaMetaData("foo_schema", 
Collections.singleton(mock(TableMetaData.class)));
-        SchemaMetaData actual = new 
SchemaMetaDataReviseEngine(Collections.emptyList(), new 
ConfigurationProperties(new Properties())).revise(schemaMetaData);
+        SchemaMetaData actual = new 
SchemaMetaDataReviseEngine(Collections.emptyList(), new 
ConfigurationProperties(new Properties()), 
Collections.emptyList()).revise(schemaMetaData);
         assertThat(actual.getName(), is(schemaMetaData.getName()));
         assertThat(actual.getTables(), is(schemaMetaData.getTables()));
     }
@@ -67,7 +67,8 @@ class SchemaMetaDataReviseEngineTest {
     @Test
     void assertReviseWithMetaDataReviseEntry() {
         SchemaMetaData schemaMetaData = new SchemaMetaData("foo_schema", 
Collections.singletonList(createTableMetaData()));
-        SchemaMetaData actual = new 
SchemaMetaDataReviseEngine(Collections.singleton(new FixtureGlobalRule()), new 
ConfigurationProperties(new Properties())).revise(schemaMetaData);
+        SchemaMetaData actual = new SchemaMetaDataReviseEngine(
+                Collections.singleton(new FixtureGlobalRule()), new 
ConfigurationProperties(new Properties()), 
Collections.emptyList()).revise(schemaMetaData);
         assertThat(actual.getName(), is(schemaMetaData.getName()));
         assertThat(actual.getTables().size(), 
is(schemaMetaData.getTables().size()));
         Iterator<TableMetaData> expectedTableIterator = 
schemaMetaData.getTables().iterator();
@@ -84,7 +85,7 @@ class SchemaMetaDataReviseEngineTest {
         Map<ShardingSphereRule, MetaDataReviseEntry<?>> entries = 
Collections.singletonMap(rule, reviseEntry);
         try (MockedStatic<OrderedSPILoader> mocked = 
mockStatic(OrderedSPILoader.class)) {
             mocked.when(() -> 
OrderedSPILoader.getServices(MetaDataReviseEntry.class, 
Collections.singleton(rule))).thenReturn(entries);
-            SchemaMetaData actual = new 
SchemaMetaDataReviseEngine(Collections.singleton(rule), new 
ConfigurationProperties(new Properties())).revise(schemaMetaData);
+            SchemaMetaData actual = new 
SchemaMetaDataReviseEngine(Collections.singleton(rule), new 
ConfigurationProperties(new Properties()), 
Collections.emptyList()).revise(schemaMetaData);
             assertThat(actual.getName(), is(schemaMetaData.getName()));
             assertThat(actual.getTables().size(), 
is(schemaMetaData.getTables().size()));
         }

Reply via email to