[ 
https://issues.apache.org/jira/browse/CAMEL-7553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14046595#comment-14046595
 ] 

Dhiraj Bokde commented on CAMEL-7553:
-------------------------------------

An initial version of the Box.com component has been submitted. 

This component supports 79 different endpoints for interacting with Box.com and 
exposes every single feature in the SDK in the initial version. It only 
contains 13 classes in src/main, 20 API modeling classes are generated in 
target/generated-sources. Out of the 781 lines of code in the initial version, 
421 lines are from generated-sources directory. Of the 360 lines under 
src/main/java, 194 lines are just for creating and managing Box.com 
connections, and 46 lines are just in BoxConfiguration.java. All this just 
leaves 120 lines of code for the rest of the component. 

This lean implementation is a clear demonstration of the tremendous power and 
flexibility of the API Component framework. The camel-api-component-archetype 
and the camel-api-component-maven-plugin together reduced the development work 
by several magnitudes. Development effort was focused solely on SDK connection 
lifecycle management, instead of the usual URI parameter mapping, and API 
invocation code common in Camel components. 

In addition to that, all the Integration test code was also generated as 
skeleton code, which was easily moved to src/test/java and modified to add test 
values and re-factored into integration flows to exercise every single API in 
the Box.com SDK. 

The camel-api-component-maven-plugin also generates a skeleton HTML file using 
the 'document' goal which turns documenting the component's large number of 
endpoints and configuration options into a much simpler exercise. 

> Add support for Box.com
> -----------------------
>
>                 Key: CAMEL-7553
>                 URL: https://issues.apache.org/jira/browse/CAMEL-7553
>             Project: Camel
>          Issue Type: Bug
>    Affects Versions: 2.14.0
>            Reporter: Dhiraj Bokde
>            Assignee: Dhiraj Bokde
>              Labels: camel-box
>             Fix For: 2.14.0
>
>
> Add support for Box.com REST API. Box.com is a free cloud storage, secure 
> content and online file sharing service. Box.com provides an ASLv2 licensed 
> SDK at https://github.com/box/box-java-sdk-v2/blob/master/LICENSE. 
> This SDK can be easily leveraged by the Camel API component framework to 
> create a fully functional Camel Component for Box.com. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to