Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 337618

Summary: Semantically equivalent .dot files produce inconsistent Zest graphs
Product: [Tools] GEF Reporter: satyagraha.1956
Component: GEF-Legacy ZestAssignee: gef-inbox <gef-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: steeg
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Shows disconnected nodes
none
Shows nodes correctly connected.
none
Original build.xml file. none

Description satyagraha.1956 CLA 2011-02-18 17:19:32 EST
Build Identifier: 20100618-0524

The .dot to Zest parser seems sensitive to the input ordering of nodes and edges; according to the DOT specification there is no requirement that nodes precede edges in the input file. The two attached .dot files produce differing graphs, although semantically equivalent, show one with apparent node duplication.

This is not a purely theoretical issue, as the problem .dot file was produced by the Grand Ant visualization facility, when called as an Ant task (see http://www.ggtools.net/grand/#usage ).

Reproducible: Always

Steps to Reproduce:
View these .dot files in the Zest view: they should produce identical results.
Comment 1 satyagraha.1956 CLA 2011-02-18 17:21:24 EST
Created attachment 189331 [details]
Shows disconnected nodes
Comment 2 satyagraha.1956 CLA 2011-02-18 17:22:18 EST
Created attachment 189332 [details]
Shows nodes correctly connected.
Comment 3 satyagraha.1956 CLA 2011-02-18 17:30:04 EST
I wanted to attach the dot4zest attribute to this bug, but couldn't see how to: apologies to anyone spammed.
Comment 4 satyagraha.1956 CLA 2011-02-18 19:18:04 EST
Created attachment 189334 [details]
Original build.xml file.

For information.
Comment 5 Fabian Steeg CLA 2011-02-18 21:19:40 EST
Thanks for your report. Fixed in Zest 2.0 master and nightly p2 repository (https://hudson.eclipse.org/hudson/job/gef-zest-nightly/lastSuccessfulBuild/artifact/targetPlatform/), see TestGraphInstanceDotImport#nodesAfterEdges()