gnodet-bot commented on code in PR #29725:
URL: https://github.com/apache/camel/pull/29725#discussion_r4553249265


##########
components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java:
##########
@@ -137,67 +137,176 @@ public class CxfRsEndpoint extends DefaultEndpoint 
implements HeaderFilterStrate
     private Map<String, String> parameters;
     private Map<String, Object> properties;
 
-    @UriPath(description = "To lookup an existing configured CxfRsEndpoint. 
Must used bean: as prefix.")
+    @UriPath(description = "The id of the registry bean that defines this 
endpoint. Written in the path of the endpoint URI in"
+                           + " place of the service address, with the prefix 
bean:, for example bean:rsEndpoint. The bean is a"
+                           + " CxfRsEndpoint, or, with camel-cxf-spring-rest, 
a CXF JAXRSServerFactoryBean for the consumer or"
+                           + " a JAXRSClientFactoryBean for the producer, for 
example from a cxf:rsServer or cxf:rsClient"
+                           + " element in Spring XML. The options of the 
endpoint URI are applied after the settings of the"
+                           + " bean. On a CxfRsEndpoint bean, they are applied 
to the bean itself, so endpoint URIs with"
+                           + " different options must not share one 
CxfRsEndpoint bean.")
     private String beanId;
-    @UriPath
+    @UriPath(description = "The service address, for example 
http://localhost:9000/rest. The consumer receives requests at"
+                           + " this address, and the producer sends requests 
to it. The CamelDestinationOverrideUrl header"
+                           + " replaces this address for a request that the 
producer sends.")
     private String address;
-    @UriParam
+    @UriParam(description = "The JAX-RS resource classes. Written in the 
endpoint URI as fully qualified class names,"
+                            + " separated by commas. The consumer serves them 
as root resources, and a resource class can be"
+                            + " an interface only when performInvocation is 
false. Without resource classes, the consumer"
+                            + " needs other resources, for example from 
serviceBeans or modelRef. With the proxy-based API,"
+                            + " the producer calls the resource method named 
by the CamelCxfOperationName header on a proxy of"
+                            + " the first resource class. With the WebClient 
API, the producer does not need resource classes.")
     private List<Class<?>> resourceClasses;
-    @UriParam(label = "consumer,advanced", javaType = "java.lang.String")
+    @UriParam(label = "consumer,advanced", javaType = "java.lang.String",
+              description = "The beans to serve as JAX-RS root resources of 
the consumer, in addition to resourceClasses."
+                            + " Written in the endpoint URI as bean ids with 
the prefix #, separated by commas, for example"
+                            + " #customerService, or as the id of one List 
bean, for example #myServiceBeans. The consumer"
+                            + " calls the resource methods of the beans only 
when performInvocation is true, but always calls"
+                            + " their sub-resource locators.")
     private List<Object> serviceBeans = new LinkedList<>();
     private String serviceBeansRef;
-    @UriParam
+    @UriParam(description = "The location of a CXF user model, for example 
classpath:/model/customers.xml. The model is an XML"
+                            + " document that describes resources and their 
operations in place of JAX-RS annotations, and the"
+                            + " name attribute of each resource names its 
resource class. On the consumer, one resource of the"
+                            + " model can be without a name attribute: the 
consumer gives it the interface"
+                            + " 
org.apache.camel.component.cxf.jaxrs.DefaultModelResource, which works only 
when"
+                            + " performInvocation is false. The producer 
builds requests from the model only with the"
+                            + " proxy-based API.")
     private String modelRef;
-    @UriParam(label = "consumer", defaultValue = "Default")
+    @UriParam(label = "consumer", defaultValue = "Default",
+              description = "How the consumer maps the request to the Camel 
message and the reply to the response. Default:"
+                            + " the message body is a MessageContentsList of 
the parameters of the resource method."
+                            + " SimpleConsumer: the path, query, header, 
cookie, form and matrix parameters become Camel"
+                            + " headers named as in their annotations, and the 
first other parameter, normally the request"
+                            + " entity, becomes the message body. The 
component documentation describes SimpleConsumer in"
+                            + " detail. Custom: the CxfRsBinding of the 
binding option maps the request and the reply. Setting"
+                            + " the binding option sets bindingStyle to 
Custom. The producer uses the binding that Default or"
+                            + " Custom selects, and cannot be created with 
SimpleConsumer.")
     private BindingStyle bindingStyle = BindingStyle.Default;
-    @UriParam(label = "consumer")
+    @UriParam(label = "consumer",
+              description = "The address to publish in the WADL that the 
consumer serves at the service address followed by"
+                            + " ?_wadl. It replaces the base attribute of the 
resources element. Use it when clients reach the"
+                            + " service through another address, for example 
when the service is behind a proxy. CXF serves"
+                            + " the WADL only when the module 
cxf-rt-rs-service-description is on the classpath.")
     private String publishedEndpointUrl;
     @UriParam(label = "advanced")
     private HeaderFilterStrategy headerFilterStrategy;
-    @UriParam(label = "advanced")
+    @UriParam(label = "advanced",
+              description = "To use a custom 
org.apache.camel.component.cxf.jaxrs.CxfRsBinding to map between the Camel"
+                            + " message and the JAX-RS request and response, 
on the consumer and on the producer. Setting this"
+                            + " option sets bindingStyle to Custom.")
     private CxfRsBinding binding;
-    @UriParam(javaType = "java.lang.String")
+    @UriParam(javaType = "java.lang.String",
+              description = "The JAX-RS providers to add to the server that 
the consumer creates and to each client that the"
+                            + " producer creates, for example a 
MessageBodyReader and MessageBodyWriter for JSON. Written in"
+                            + " the endpoint URI as bean ids with the prefix 
#, separated by commas, for example"
+                            + " #jsonProvider, or as the id of one List bean, 
for example #myProviders. The built-in CXF"
+                            + " providers stay registered.")

Review Comment:
   `@davsclaus` flagged this as **Please fix** — the description still says 
providers can be given "as the id of one List bean, for example #myProviders", 
but that does not work.
   
   `doInit()` processes `providersRef` by splitting on `,` and resolving each 
name with `resolveReferenceParameter(name, Object.class)`, then calling 
`setProvider(provider)`. When `#myProviders` resolves to a `List`, the `List` 
object itself is added as one provider — it is **not** expanded. Compare with 
`serviceBeans`, which uses `resolveReferenceListParameter` (which explicitly 
handles `List` beans by expanding them).
   
   Drop the List-bean sentence:
   
   ```suggestion
       @UriParam(javaType = "java.lang.String",
                 description = "The JAX-RS providers to add to the server that 
the consumer creates and to each client that the"
                               + " producer creates, for example a 
MessageBodyReader and MessageBodyWriter for JSON. Written in"
                               + " the endpoint URI as bean ids with the prefix 
#, separated by commas, for example"
                               + " #jsonProvider,#xmlProvider. The built-in CXF 
providers stay registered.")
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to