cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivan Bondarenko (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CXF-5362) Spring jaxrs scheme and bean definition parser must allow alternative property setting
Date Fri, 25 Oct 2013 16:12:31 GMT

    [ https://issues.apache.org/jira/browse/CXF-5362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13805411#comment-13805411
] 

Ivan Bondarenko edited comment on CXF-5362 at 10/25/13 4:11 PM:
----------------------------------------------------------------

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(el, bean, propName) {
  List<?> list = ctx.getDelegate().parseListElement(el, bean.getBeanDefinition());
  //Here the list is handled somehow
  bean.addPropertyValue(propName, list);
}{code}

However writing some code is more close to workaround as for me.





was (Author: buzzeri):
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)

Mime
View raw message