in components/camel-cxf/camel-cxf-blueprint/src/main/java/org/apache/camel/component/cxf/blueprint/jaxrs/JAXRSServerFactoryBeanDefinitionParser.java [90:136]
protected void mapElement(ParserContext ctx, MutableBeanMetadata bean, Element el, String name) {
if ("properties".equals(name)
|| "extensionMappings".equals(name)
|| "languageMappings".equals(name)) {
bean.addProperty(name, this.parseMapData(ctx, bean, el));
} else if ("executor".equals(name)) {
setFirstChildAsProperty(el, ctx, bean, "serviceFactory.executor");
} else if ("invoker".equals(name)) {
setFirstChildAsProperty(el, ctx, bean, "serviceFactory.invoker");
} else if ("binding".equals(name)) {
setFirstChildAsProperty(el, ctx, bean, "bindingConfig");
} else if ("inInterceptors".equals(name) || "inFaultInterceptors".equals(name)
|| "outInterceptors".equals(name) || "outFaultInterceptors".equals(name)) {
bean.addProperty(name, this.parseListData(ctx, bean, el));
} else if ("features".equals(name) || "schemaLocations".equals(name)
|| "providers".equals(name) || "serviceBeans".equals(name)
|| "modelBeans".equals(name)) {
bean.addProperty(name, this.parseListData(ctx, bean, el));
} else if ("serviceFactories".equals(name)) {
bean.addProperty("resourceProviders", this.parseListData(ctx, bean, el));
} else if ("resourceClasses".equals(name)) {
List<String> resources = getResourceClassesFromElement(el);
MutableCollectionMetadata list = ctx.createMetadata(MutableCollectionMetadata.class);
list.setCollectionClass(List.class);
for (String res : resources) {
MutableBeanMetadata objectOfClass = createObjectOfClass(ctx, res);
list.addValue(objectOfClass);
}
bean.addProperty("serviceBeans", list);
} else if ("model".equals(name)) {
List<UserResource> resources = ResourceUtils.getResourcesFromElement(el);
MutableCollectionMetadata list = ctx.createMetadata(MutableCollectionMetadata.class);
list.setCollectionClass(List.class);
for (UserResource res : resources) {
MutablePassThroughMetadata factory = ctx.createMetadata(MutablePassThroughMetadata.class);
factory.setObject(new PassThroughCallable<Object>(res));
MutableBeanMetadata resourceBean = ctx.createMetadata(MutableBeanMetadata.class);
resourceBean.setFactoryComponent(factory);
resourceBean.setFactoryMethod("call");
list.addValue(resourceBean);
}
bean.addProperty("modelBeans", list);
} else {
setFirstChildAsProperty(el, ctx, bean, name);
}
}