neueda / jetbrains-plugin-graph-database-support

Graph Databases support for JetBrains family IDEs.
Apache License 2.0
222 stars 56 forks source link

plugin causes IDE error when returning an object #62

Closed dominicjesse closed 5 years ago

dominicjesse commented 7 years ago

Using Neo4j version 3.2.1, and this version of WebStorm:

WebStorm 2017.2.1 Build #WS-172.3544.34, built on July 31, 2017 Licensed to WebStorm Evaluator Expiration date: August 16, 2017 JRE: 1.8.0_152-release-915-b6 amd64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o Linux 4.10.0-30-generic

The below type of query was working fine before, but then caused a plugin error.

A query like this works:

MATCH (n{uuid:'AA'})-[:J1]-(s:system)-[:J2]-(a:attribute) RETURN "Array" AS className, a.type AS type, a.value AS value, a.name AS name, a.uuid AS uuid

A query like this doesn't, but works fine in the Neo4J browser:

MATCH (n{uuid:'AA'})-[:J1]-(s:system)-[:J2]-(a:attribute) RETURN { className: "Array", type: a.type, value: a.value, name: a.name, uuid: a.uuid } AS output

The first time the above runs, it throws the following error on your plugin:

null java.lang.NullPointerException at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.helpers.UiHelper.objectToTreeNode(UiHelper.java:113) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.helpers.UiHelper.keyValueToTreeNode(UiHelper.java:58) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.helpers.UiHelper.lambda$mapToTreeNode$0(UiHelper.java:138) at java.util.HashMap.forEach(HashMap.java:1288) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.helpers.UiHelper.mapToTreeNode(UiHelper.java:138) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.helpers.UiHelper.keyValueToTreeNode(UiHelper.java:47) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.console.table.ValueConverter.convert(ValueConverter.java:28) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.console.table.TablePanel$1.lambda$null$1(TablePanel.java:64) at java.util.ArrayList.forEach(ArrayList.java:1251) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.console.table.TablePanel$1.lambda$resultReceived$2(TablePanel.java:63) at java.util.ArrayList.forEach(ArrayList.java:1251) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.console.table.TablePanel$1.resultReceived(TablePanel.java:60) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:117) at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:443) at com.intellij.util.messages.impl.MessageBusImpl.pumpWaitingBuses(MessageBusImpl.java:404) at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:393) at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:381) at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:374) at com.intellij.util.messages.impl.MessageBusImpl.access$200(MessageBusImpl.java:45) at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:231) at com.sun.proxy.$Proxy94.resultReceived(Unknown Source) at com.neueda.jetbrains.plugin.graphdb.jetbrains.database.QueryExecutionService.lambda$null$0(QueryExecutionService.java:80) at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:314) at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.a(LaterInvocator.java:416) at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:399) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762) at java.awt.EventQueue.access$500(EventQueue.java:98) at java.awt.EventQueue$3.run(EventQueue.java:715) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:732) at com.intellij.ide.IdeEventQueue.g(IdeEventQueue.java:821) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:649) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Restarting WebStorm and computer has not fixed this problem….

dominicjesse commented 7 years ago

Here it is again. Are you guys still working on this pluging, or should we write it and JetBrains off as our Neo4J IDE???

null java.lang.NullPointerException at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.helpers.UiHelper.objectToTreeNode(UiHelper.java:113) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.helpers.UiHelper.keyValueToTreeNode(UiHelper.java:58) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.helpers.UiHelper.lambda$mapToTreeNode$0(UiHelper.java:138) at java.util.HashMap.forEach(HashMap.java:1288) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.helpers.UiHelper.mapToTreeNode(UiHelper.java:138) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.helpers.UiHelper.keyValueToTreeNode(UiHelper.java:47) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.helpers.UiHelper.listToTreeNode(UiHelper.java:125) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.helpers.UiHelper.keyValueToTreeNode(UiHelper.java:44) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.console.table.ValueConverter.convert(ValueConverter.java:28) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.console.table.TablePanel$1.lambda$null$1(TablePanel.java:64) at java.util.ArrayList.forEach(ArrayList.java:1251) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.console.table.TablePanel$1.lambda$resultReceived$2(TablePanel.java:63) at java.util.ArrayList.forEach(ArrayList.java:1251) at com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.console.table.TablePanel$1.resultReceived(TablePanel.java:60) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:117) at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:443) at com.intellij.util.messages.impl.MessageBusImpl.pumpWaitingBuses(MessageBusImpl.java:404) at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:393) at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:381) at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:374) at com.intellij.util.messages.impl.MessageBusImpl.access$200(MessageBusImpl.java:45) at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:231) at com.sun.proxy.$Proxy92.resultReceived(Unknown Source) at com.neueda.jetbrains.plugin.graphdb.jetbrains.database.QueryExecutionService.lambda$null$0(QueryExecutionService.java:80) at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:314) at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.a(LaterInvocator.java:416) at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:399) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762) at java.awt.EventQueue.access$500(EventQueue.java:98) at java.awt.EventQueue$3.run(EventQueue.java:715) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:732) at com.intellij.ide.IdeEventQueue.k(IdeEventQueue.java:821) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:649) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

FylmTM commented 7 years ago

Hi @dominicjesse ,

Sorry for this issue.

Unfortunately, the plugin is not actively maintained at the moment. We will take a look at an issue, as soon as it will be possible to allocate a bit of time.

Hope that it will be the beginning of September!

GreYko commented 5 years ago

We weren't able to replicate your issue on Webstorm 2018.3 with Graph Database support plugin v2.5.2. Seems like issue fix went live with plugin version 2.5.1.