You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/02/20 05:35:29 UTC
[camel] branch master updated: CAMEL-14589: camel-cxf - Service
beans can only be set via context. Thanks to Jens Kleine-Herzbruch for the
patch.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 323b2ee CAMEL-14589: camel-cxf - Service beans can only be set via context. Thanks to Jens Kleine-Herzbruch for the patch.
323b2ee is described below
commit 323b2ee622614fd34488ba74ec63a03b049c03b2
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Feb 20 06:34:54 2020 +0100
CAMEL-14589: camel-cxf - Service beans can only be set via context. Thanks to Jens Kleine-Herzbruch for the patch.
---
.../camel/component/cxf/jaxrs/CxfRsEndpoint.java | 25 ++++++++++++++++------
1 file changed, 18 insertions(+), 7 deletions(-)
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
index 01ac3d6..52987dc 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
@@ -84,8 +84,9 @@ public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrate
private String address;
@UriParam
private List<Class<?>> resourceClasses;
- @UriParam(label = "consumer,advanced")
- private String serviceBeans;
+ @UriParam(label = "consumer,advanced", javaType = "java.lang.String")
+ private List<Object> serviceBeans = new LinkedList<>();
+ private String serviceBeansRef;
@UriParam
private String modelRef;
@UriParam(label = "consumer", defaultValue = "Default")
@@ -248,10 +249,12 @@ public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrate
if (getResourceClasses() != null) {
sfb.setResourceClasses(getResourceClasses());
}
- if (serviceBeans != null) {
- List<Object> beans = EndpointHelper.resolveReferenceListParameter(getCamelContext(), serviceBeans, Object.class);
- sfb.setServiceBeans(beans);
+
+ List<Object> beans = new ArrayList<>(serviceBeans);
+ if (serviceBeansRef != null) {
+ beans.addAll(EndpointHelper.resolveReferenceListParameter(getCamelContext(), serviceBeansRef, Object.class));
}
+ sfb.setServiceBeans(beans);
// setup the resource providers for interfaces
List<ClassResourceInfo> cris = sfb.getServiceFactory().getClassResourceInfo();
@@ -438,7 +441,7 @@ public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrate
setResourceClasses(Arrays.asList(classes));
}
- public String getServiceBeans() {
+ public List<?> getServiceBeans() {
return serviceBeans;
}
@@ -447,7 +450,15 @@ public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrate
* Multiple beans can be separated by comma
*/
public void setServiceBeans(String beans) {
- this.serviceBeans = beans;
+ this.serviceBeansRef = beans;
+ }
+
+ public void setServiceBeans(List<?> beans) {
+ this.serviceBeans.addAll(beans);
+ }
+
+ public void setServiceBean(Object bean) {
+ this.serviceBeans.add(bean);
}
/**