Clean up confusions between relative field name, absolute field name and property name

Description

In the context of Hibernate Search metadata, here are the proposed non-ambiguous definitions:

  • Field relative name: the name given with the @Field annotation (or similar, like @Spatial)

  • Field name: the absolute path, i.e. the relative name prefixed with any relevant @IndexedEmbedded.prefix

  • Property name: the name of the source property for a field in the annotated javabean, which may not be the same as the field name (especially when the user explicitly gives @Field.name)

In the current code, we seem to indistinctively use "fieldName" about everywhere, making it unclear whether a string is a simple relative field name, a full absolute field path, or a javabean property name.

This has already resulted in confusions such as in the snippet below, where we push a field path where a property name is expected. Even if no custom field name is used, this will result in very strange paths: for example with a property "a.b.c", we'll get something like "a.a.b.a.b.c" in exceptions thrown by the ConversionContext.

That's why I'd like to make a global pass on attributes and variables to make their names consistent.

Environment

None

Assignee

Yoann Rodière

Reporter

Yoann Rodière

Labels

None

Suitable for new contributors

None

Feedback Requested

None

Fix versions

Priority

Major
Configure