[
https://hibernate.onjira.com/browse/HSEARCH-1049?page=com.atlassian.jira....
]
Marc Schipperheyn commented on HSEARCH-1049:
--------------------------------------------
Ok, the problem is that with your fix, all id members are marked. In IndexedEmbedded
therefore, the pathsContext will already be filled with the id member from the hosting
class which prevents new paths from being added from the embedded class. How about
something like this:
{code}
private PathsContext updatePaths(String localPrefix, PathsContext pathsContext,
IndexedEmbedded embeddedAnn) {
if ( pathsContext != null && pathsContext.embeddedAnn.equals(embeddedAnn))
return pathsContext;
PathsContext newPathsContext = new PathsContext( embeddedAnn );
for ( String path : embeddedAnn.includePaths() ) {
newPathsContext.addPath( localPrefix + path );
}
return newPathsContext;
}
{code}
it passes the tests
includePaths bombs on inclusion of id members
---------------------------------------------
Key: HSEARCH-1049
URL:
https://hibernate.onjira.com/browse/HSEARCH-1049
Project: Hibernate Search
Issue Type: Bug
Components: engine
Affects Versions: 4.1.0.Beta2
Reporter: Marc Schipperheyn
Priority: Blocker
Fix For: 4.1.0.Final
When I include id members on includePaths, I get
Found invalid @IndexedEmbedded->paths configured on class nl.project.model.Item,
member subitem: item.id
I use ids a lot and in many cases they are all I'm interested in.
E.g.
@IndexedEmbedded(prefix="location.",includePaths={"city.id","city.city","country.id","city.region.id"})
public Address getAddress() {
return address;
}
will indicate all id fields as erronous.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira