|
@@ -16,7 +16,7 @@ public abstract class PickerUtil {
|
|
|
}
|
|
|
|
|
|
public static void pickFields(Picker picker, List<FieldMapping> fieldMapping) {
|
|
|
- if(!CollectionUtils.isEmpty(fieldMapping)){
|
|
|
+ if (!CollectionUtils.isEmpty(fieldMapping)) {
|
|
|
List<Field> sFields = new ArrayList<>();
|
|
|
List<Field> tFields = new ArrayList<>();
|
|
|
fieldMapping.forEach(m -> {
|
|
@@ -29,29 +29,19 @@ public abstract class PickerUtil {
|
|
|
}
|
|
|
|
|
|
public static void pickData(Picker picker, List<Map<String, Object>> data) {
|
|
|
- if(!CollectionUtils.isEmpty(data)){
|
|
|
+ if (!CollectionUtils.isEmpty(data)) {
|
|
|
List<Map<String, Object>> target = new ArrayList<>();
|
|
|
List<Field> sFields = picker.getSourceFields();
|
|
|
List<Field> tFields = picker.getTargetFields();
|
|
|
|
|
|
- final int kSize = sFields.size();
|
|
|
final int size = data.size();
|
|
|
+ final int sFieldSize = sFields.size();
|
|
|
Map<String, Object> row = null;
|
|
|
Map<String, Object> r = null;
|
|
|
- String sName = null;
|
|
|
- String tName = null;
|
|
|
- Object v = null;
|
|
|
for (int i = 0; i < size; i++) {
|
|
|
row = data.get(i);
|
|
|
r = new HashMap<>();
|
|
|
-
|
|
|
- for (int k = 0; k < kSize; k++) {
|
|
|
- sName = sFields.get(k).getName();
|
|
|
- v = row.get(sName);
|
|
|
-
|
|
|
- tName = tFields.get(k).getName();
|
|
|
- r.put(tName, v);
|
|
|
- }
|
|
|
+ exchange(sFieldSize, sFields, tFields, row, r);
|
|
|
target.add(r);
|
|
|
}
|
|
|
|
|
@@ -60,24 +50,26 @@ public abstract class PickerUtil {
|
|
|
}
|
|
|
|
|
|
public static void pickData(Picker picker, Map<String, Object> row) {
|
|
|
- if(!CollectionUtils.isEmpty(row)){
|
|
|
+ if (!CollectionUtils.isEmpty(row)) {
|
|
|
Map<String, Object> target = new HashMap<>();
|
|
|
List<Field> sFields = picker.getSourceFields();
|
|
|
List<Field> tFields = picker.getTargetFields();
|
|
|
|
|
|
- final int kSize = sFields.size();
|
|
|
- String sName = null;
|
|
|
- String tName = null;
|
|
|
- Object v = null;
|
|
|
- for (int k = 0; k < kSize; k++) {
|
|
|
- sName = sFields.get(k).getName();
|
|
|
- v = row.get(sName);
|
|
|
+ exchange(sFields.size(), sFields, tFields, row, target);
|
|
|
+ picker.setTarget(target);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void exchange(int sFieldSize, List<Field> sFields, List<Field> tFields, Map<String, Object> source, Map<String, Object> target) {
|
|
|
+ Field sField = null;
|
|
|
+ Object v = null;
|
|
|
+ for (int k = 0; k < sFieldSize; k++) {
|
|
|
+ sField = sFields.get(k);
|
|
|
+ if (null != sField) {
|
|
|
+ v = source.get(sField.getName());
|
|
|
|
|
|
- tName = tFields.get(k).getName();
|
|
|
- target.put(tName, v);
|
|
|
+ target.put(tFields.get(k).getName(), v);
|
|
|
}
|
|
|
-
|
|
|
- picker.setTarget(target);
|
|
|
}
|
|
|
}
|
|
|
|