Author: clopes
Date: 2011-12-09 13:07:22 -0800 (Fri, 09 Dec 2011)
New Revision: 27755

Modified:
   
cytoscapeweb/trunk/cytoscapeweb/src/org/cytoscapeweb/model/converters/GraphMLConverter.as
   
cytoscapeweb/trunk/cytoscapeweb/src/org/cytoscapeweb/model/converters/XGMMLConverter.as
Log:
Fixed #2613: Repeated 'parent' DataFields when drawing network from GraphML

Modified: 
cytoscapeweb/trunk/cytoscapeweb/src/org/cytoscapeweb/model/converters/GraphMLConverter.as
===================================================================
--- 
cytoscapeweb/trunk/cytoscapeweb/src/org/cytoscapeweb/model/converters/GraphMLConverter.as
   2011-12-09 19:59:50 UTC (rev 27754)
+++ 
cytoscapeweb/trunk/cytoscapeweb/src/org/cytoscapeweb/model/converters/GraphMLConverter.as
   2011-12-09 21:07:22 UTC (rev 27755)
@@ -43,6 +43,7 @@
     
     import org.cytoscapeweb.model.data.GraphicsDataTable;
     import org.cytoscapeweb.util.DataSchemaUtils;
+    import org.cytoscapeweb.util.Groups;
     import org.cytoscapeweb.util.Utils;
     import org.cytoscapeweb.util.methods.$each;
     import org.cytoscapeweb.vis.data.CompoundNodeSprite;
@@ -208,9 +209,9 @@
                     }
                 }
                 
-                if (group === NODE || group === ALL)
+                if ( (group === NODE || group === ALL) && 
nodeSchema.getFieldById(id) == null )
                     nodeSchema.addField(new DataField(attrName, type, def, 
id));
-                if (group === EDGE || group === ALL)
+                if ( (group === EDGE || group === ALL) && 
edgeSchema.getFieldById(id) == null )
                     edgeSchema.addField(new DataField(attrName, type, def, 
id));
             }
             
@@ -341,6 +342,7 @@
             for (var i:int = 0; i < schema.numFields; ++i) {
                 field = schema.getFieldAt(i);
                 if (attrs.hasOwnProperty(field.name)) continue;
+                if (group === Groups.NODES && field.name === 
DataSchemaUtils.PARENT) continue;
                 
                 var key:XML = new XML(<key/>);
                 key.@[ID] = field.id;
@@ -392,6 +394,8 @@
                 var x:XML = new XML("<"+tag+"/>");
                 
                 for (var name:String in tuple) {
+                       if (tag === NODE && name === DataSchemaUtils.PARENT) 
continue;
+                       
                     var value:* = tuple[name];
                     var field:DataField = schema.getFieldByName(name);
                     if (field != null && value == field.defaultValue) continue;

Modified: 
cytoscapeweb/trunk/cytoscapeweb/src/org/cytoscapeweb/model/converters/XGMMLConverter.as
===================================================================
--- 
cytoscapeweb/trunk/cytoscapeweb/src/org/cytoscapeweb/model/converters/XGMMLConverter.as
     2011-12-09 19:59:50 UTC (rev 27754)
+++ 
cytoscapeweb/trunk/cytoscapeweb/src/org/cytoscapeweb/model/converters/XGMMLConverter.as
     2011-12-09 21:07:22 UTC (rev 27755)
@@ -651,7 +651,7 @@
                         name !== WEIGHT) { // Cytoscape won't parse regular 
weight attributes...
                         // add as attribute
                         x.@[name] = toString(data[name], field.type);
-                    } else {
+                    } else if (! (tagName === NODE && name === 
DataSchemaUtils.PARENT) ) {
                         if (data[name] != null) {
                             addAtt(x, name, schema, data[name]);
                         }

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to