Skip to content

JSF: Fix and implement getBeansInScope in EL resolvers - #9678

Open
NicolaIsotta wants to merge 1 commit into
apache:masterfrom
NicolaIsotta:beans-in-scope
Open

NicolaIsotta wants to merge 1 commit into
apache:masterfrom
NicolaIsotta:beans-in-scope

Conversation

@NicolaIsotta

@NicolaIsotta NicolaIsotta commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor
  • Fix the null check bug in JsfELVariableResolver.getBeansInScope
  • implement getBeansInScope in WebBeansELVariableResolver for CDI beans
  • add unit tests for the entire JsfELVariableResolver class
  • refactor WebBean to record
  • add a TODO for a future fix

To a give a bit of reference: jsf implementations expose standard scope maps via EL references (eg. applicationScope, requestScope, etc) -> https://jakarta.ee/specifications/faces/4.0/jakarta-faces-4.0#a2830
This means that a bean can also be accessed via its scope: if we have a bean like this:

@Named
@ApplicationScoped
public class MyApplicationBean {
}

Usually accessible via #{myApplicationBean}, can be accessed also via #{applicationScope.myApplicationBean}. This PR fixes NB suggestion for the scope elements, both for CDI and old-school JSF beans.
image


^Add meaningful description above

Click to collapse/expand PR instructions

By opening a pull request you confirm that, unless explicitly stated otherwise, the changes -

  • are all your own work, and you have the right to contribute them.
  • are contributed solely under the terms and conditions of the Apache License 2.0 (see section 5 of the license for more information).

LLMs, Commit messages and PR description:

  • Please make sure (eg. git log) that all commits have a valid name and email address for you in the Author field.
  • LLM assisted commits should be attributed with an Assisted-by: MODEL_NAME MODEL_VERSION line appended to the commit message.
    • Please mention coding assistance in the PR description too (eg. by adding the same Assisted-by line from above)
    • Please describe the changes in your own words - we'd like to know you understand the changes being made!

If you're a first time contributor, see the Contributing guidelines for more information.

If you're a committer, please label the PR before pressing "Create pull request" so that the right test jobs can run.

PR approval and merge checklist:

  1. Was this PR correctly labeled, did the right tests run? When did they run?
  2. Is this PR squashed?
  3. Are author name / email address correct? Are co-authors correctly listed? Do the commit messages need updates?
  4. Does the PR title and description still fit after the Nth iteration? Is the description sufficient to appear in the release notes?

If this PR targets the delivery branch: don't merge. (full wiki article)

@mbien mbien added the Java EE/Jakarta EE [ci] enable enterprise job label Oct 8, 2026
@mbien mbien added this to the NB32 milestone Oct 8, 2026
@apache apache locked and limited conversation to collaborators Oct 8, 2026
@apache apache unlocked this conversation Oct 8, 2026

@mbien mbien left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good

@NicolaIsotta NicolaIsotta self-assigned this Oct 8, 2026
* Fix the null check bug in JsfELVariableResolver.getBeansInScope
* implement getBeansInScope in WebBeansELVariableResolver for CDI beans
* add unit tests for the entire JsfELVariableResolver class
* refactor WebBean to record
* add a TODO for a future fix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Java EE/Jakarta EE [ci] enable enterprise job

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants