users@jax-rs-spec.java.net

[jax-rs-spec users] [jsr339-experts] Re: Re: Filters and generic entities

From: Bill Burke <bburke_at_redhat.com>
Date: Fri, 22 Mar 2013 17:21:08 -0400

I'm assuming GenericEntity is *not* returned. At least, that's the way
I've implemented it.

On 3/22/2013 5:03 PM, Sergey Beryozkin wrote:
> On 22/03/13 18:19, Marek Potociar wrote:
>> I'm not sure I understand, can you provide a piece of code that
>> describes the use case you have in mind?
>>
> @GET
> public Response get() {
> List<String> strings = ...
> return Response.entity(new GenericEntity<List<String>>(strings) {
> });
> }
>
> public class MyResponseFilter implements ContainerResponseFilter {
> public void filter(ContainerResponseContext context) {
> //what is the entity, List instance or GenericEntity instance
> context.getEntity();
>
> //what is the entity class, List or GenericEntity class
> context.getEntityClass();
>
> //what is the entity type, parameterized type representing
> List<String> or GenericEntity class ?
> context.getEntityType();
> }
> }
>
> I think the filters should not really see GenericEntity, though they can
> set a new entity as GenericEntity, but as far as the view of it is
> concerned, GenericEntity is unwrapped
>
> See what I am trying to clarify ?
>
> Thanks, Sergey
>
>
>> Marek
>>
>> On Mar 22, 2013, at 5:05 PM, Sergey Beryozkin<sberyozkin_at_talend.com>
>> wrote:
>>
>>> Hi Again - can I get some clarifications please ?
>>> I'd rather not to browse through the RI code to deduce the answer :-)
>>> I don't think I should open a JIRA for this, very minor question, so
>>> would rather prefer to keep it on the list
>>>
>>> Cheers, Sergey
>>> On 19/03/13 21:20, Sergey Beryozkin wrote:
>>>> On 18/03/13 17:13, Sergey Beryozkin wrote:
>>>>> Hi
>>>>>
>>>>> What ContainerResponseFilter should return in getEntity(),
>>>>> getEntityClass() and getEntityType(), when the application code uses
>>>>> GenericEntity class ?
>>>>>
>>>>> I'm thinking that GenericEntity needs to be 'unwrapped' by the filter
>>>>> context implementation, but then if the filter implementation sets
>>>>> "new GenericEntity..." then I guess it needs to get it back, in
>>>>> getEntity(), so may be after all
>>>>>
>>>>> getEntity(), getEntityClass() and getEntityType()
>>>>>
>>>>> should return GenericEntity instance + GenericEntity.class ?
>>>>
>>>> I'm still thinking that 'unwrapping' GenericEntity makes sense even
>>>> if a
>>>> given filter replaces a current entity with GenericEntity, after all
>>>> the
>>>> filter which replaces an entity is more interested in the follow-up
>>>> filters and writers to get the updates.
>>>>
>>>> So, to summarize, relevant ContainerResponseFilter getters should never
>>>> return GenericEntity if the current entity happens to be GenericEntity
>>>> (instance, class, type) but unwrap it.
>>>>
>>>> Agreed ?
>>>>
>>>> Cheers, Sergey
>>>>
>>>>
>>>>>
>>>>> Thanks, Sergey
>>>>>
>>>>
>>>>
>>>
>>

-- 
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com