Author: kozo
Date: 2009-08-10 06:55:10 -0700 (Mon, 10 Aug 2009)
New Revision: 17755

Modified:
   
csplugins/trunk/soc/kozo/layer-plugin/layer-builder-plugin/src/main/java/org/cytoscape/layer/internal/MultiLayerNetworkBuilderImpl.java
   
csplugins/trunk/soc/kozo/layer-plugin/layer-builder-plugin/src/main/java/org/cytoscape/layer/internal/ui/LayerBuilderDialog.java
Log:
changed layer connecting loop process and phase order
(refs ticket:19)
(refs ticket:21)

Modified: 
csplugins/trunk/soc/kozo/layer-plugin/layer-builder-plugin/src/main/java/org/cytoscape/layer/internal/MultiLayerNetworkBuilderImpl.java
===================================================================
--- 
csplugins/trunk/soc/kozo/layer-plugin/layer-builder-plugin/src/main/java/org/cytoscape/layer/internal/MultiLayerNetworkBuilderImpl.java
     2009-08-10 10:08:29 UTC (rev 17754)
+++ 
csplugins/trunk/soc/kozo/layer-plugin/layer-builder-plugin/src/main/java/org/cytoscape/layer/internal/MultiLayerNetworkBuilderImpl.java
     2009-08-10 13:55:10 UTC (rev 17755)
@@ -25,8 +25,8 @@
        private static final String NETWORK_TITLE = "name";
        private static final String NODE_TITLE = "name";
        private static final String EDGE_TITLE = "name";
-       private static final String LAYER_NUMBER = "layerNumber";
-       
+       private static final String LAYER_INDEX = "layer index";
+               
        private Map<String, CyDataTable> netAttrMgr;
        
        private CyNetworkManager manager;
@@ -48,32 +48,69 @@
                layeredNetwork.attrs().set(NETWORK_TITLE, "Layered Network");
 
                netAttrMgr = layeredNetwork.getCyDataTables(NODE);
-//             netAttrMgr = new HashMap<String, CyDataTable>();
-               
netAttrMgr.get(CyNetwork.DEFAULT_ATTRS).createColumn(LAYER_NUMBER, 
String.class, false);
+               
netAttrMgr.get(CyNetwork.DEFAULT_ATTRS).createColumn(LAYER_INDEX, String.class, 
false);
 
                // HashSet cumulatedNodes = new HashSet();
                Map<String, CyNode> nodeMap = new HashMap<String, CyNode>();
                Map<String, CyEdge> edgeMap = new HashMap<String, CyEdge>();
 
                // Connect layers here...
-               for (CyNetwork topLayer : layers) {
-                       for (CyNetwork bottomLayer : layers) {
-                               for (CyNetwork connector : connectors) {
-                                       connect(topLayer, bottomLayer, 
connector, nodeMap, edgeMap);
-                               }
-                       }
+                               
+               for (int i = 0; i < layers.size()-1; i++) {
+                       CyNetwork topLayer = layers.get(i);
+                       CyNetwork connector=connectors.get(i);
+                       CyNetwork bottomLayer = layers.get(i+1);
+                       
+//                     System.out.println("-----");
+//                     System.out.println("topLayerIndex, bottomLayerIndex");
+//                     System.out.println(i);
+//                     System.out.println(i+1);
+//                     System.out.println("-----");
+
+                       connect(topLayer, connector, bottomLayer, nodeMap, 
edgeMap, i, i+1);
+                       
                }
+               
+//             for (CyNetwork topLayer : layers) {
+//                     topLayerIndex = topLayerIndex + 1;
+//                     for (CyNetwork bottomLayer : layers) {
+//                             bottomLayerIndex = bottomLayerIndex + 1;
+//                             for (CyNetwork connector : connectors) {
+//                                     if (topLayerIndex != bottomLayerIndex){
+//                                             System.out.println("-----");
+//                                             
System.out.println("topLayerIndex, bottomLayerIndex");
+//                                             
System.out.println(topLayerIndex);
+//                                             
System.out.println(bottomLayerIndex);
+//                                             System.out.println("-----");
+//                                             
+//                                             connect(topLayer, bottomLayer, 
connector, nodeMap, edgeMap, topLayerIndex, bottomLayerIndex);
+//                                     }
+//                             }
+//                     }
+//             }
 
                nodeMap.clear();
                nodeMap = null;
 
                manager.addNetwork(layeredNetwork);
+               
+//             for (CyNode cyNode : layeredNetwork.getNodeList()){
+//                     
+//                     System.out.println("NODE_NAME");
+//                     System.out.println(cyNode.attrs().get(NODE_TITLE, 
String.class));
+//                     System.out.println("NODE_LAYER_INDEX");
+//                     System.out.println(cyNode.attrs().get(LAYER_INDEX, 
String.class));
+//
+//             }
+
+//             System.out.println("OK!");
+               
                return layeredNetwork;
        }
 
        private void connect(CyNetwork topLayer, CyNetwork connector,
                        CyNetwork bottomLayer, Map<String, CyNode> nodeMap,
-                       Map<String, CyEdge> edgeMap) {
+                       Map<String, CyEdge> edgeMap, int topLayerIndex, int 
bottomLayerIndex) {
                // Connect them
 
                // Map<String, CyNode> nodeMap = new HashMap<String, CyNode>();
@@ -82,14 +119,19 @@
                for (CyNode cyNode : topLayer.getNodeList()) {
 
                        String nodeName = cyNode.attrs().get(NODE_TITLE, 
String.class);
-                       String layerNumber = cyNode.attrs().get(LAYER_NUMBER, 
String.class);
-//                     System.out.println(layerNumber);
-
+                       
                        if (nodeMap.containsKey(nodeName) == false) {
                                CyNode newNode = layeredNetwork.addNode();
                                newNode.attrs().set(NODE_TITLE, nodeName);
-//                             
newNode.attrs().getDataTable().createColumn(LAYER_NUMBER, String.class, false); 
                        
-                               newNode.attrs().set(LAYER_NUMBER, layerNumber);
+
+//                             System.out.println("NODE_TITLE");
+//                             
System.out.println(newNode.attrs().get(NODE_TITLE, String.class));
+
+                               newNode.attrs().set(LAYER_INDEX, 
Integer.toString(topLayerIndex));
+
+//                             System.out.println("node top layer index");
+//                             
System.out.println(newNode.attrs().get(LAYER_INDEX, String.class));
+
                                nodeMap.put(nodeName, newNode);
                        }
                }
@@ -111,20 +153,32 @@
 
                }
 
