[ 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)