Author: clopes
Date: 2011-10-20 11:52:24 -0700 (Thu, 20 Oct 2011)
New Revision: 27246

Modified:
   
cytoscapeweb/trunk/cytoscapeweb/src/org/cytoscapeweb/model/converters/ExternalObjectConverter.as
   
cytoscapeweb/trunk/cytoscapeweb/src/org/cytoscapeweb/model/converters/SIFConverter.as
Log:
Fixed class cast exception when converting nodes to JS Nodes if graph was 
created from SIF.

Modified: 
cytoscapeweb/trunk/cytoscapeweb/src/org/cytoscapeweb/model/converters/ExternalObjectConverter.as
===================================================================
--- 
cytoscapeweb/trunk/cytoscapeweb/src/org/cytoscapeweb/model/converters/ExternalObjectConverter.as
    2011-10-20 18:15:29 UTC (rev 27245)
+++ 
cytoscapeweb/trunk/cytoscapeweb/src/org/cytoscapeweb/model/converters/ExternalObjectConverter.as
    2011-10-20 18:52:24 UTC (rev 27246)
@@ -301,7 +301,7 @@
         public static function toExtElement(ds:DataSprite, zoom:Number):Object 
{
             var obj:Object = null;
             var p:Point;
-            var n:CompoundNodeSprite, e:EdgeSprite;
+            var n:NodeSprite, e:EdgeSprite;
             var scale:Number;
 
             if (ds != null) {
@@ -313,8 +313,8 @@
                 obj.visible = ds.visible;
                 obj.zIndex = ds.parent != null ? ds.parent.getChildIndex(ds) : 
-1;
                 
-                if (ds is CompoundNodeSprite) {
-                    n = ds as CompoundNodeSprite;
+                if (ds is NodeSprite) {
+                    n = ds as NodeSprite;
                     
                     obj.group = Groups.NODES;
                     obj.shape = n.shape;
@@ -324,7 +324,7 @@
                     obj.color = n.props.transparent ? "transparent" : 
Utils.rgbColorAsString(n.fillColor);
                     obj.borderColor = Utils.rgbColorAsString(n.lineColor);
                     obj.borderWidth = n.lineWidth;
-                    obj.nodesCount = n.nodesCount;
+                    obj.nodesCount = n is CompoundNodeSprite ? 
CompoundNodeSprite(n).nodesCount : 0;
 //                    obj.degree = n.degree;
 //                    obj.indegree = n.inDegree;
 //                    obj.outdegree = n.outDegree;
@@ -338,7 +338,7 @@
                 } else {
                     obj.group = Groups.EDGES;
 
-                    e = EdgeSprite(ds);
+                    e = ds as EdgeSprite;
                     obj.color = Utils.rgbColorAsString(e.lineColor);
                     obj.width = ds.lineWidth;
                     obj.sourceArrowShape = e.props.sourceArrowShape;

Modified: 
cytoscapeweb/trunk/cytoscapeweb/src/org/cytoscapeweb/model/converters/SIFConverter.as
===================================================================
--- 
cytoscapeweb/trunk/cytoscapeweb/src/org/cytoscapeweb/model/converters/SIFConverter.as
       2011-10-20 18:15:29 UTC (rev 27245)
+++ 
cytoscapeweb/trunk/cytoscapeweb/src/org/cytoscapeweb/model/converters/SIFConverter.as
       2011-10-20 18:52:24 UTC (rev 27246)
@@ -43,6 +43,7 @@
     import mx.utils.StringUtil;
     
     import org.cytoscapeweb.util.DataSchemaUtils;
+    import org.cytoscapeweb.vis.data.CompoundNodeSprite;
 
     /**
      * Converts data between the Simple Interaction Format and flare DataSet 
instances.
@@ -230,10 +231,10 @@
         // ========[ PROTECTED METHODS 
]============================================================
 
         protected function createNodeData(name:String):Object {
-            var data:Object = {};
-            data[DataSchemaUtils.ID] = data[LABEL] = name;
+            var cns:CompoundNodeSprite = new CompoundNodeSprite();
+            cns.data[DataSchemaUtils.ID] = cns.data[LABEL] = name;
 
-            return data;
+            return cns;
         }
         
         protected function createEdgeData(interaction:String, source:String, 
target:String):Object {

-- 
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