private static Object getExistingValue(FieldMap fieldMap, Object destObj, Class<?> destFieldType) { // verify that the dest obj is not null if (destObj == null) { return null; } // call the getXX method to see if the field is already instantiated Object result = fieldMap.getDestValue(destObj); // When we are recursing through a list we need to make sure that we are not // in the list // by checking the destFieldType if (result != null) { if (CollectionUtils.isList(result.getClass()) || CollectionUtils.isArray(result.getClass()) || CollectionUtils.isSet(result.getClass()) || MappingUtils.isSupportedMap(result.getClass())) { if (!CollectionUtils.isList(destFieldType) && !CollectionUtils.isArray(destFieldType) && !CollectionUtils.isSet(destFieldType) && !MappingUtils.isSupportedMap(destFieldType)) { // this means the getXX field is a List but we are actually trying to // map one of its elements result = null; } } } return result; }
else if (CollectionUtils.isSet(srcFieldType) && CollectionUtils.isArray(destCollectionType)) { result = mapSetToArray(srcObj, (Set<?>) srcCollectionValue, fieldMap, destObj, context); else if (CollectionUtils.isArray(srcFieldType) && CollectionUtils.isSet(destCollectionType)) { result = addToSet(srcObj, fieldMap, Arrays.asList((Object[]) srcCollectionValue), destObj, context); else if (CollectionUtils.isSet(srcFieldType) && CollectionUtils.isList(destCollectionType)) { result = mapListToList(srcObj, (Set<?>) srcCollectionValue, fieldMap, destObj, context); else if (CollectionUtils.isCollection(srcFieldType) && CollectionUtils.isSet(destCollectionType)) { result = addToSet(srcObj, fieldMap, (Collection<?>) srcCollectionValue, destObj, context);
else if (CollectionUtils.isSet(srcFieldType) && CollectionUtils.isArray(destCollectionType)) { result = mapSetToArray(srcObj, (Set<?>) srcCollectionValue, fieldMap, destObj, context); else if (CollectionUtils.isArray(srcFieldType) && CollectionUtils.isSet(destCollectionType)) { result = addToSet(srcObj, fieldMap, Arrays.asList((Object[]) srcCollectionValue), destObj, context); else if (CollectionUtils.isSet(srcFieldType) && CollectionUtils.isList(destCollectionType)) { result = mapListToList(srcObj, (Set<?>) srcCollectionValue, fieldMap, destObj, context); else if (CollectionUtils.isCollection(srcFieldType) && CollectionUtils.isSet(destCollectionType)) { result = addToSet(srcObj, fieldMap, (Collection<?>) srcCollectionValue, destObj, context);
else if (CollectionUtils.isSet(srcFieldType) && CollectionUtils.isArray(destCollectionType)) { result = mapSetToArray(srcObj, (Set<?>) srcCollectionValue, fieldMap, destObj); else if (CollectionUtils.isArray(srcFieldType) && CollectionUtils.isSet(destCollectionType)) { result = addToSet(srcObj, fieldMap, Arrays.asList((Object[]) srcCollectionValue), destObj); else if (CollectionUtils.isCollection(srcFieldType) && CollectionUtils.isSet(destCollectionType)) { result = addToSet(srcObj, fieldMap, (Collection<?>) srcCollectionValue, destObj);