AE86 1 år sedan
förälder
incheckning
f7ca0ebe14

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

@@ -34,7 +34,6 @@ import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 
@@ -73,11 +72,9 @@ public class TableGroupChecker extends AbstractChecker {
 
         // 获取连接器信息
         TableGroup tableGroup = new TableGroup();
-        tableGroup.setFieldMapping(new CopyOnWriteArrayList<>());
         tableGroup.setMappingId(mappingId);
         tableGroup.setSourceTable(getTable(mapping.getSourceConnectorId(), sourceTable, sourceTablePK));
         tableGroup.setTargetTable(getTable(mapping.getTargetConnectorId(), targetTable, targetTablePK));
-        tableGroup.setParams(new HashMap<>());
 
         // 修改基本配置
         this.modifyConfigModel(tableGroup, params);

+ 5 - 2
dbsyncer-biz/src/main/java/org/dbsyncer/biz/impl/TableGroupServiceImpl.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2024 All Rights Reserved.
+ */
 package org.dbsyncer.biz.impl;
 
 import org.dbsyncer.biz.TableGroupService;
@@ -15,11 +18,11 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.stream.Stream;
 
 /**
@@ -159,7 +162,7 @@ public class TableGroupServiceImpl extends BaseServiceImpl implements TableGroup
         if (CollectionUtils.isEmpty(column) || CollectionUtils.isEmpty(target)) {
             return target;
         }
-        List<Field> list = new CopyOnWriteArrayList<>();
+        List<Field> list = new ArrayList<>();
         Set<String> keys = new HashSet<>();
         column.forEach(f -> keys.add(f.getName()));
         target.forEach(f -> {

+ 3 - 0
dbsyncer-parser/src/main/java/org/dbsyncer/parser/ddl/DDLParser.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2024 All Rights Reserved.
+ */
 package org.dbsyncer.parser.ddl;
 
 import org.dbsyncer.parser.model.FieldMapping;

+ 3 - 0
dbsyncer-parser/src/main/java/org/dbsyncer/parser/ddl/impl/DDLParserImpl.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2024 All Rights Reserved.
+ */
 package org.dbsyncer.parser.ddl.impl;
 
 import net.sf.jsqlparser.JSQLParserException;

+ 4 - 2
dbsyncer-parser/src/main/java/org/dbsyncer/parser/impl/ParserComponentImpl.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2024 All Rights Reserved.
+ */
 package org.dbsyncer.parser.impl;
 
 import org.dbsyncer.common.model.Result;
@@ -108,8 +111,7 @@ public class ParserComponentImpl implements ParserComponent {
         final CommandConfig sourceConfig = new CommandConfig(sConnConfig.getConnectorType(), sTable, sConnConfig, tableGroup.getFilter());
         final CommandConfig targetConfig = new CommandConfig(tConnConfig.getConnectorType(), tTable, tConnConfig, null);
         // 获取连接器同步参数
-        Map<String, String> command = connectorFactory.getCommand(sourceConfig, targetConfig);
-        return command;
+        return connectorFactory.getCommand(sourceConfig, targetConfig);
     }
 
     @Override

+ 8 - 3
dbsyncer-parser/src/main/java/org/dbsyncer/parser/model/AbstractConfigModel.java

@@ -1,21 +1,26 @@
+/**
+ * DBSyncer Copyright 2020-2024 All Rights Reserved.
+ */
 package org.dbsyncer.parser.model;
 
 import org.dbsyncer.plugin.model.Plugin;
 import org.dbsyncer.sdk.model.Filter;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 public abstract class AbstractConfigModel extends ConfigModel {
 
     // 全局参数
-    private Map<String, String> params;
+    private Map<String, String> params = new HashMap<>();
 
     // 过滤条件
-    private List<Filter> filter;
+    private List<Filter> filter = new ArrayList<>();;
 
     // 转换配置
-    private List<Convert> convert;
+    private List<Convert> convert = new ArrayList<>();;
 
     // 插件配置
     private Plugin plugin;

+ 7 - 2
dbsyncer-parser/src/main/java/org/dbsyncer/parser/model/TableGroup.java

@@ -1,8 +1,13 @@
+/**
+ * DBSyncer Copyright 2020-2024 All Rights Reserved.
+ */
 package org.dbsyncer.parser.model;
 
 import org.dbsyncer.sdk.model.Table;
 import org.dbsyncer.sdk.constant.ConfigConstant;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -31,10 +36,10 @@ public class TableGroup extends AbstractConfigModel {
     private Table targetTable;
 
     // 字段映射关系
-    private List<FieldMapping> fieldMapping;
+    private List<FieldMapping> fieldMapping = new ArrayList<>();
 
     // 执行命令,例SQL等
-    private Map<String, String> command;
+    private Map<String, String> command = new HashMap<>();
 
     public int getIndex() {
         return index;

+ 3 - 4
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/connector/database/AbstractDatabaseConnector.java

@@ -50,7 +50,6 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
@@ -114,7 +113,7 @@ public abstract class AbstractDatabaseConnector extends AbstractConnector implem
 
     @Override
     public MetaInfo getMetaInfo(DatabaseConnectorInstance connectorInstance, String tableNamePattern) {
-        List<Field> fields = new CopyOnWriteArrayList<>();
+        List<Field> fields = new ArrayList<>();
         final String schema = getSchema(connectorInstance.getConfig());
         connectorInstance.execute(databaseTemplate -> {
             SimpleConnection connection = databaseTemplate.getSimpleConnection();
@@ -349,7 +348,7 @@ public abstract class AbstractDatabaseConnector extends AbstractConnector implem
         if (1 > columnCount) {
             throw new SdkException("查询表字段不能为空.");
         }
-        List<Field> fields = new CopyOnWriteArrayList<>();
+        List<Field> fields = new ArrayList<>(columnCount);
         Map<String, List<String>> tables = new HashMap<>();
         try {
             Connection connection = databaseTemplate.getSimpleConnection();
@@ -470,7 +469,7 @@ public abstract class AbstractDatabaseConnector extends AbstractConnector implem
      */
     private List<Table> getTable(DatabaseConnectorInstance connectorInstance, String catalog, String schema, String tableNamePattern) {
         return connectorInstance.execute(databaseTemplate -> {
-            List<Table> tables = new CopyOnWriteArrayList<>();
+            List<Table> tables = new ArrayList<>();
             SimpleConnection connection = databaseTemplate.getSimpleConnection();
             Connection conn = connection.getConnection();
             String databaseCatalog = null == catalog ? conn.getCatalog() : catalog;