[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wink-dev
Subject:    [jira] Issue Comment Edited: (WINK-218) GenericEntity's generic
From:       "Kaloyan Kolev (JIRA)" <jira () apache ! org>
Date:       2009-10-21 14:29:59
Message-ID: 265097322.1256135399562.JavaMail.jira () brutus
[Download RAW message or body]


    [ https://issues.apache.org/jira/browse/WINK-218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12768256#action_12768256 \
] 

Kaloyan Kolev edited comment on WINK-218 at 10/21/09 2:29 PM:
--------------------------------------------------------------

The issue turned out to be a problem with the JAXBXmlProvider so it will be reopened \
with the proper description. Link to the other issue: \
https://issues.apache.org/jira/browse/WINK-219

      was (Author: kkolev):
    The issue turned out to be a problem with the JAXBXmlProvider so this issue will \
be reopened with the proper description.  
> GenericEntity's generic type is not used when choosing provider.
> ----------------------------------------------------------------
> 
> Key: WINK-218
> URL: https://issues.apache.org/jira/browse/WINK-218
> Project: Wink
> Issue Type: Bug
> Components: Common
> Affects Versions: 0.2
> Reporter: Kaloyan Kolev
> 
> I have created a subclass of the AtomEntry, let's say XAtomEntry. When I return \
> that as an entity resource I get exception that there is no provider for that type. \
> The exception is thrown by FlushResultHandler. I tried to wrap the new type in a \
> GenericEntity with a generic type set to AtomEntry, but the result was the same. \
> Here is the check for the GenericEntity: {code}
> Class<?> rawType = null;
> if (entity instanceof GenericEntity) {
> GenericEntity<?> genericEntity = (GenericEntity<?>)entity; 
> entity = genericEntity.getEntity(); // this is the XAtomEntity instance
> rawType = genericEntity.getRawType(); // this is the  XAtomEntity class
> genericType = genericEntity.getType(); // this is the AtomEntity class
> } else {
> rawType = (entity != null ? entity.getClass() : null);
> if (isOriginalEntityResponseObj) {
> genericType = rawType;
> } else {
> genericType = (genericType != null ? genericType : rawType);
> }
> }
> {code}
> This should match the default JAXBXmlProvider, right? 
> Later a provider is searched for:
> {code}
> // get the provider to write the entity
> Providers providers = context.getProviders();
> MessageBodyWriter<Object> messageBodyWriter =
> (MessageBodyWriter<Object>)providers.getMessageBodyWriter(rawType,
> genericType,
> declaredAnnotations,
> responseMediaType);
> {code}
> Here the messageBodyWriter is set to null.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic