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 10942e1a149 Remove unnecessary ShardingSphereDataBasedPersistService 
interface (#32064)
10942e1a149 is described below

commit 10942e1a1492544c055a4ba5155bf88f8c2d9fbc
Author: Haoran Meng <[email protected]>
AuthorDate: Thu Jul 11 16:01:29 2024 +0800

    Remove unnecessary ShardingSphereDataBasedPersistService interface (#32064)
---
 .../data/AlteredShardingSphereDatabaseData.java    |  6 +--
 .../ShardingSphereDataBasedPersistService.java     | 58 ----------------------
 .../data/ShardingSphereDataPersistService.java     | 20 ++++++--
 .../ShardingSphereStatisticsRefreshEngine.java     | 12 ++---
 .../mode/persist/PersistServiceFacade.java         | 19 +------
 .../ShardingSphereStatisticsRefreshEngineTest.java |  4 +-
 6 files changed, 29 insertions(+), 90 deletions(-)

diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/persist/pojo/AlteredShardingSphereSchemaData.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/data/AlteredShardingSphereDatabaseData.java
similarity index 90%
rename from 
mode/core/src/main/java/org/apache/shardingsphere/mode/persist/pojo/AlteredShardingSphereSchemaData.java
rename to 
kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/data/AlteredShardingSphereDatabaseData.java
index 30d056be951..d64318a763d 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/persist/pojo/AlteredShardingSphereSchemaData.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/data/AlteredShardingSphereDatabaseData.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.mode.persist.pojo;
+package org.apache.shardingsphere.metadata.persist.data;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
@@ -25,11 +25,11 @@ import java.util.Collection;
 import java.util.LinkedList;
 
 /**
- * Altered shardingSphere schema data.
+ * Altered ShardingSphere database data.
  */
 @RequiredArgsConstructor
 @Getter
-public final class AlteredShardingSphereSchemaData {
+public final class AlteredShardingSphereDatabaseData {
     
     private final String databaseName;
     
diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/data/ShardingSphereDataBasedPersistService.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/data/ShardingSphereDataBasedPersistService.java
deleted file mode 100644
index 00b5d33e04b..00000000000
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/data/ShardingSphereDataBasedPersistService.java
+++ /dev/null
@@ -1,58 +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.metadata.persist.data;
-
-import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
-import 
org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereStatistics;
-import 
org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereSchemaData;
-import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import 
org.apache.shardingsphere.metadata.persist.service.schema.TableRowDataBasedPersistService;
-
-import java.util.Map;
-import java.util.Optional;
-
-/**
- * TODO replace the old implementation after meta data refactor completed
- * ShardingSphere data based registry service.
- */
-public interface ShardingSphereDataBasedPersistService {
-    
-    /**
-     * Get table row data persist service.
-     *
-     * @return Stable row data persist service
-     */
-    TableRowDataBasedPersistService getTableRowDataPersistService();
-    
-    /**
-     * Load ShardingSphere data.
-     *
-     * @param metaData meta data
-     * @return ShardingSphere data
-     */
-    Optional<ShardingSphereStatistics> load(ShardingSphereMetaData metaData);
-    
-    /**
-     * Persist table.
-     * @param databaseName database name
-     * @param schemaName schema name
-     * @param schemaData schema data
-     * @param databases databases
-     */
-    void persist(String databaseName, String schemaName, 
ShardingSphereSchemaData schemaData, Map<String, ShardingSphereDatabase> 
databases);
-}
diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/data/ShardingSphereDataPersistService.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/data/ShardingSphereDataPersistService.java
index 05c3dc0c899..674771de942 100644
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/data/ShardingSphereDataPersistService.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/data/ShardingSphereDataPersistService.java
@@ -40,7 +40,7 @@ import java.util.stream.Collectors;
  * ShardingSphere data persist service.
  */
 @Getter
-public final class ShardingSphereDataPersistService implements 
ShardingSphereDataBasedPersistService {
+public final class ShardingSphereDataPersistService {
     
     private final PersistRepository repository;
     
@@ -57,7 +57,6 @@ public final class ShardingSphereDataPersistService 
implements ShardingSphereDat
      * @param metaData meta data
      * @return ShardingSphere data
      */
-    @Override
     public Optional<ShardingSphereStatistics> load(final 
ShardingSphereMetaData metaData) {
         Collection<String> databaseNames = 
repository.getChildrenKeys(ShardingSphereDataNode.getShardingSphereDataNodePath());
         if (databaseNames.isEmpty()) {
@@ -102,7 +101,6 @@ public final class ShardingSphereDataPersistService 
implements ShardingSphereDat
      * @param schemaData schema data
      * @param databases databases
      */
-    @Override
     public void persist(final String databaseName, final String schemaName, 
final ShardingSphereSchemaData schemaData, final Map<String, 
ShardingSphereDatabase> databases) {
         if (schemaData.getTableData().isEmpty()) {
             persistSchema(databaseName, schemaName);
@@ -125,4 +123,20 @@ public final class ShardingSphereDataPersistService 
implements ShardingSphereDat
     private void persistTableData(final String databaseName, final String 
schemaName, final String tableName, final Collection<YamlShardingSphereRowData> 
rows) {
         tableRowDataPersistService.persist(databaseName, schemaName, 
tableName, rows);
     }
+    
+    /**
+     * Update sharding sphere database data.
+     *
+     * @param alteredShardingSphereDatabaseData altered ShardingSphere 
database data
+     */
+    public void update(final AlteredShardingSphereDatabaseData 
alteredShardingSphereDatabaseData) {
+        String databaseName = 
alteredShardingSphereDatabaseData.getDatabaseName();
+        String schemaName = alteredShardingSphereDatabaseData.getSchemaName();
+        tableRowDataPersistService.persist(databaseName, schemaName, 
alteredShardingSphereDatabaseData.getTableName(),
+                alteredShardingSphereDatabaseData.getAddedRows());
+        tableRowDataPersistService.persist(databaseName, schemaName, 
alteredShardingSphereDatabaseData.getTableName(),
+                alteredShardingSphereDatabaseData.getUpdatedRows());
+        tableRowDataPersistService.delete(databaseName, schemaName, 
alteredShardingSphereDatabaseData.getTableName(),
+                alteredShardingSphereDatabaseData.getDeletedRows());
+    }
 }
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/ShardingSphereStatisticsRefreshEngine.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/ShardingSphereStatisticsRefreshEngine.java
index 0e853cfab52..70f758da0dc 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/ShardingSphereStatisticsRefreshEngine.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/ShardingSphereStatisticsRefreshEngine.java
@@ -37,7 +37,7 @@ import 
org.apache.shardingsphere.infra.yaml.data.swapper.YamlShardingSphereRowDa
 import org.apache.shardingsphere.mode.lock.GlobalLockContext;
 import org.apache.shardingsphere.mode.lock.GlobalLockDefinition;
 import org.apache.shardingsphere.mode.manager.ContextManager;
-import 
org.apache.shardingsphere.mode.persist.pojo.AlteredShardingSphereSchemaData;
+import 
org.apache.shardingsphere.metadata.persist.data.AlteredShardingSphereDatabaseData;
 
 import java.util.ArrayList;
 import java.util.Map;
@@ -162,13 +162,13 @@ public final class ShardingSphereStatisticsRefreshEngine {
             return;
         }
         
statistics.getDatabaseData().get(databaseName).getSchemaData().get(schemaName).getTableData().put(changedTableData.getName().toLowerCase(),
 changedTableData);
-        AlteredShardingSphereSchemaData schemaDataAlteredPOJO = 
getShardingSphereSchemaDataAlteredPOJO(databaseName, schemaName, tableData, 
changedTableData, table);
-        
contextManager.getPersistServiceFacade().persist(schemaDataAlteredPOJO);
+        AlteredShardingSphereDatabaseData alteredShardingSphereDatabaseData = 
getShardingSphereSchemaDataAlteredPOJO(databaseName, schemaName, tableData, 
changedTableData, table);
+        
contextManager.getPersistServiceFacade().getMetaDataPersistService().getShardingSphereDataPersistService().update(alteredShardingSphereDatabaseData);
     }
     
-    private AlteredShardingSphereSchemaData 
getShardingSphereSchemaDataAlteredPOJO(final String databaseName, final String 
schemaName, final ShardingSphereTableData tableData,
-                                                                               
    final ShardingSphereTableData changedTableData, final ShardingSphereTable 
table) {
-        AlteredShardingSphereSchemaData result = new 
AlteredShardingSphereSchemaData(databaseName, schemaName, tableData.getName());
+    private AlteredShardingSphereDatabaseData 
getShardingSphereSchemaDataAlteredPOJO(final String databaseName, final String 
schemaName, final ShardingSphereTableData tableData,
+                                                                               
      final ShardingSphereTableData changedTableData, final ShardingSphereTable 
table) {
+        AlteredShardingSphereDatabaseData result = new 
AlteredShardingSphereDatabaseData(databaseName, schemaName, 
tableData.getName());
         Map<String, ShardingSphereRowData> tableDataMap = 
tableData.getRows().stream().collect(Collectors.toMap(ShardingSphereRowData::getUniqueKey,
 Function.identity()));
         Map<String, ShardingSphereRowData> changedTableDataMap = 
changedTableData.getRows().stream().collect(Collectors.toMap(ShardingSphereRowData::getUniqueKey,
 Function.identity()));
         YamlShardingSphereRowDataSwapper swapper = new 
YamlShardingSphereRowDataSwapper(new ArrayList<>(table.getColumnValues()));
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/persist/PersistServiceFacade.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/persist/PersistServiceFacade.java
index 2c34b1b0910..b8015fb5d88 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/persist/PersistServiceFacade.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/persist/PersistServiceFacade.java
@@ -28,9 +28,8 @@ import 
org.apache.shardingsphere.mode.persist.service.MetaDataManagerPersistServ
 import org.apache.shardingsphere.mode.persist.service.PersistServiceBuilder;
 import org.apache.shardingsphere.mode.persist.service.ProcessPersistService;
 import 
org.apache.shardingsphere.mode.persist.service.QualifiedDataSourceStatePersistService;
-import 
org.apache.shardingsphere.mode.persist.pojo.AlteredShardingSphereSchemaData;
-import org.apache.shardingsphere.mode.spi.PersistRepository;
 import org.apache.shardingsphere.mode.persist.service.StatePersistService;
+import org.apache.shardingsphere.mode.spi.PersistRepository;
 
 /**
  * Persist service facade.
@@ -65,20 +64,4 @@ public final class PersistServiceFacade {
         processPersistService = 
persistServiceBuilder.buildProcessPersistService(repository);
         listenerAssistedPersistService = new 
ListenerAssistedPersistService(repository);
     }
-    
-    /**
-     * Update when sharding sphere schema data altered.
-     *
-     * @param schemaDataAlteredPOJO sharding sphere schema data
-     */
-    public void persist(final AlteredShardingSphereSchemaData 
schemaDataAlteredPOJO) {
-        String databaseName = schemaDataAlteredPOJO.getDatabaseName();
-        String schemaName = schemaDataAlteredPOJO.getSchemaName();
-        
metaDataPersistService.getShardingSphereDataPersistService().getTableRowDataPersistService().persist(databaseName,
 schemaName, schemaDataAlteredPOJO.getTableName(),
-                schemaDataAlteredPOJO.getAddedRows());
-        
metaDataPersistService.getShardingSphereDataPersistService().getTableRowDataPersistService().persist(databaseName,
 schemaName, schemaDataAlteredPOJO.getTableName(),
-                schemaDataAlteredPOJO.getUpdatedRows());
-        
metaDataPersistService.getShardingSphereDataPersistService().getTableRowDataPersistService().delete(databaseName,
 schemaName, schemaDataAlteredPOJO.getTableName(),
-                schemaDataAlteredPOJO.getDeletedRows());
-    }
 }
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/ShardingSphereStatisticsRefreshEngineTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/ShardingSphereStatisticsRefreshEngineTest.java
index c0dd1af7bad..a4e194bd7b2 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/ShardingSphereStatisticsRefreshEngineTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/ShardingSphereStatisticsRefreshEngineTest.java
@@ -32,7 +32,7 @@ import 
org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableDa
 import org.apache.shardingsphere.mode.lock.GlobalLockContext;
 import org.apache.shardingsphere.mode.lock.GlobalLockDefinition;
 import org.apache.shardingsphere.mode.manager.ContextManager;
-import 
org.apache.shardingsphere.mode.persist.pojo.AlteredShardingSphereSchemaData;
+import 
org.apache.shardingsphere.metadata.persist.data.AlteredShardingSphereDatabaseData;
 import org.apache.shardingsphere.test.util.PropertiesBuilder;
 import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
 import org.junit.jupiter.api.Test;
@@ -65,7 +65,7 @@ class ShardingSphereStatisticsRefreshEngineTest {
         GlobalLockContext globalLockContext = mock(GlobalLockContext.class);
         when(globalLockContext.tryLock(any(GlobalLockDefinition.class), 
anyLong())).thenReturn(true);
         new ShardingSphereStatisticsRefreshEngine(contextManager, 
globalLockContext).refresh();
-        
verify(contextManager.getPersistServiceFacade()).persist(any(AlteredShardingSphereSchemaData.class));
+        
verify(contextManager.getPersistServiceFacade().getMetaDataPersistService().getShardingSphereDataPersistService()).update(any(AlteredShardingSphereDatabaseData.class));
     }
     
     private ShardingSphereStatistics mockStatistics() {

Reply via email to