private void processSuperTypeMapping(Collection<ClassMap> superClasses, Object srcObj, Object destObj, List<String> mappedParentFields, String mapId) { for (ClassMap map : superClasses) { map(map, srcObj, destObj, true, mappedParentFields ,mapId); for (FieldMap fieldMapping : map.getFieldMaps()) { String key = MappingUtils.getMappedParentFieldKey(destObj, fieldMapping); mappedParentFields.add(key); } } }
private List<String> getFieldMapKeys(Object destObj, List<FieldMap> fieldMaps, String mapId) { List<String> keys = new ArrayList<String>(); for (FieldMap fieldMap : fieldMaps) { // Check that field map is applicable for current mapping using // mapId value. If mapId parameter is provided by user and field map // has different mapId value we should skip this field map. if (MappingUtils.isBlankOrNull(fieldMap.getMapId()) || fieldMap.getMapId().equals(mapId)) { String key = MappingUtils.getMappedParentFieldKey(destObj, fieldMap); if (!keys.contains(key)) { keys.add(key); } } } return keys; }
/** * Removes field maps from class map what are overridden. * * @param copy copy of class map * @param overriddenFieldMappings keys of overridden field mappings * @param destObj destination object */ private void removeOverriddenFieldMappings(ClassMap copy, List<String> overriddenFieldMappings, Object destObj) { List<FieldMap> result = new ArrayList<FieldMap>(); for (FieldMap fieldMap : copy.getFieldMaps()) { String key = MappingUtils.getMappedParentFieldKey(destObj, fieldMap); if (!overriddenFieldMappings.contains(key)) { result.add(fieldMap); } } copy.setFieldMaps(result); }
/** * Removes field maps from class map what are overridden. * * @param copy copy of class map * @param overriddenFieldMappings keys of overridden field mappings * @param destObj destination object */ private void removeOverriddenFieldMappings(ClassMap copy, List<String> overriddenFieldMappings, Object destObj) { List<FieldMap> result = new ArrayList<FieldMap>(); for (FieldMap fieldMap : copy.getFieldMaps()) { String key = MappingUtils.getMappedParentFieldKey(destObj, fieldMap); if (!overriddenFieldMappings.contains(key)) { result.add(fieldMap); } } copy.setFieldMaps(result); }
private List<String> getFieldMapKeys(Object destObj, List<FieldMap> fieldMaps, String mapId) { List<String> keys = new ArrayList<String>(); for (FieldMap fieldMap : fieldMaps) { // Check that field map is applicable for current mapping using // mapId value. If mapId parameter is provided by user and field map // has different mapId value we should skip this field map. if (MappingUtils.isBlankOrNull(fieldMap.getMapId()) || fieldMap.getMapId().equals(mapId)) { String key = MappingUtils.getMappedParentFieldKey(destObj, fieldMap); if (!keys.contains(key)) { keys.add(key); } } } return keys; }
/** * Maps classes using mappings of super classes. * * @param superClasses mappings of super classes * @param srcObj source * @param destObj destination * @param mapId map id * @param context user parameters * @param overriddenFieldMappings overridden field mappings * @return list of mapped field keys */ private List<String> processSuperTypeMapping(Collection<ClassMap> superClasses, Object srcObj, Object destObj, String mapId, MappingContext context, List<String> overriddenFieldMappings) { List<String> mappedFieldKeys = new ArrayList<String>(); for (ClassMap map : superClasses) { // create copy of super class map which will be modified farther ClassMap copy = map.copyOf(); // remove from field mappings list entries that overridden by child // class removeOverriddenFieldMappings(copy, overriddenFieldMappings, destObj); // map classes using field mappings for super classes map(copy, srcObj, destObj, true, mapId, context); for (FieldMap fieldMapping : copy.getFieldMaps()) { // remember mapped fields String key = MappingUtils.getMappedParentFieldKey(destObj, fieldMapping); mappedFieldKeys.add(key); } } return mappedFieldKeys; }
for (FieldMap fieldMapping : copy.getFieldMaps()) { String key = MappingUtils.getMappedParentFieldKey(destObj, fieldMapping); mappedFieldKeys.add(key);
String key = MappingUtils.getMappedParentFieldKey(destObj, fieldMapping); if (mappedParentFields != null && mappedParentFields.contains(key)) { continue;
String key = MappingUtils.getMappedParentFieldKey(destObj, fieldMapping); if (mappedParentFields != null && mappedParentFields.contains(key)) { continue;
String key = MappingUtils.getMappedParentFieldKey(destObj, fieldMapping); if (mappedParentFields != null && mappedParentFields.contains(key)) { continue;