Camel and code coverage - apache-camel

Is there a code coverage/quality tool (like Sonar) that works well with Camel routes? I've been doing some analysis with sample builds of camel routes to find nothing registers inside of Sonar after running my junits through Jenkins.

The route DSL configures the Camel framework to run integrations.
You need to know why you need code coverage reports out of your Camel apps and exactly what they should tell you.
Camel routes can be written in a wide variety of ways. XML DSL, Groovy DSL, Java DSL etc.. Then even writing Java DSL, you may have the heavy logic inside expressions and scripts, such as simple/groovy/xslt.
There is no way for any single tool to figure out that you have written perfect Java and XML and Groovy and Scala and XSLT and ... in a Camel/integration perspective.
Define test cases and write decent integration/unit tests for your routes and use sonar for coverage of java processors/beans. That is straight forward.

Related

Migration from Mule to Apache Camel

I am trying to explore is there any tools or any document is available in order to do the Migration from Mule into Apache camel.
please share if anything is available.
Thanks
Arun K
After a quick Internet search I suspect the answer is no. Probably their models are two different. You will need to rewrite from scratch the integrations. Note that Camel.appears to favor a Java DSL approach while Mule uses an XML DSL to configure flows.
However if you have a significant number of integrations in Camel XML DSL it might make sense to create a translator at least to get some base translation that will need to be completed manually.

Create Report with Camel

I would like to ask if there is a module for Apache Camel that I can use in order to build a report and exported afterwards to PDF.
Report will have some text and also a bar-code.
Is this something that can be done via Camel?
Thanks
Apache Camel has a PDF component and a BarCode component. PDF Component uses Apache PDFBox and the BarCode component uses ZXIng under the hood. Both are powerful libraries and may work(or not) based on how complicated your requirements are. Some level of plumbing involved as always :)

Programmatically getting Apache Camel components operations, parameters, options decriptions

Is there a way to get any Apache Camel component "metadata" using Java code, like the list of options and other parameters and their types? I think some automatic help builder was mentioned somewhere that might be of use for this task without using reflection.
A way to get the registered components of all types (including data formats and languages) with java code is also sought. Thanks
Yeah take a look at the camel-catalog JAR which includes all such details. This JAR is what the tooling uses such as some of the Maven tooling itself, or IDE plugs for IntelliJ or Eclipse etc. The JAR has both Java API and metadata files embedded in the JAR you can load.
At runtime you can also access this catalog via RuntimeCamelCatalog which you can access via CamelContext. The runtime catalog is a little bit more limited than CamelCatalog as it has a view of what actually is available at runtime in the current Camel application.
Also I cover this in my book Camel in Action 2nd edition where there is a full chapter devoted on Camel tooling and how to build custom tooling etc.
This is what I've found so far
http://camel.apache.org/componentconfiguration.html

Difference between camel-jbpm and jboss jbpm?

What is the difference between Apache camel-jbpm and jboss jbpm ?
Since Apache camel(2.16.3) is having one component as camel-jbpm.
I am confused which one I should use ? I am integrating with karaf. please suggest.
JBoss BPM (business process - a.k.a human workflow) is a project you can find and read more about here:
http://www.jbpm.org/
Apache Camel is an integration library that allows to integrate with a lot of different system. Doing so by using Camel components. One of these components is camel-jbpm that makes it possible/easier to use JBPM from Camel users.
http://camel.apache.org/jbpm
So if you have an existing BPM system and need to integrate with that from a Camel application or Java application, then using the camel-jpmn can make that (much) easier.

How can I process http responses with XSLT in Apache webserver?

I have a PHP application that I want to also publish with a different look and feel. We've chosen to do that using XSLT. That way we don't have to touch the PHP application and run risk introducing instability in the original. That's important since we're close to production.
I've looked into ways of doing XSLT processing in Apache webserver. And it seems that the only available xslt module hasn't been updated since 2005. I was hoping to use an xslt mod in a filter chain to accomplish what I want. But an unsupported module won't do.
Another option I can think of is to do the XSLT processing using a servletfilter in a java application server. It seems rather roundabout to have an http request arrive at apache webserver, be forwarded to a java application server to be forwarded back to the apache webserver to do the PHP processing, and the reverse way back for the response...
So my question is: Is there a way to do XSLT processing in apache webserver? Is there another way to do this?
Thank you in advance.
I do not know of a good way to do that in apache. You could do it with PHP using its XSL(T) module, though.

Resources