cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <j...@apache.org>
Subject [jira] [Assigned] (CXF-4359) ParameterizedType#getActualTypeArguments() classes not added to the JAXBContext for JAX-RS providers
Date Sun, 17 Jun 2012 17:12:42 GMT

     [ https://issues.apache.org/jira/browse/CXF-4359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Sergey Beryozkin reassigned CXF-4359:
-------------------------------------

    Assignee: Sergey Beryozkin
    
> ParameterizedType#getActualTypeArguments() classes not added to the JAXBContext for JAX-RS
providers
> ----------------------------------------------------------------------------------------------------
>
>                 Key: CXF-4359
>                 URL: https://issues.apache.org/jira/browse/CXF-4359
>             Project: CXF
>          Issue Type: New Feature
>          Components: JAX-RS
>    Affects Versions: 2.6.1
>            Reporter: Angelo
>            Assignee: Sergey Beryozkin
>         Attachments: cxf-patch.txt, src.zip
>
>
> Take a parameterized class like PageResult<T> : 
> --------------------------------------------------------
> @XmlRootElement
> @XmlAccessorType(XmlAccessType.FIELD)
> public class ResultPage<T> {
> 	private List<T> content;
> 	public List<T> getContent() {
> 		return content;
> 	}
> 	
> 	public void setContent(List<T> content) {
> 		this.content = content;
> 	}
> }
> --------------------------------------------------------
> And take a service which uses this parameterized class : 
> --------------------------------------------------------
> public interface UserService {
> @GET
> public PageResult<User> findUsers();
> @GET
> public PageResult<Role> findRoles();
> }
> --------------------------------------------------------
> When provider create JAXBContext (eg: JSONProvider) for this interface, only PageResult
class is added to the JAXBContext and we need declare the 2 classes 
> -------------------------------------------------------------
> <bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.JSONProvider">
> 	<property name="singleJaxbContext" value="true" />
> 	<property name="extraClass">
> 		<list>
> 			<value>User</value>
> 			<value>Role</value>
> 		</list>
> 	</property>
> </bean>
> -------------------------------------------------------------
> This mean can be boring, because as soon as you add new domain class, you must modify
too this declaration.
> In my case I cannot use XmlSeeAlso because PageResult belongs to another Java Project
(Spring Data) and it can be used with any domain classes.
> To fix this problem, the JAX-RS CXF provider should populate the JAXBContext with PageResult,
A and B instead of just with PageResult.
> The attached patch manage this case.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message