Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NoSuchMethodError: org.neo4j.rest.graphdb.RestAPI.addLabels(Lorg/neo4j/rest/graphdb/entity/RestNode;[Ljava/lang/String;) #10

Closed
lulu88 opened this issue Apr 10, 2014 · 7 comments

Comments

@lulu88
Copy link

lulu88 commented Apr 10, 2014

HI, I got this error when changing from embedded to remote in the application.conf file:

java.lang.NoSuchMethodError: org.neo4j.rest.graphdb.RestAPI.addLabels(Lorg/neo4j/rest/graphdb/entity/RestNode;[Ljava/lang/String;)V
at org.springframework.data.neo4j.rest.SpringRestGraphDatabase.createNode(SpringRestGraphDatabase.java:71)
at org.springframework.data.neo4j.support.mapping.EntityStateHandler.createNode(EntityStateHandler.java:145)
at org.springframework.data.neo4j.support.mapping.EntityStateHandler.useOrCreateState(EntityStateHandler.java:136)
at org.springframework.data.neo4j.support.mapping.Neo4jEntityConverterImpl.write(Neo4jEntityConverterImpl.java:163)
at org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister$CachedConverter.write(Neo4jEntityPersister.java:179)
at org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister.persist(Neo4jEntityPersister.java:243)
at org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister.persist(Neo4jEntityPersister.java:231)
at org.springframework.data.neo4j.support.Neo4jTemplate.save(Neo4jTemplate.java:356)
at org.springframework.data.neo4j.support.Neo4jTemplate.save(Neo4jTemplate.java:350)
at org.springframework.data.neo4j.repository.AbstractGraphRepository.save(AbstractGraphRepository.java:114)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.executeMethodOn(RepositoryFactorySupport.java:358)
at org.springframework.data.repository.core.support
.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:343)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:155)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.$Proxy72.save(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201)
at com.sun.proxy.$Proxy75.save(Unknown Source)
at neo4j.services.GalaxyService.createWorld(GalaxyService.java:83)
at neo4j.services.GalaxyService.makeSomeWorldsAndRelations(GalaxyService.java:39)
at controllers.PeopleController.index(PeopleController.java:46)
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$2$$anonfun$apply$2.apply(routes_routing.scala:85)
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$2$$anonfun$apply$2.apply(routes_routing.scala:85)
at play.core.Router$HandlerInvoker$$anon$7$$anon$2.invocation(Router.scala:183)
at play.core.Router$Routes$$anon$1.invocation(Router.scala:377)
at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:56)
at neo4jplugin.TransactionalAction$1.apply(TransactionalAction.java:20)
at neo4jplugin.TransactionalAction$1.apply(TransactionalAction.java:18)
at neo4jplugin.Neo4JPlugin.withTransaction(Neo4JPlugin.java:118)
at neo4jplugin.TransactionalAction.call(TransactionalAction.java:18)
at play.core.j.JavaAction$$anon$3.apply(JavaAction.scala:91)
at play.core.j.JavaAction$$anon$3.apply(JavaAction.scala:90)
at play.core.j.FPromiseHelper$$anonfun$flatMap$1.apply(FPromiseHelper.scala:82)
at play.core.j.FPromiseHelper$$anonfun$flatMap$1.apply(FPromiseHelper.scala:82)
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:251)
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:249)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:37)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:42)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

at com.sun.proxy.$Proxy72.save(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201)
at com.sun.proxy.$Proxy75.save(Unknown Source)
at neo4j.services.GalaxyService.createWorld(GalaxyService.java:83)
at neo4j.services.GalaxyService.makeSomeWorldsAndRelations(GalaxyService.java:39)
at controllers.PeopleController.index(PeopleController.java:46)
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$2$$anonfun$apply$2.apply(routes_routing.scala:85)
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$2$$anonfun$apply$2.apply(routes_routing.scala:85)
at play.core.Router$HandlerInvoker$$anon$7$$anon$2.invocation(Router.scala:183)
at play.core.Router$Routes$$anon$1.invocation(Router.scala:377)
at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:56)
at neo4jplugin.TransactionalAction$1.apply(TransactionalAction.java:20)
at neo4jplugin.TransactionalAction$1.apply(TransactionalAction.java:18)
at neo4jplugin.Neo4JPlugin.withTransaction(Neo4JPlugin.java:118)
at neo4jplugin.TransactionalAction.call(TransactionalAction.java:18)
at play.core.j.JavaAction$$anon$3.apply(JavaAction.scala:91)
at play.core.j.JavaAction$$anon$3.apply(JavaAction.scala:90)
at play.core.j.FPromiseHelper$$anonfun$flatMap$1.apply(FPromiseHelper.scala:82)
at play.core.j.FPromiseHelper$$anonfun$flatMap$1.apply(FPromiseHelper.scala:82)
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:251)
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:249)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:37)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:42)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
@tuxBurner
Copy link
Owner

Hi @lulu88,
i cannot reproduce this bug. Which play, play-neo4j and neo4j versions are you using ?

@lulu88
Copy link
Author

lulu88 commented Apr 11, 2014

Hi, I have play 2.2.2, neo4j 2.0.0-M06

@tuxBurner
Copy link
Owner

@lulu88 okay the problem is that you should use neo4j 2.0.1, there was a "bug" with the label strategy in 2.0.0-M06.

Can you check it out please, if it is working with 2.0.1 ?

@lulu88
Copy link
Author

lulu88 commented Apr 11, 2014

Thank you for this - I will check it out and let you know!

@lulu88
Copy link
Author

lulu88 commented Apr 15, 2014

Hi again :) I've changed the neo4j version to 2.0.1 and all is well! Thank you!

I have another question - if I had a model User with fields name, number and network and I want to run a query to get all users on the "vodacom" network and where the number starts with '082' - how could I achieve that with the userRepository?

I have used the userRepository.findAllBySchemaPropertyValue method where I send in the propertyName and then the value to search for and that works, but how do I add a 2nd constraint?

Thank you :)

@tuxBurner
Copy link
Owner

Hi @lulu88,

awesome that it is working for you right now :)

For your question i would not model the network as a property of the user. For me a network is an entity (node) which the user belongs to.
I mostly dont use those magic property name finder methods, I would write my own cypher query and use the @query method in my repository.
Take a look at http://docs.spring.io/spring-data/data-graph/snapshot-site/reference/html/#tutorial_repository chapter 8.5

@lulu88
Copy link
Author

lulu88 commented Apr 16, 2014

Thank you very much you are an absolute legend! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants