You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Paul Nicolucci (Jira)" <de...@myfaces.apache.org> on 2022/11/15 15:42:00 UTC

[jira] [Resolved] (MYFACES-4495) TCK: Application: subscribeToEvent, publishEvent, unsubscibeFromEvent don't throw NPEs when specified by the JavaDoc

     [ https://issues.apache.org/jira/browse/MYFACES-4495?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul Nicolucci resolved MYFACES-4495.
-------------------------------------
    Resolution: Fixed

> TCK:  Application: subscribeToEvent, publishEvent, unsubscibeFromEvent don't throw NPEs when specified by the JavaDoc
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: MYFACES-4495
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4495
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: General
>    Affects Versions: 2.2.15, 2.3.10, 2.3-next-M7, 3.0.2, 4.0.0-RC2
>            Reporter: Paul Nicolucci
>            Assignee: Paul Nicolucci
>            Priority: Major
>             Fix For: 2.3.11, 3.0.3, 2.3-next-M8, 2.2.16, 4.0.0-RC3
>
>
> [https://jakarta.ee/specifications/faces/4.0/apidocs/jakarta/faces/application/application#subscribeToEvent(java.lang.Class,jakarta.faces.event.SystemEventListener)]
> [https://jakarta.ee/specifications/faces/4.0/apidocs/jakarta/faces/application/application#subscribeToEvent(java.lang.Class,java.lang.Class,jakarta.faces.event.SystemEventListener)]
> {code:java}
> Throws: NullPointerException - if any combination of systemEventClass, or listener are null.{code}
> [https://jakarta.ee/specifications/faces/4.0/apidocs/jakarta/faces/application/application#unsubscribeFromEvent(java.lang.Class,jakarta.faces.event.SystemEventListener)]
> [https://jakarta.ee/specifications/faces/4.0/apidocs/jakarta/faces/application/application#unsubscribeFromEvent(java.lang.Class,java.lang.Class,jakarta.faces.event.SystemEventListener)]
> {code:java}
> Throws: NullPointerException - if any combination of context, systemEventClass, or listener are null.
> {code}
> [https://jakarta.ee/specifications/faces/4.0/apidocs/jakarta/faces/application/application#publishEvent(jakarta.faces.context.FacesContext,java.lang.Class,java.lang.Class,java.lang.Object)]
> {code:java}
> Throws: NullPointerException - if any arguments except for sourceBaseType are null
> {code}
> [https://jakarta.ee/specifications/faces/4.0/apidocs/jakarta/faces/application/application#publishEvent(jakarta.faces.context.FacesContext,java.lang.Class,java.lang.Object)]
> {code:java}
> Throws:
>     NullPointerException - if either context, systemEventClass or source is null
> {code}
> Given the data constructs that are used in these methods for MyFaces we happen to throw an NPE in some situations  but not all. I'll provide a PR that makes the NPEs more obvious and consistent.
>  
> TCK Tests:
> 1) [https://github.com/jakartaee/faces/blob/4.0.1/tck/old-tck/source/src/com/sun/ts/tests/jsf/api/jakarta_faces/application/application/TestServlet.java#L2082]
> 2) [https://github.com/jakartaee/faces/blob/4.0.1/tck/old-tck/source/src/com/sun/ts/tests/jsf/api/jakarta_faces/application/application/TestServlet.java#L2244]
> 3) https://github.com/jakartaee/faces/blob/4.0.1/tck/old-tck/source/src/com/sun/ts/tests/jsf/api/jakarta_faces/application/application/TestServlet.java#L2272



--
This message was sent by Atlassian Jira
(v8.20.10#820010)