Skip to main content

[jsr339-experts] Re: [jax-rs-spec users] WebApplicationException Response entity and exception mappers

  • From: Sergey Beryozkin <sberyozkin@...>
  • To: <jsr339-experts@...>
  • Subject: [jsr339-experts] Re: [jax-rs-spec users] WebApplicationException Response entity and exception mappers
  • Date: Tue, 20 Nov 2012 10:42:31 +0000

Let me summarize.

One one hand the spec provides for the optimization in cases where WAE Response entity is not null. On the other hand, this optimization leads to the issue where an application code reports WAE with Response having an entity and also with the cause exception for the benefit of the WAE mapper.

I'd like to propose one of the following:

1. Keep the current optimization in place but update the spec to say that "if WAE Response entity is null or WAE cause exception is not null - use the mapper, otherwise - use WAE Response entity directly"

2. Drop the optimization - I'd expect any custom mapper check WAE Response anyway before creating some custom Response instead and dropping this optimization would require a mapper to check if entity is not null - guess most of the mappers do it all the time anyway...

Will I open a JIRA request ?

Thanks, Sergey

On 16/11/12 23:05, Sergey Beryozkin wrote:
On 16/11/12 21:32, Santiago Pericas-Geertsen wrote:

On Nov 13, 2012, at 12:25 PM, Sergey Beryozkin<sberyozkin@...>
wrote:

Hi,

CXF user has pointed out that the specification requires that WAE
exception mapper is not to be used to map a given WAE to Response if
WAE Response entity is not null.

Yes, that's according to 3.3.4 and has been like that since 1.X.


Is it what Jersey and RestEasy do ?

I'll check on Jersey and get back to you --I assume that's what Jersey
does.

CXF lets custom WAE mappers manage all WAEs, though of course the
custom mapper may choose to somehow modify the original WAE Response
entity if any.

I'd rather prefer the mappers see all WAEe (and say NotFoundException
mappers see all the NFE exceptions, whether or not NFE Response
entity is null), example, to make sure all WAE isntances can be given
some common treatment like logging them, etc.

If there's a response with an entity, I'm assuming the rationale was
that there was no need for mapping.

What is about the WAE (and subclass) constructors accepting 'Response &
Throwable' ? What is going to happen to this 'Throwable' - the mapper
whose job do something on WAE causes won't be invoked and the cause
won't be handled

Sergey

Changing this behavior would not be backward compatible. Let me get
back to you on this one.

-- Santiago





[jsr339-experts] WebApplicationException Response entity and exception mappers

Sergey Beryozkin 11/13/2012

[jsr339-experts] Re: WebApplicationException Response entity and exception mappers

Bill Burke 11/13/2012

[jsr339-experts] Re: WebApplicationException Response entity and exception mappers

Sergey Beryozkin 11/14/2012

[jsr339-experts] Re: [jax-rs-spec users] WebApplicationException Response entity and exception mappers

Santiago Pericas-Geertsen 11/16/2012

[jsr339-experts] Re: [jax-rs-spec users] WebApplicationException Response entity and exception mappers

Sergey Beryozkin 11/16/2012

[jsr339-experts] Re: [jax-rs-spec users] WebApplicationException Response entity and exception mappers

Sergey Beryozkin 11/20/2012

[jsr339-experts] Re: [jax-rs-spec users] WebApplicationException Response entity and exception mappers

Bill Burke 11/20/2012

[jsr339-experts] Re: [jax-rs-spec users] WebApplicationException Response entity and exception mappers

Sergey Beryozkin 11/23/2012

[jsr339-experts] Re: [jax-rs-spec users] Re: WebApplicationException Response entity and exception mappers

Santiago Pericas-Geertsen 11/26/2012

[jsr339-experts] Re: [jax-rs-spec users] Re: WebApplicationException Response entity and exception mappers

Sergey Beryozkin 11/27/2012
 
 
Close
loading
Please Confirm
Close