Refine PropertyReferenceException message.
Use single-quotes to indicate which elements belong to the underlying type and which are part of the textual message. Closes #2395
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2021 the original author or authors.
|
||||
* Copyright 2012-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -37,8 +37,8 @@ import org.springframework.util.StringUtils;
|
||||
public class PropertyReferenceException extends RuntimeException {
|
||||
|
||||
private static final long serialVersionUID = -5254424051438976570L;
|
||||
private static final String ERROR_TEMPLATE = "No property %s found for type %s!";
|
||||
private static final String HINTS_TEMPLATE = " Did you mean %s?";
|
||||
private static final String ERROR_TEMPLATE = "No property '%s' found for type '%s'!";
|
||||
private static final String HINTS_TEMPLATE = " Did you mean '%s'?";
|
||||
|
||||
private final String propertyName;
|
||||
private final TypeInformation<?> type;
|
||||
|
||||
@@ -188,28 +188,28 @@ class PropertyPathUnitTests {
|
||||
assertThat(iterator.hasNext()).isFalse();
|
||||
}
|
||||
|
||||
@Test // DATACMNS-139
|
||||
@Test // DATACMNS-139, GH-2395
|
||||
void rejectsInvalidPropertyWithLeadingUnderscore() {
|
||||
|
||||
assertThatExceptionOfType(PropertyReferenceException.class)//
|
||||
.isThrownBy(() -> PropertyPath.from("_id", Foo.class))//
|
||||
.withMessageContaining("property _id");
|
||||
.withMessageContaining("property '_id'");
|
||||
}
|
||||
|
||||
@Test // DATACMNS-139
|
||||
@Test // DATACMNS-139, GH-2395
|
||||
void rejectsNestedInvalidPropertyWithLeadingUnderscore() {
|
||||
|
||||
assertThatExceptionOfType(PropertyReferenceException.class)//
|
||||
.isThrownBy(() -> PropertyPath.from("_foo_id", Sample2.class))//
|
||||
.withMessageContaining("property id");
|
||||
.withMessageContaining("property 'id'");
|
||||
}
|
||||
|
||||
@Test // DATACMNS-139
|
||||
@Test // DATACMNS-139, GH-2395
|
||||
void rejectsNestedInvalidPropertyExplictlySplitWithLeadingUnderscore() {
|
||||
|
||||
assertThatExceptionOfType(PropertyReferenceException.class)//
|
||||
.isThrownBy(() -> PropertyPath.from("_foo__id", Sample2.class))//
|
||||
.withMessageContaining("property _id");
|
||||
.withMessageContaining("property '_id'");
|
||||
}
|
||||
|
||||
@Test // DATACMNS 158
|
||||
|
||||
@@ -453,7 +453,7 @@ class RepositoryFactorySupportUnitTests {
|
||||
.hasMessageContaining("does not support Reactive Query by Example");
|
||||
}
|
||||
|
||||
@Test // GH-2341
|
||||
@Test // GH-2341, GH-2395
|
||||
void derivedQueryMethodCannotBeImplemented() {
|
||||
|
||||
DummyRepositoryFactory factory = new DummyRepositoryFactory(backingRepo) {
|
||||
@@ -469,7 +469,7 @@ class RepositoryFactorySupportUnitTests {
|
||||
|
||||
assertThatThrownBy(() -> factory.getRepository(WithQueryMethodUsingInvalidProperty.class))
|
||||
.isInstanceOf(QueryCreationException.class).hasMessageContaining("findAllByName")
|
||||
.hasMessageContaining("No property name found for type Object");
|
||||
.hasMessageContaining("No property 'name' found for type 'Object'");
|
||||
}
|
||||
|
||||
private ConvertingRepository prepareConvertingRepository(final Object expectedValue) {
|
||||
|
||||
Reference in New Issue
Block a user