That doesn't fix it, unfortunately. :( (My entities are in db.domain)
But, I have made some progress. I can get it to work if I explicitly create
the entity from the persister:
result.columnAs('b').collect { def n ->
neo4jTemplate.infrastructure.getEntityPersister().createEntityFromStoredType(n,
neo4jTemplate)
}
That's bizarre.
Joe
On Saturday, February 28, 2015 at 12:40:35 AM UTC, Michael Hunger wrote:
>
> this should point to your domain package, something like this
>
> neo4j.'config'( 'graphDatabaseService':
> "graphDatabaseService", 'base-package': *"db.entities.neo4j"* )
>
> Am 27.02.2015 um 18:12 schrieb Dr Josef Karthauser <
> [email protected] <javascript:>>:
>
> On 27 Feb 2015, at 14:04, Dr Josef Karthauser <[email protected]
> <javascript:>> wrote:
>
> Hi there,
>
> Could someone please explain why I’m getting null pointer exceptions?
>
> I’m using spring data neo4j and trying to marshal a node using
> createEntityFromStoredType. In my tests it works, but in the production
> code it fails with a null pointer… not at all sure why - very confusing!
>
> def result = ee.execute(“match (b) return b)
> result.columnAs('b').collect { def n ->
> neo4jTemplate.createEntityFromStoredType(n, null)
> }
>
> In my test code it returns a list of nodes correctly mapped, but in my
> production code I’m getting:
>
> [Assertion failed] - this argument is required; it must not be null.
> Stacktrace follows:
> Message: [Assertion failed] - this argument is required; it must not be
> null
> Line | Method
> ->> 30 | doCall in
> db.repositories.SearchGraphService$_getLocatedObjectsOfType_closure2
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> | 23 | getLocatedObjectsOfType in
> db.repositories.SearchGraphService$$EP5V0ixU
>
>
>
> It definitely looks like a mapping policy issue… not sure why. When I
> inject a mapping strategy in by hand it works just fine, ie.:
>
> def policy = neo4jTemplate.getMappingPolicy(MyDomainClass)
> neo4jTemplate.createEntityFromStoredType(n, policy)
>
> The issue is that I’m obtaining objects of many different classes and the
> whole point of passing in a ‘null’ in the policy field is for the mapping
> to be done automatically for me.
>
> As I said, that is working just fine in my test classes, but there’s
> something weird about the wiring in my app which is preventing it from
> working properly.
>
> The wiring is:
>
> graphDatabaseFactory(GraphDatabaseFactory)
> graphDatabaseService(GraphDatabaseService, "/tmp/test.db") {
> bean ->
> bean.factoryBean = "graphDatabaseFactory"
> bean.factoryMethod = "newEmbeddedDatabase"
> bean.destroyMethod = "shutdown"
> }
> xmlns neo4j:"http://www.springframework.org/schema/data/neo4j"
> neo4j.'repositories'( 'graphDatabaseService':
> "graphDatabaseService", 'base-package': "db.repositories.neo4j" )
> neo4j.'config'( 'graphDatabaseService':
> "graphDatabaseService", 'base-package': "db" )
> ee(ExecutionEngine, graphDatabaseService)
> neo4jTemplate(Neo4jTemplate, graphDatabaseService)
>
> /me still scratching my head.
>
> Thanks,
> Joe
>
> --
> You received this message because you are subscribed to the Google Groups
> "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>
>
>
--
You received this message because you are subscribed to the Google Groups
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.