-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SearchExpressionResolver: @id
always uses visitTree ?
#5466
Comments
Problem is understood but a concrete reproducer is really welcome (preferably without any PrimeFaces deps). I can't reproduce using the reproducer at https://github.com/orgs/primefaces/discussions/2350 After removing all the things JPA and providing a hardcoded stub in a non-lazy model, it works just fine for me in Mojarra 4.0.8 as well as 2.3.21 (i.e. the column values render all just fine). |
Hmmm as you said this will be difficult to reproduce without using PrimeFaces LazyModel. I think the LazyModel is key to the issue. |
Oh wow ok. Well ok I might take a second look then. |
so in that reproducer i know its using our JPA LAzy Model it definitely shows the issue. And when you debug it fails the find and render any column after the |
Can you at least reproduce it in a plain |
let me try that. |
OK now this has me thinking its something with WildFly 7.4.12 as I can't seem to reproduce it in any other environment than that. I even put Mojarra 2.3.21 into my WildFly to make sure it was the latest and it still happens. So now I am starting to be stumped but we have 70+ apps running in WildFly 7.4.12 and it was happening to them all on the upgrade from PF13 to 14 which ripped out its custom KeywordResolvers. I guess feel free to close because I don't know how to reliably reproduce this issue. |
Original PrimeFaces Discussion and Analysis: https://github.com/orgs/primefaces/discussions/2350
Brief Overview
PF13- used to have its own
@id
resolver that always walked the component tree and was working. In PF14 that was removed to rely on JSF 2.3+ ID resolver which behaves differently. We are doingrender="@root:@id(growl)"
inside a Datatable row.Code
The question is I don't see how it can ever get to the branch where it walks the component instead of using
visitTree
mojarra/impl/src/main/java/com/sun/faces/component/search/SearchKeywordResolverImplId.java
Lines 42 to 47 in 2a0e8fc
I have grepped the code base and I never see
SearchExpressionHint.SKIP_VIRTUAL_COMPONENTS
actually ever set and the note even mentions..Question
So how does the branch that doesn't use
visitTree
ever get executed? Right now I had to inject the old PF@id
resolver to fix this issue and have the code work like it did before using the PFfindWithId
type code.The text was updated successfully, but these errors were encountered: