You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Hadrian Zbarcea (JIRA)" <ji...@apache.org> on 2013/03/27 19:03:17 UTC

[jira] [Commented] (CAMEL-5483) Component for neo4j

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

Hadrian Zbarcea commented on CAMEL-5483:
----------------------------------------

For more details please follow the related thread on the [dev@|http://s.apache.org/camel-5483] list and the issue opened with [legal-discuss@|https://issues.apache.org/jira/browse/LEGAL-162]

Below is the full dependency tree. We obviously have direct dependencies on neo4j, required to build the component.

{code}
[INFO] --- maven-dependency-plugin:2.6:tree (default-cli) @ camel-spring-neo4j ---
[INFO] org.apache.camel:camel-spring-neo4j:bundle:2.11-SNAPSHOT
[INFO] +- org.springframework.data:spring-data-neo4j-rest:jar:2.2.0.RELEASE:compile
[INFO] |  +- org.springframework:spring-tx:jar:3.1.4.RELEASE:compile (version managed from 3.1.4.RELEASE)
[INFO] |  |  \- aopalliance:aopalliance:jar:1.0:compile
[INFO] |  +- org.springframework:spring-context:jar:3.1.4.RELEASE:compile (version managed from 3.1.4.RELEASE)
[INFO] |  |  +- org.springframework:spring-expression:jar:3.1.4.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-asm:jar:3.1.4.RELEASE:compile
[INFO] |  +- org.springframework:spring-beans:jar:3.1.4.RELEASE:compile (version managed from 3.1.4.RELEASE)
[INFO] |  +- org.springframework:spring-aspects:jar:3.1.4.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-context-support:jar:3.1.4.RELEASE:compile (version managed from 3.1.4.RELEASE)
[INFO] |  +- org.springframework:spring-aop:jar:3.1.4.RELEASE:compile (version managed from 3.1.4.RELEASE)
[INFO] |  +- org.springframework:spring-core:jar:3.1.4.RELEASE:compile (version managed from 3.1.4.RELEASE)
[INFO] |  +- org.neo4j:neo4j-kernel:jar:1.8.1:compile
[INFO] |  |  \- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:compile (version managed from 1.1.1)
[INFO] |  +- org.springframework.data:spring-data-neo4j:jar:2.2.0.RELEASE:compile
[INFO] |  |  +- org.aspectj:aspectjrt:jar:1.7.1:compile
[INFO] |  |  \- org.springframework.data:spring-data-commons:jar:1.5.0.RELEASE:compile
[INFO] |  +- org.neo4j:neo4j-rest-graphdb:jar:1.8.1:compile
[INFO] |  |  \- org.neo4j:server-api:jar:1.8.1:compile
[INFO] |  |     +- org.neo4j.3rdparty.javax.ws.rs:jsr311-api:jar:1.1.2.r612:compile
[INFO] |  |     +- commons-configuration:commons-configuration:jar:1.6:compile
[INFO] |  |     |  +- commons-collections:commons-collections:jar:3.2.1:compile (version managed from 3.2.1)
[INFO] |  |     |  +- commons-lang:commons-lang:jar:2.4:compile
[INFO] |  |     |  +- commons-logging:commons-logging:jar:1.1.1:compile (version managed from 1.1.1)
[INFO] |  |     |  \- commons-beanutils:commons-beanutils-core:jar:1.8.0:compile
[INFO] |  |     \- commons-digester:commons-digester:jar:1.8.1:compile
[INFO] |  |        \- commons-beanutils:commons-beanutils:jar:1.8.0:compile
[INFO] |  +- org.codehaus.jackson:jackson-jaxrs:jar:1.9.7:compile
[INFO] |  |  \- org.codehaus.jackson:jackson-core-asl:jar:1.9.7:compile
[INFO] |  +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.7:compile
[INFO] |  +- com.sun.jersey:jersey-client:jar:1.4:compile
[INFO] |  |  \- com.sun.jersey:jersey-core:jar:1.4:compile
[INFO] |  +- org.neo4j:neo4j:jar:1.8.1:compile
[INFO] |  |  +- org.neo4j:neo4j-lucene-index:jar:1.8.1:compile
[INFO] |  |  |  \- org.apache.lucene:lucene-core:jar:3.5.0:compile
[INFO] |  |  +- org.neo4j:neo4j-graph-algo:jar:1.8.1:compile
[INFO] |  |  +- org.neo4j:neo4j-udc:jar:1.8.1:compile
[INFO] |  |  +- org.neo4j:neo4j-graph-matching:jar:1.8.1:compile
[INFO] |  |  \- org.neo4j:neo4j-jmx:jar:1.8.1:compile
[INFO] |  +- org.neo4j:neo4j-cypher:jar:1.8.1:compile
[INFO] |  |  +- org.scala-lang:scala-library:jar:2.9.1-1:compile
[INFO] |  |  \- com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:1.3.2:compile (version managed from 1.3.1)
[INFO] |  +- org.slf4j:slf4j-api:jar:1.6.6:compile (version managed from 1.7.1)
[INFO] |  \- org.slf4j:jcl-over-slf4j:jar:1.7.1:runtime
[INFO] +- org.apache.camel:camel-core:jar:2.11-SNAPSHOT:compile
[INFO] +- org.apache.mina:mina-core:jar:1.1.7:compile
[INFO] +- org.apache.camel:camel-test-spring:jar:2.11-SNAPSHOT:test
[INFO] |  +- org.apache.camel:camel-test:jar:2.11-SNAPSHOT:test (version managed from 2.11-SNAPSHOT)
[INFO] |  +- org.apache.camel:camel-spring:jar:2.11-SNAPSHOT:test (version managed from 2.11-SNAPSHOT)
[INFO] |  \- org.springframework:spring-test:jar:3.1.4.RELEASE:test (version managed from 3.1.4.RELEASE)
[INFO] +- junit:junit:jar:4.11:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.slf4j:slf4j-log4j12:jar:1.7.5:test
[INFO] |  \- log4j:log4j:jar:1.2.17:test (version managed from 1.2.17)
[INFO] +- org.mockito:mockito-all:jar:1.9.5:test
[INFO] \- org.apache.servicemix.specs:org.apache.servicemix.specs.jsr303-api-1.0.0:jar:2.2.0:test
{code}
                
> 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: Blocker
>             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