You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Sergey Beryozkin (JIRA)" <ji...@apache.org> on 2015/05/04 23:08:07 UTC

[jira] [Commented] (CXF-6388) NPE has been swallowed in org.apache.cxf.jaxrs.impl.AsyncResponseImpl

    [ https://issues.apache.org/jira/browse/CXF-6388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14527301#comment-14527301 ] 

Sergey Beryozkin commented on CXF-6388:
---------------------------------------

Thanks for the patch

> NPE has been swallowed in org.apache.cxf.jaxrs.impl.AsyncResponseImpl
> ---------------------------------------------------------------------
>
>                 Key: CXF-6388
>                 URL: https://issues.apache.org/jira/browse/CXF-6388
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 3.0.3, 3.0.4, 2.7.15
>            Reporter: iris ding
>            Assignee: Sergey Beryozkin
>            Priority: Minor
>             Fix For: 3.1.1, 3.0.6
>
>
> According to https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/container/AsyncResponse.html#register(java.lang.Class):
> we need throw NullPointerException - in case the callback class is null in all register method. 
> However, CXF swallows the NPE.
> The proposed fix is to throw NPE in below method:
> public Map<Class<?>, Collection<Class<?>>> register(Class<?> callback, Class<?>... callbacks)
>                     throws NullPointerException {
>         try {
>             Object[] extraCallbacks = new Object[callbacks.length];
>             for (int i = 0; i < callbacks.length; i++) {
>                 extraCallbacks[i] = callbacks[i].newInstance();
>             }
>             return register(callback.newInstance(), extraCallbacks);
>         }
>      //proposed change start
>       catch (NullPointerException e)
>         {
>             throw e;
>         } 
>     //proposed change end
>      catch (Throwable t) {
>             return Collections.emptyMap();
>         }
>     }
> After this, my CTS passed!



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)