From: SourceForge.net <no...@so...> - 2011-12-28 17:09:20
|
The following forum message was posted by igorkvasnicka at http://sourceforge.net/projects/jung/forums/forum/252062/topic/4909437: Hi, I am serialising/deserialising graph using GraphML support and when I want to render graph (after it was deserialised), I am getting this exception: [code]java.lang.NullPointerException at edu.uci.ics.jung.visualization.renderers.BasicEdgeRenderer.paintEdge(BasicEd geRenderer.java:51) at edu.uci.ics.jung.visualization.renderers.BasicRenderer.renderEdge(BasicRende rer.java:78) at edu.uci.ics.jung.visualization.renderers.BasicRenderer.render(BasicRenderer. java:38) at edu.uci.ics.jung.visualization.BasicVisualizationServer.renderGraph(BasicVis ualizationServer.java:367) at edu.uci.ics.jung.visualization.BasicVisualizationServer.paintComponent(Basic VisualizationServer.java:321) at javax.swing.JComponent.paint(JComponent.java:1029) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5124) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java :278) at javax.swing.RepaintManager.paint(RepaintManager.java:1225) at javax.swing.JComponent._paintImmediately(JComponent.java:5072) at javax.swing.JComponent.paintImmediately(JComponent.java:4882) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:786) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:694) at javax.swing.RepaintManager.access$700(RepaintManager.java:41) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1636) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641) at java.awt.EventQueue.access$000(EventQueue.java:84) at java.awt.EventQueue$1.run(EventQueue.java:602) at java.awt.EventQueue$1.run(EventQueue.java:600) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlCo ntext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:611) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:162 ) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java :269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:18 4) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java :174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) [catch] at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) [/code] when I do not use serialisation (I create a completely new graph), everything works fine - so serialisation is the problem... I found out, that g.getEndpoints(...) is returning null I thought that it is because edges were not deserialised, but g.getEdges() is returning correct value here is my XML file that I use to deserialisation: [code]<?xml version="1.0" encoding="UTF-8"?> <graphml xmlns="http://graphml.graphdrawing.org/xmlns/graphml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns/graphml"> <key id="vertex_name" for="node"> <default>null</default> </key> <key id="imageType" for="node"> <default>null</default> </key> <key id="y" for="node"> <default>0</default> </key> <key id="x" for="node"> <default>0</default> </key> <key id="vertex1_name" for="edge"> <default>null</default> </key> <key id="vertex2_name" for="edge"> <default>null</default> </key> <graph edgedefault="undirected"> <node id="R2"> <data key="vertex_name">R2</data> <data key="imageType">TOPOLOGY_VERTEX_ROUTER</data> <data key="y">179.0</data> <data key="x">519.0</data> </node> <node id="R1"> <data key="vertex_name">R1</data> <data key="imageType">TOPOLOGY_VERTEX_ROUTER</data> <data key="y">175.0</data> <data key="x">293.0</data> </node> <edge source="R1" target="R2"> <data key="vertex1_name">R1</data> <data key="vertex2_name">R2</data> </edge> </graph> </graphml> [/code] do you know about this issue or could you help me in any way? maybe manually create endpoints (I doubt it is possible, though) thanks a lot |