[
https://issues.apache.org/jira/browse/CAMEL-5483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13444156#comment-13444156
]
Babak Vahdat commented on CAMEL-5483:
-------------------------------------
Hi [~bibryam],
Just received your question though a JIRA mail notification... I'm definitely
the wrong guy to answer about this in detail as I'm a OSGi newbie (no OSGi-food
@ breakfast :-)) but let me try and maybe [~njiang] will correct/complement
what I say. If the dependencies of a new Camel component are already OSGi
complaint then there's no need to ask/order a bundle for it, as an example
consider concurrentlinkedhashmap dependency of camel-core itself which is
already OSGi ready (look at it's MANIFEST.MF). Otherwise we should ask for a
SMX bundle through a JIRA ticket, as an example I did it once: SMX4-1153
And concerning features.xml you asked about... Good question! I just checked
how many Camel features are out there which is currently only 121:
{code}
~/dev/workspace/camel/platforms/karaf/features/src/main/resources>grep
"<feature name='camel-" features.xml | wc
121 604 11477
{code}
But we've got more than 130 components! So what about the rest? [~njiang] am I
wrong here to expect more karaf features?
> Component for neo4j
> -------------------
>
> Key: CAMEL-5483
> URL: https://issues.apache.org/jira/browse/CAMEL-5483
> Project: Camel
> Issue Type: Improvement
> Reporter: stephen samuel
> Assignee: Willem Jiang
> Priority: Minor
> Fix For: 2.11.0
>
> Attachments: camel-neo4j.patch, remove-int-tests.patch
>
>
> I have created a component for neo4j. It is a producer only and it allows you
> to create / remove nodes and relationships.
> ------ read me ----------
> camel-neo4j
> ========
> The camel-neo4j component allows you to treat Neo4j as a camel producer
> endpoint. This means you can use this component in to() calls but not from()
> calls. This component is backed by the Spring Data Neo4j Library.
> * As a producer, can create or remove nodes, and create or remove
> relationships.
> * Can support as many endpoints as required, eg for multiple databases across
> multiple instances.
> * Headers set for node id (for created nodes), relationship id (for created
> relationships)
> How to Use
> ==========
> You can use neo4j as an endpoint with the following URI.
> `neo4j:http://hostname[:port]/database`
> Then you need to set a header on each message, one of the following enum types
> ` CREATE_NODE,
> REMOVE_NODE,
> CREATE_RELATIONSHIP,
> REMOVE_RELATIONSHIP`
> Eg,
> `exchange.getIn().setHeader(Neo4jEndpoint.HEADER_OPERATION,
> Neo4jOperation.CREATE_NODE);`
> The body of the message is used to determine the node or relationship to
> manipulate. The following body types are supported:
> For CREATE_NODE:
> * null body - create default node
> * Map body - create node with the properties set from the map
> For REMOVE_NODE:
> * Long or Integer - remove node using the body as the id
> * neo4j Node instance - remove the node specified by that instance
> For CREATE_RELATIONSHIP:
> * SpringDataRelationship - create relationship specified by any @NodeEntity
> annoted Spring entities.
> * BasicRelationship - create relationship specified by the neo4j node types
> For REMOVE_RELATIONSHIP:
> * Long or Integer - remove relationship using the body as the id
> * SpringDataRelationship - remove relationship specified by the @NodeEntity
> annoted Spring entities.
> * BasicRelationship - remove relationship specified by the neo4j node types
> Tests
> =====
> camel-neo4j has a complete set of unit tests. In addition there are some
> integration tests that require you to run a local instance of neo4j. By
> default the tests will look at localhost:7474 on
> http://localhost:7474/db/data/
> - Initial contribution by Stephen Samuel.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira