Skip to content

Introduce FacesServletFactory #1861

Closed
Closed

Description

@mnriem

To facilitate different implementors the FacesServlet should delegate to a Servlet that should be acquired by the FacesServletFactory.

Activity

  1. tandraschko commented on Nov 18, 2023

    @tandraschko

    whats the usecase for it?

  2. mnriem commented on Nov 18, 2023

    @mnriem
    ContributorAuthor

    Rought implementation details

    1. Move code in FacesServlet to a vendor specific implementation in the vendor implementation project.
    2. Change the FacesServlet in the API to use the FacesServletFactory to get the Servlet instance it will delegate to (which should be the specific implementation as created in 1.)
  3. added a commit that references this issue on Nov 21, 2023
    da51542
  4. tandraschko commented on Nov 21, 2023

    @tandraschko

    Currently this isnt alligned with other Factories:
    class ViewDeclarationLanguageFactory implements FacesWrapper<ViewDeclarationLanguageFactory> {

  5. tandraschko commented on Nov 21, 2023

    @tandraschko

    any reason for this?

  6. BalusC commented on Nov 21, 2023

    @BalusC
    Member

    Currently this isnt alligned with other Factories: class ViewDeclarationLanguageFactory implements FacesWrapper<ViewDeclarationLanguageFactory> {

    Oh this reminds me we still need to add to spec that all factories and factory instances should preferably implement FacesWrapper and that impl should validate that by e.g. emitting warnings. Or perhaps even make it obligatory.

    any reason for this?

    what exactly are you referring to?

  7. tandraschko commented on Nov 21, 2023

    @tandraschko

    what exactly are you referring to?

    that its implemented without FacesWrapper :)

    also we should add faces-config/factory/faces-servlet-factory like other factories before

  8. added a commit that references this issue on Nov 26, 2023
    6c638a6
  9. tandraschko commented on Nov 26, 2023

    @tandraschko

    What about the faces-config.xml Changes?

  10. mnriem commented on Nov 27, 2023

    @mnriem
    ContributorAuthor

    @BalusC @arjantijms Should the latest faces-config XSD be included in the API JAR going forward?

  11. added a commit that references this issue on Dec 7, 2023
    c4194bd
  12. tandraschko commented on Dec 11, 2023

    @tandraschko

    getFacesServlet is still unused in Mojarra? where do you use it?

    In MyFaces we do this:
    servletContext.addServlet(FACES_SERVLET_NAME, FacesServlet.class);

    in this case, the FacesServletFactory looks a bit wrong?
    public Servlet getFacesServlet(ServletConfig config)
    should be
    public Class<? extends FacesServlet> getFacesServlet()
    ?

  13. mnriem commented on Dec 11, 2023

    @mnriem
    ContributorAuthor

    @tandraschko The API is correct. The FacesServletFactory is supposed to deliver an instance of the Servlet that the FacesServlet can delegate to.

  14. tandraschko commented on Dec 12, 2023

    @tandraschko

    Implemented it in MF now: apache/myfaces@3a9e428
    please review

  15. added this to the 5.0 milestone on Dec 12, 2023
  16. self-assigned this
    on Dec 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions