Skip to content
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

Enhance component referencing / findComponent #1238

Closed
eclipse-faces-bot opened this issue Nov 15, 2013 · 27 comments
Closed

Enhance component referencing / findComponent #1238

eclipse-faces-bot opened this issue Nov 15, 2013 · 27 comments

Comments

@eclipse-faces-bot
Copy link

Currently component referencing with the JSF API is very limited.
Keywords can currently only be used with f:ajax and not for e.g. outputLabel "for" attribute.
Also keywords cant be combined and we dont even have many keywords.

For PrimeFaces, i created a small modular API to enhance the search alogorithm as you can read here:
http://blog.primefaces.org/?p=2740

Noteable features are:

  • keywords can be used for all components
  • combinable keywords like @composite:@parent or @Form:myId
  • currently a (limited) pluggable framework to allow new keywords for endusers

For the JSF API, a new artifact for resolving expression for findComponent (like ViewHandler etc.) would be great and can easily be enhanced by component libraries.
Maybe something like "ComponentExpressionResolver".

If its somehow possible, i would like to help to create and finalyze the API.

Sorry for Issue 1237 - please close it.

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
Reported by tandraschko

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
@edburns said:
Set priority to baseline ahead of JSF 2.3 triage. Priorities will be assigned accurately after this exercise.

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
@edburns said:
This area is very sensitive to performance problems.

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
tandraschko said:
The performance won't be affected for existing applications as the new search expression logic is only used if the whole expression string contains a "@".
Some expressions are faster, some are slower but the overall performance is very good and i did a lot of optimization for it.

Would great to see it in the next API release. BootsFaces implemented a similiar API.
As i said, i would take care of it and would contribute my ideas to the JSF API.

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
stephanrauh said:
I agree with Thomas. I consider the advanced search expressions very useful. So useful, that I implemented them in BootsFaces 0.8.0 myself. As for the performance considerations: granted, we should keep the performance in mind. However, I'm using the PrimeFaces search expressions for years now without noting a performance penalty. In particular, the expressions I use most frequently - @parent, @next and @previous - are implemented in a very efficient way.

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
@BalusC said:
This is one of the things I'd like to see in JSF 2.3 as well. Community contribution is very welcome.

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
@edburns said:
Diff of pull request 4.

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
File: changebundle.txt
Attached By: @edburns

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
File: changebundle.txt
Attached By: @edburns

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
@edburns said:
Committed as b243817. Will roll back immediately if the build breaks.

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
@edburns said:
This change appears to have broken the WLS 12.2.1 builds so I must revert it. I will move it to a topic branch.

Revert commit is 6e74667c.

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
@edburns said:
Commit 3dade0c50300d62da59a7d30b693743903da7aed on topic branch has the work.

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
@arjantijms said:
Was it the Spec1238IT test that failed? If so adding the following to the test might rectify it:

@JsfTest(value = JSF_2_3_0_M10, excludes = {WEBLOGIC_12_1_4, WEBLOGIC_12_2_1})

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
File: spec-1238.diff
Attached By: @edburns

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
@edburns said:
Thanks Arjan, yes it was that test that failed. But I don't want to exclude it on WLS. It should run on WLS if it is a truly backward compatible change, which it must be since it is not hidden behind a context param.

@eclipse-faces-bot
Copy link
Author

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
File: spec-1238-20170114.diff
Attached By: @edburns

@eclipse-faces-bot
Copy link
Author

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
File: AjaxBehaviorRenderer.java
Attached By: @edburns

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
@edburns said:
Ok, commit 3ab4cf8 has the fix that passes all tests. If it breaks the build this time, it is possible we may not have this feature in JSF 2.3.

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
@edburns said:
Built with

webapp.projectStage=Development
webapp.stateSavingMethod=server
webapp.partialStateSaving=false
webapp.serializeServerState=false

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
File: jsf-systest.war
Attached By: @edburns

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
@edburns said:
Commit dcca156 has the @ignore of the failing tests.

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
@edburns said:
Commit c1eff0f removes the @ignore and reverts the change that was causing them to fail.

@eclipse-faces-bot
Copy link
Author

@glassfishrobot Commented
This issue was imported from java.net JIRA JAVASERVERFACES_SPEC_PUBLIC-1238

@eclipse-faces-bot
Copy link
Author

@tandraschko Commented
@BalusC / @arjantijms Could someone please close this issue? It's already done in JSF 2.3.

@eclipse-faces-bot
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant