As part of the upcoming Camel 2.15 we can now associate label(s) to a
Camel component, which allows us to use that to categorize the
components.
We have an outdated and fairly good attempt of grouping the component
in the wiki at: http://camel.apache.org/component-list-grouped.html
Though that listing has to be manually kept up to date. Instead I
wanted Camel itself to have that information at both design and
runtime.
Note: This requires the components to support the self-documentation,
which require components to be annotated with the @UriEndpoint and
@UriPath / @UriParam mappings.
On the master source code you can see the current one we have set so far
cd platform
cd catalog
mvn clean install
There is a maven plugin that outputs does a report to the console
So as of now we have
- 83 components that are self documenting
- 39 of those 89 has no label configured yet
- 50 of those has not properly set an @UriPath option
- We have so far 15 different labels
- .. and 76 components are not yet self-documented
So there is plenty of work still to have all of them covered.
What work is there to be done and how can I help?
--------------------------------------------------------------------
Missing components detected: 76
The most work is with these. As they would need to be refactored touse @UriEndpoint and for each of the options add @UriParam and/or
@UriPath.
Missing @UriPath detected: 50
These have a minor mistake as we need to map the uri path to anoption. Usually the error is that one of the options should be changed
from @UriParam to @UriPath. Or the uri path option is missing.
Missing labels detected: 39
These are the easiest. Or maybe the "hardest" as what is missing is toadd a label attribute to the endpoint class that has @UriEndpoint, and
give it a proper categorization. You can have 1 or more labels.
For example camel-hdfs I gave them label="hadoop,file"
See it in action
--------------------
The Camel Karaf commands has new commands to show the Camel category
to list all the components with their labels. Also there is new
commands to show the documentation of the components.
I did a few tweet with screenshots in action.
https://twitter.com/davsclaus/status/533275471828762625
https://twitter.com/davsclaus/status/531810893601177600
And wrote a blog post
http://www.davsclaus.com/2014/11/apache-camel-please-explain-me-what.html
--
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cibsen@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/