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

Willem Jiang commented on CAMEL-5483:
-------------------------------------

@Stephen, you can add an entry in the [component 
page|http://camel.apache.org/components.html] and take this 
[page|http://camel.apache.org/cmis.html] as an example.
                
> 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: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to