diff --git a/src/main/java/org/springframework/data/mapping/PropertyReferenceException.java b/src/main/java/org/springframework/data/mapping/PropertyReferenceException.java index 03ef85c51..abb9e3d92 100644 --- a/src/main/java/org/springframework/data/mapping/PropertyReferenceException.java +++ b/src/main/java/org/springframework/data/mapping/PropertyReferenceException.java @@ -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; diff --git a/src/test/java/org/springframework/data/mapping/PropertyPathUnitTests.java b/src/test/java/org/springframework/data/mapping/PropertyPathUnitTests.java index f5a0f9853..f0d40c761 100755 --- a/src/test/java/org/springframework/data/mapping/PropertyPathUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/PropertyPathUnitTests.java @@ -187,28 +187,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 diff --git a/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java index 4470b1de3..923583d24 100755 --- a/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java @@ -452,7 +452,7 @@ class RepositoryFactorySupportUnitTests { .hasMessageContaining("does not support Reactive Query by Example"); } - @Test // GH-2341 + @Test // GH-2341, GH-2395 void derivedQueryMethodCannotBeImplemented() { var factory = new DummyRepositoryFactory(backingRepo) { @@ -468,7 +468,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) {