Browse Source

Merge remote-tracking branch 'origin/v_2.0' into v_2.0

穿云 4 months ago
parent
commit
9f18ce6682

+ 0 - 1
dbsyncer-parser/src/main/java/org/dbsyncer/parser/impl/ParserComponentImpl.java

@@ -181,7 +181,6 @@ public class ParserComponentImpl implements ParserComponent {
             pluginFactory.process(group.getPlugin(), context, ProcessEnum.CONVERT);
 
             // 5、写入目标源
-            context.setTargetFields(picker.getTargetFields());
             Result result = writeBatch(context, executor);
 
             // 6、更新结果

+ 5 - 8
dbsyncer-parser/src/main/java/org/dbsyncer/parser/model/Picker.java

@@ -21,12 +21,8 @@ public class Picker {
     public Picker(List<FieldMapping> fieldMapping) {
         if (!CollectionUtils.isEmpty(fieldMapping)) {
             fieldMapping.forEach(m -> {
-                if (m.getSource() != null) {
-                    sourceFields.add(m.getSource());
-                }
-                if (m.getTarget() != null) {
-                    targetFields.add(m.getTarget());
-                }
+                sourceFields.add(m.getSource());
+                targetFields.add(m.getTarget());
             });
         }
     }
@@ -83,12 +79,13 @@ public class Picker {
     public List<Field> getTargetFields() {
         List<Field> fields = new ArrayList<>();
         Set<String> keys = new HashSet<>();
-        targetFields.forEach(f -> {
-            if (!keys.contains(f.getName())) {
+        targetFields.stream().forEach(f -> {
+            if (f != null && !keys.contains(f.getName())) {
                 fields.add(f);
                 keys.add(f.getName());
             }
         });
+        keys.clear();
         return Collections.unmodifiableList(fields);
     }