DATACMNS-867 - Cleanups.
This commit is contained in:
2
pom.xml
2
pom.xml
@@ -18,7 +18,7 @@
|
||||
<properties>
|
||||
<javaslang>2.0.4</javaslang>
|
||||
<scala>2.11.7</scala>
|
||||
<mockito>2.1.0-RC.1</mockito>
|
||||
<mockito>2.2.17</mockito>
|
||||
<xmlbeam>1.4.8</xmlbeam>
|
||||
</properties>
|
||||
|
||||
|
||||
@@ -126,21 +126,11 @@ public class DefaultTypeMapper<S> implements TypeMapper<S> {
|
||||
Assert.notNull(basicType, "Basic type must not be null!");
|
||||
|
||||
Optional<TypeInformation<? extends T>> calculated = getDefaultedTypeToBeUsed(source)//
|
||||
.map(it -> foo(it, basicType));
|
||||
.map(it -> specializeOrDefault(it, basicType));
|
||||
|
||||
return calculated.orElse(basicType);
|
||||
}
|
||||
|
||||
// @SuppressWarnings("unchecked")
|
||||
private static <T> TypeInformation<? extends T> foo(Class<?> sourceType, TypeInformation<T> type) {
|
||||
|
||||
return specializeOrDefault(sourceType, type);
|
||||
|
||||
// return type//
|
||||
// .<TypeInformation<? extends T>>map(it -> specializeOrDefault(sourceType, it))
|
||||
// .orElseGet(() -> (TypeInformation<? extends T>) ClassTypeInformation.from(sourceType));
|
||||
}
|
||||
|
||||
private static <T> TypeInformation<? extends T> specializeOrDefault(Class<?> it, TypeInformation<T> type) {
|
||||
|
||||
ClassTypeInformation<?> targetType = ClassTypeInformation.from(it);
|
||||
@@ -157,7 +147,10 @@ public class DefaultTypeMapper<S> implements TypeMapper<S> {
|
||||
* @return
|
||||
*/
|
||||
private Optional<Class<?>> getDefaultedTypeToBeUsed(S source) {
|
||||
return readType(source).map(it -> readType(source)).orElseGet(() -> getFallbackTypeFor(source))
|
||||
|
||||
return readType(source)//
|
||||
.map(it -> readType(source))//
|
||||
.orElseGet(() -> getFallbackTypeFor(source))//
|
||||
.map(it -> it.getType());
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
package org.springframework.data.convert;
|
||||
|
||||
import java.lang.reflect.Array;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
@@ -47,12 +48,18 @@ public enum ReflectionEntityInstantiator implements EntityInstantiator {
|
||||
|
||||
List<Object> params = Optional.ofNullable(provider)//
|
||||
.map(it -> constructor.getParameters().stream()//
|
||||
.map(parameter -> it.getParameterValue(parameter).orElse(null))//
|
||||
.map(parameter -> it.getParameterValue(parameter).orElse(Optional.empty()))//
|
||||
.collect(Collectors.toList()))//
|
||||
.orElseGet(() -> Collections.emptyList());
|
||||
|
||||
List<Object> foo = new ArrayList<>(params.size());
|
||||
|
||||
for (Object element : params) {
|
||||
foo.add((element instanceof Optional) ? null : element);
|
||||
}
|
||||
|
||||
try {
|
||||
return (T) BeanUtils.instantiateClass(constructor.getConstructor(), params.toArray());
|
||||
return (T) BeanUtils.instantiateClass(constructor.getConstructor(), foo.toArray());
|
||||
} catch (BeanInstantiationException e) {
|
||||
throw new MappingInstantiationException(Optional.of(entity), params, e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user