DATACMNS-1743 - Polishing.

We now avoid identifier conversion in ReflectionrepositoryConverter if not necessary. Reestablish a couple of unit tests for DomainClassConverter that were disabled by accident.
This commit is contained in:
Oliver Drotbohm
2020-06-16 16:11:26 +02:00
parent 3f15dc1957
commit e7e6abdf36
2 changed files with 14 additions and 11 deletions

View File

@@ -178,8 +178,8 @@ class ReflectionRepositoryInvoker implements RepositoryInvoker {
* @see org.springframework.data.rest.core.invoke.RepositoryInvoker#invokeQueryMethod(java.lang.reflect.Method, java.util.Map, org.springframework.data.domain.Pageable, org.springframework.data.domain.Sort)
*/
@Override
public Optional<Object> invokeQueryMethod(Method method, MultiValueMap<String, ?> parameters,
Pageable pageable, Sort sort) {
public Optional<Object> invokeQueryMethod(Method method, MultiValueMap<String, ?> parameters, Pageable pageable,
Sort sort) {
Assert.notNull(method, "Method must not be null!");
Assert.notNull(parameters, "Parameters must not be null!");
@@ -191,8 +191,8 @@ class ReflectionRepositoryInvoker implements RepositoryInvoker {
return returnAsOptional(invoke(method, prepareParameters(method, parameters, pageable, sort)));
}
private Object[] prepareParameters(Method method, MultiValueMap<String, ?> rawParameters,
Pageable pageable, Sort sort) {
private Object[] prepareParameters(Method method, MultiValueMap<String, ?> rawParameters, Pageable pageable,
Sort sort) {
List<MethodParameter> parameters = new MethodParameters(method, Optional.of(PARAM_ANNOTATION)).getParameters();
@@ -286,6 +286,10 @@ class ReflectionRepositoryInvoker implements RepositoryInvoker {
Assert.notNull(id, "Id must not be null!");
if (idType.isInstance(id)) {
return id;
}
Object result = conversionService.convert(id, idType);
if (result == null) {

View File

@@ -97,21 +97,16 @@ public class DomainClassConverterUnitTests {
assertMatches(false);
}
// DATACMNS-233
@Test // DATACMNS-233
public void returnsNullForNullSource() {
assertThat(converter.convert(null, STRING_TYPE, USER_TYPE)).isNull();
}
// DATACMNS-233
@Test // DATACMNS-233
public void returnsNullForEmptyStringSource() {
assertThat(converter.convert("", STRING_TYPE, USER_TYPE)).isNull();
}
private void assertMatches(boolean matchExpected) {
assertThat(converter.matches(STRING_TYPE, USER_TYPE)).isEqualTo(matchExpected);
}
@Test
public void convertsStringToUserCorrectly() throws Exception {
@@ -231,6 +226,10 @@ public class DomainClassConverterUnitTests {
return ctx;
}
private void assertMatches(boolean matchExpected) {
assertThat(converter.matches(STRING_TYPE, USER_TYPE)).isEqualTo(matchExpected);
}
static interface Wrapper {
void foo(@ModelAttribute User user);