-               // 2nd Phase: append nodes only included in connector
-               for (CyNode cyNode : connector.getNodeList()) {
+               // 2nd Phase: append nodes only included in bottom layer
+               for (CyNode cyNode : bottomLayer.getNodeList()) {
 
                        String nodeName = cyNode.attrs().get(NODE_TITLE, 
String.class);
+                       System.out.println("3rd phase bottom layer node name");
+                       System.out.println(nodeName);
                        
                        if (nodeMap.containsKey(nodeName) == false) {
                                CyNode newNode = layeredNetwork.addNode();
                                newNode.attrs().set(NODE_TITLE, nodeName);
+
+//                             System.out.println("NODE_TITLE");
+//                             System.out.println("bottom layer node name 
check");
+//                             
System.out.println(newNode.attrs().get(NODE_TITLE, String.class));
+
+                               newNode.attrs().set(LAYER_INDEX, 
Integer.toString(bottomLayerIndex));
+
+//                             System.out.println("node bottom layer index");
+//                             
System.out.println(newNode.attrs().get(LAYER_INDEX, String.class));
+                               
                                nodeMap.put(nodeName, newNode);
                        }
 
                }
 
-               for (CyEdge edge : connector.getEdgeList()) {
+               for (CyEdge edge : bottomLayer.getEdgeList()) {
 
                        String edgeName = edge.attrs().get(EDGE_TITLE, 
String.class);
                        CyNode sourceNode = edge.getSource();
@@ -140,25 +194,21 @@
                        }
 
                }
+               
+               // 3rd Phase: append nodes only included in connector
+               for (CyNode cyNode : connector.getNodeList()) {
 
-               // 3rd Phase: append nodes only included in bottom layer
-               for (CyNode cyNode : bottomLayer.getNodeList()) {
-
                        String nodeName = cyNode.attrs().get(NODE_TITLE, 
String.class);
-                       String layerNumber = cyNode.attrs().get(LAYER_NUMBER, 
String.class);
-                       System.out.println(layerNumber);
                        
                        if (nodeMap.containsKey(nodeName) == false) {
                                CyNode newNode = layeredNetwork.addNode();
                                newNode.attrs().set(NODE_TITLE, nodeName);
-//                             
newNode.attrs().getDataTable().createColumn(LAYER_NUMBER, String.class, false); 
                        
-                               newNode.attrs().set(LAYER_NUMBER, layerNumber); 
                        
                                nodeMap.put(nodeName, newNode);
                        }
 
                }
 
-               for (CyEdge edge : bottomLayer.getEdgeList()) {
+               for (CyEdge edge : connector.getEdgeList()) {
 
                        String edgeName = edge.attrs().get(EDGE_TITLE, 
String.class);
                        CyNode sourceNode = edge.getSource();

Modified: 
csplugins/trunk/soc/kozo/layer-plugin/layer-builder-plugin/src/main/java/org/cytoscape/layer/internal/ui/LayerBuilderDialog.java
===================================================================
--- 
csplugins/trunk/soc/kozo/layer-plugin/layer-builder-plugin/src/main/java/org/cytoscape/layer/internal/ui/LayerBuilderDialog.java
    2009-08-10 10:08:29 UTC (rev 17754)
+++ 
csplugins/trunk/soc/kozo/layer-plugin/layer-builder-plugin/src/main/java/org/cytoscape/layer/internal/ui/LayerBuilderDialog.java
    2009-08-10 13:55:10 UTC (rev 17755)
@@ -576,19 +576,7 @@
 
                for (int i = 0; i < layeredNetworkListModel.getSize(); i++) {
                        CyNetwork cyNetwork = manager.getNetwork((Long) 
layeredNetworkListModel.getElementAt(i));
-
-                       netAttrMgr = cyNetwork.getCyDataTables(NODE);
-                       
netAttrMgr.get(CyNetwork.DEFAULT_ATTRS).createColumn(LAYER_NUMBER, 
String.class, false);
-                       
-                       for (CyNode cyNode : cyNetwork.getNodeList()) {
-                               cyNode.attrs().set(LAYER_NUMBER, 
Integer.toString(i));
-                               
System.out.println(cyNode.attrs().get(LAYER_NUMBER, String.class));
-                               System.out.println("OK!");
-                       }
-                       
                        layers.add(cyNetwork);
-                       System.out.println("attribute append finished!");
-                       
                }
 
                for (int i = 0; i < layerConnectionTableModel.getRowCount(); 
i++) {


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