[
https://issues.apache.org/jira/browse/CXF-5362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13805411#comment-13805411
]
Ivan Bondarenko commented on CXF-5362:
--------------------------------------
Looks like in this case (o instanceof Collection) will always be true. But more
important that this affects only "serviceBeans" property, while there are some
other lists. Also I think non-spring classes must not be touched here.
So the code similar to yours can be provided to
JAXRSServerFactoryBeanDefinitionParser.mapElement(...). for example piece of
code like
{code}List<?> list = ctx.getDelegate().parseListElement(el,
bean.getBeanDefinition());
bean.addPropertyValue(blahBlah, list);{code}
can be converted to method
{code}protected mapListProperty(name) {
List<?> list = ctx.getDelegate().parseListElement(el,
bean.getBeanDefinition());
//Here the list is handled somehow
bean.addPropertyValue(name, list);{code}
}
However writing some code is more close to workaround as for me.
> Spring jaxrs scheme and bean definition parser must allow alternative
> property setting
> --------------------------------------------------------------------------------------
>
> Key: CXF-5362
> URL: https://issues.apache.org/jira/browse/CXF-5362
> Project: CXF
> Issue Type: Improvement
> Components: JAX-RS
> Reporter: Ivan Bondarenko
>
> http://cxf.apache.org/schemas/jaxrs.xsd scheme in conjunction with
> JAXRSServerFactoryBeanDefinitionParser class must allow alternative property
> set.
> For example to set 'serviceBeans' now one must write:
> {code}<jaxrs:server>
> <jaxrs:serviceBeans>
> <ref bean="bean1"/>
> ...
> <ref bean="beanN"/>
> </jaxrs:serviceBeans>
> </jaxrs:server>{code}
> However there is no way to set this if number and set of beans is unknown
> beforehand (in case of different configurations etc).
> The easiest and most non-breaking way I see is to allow in scheme the default
> bean tags everywhere properties can be set. So user can do e.g. following:
> {code}<jaxrs:server>
> <property name="serviceBeans">
> _something_here_
> <property>
> </jaxrs:server>{code}
> Thus user can put almost anything (probably calculated in a complicated way)
> into 'serviceBeans' (and other properties).
--
This message was sent by Atlassian JIRA
(v6.1#6144)