Selaa lähdekoodia

优化默认主键映射关系

AE86 4 vuotta sitten
vanhempi
säilyke
ee956f1447

+ 1 - 2
dbsyncer-biz/src/main/java/org/dbsyncer/biz/checker/ConnectorConfigChecker.java

@@ -18,9 +18,8 @@ public interface ConnectorConfigChecker {
      *
      * @param mapping
      * @param tableGroup
-     * @param params
      */
-    default void dealIncrementStrategy(Mapping mapping, TableGroup tableGroup, Map<String, String> params) {}
+    default void dealIncrementStrategy(Mapping mapping, TableGroup tableGroup) {}
 
     /**
      * 修改配置

+ 2 - 1
dbsyncer-biz/src/main/java/org/dbsyncer/biz/checker/impl/connector/OracleConfigChecker.java

@@ -35,8 +35,9 @@ public class OracleConfigChecker extends AbstractDataBaseConfigChecker {
     private Manager manager;
 
     @Override
-    public void dealIncrementStrategy(Mapping mapping, TableGroup tableGroup, Map<String, String> params) {
+    public void dealIncrementStrategy(Mapping mapping, TableGroup tableGroup) {
         String rowIdLabelName = OracleIncrementEnum.ROW_ID_LABEL_NAME.getName();
+        Map<String, String> params = tableGroup.getParams();
         if (CollectionUtils.isEmpty(params) || !params.containsKey(rowIdLabelName)) {
             revert(mapping, tableGroup);
             return;

+ 3 - 3
dbsyncer-biz/src/main/java/org/dbsyncer/biz/checker/impl/tablegroup/TableGroupChecker.java

@@ -113,7 +113,7 @@ public class TableGroupChecker extends AbstractChecker {
         TableGroup group = PickerUtil.mergeTableGroupConfig(mapping, tableGroup);
 
         // 处理策略
-        dealIncrementStrategy(mapping, tableGroup, group.getParams());
+        dealIncrementStrategy(mapping, group);
 
         Map<String, String> command = manager.getCommand(mapping, group);
         tableGroup.setCommand(command);
@@ -123,12 +123,12 @@ public class TableGroupChecker extends AbstractChecker {
         tableGroup.getSourceTable().setCount(count);
     }
 
-    public void dealIncrementStrategy(Mapping mapping, TableGroup tableGroup, Map<String, String> params) {
+    public void dealIncrementStrategy(Mapping mapping, TableGroup tableGroup) {
         String connectorType = manager.getConnector(mapping.getSourceConnectorId()).getConfig().getConnectorType();
         String type = StringUtil.toLowerCaseFirstOne(connectorType).concat("ConfigChecker");
         ConnectorConfigChecker checker = map.get(type);
         Assert.notNull(checker, "Checker can not be null.");
-        checker.dealIncrementStrategy(mapping, tableGroup, params);
+        checker.dealIncrementStrategy(mapping, tableGroup);
     }
 
     private Table getTable(String connectorId, String tableName) {

+ 5 - 10
dbsyncer-parser/src/main/java/org/dbsyncer/parser/util/PickerUtil.java

@@ -4,10 +4,11 @@ import org.apache.commons.lang.StringUtils;
 import org.dbsyncer.common.util.CollectionUtils;
 import org.dbsyncer.connector.config.Field;
 import org.dbsyncer.connector.config.Filter;
-import org.dbsyncer.parser.model.*;
-import org.springframework.beans.BeanUtils;
+import org.dbsyncer.parser.model.Convert;
+import org.dbsyncer.parser.model.FieldMapping;
+import org.dbsyncer.parser.model.Mapping;
+import org.dbsyncer.parser.model.TableGroup;
 
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -25,13 +26,7 @@ public abstract class PickerUtil {
      */
     public static TableGroup mergeTableGroupConfig(Mapping mapping, TableGroup tableGroup) {
         TableGroup group = new TableGroup();
-        List<FieldMapping> fm = new ArrayList<>();
-        tableGroup.getFieldMapping().forEach(f -> {
-            FieldMapping m = new FieldMapping();
-            BeanUtils.copyProperties(f, m);
-            fm.add(m);
-        });
-        group.setFieldMapping(fm);
+        group.setFieldMapping(tableGroup.getFieldMapping());
         group.setSourceTable(tableGroup.getSourceTable());
         group.setTargetTable(tableGroup.getTargetTable());
         group.setCommand(tableGroup.getCommand());