Author: rodche
Date: 2012-06-11 13:40:49 -0700 (Mon, 11 Jun 2012)
New Revision: 29527

Removed:
   
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/ExecutePhysicalEntitySearchTaskFactory.java
   
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/GetParentInteractions.java
   
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/GetParentInteractionsTaskFactory.java
   
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/LoadNetworkFromUrlTaskFactory.java
Modified:
   
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/CPath2Factory.java
   
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/cytoscape/MergeNetworkEdit.java
   
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/mapping/MapCPathToCytoscape.java
   
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/plugin/CPathPlugIn2.java
   
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/ExecuteGetRecordByCPathId.java
   
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/ExecutePhysicalEntitySearch.java
   
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/LoadNetworkFromUrlTask.java
   
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/MergeNetworkTask.java
   
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/util/AttributeUtil.java
   
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/util/NetworkUtil.java
   
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/view/SearchBoxPanel.java
Log:
Fixed bug #1100. Plus, some cleanup.

Modified: 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/CPath2Factory.java
===================================================================
--- 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/CPath2Factory.java
 2012-06-11 18:27:38 UTC (rev 29526)
+++ 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/CPath2Factory.java
 2012-06-11 20:40:49 UTC (rev 29527)
@@ -40,6 +40,7 @@
 import org.cytoscape.view.layout.CyLayoutAlgorithmManager;
 import org.cytoscape.view.model.CyNetworkViewManager;
 import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.work.Task;
 import org.cytoscape.work.TaskFactory;
 import org.cytoscape.work.TaskManager;
 import org.cytoscape.work.undo.AbstractCyEdit;
@@ -164,7 +165,7 @@
                return naming;
        }
 
-       public Thread createNetworkUtil(String cpathRequest, CyNetwork network, 
boolean merging) {
+       public Task createNetworkUtil(String cpathRequest, CyNetwork network, 
boolean merging) {
                return new NetworkUtil(cpathRequest, network, merging, this);
        }
 

Modified: 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/cytoscape/MergeNetworkEdit.java
===================================================================
--- 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/cytoscape/MergeNetworkEdit.java
    2012-06-11 18:27:38 UTC (rev 29526)
+++ 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/cytoscape/MergeNetworkEdit.java
    2012-06-11 20:40:49 UTC (rev 29527)
@@ -132,7 +132,7 @@
             // iterate through nodes and restore each one (also set proper 
position)
             for (CyNode cyNode : cyNodes.keySet()) {
                CyNode node = cyNetwork.addNode();
-               AttributeUtil.copyAttributes(cyNetwork, cyNode, node);
+               AttributeUtil.copyAttributes(cyNetwork, cyNode, cyNetwork, 
node);
                
                 Point2D.Double point = cyNodes.get(cyNode);
                 View<CyNode> nv = view.getNodeView(node);

Modified: 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/mapping/MapCPathToCytoscape.java
===================================================================
--- 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/mapping/MapCPathToCytoscape.java
   2012-06-11 18:27:38 UTC (rev 29526)
+++ 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/mapping/MapCPathToCytoscape.java
   2012-06-11 20:40:49 UTC (rev 29527)
@@ -42,6 +42,8 @@
 import org.cytoscape.cpath2.internal.util.NetworkMergeUtil;
 import org.cytoscape.cpath2.internal.view.model.NetworkWrapper;
 import org.cytoscape.cpath2.internal.web_service.CPathProperties;
+import org.cytoscape.work.Task;
+import org.cytoscape.work.TaskIterator;
 
 /**
  * This class listens for requests from cPath instance
@@ -105,16 +107,21 @@
         int downloadMode = cPathProperties.getDownloadMode();
         cPathProperties.setDownloadMode(CPathProperties.DOWNLOAD_FULL_BIOPAX);
         NetworkMergeUtil mergeUtil = factory.getNetworkMergeUtil();
+        Task task = null;
         if (mergeUtil.mergeNetworksExist()) {
             NetworkWrapper networkWrapper = 
mergeUtil.promptForNetworkToMerge();
             if (networkWrapper != null && networkWrapper.getNetwork() != null) 
{
-                factory.createNetworkUtil(cpathRequest, 
networkWrapper.getNetwork(), true).start();
+                task = factory.createNetworkUtil(cpathRequest, 
networkWrapper.getNetwork(), true);
             } else {
-                factory.createNetworkUtil(cpathRequest, null, false).start();
+                task = factory.createNetworkUtil(cpathRequest, null, false);
             }
         } else {
-            factory.createNetworkUtil(cpathRequest, null, false).start();
+            task = factory.createNetworkUtil(cpathRequest, null, false);
         }
+        
+        TaskIterator iterator = new TaskIterator(task);
+        factory.getTaskManager().execute(iterator);
+        
         cPathProperties.setDownloadMode(downloadMode);
     }
 }

Modified: 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/plugin/CPathPlugIn2.java
===================================================================
--- 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/plugin/CPathPlugIn2.java
   2012-06-11 18:27:38 UTC (rev 29526)
+++ 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/plugin/CPathPlugIn2.java
   2012-06-11 20:40:49 UTC (rev 29527)
@@ -72,10 +72,6 @@
 
         // create our http server and start its thread
         new HTTPServer(HTTPServer.DEFAULT_PORT, 
factory.createMapCPathToCytoscape(), debug).start();
-
-        //  Register Web Service
-//        // TODO: Wire this up with OSGi
-//        
WebServiceClientManager.registerClient(CytoscapeCPathWebService.getClient());
     }
 
     private void initProperties() throws IOException {

Modified: 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/ExecuteGetRecordByCPathId.java
===================================================================
--- 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/ExecuteGetRecordByCPathId.java
        2012-06-11 18:27:38 UTC (rev 29526)
+++ 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/ExecuteGetRecordByCPathId.java
        2012-06-11 20:40:49 UTC (rev 29527)
@@ -6,13 +6,13 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import javax.swing.JOptionPane;
 import javax.swing.SwingUtilities;
 
 import org.biopax.paxtools.controller.ModelUtils;
@@ -171,6 +171,9 @@
                        
cPathFactory.getCyNetworkManager().addNetwork(cyNetwork);
                        
cPathFactory.getCyNetworkViewManager().addNetworkView(view);
 
+                       // Add Links Back to cPath Instance
+                       addLinksToCPathInstance(cyNetwork);
+                       
                        // Branch, based on download mode.
                        if (format == CPathResponseFormat.BINARY_SIF) {
                                postProcessingBinarySif(view, taskMonitor);
@@ -195,10 +198,7 @@
                        // 
Cytoscape.firePropertyChange(Cytoscape.NETWORK_MODIFIED, null,
                        // ret_val);
                        // }
-
-                       // Add Links Back to cPath Instance
-                       addLinksToCPathInstance(cyNetwork);
-
+                       
                        if (taskMonitor != null) {
                                taskMonitor.setStatusMessage("Done");
                                taskMonitor.setProgress(1.0);
@@ -243,8 +243,7 @@
        /**
         * Execute Post-Processing on BINARY SIF Network.
         * 
-        * @param cyNetwork
-        *            Cytoscape Network Object.
+        * @param cyNetwork Cytoscape Network Object.
         */
        private void postProcessingBinarySif(final CyNetworkView view, 
TaskMonitor taskMonitor) {
                final CyNetwork cyNetwork = view.getModel();
@@ -262,9 +261,6 @@
                        if (mergedNetwork != null) {
                                mergeNetworks(cyNetwork, taskMonitor);
                        } else {
-                               // } else if (cyNetwork.getNodeCount() <
-                               // 
Integer.parseInt(CytoscapeInit.getProperties()
-                               // .getProperty("viewThreshold"))) {
                                if (taskMonitor != null) {
                                        taskMonitor.setStatusMessage("Creating 
Network View...");
                                        taskMonitor.setProgress(0);
@@ -283,19 +279,13 @@
                                        }
                                });
                        }
-               } else {
-                       // If we have requested a halt, and we have a network, 
destroy it.
-                       // if (cyNetwork != null) {
-                       // Cytoscape.destroyNetwork(cyNetwork);
-                       // }
                }
        }
 
        /**
         * Execute Post-Processing on BioPAX Network.
         * 
-        * @param cyNetwork
-        *            Cytoscape Network Object.
+        * @param cyNetwork Cytoscape Network Object.
         */
        private void postProcessingBioPAX(final CyNetworkView view, TaskMonitor 
taskMonitor) {
                final CyNetwork cyNetwork = view.getModel();
@@ -343,12 +333,12 @@
        }
 
        private void mergeNetworks(CyNetwork cyNetwork, TaskMonitor 
taskMonitor) {
-               // TODO: Do we need to clone nodes/edges when merging?
                taskMonitor.setStatusMessage("Merging Network...");
                Map<String, CyNode> nodes = new HashMap<String, CyNode>();
                for (CyNode node : cyNetwork.getNodeList()) {
-                       CyNode newNode = mergedNetwork.addNode();
-                       AttributeUtil.copyAttributes(mergedNetwork, node, 
newNode);
+                       CyNode newNode;
+                       newNode = mergedNetwork.addNode();
+                       AttributeUtil.copyAttributes(cyNetwork, node, 
mergedNetwork, newNode);
                        String name = 
cyNetwork.getRow(node).get(CyNetwork.NAME, String.class);
                        nodes.put(name, newNode);
                }
@@ -359,15 +349,17 @@
                        CyNode source = nodes.get(sourceName);
                        CyNode target = nodes.get(targetName);
                        CyEdge newEdge = mergedNetwork.addEdge(source, target, 
true);
-                       AttributeUtil.copyAttributes(mergedNetwork, edge, 
newEdge);
+                       AttributeUtil.copyAttributes(cyNetwork, edge, 
mergedNetwork, newEdge);
                        edges.add(newEdge);
                }
 
-               // // Select this view
-               // final CyNetworkView networkView =
-               // viewManager.getNetworkView((mergedNetwork.getSUID());
-               // Cytoscape.setCurrentNetwork(mergedNetwork.getIdentifier());
-               // 
Cytoscape.setCurrentNetworkView(mergedNetwork.getIdentifier());
+               // Select this view
+               Collection<CyNetworkView> networkViews =
+                                
cPathFactory.getCyNetworkViewManager().getNetworkViews(mergedNetwork);
+               if(!networkViews.isEmpty()) {
+                       
cPathFactory.getCyApplicationManager().setCurrentNetwork(mergedNetwork);
+                       
cPathFactory.getCyApplicationManager().setCurrentNetworkView(networkViews.iterator().next());
+               }
 
                // Select only the new nodes
                SelectUtil.unselectAllNodes(mergedNetwork);
@@ -376,14 +368,14 @@
                SelectUtil.setSelectedEdgeState(mergedNetwork,edges, true);
 
                // Delete the temp network.
-               // Cytoscape.destroyNetwork(cyNetwork);
+               cPathFactory.getCyNetworkManager().destroyNetwork(cyNetwork);
 
                // Apply Layout
-               Object[] options = { "Yes", "No" };
-               int n = 
JOptionPane.showOptionDialog(cPathFactory.getCySwingApplication().getJFrame(),
-                               "Would you like to layout the modified 
network?", "Adjust Layout?", JOptionPane.YES_NO_CANCEL_OPTION,
-                               JOptionPane.QUESTION_MESSAGE, null, options, 
options[0]);
-               if (n == 0) {
+//             Object[] options = { "Yes", "No" };
+//             int n = 
JOptionPane.showOptionDialog(cPathFactory.getCySwingApplication().getJFrame(),
+//                             "Would you like to layout the modified 
network?", "Adjust Layout?", JOptionPane.YES_NO_CANCEL_OPTION,
+//                             JOptionPane.QUESTION_MESSAGE, null, options, 
options[0]);
+//             if (n == 0) {
                        // SwingUtilities.invokeLater(new Runnable() {
                        // public void run() {
                        // LayoutUtil layoutAlgorithm = new LayoutUtil();
@@ -391,7 +383,7 @@
                        // networkView.fitContent();
                        // }
                        // });
-               }
+//             }
        }
 
        /**

Modified: 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/ExecutePhysicalEntitySearch.java
===================================================================
--- 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/ExecutePhysicalEntitySearch.java
      2012-06-11 18:27:38 UTC (rev 29526)
+++ 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/ExecutePhysicalEntitySearch.java
      2012-06-11 20:40:49 UTC (rev 29527)
@@ -4,7 +4,6 @@
 
 import 
org.cytoscape.cpath2.internal.schemas.search_response.ExtendedRecordType;
 import 
org.cytoscape.cpath2.internal.schemas.search_response.SearchResponseType;
-import 
org.cytoscape.cpath2.internal.task.ExecutePhysicalEntitySearchTaskFactory.ResultHandler;
 import org.cytoscape.cpath2.internal.web_service.CPathException;
 import org.cytoscape.cpath2.internal.web_service.CPathProperties;
 import org.cytoscape.cpath2.internal.web_service.CPathWebService;
@@ -18,7 +17,12 @@
  * @author Ethan Cerami.
  */
 public class ExecutePhysicalEntitySearch implements Task {
-    private CPathWebService webApi;
+       
+       public static interface ResultHandler {
+               void finished(int matchesFound) throws Exception;
+       }
+       
+       private CPathWebService webApi;
     private String keyword;
     private int ncbiTaxonomyId;
        private ResultHandler result;

Deleted: 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/ExecutePhysicalEntitySearchTaskFactory.java
===================================================================
--- 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/ExecutePhysicalEntitySearchTaskFactory.java
   2012-06-11 18:27:38 UTC (rev 29526)
+++ 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/ExecutePhysicalEntitySearchTaskFactory.java
   2012-06-11 20:40:49 UTC (rev 29527)
@@ -1,30 +0,0 @@
-package org.cytoscape.cpath2.internal.task;
-
-import org.cytoscape.cpath2.internal.web_service.CPathWebService;
-import org.cytoscape.work.AbstractTaskFactory;
-import org.cytoscape.work.TaskIterator;
-
-public class ExecutePhysicalEntitySearchTaskFactory extends 
AbstractTaskFactory {
-       private final CPathWebService webApi;
-       private final String keyword;
-       private final int ncbiTaxonomyId;
-       private ExecutePhysicalEntitySearch task;
-       private ResultHandler result;
-
-       public ExecutePhysicalEntitySearchTaskFactory(CPathWebService webApi, 
String keyword, int ncbiTaxonomyId, ResultHandler result) {
-               this.webApi = webApi;
-               this.keyword = keyword;
-               this.ncbiTaxonomyId = ncbiTaxonomyId;
-               this.result = result;
-       }
-
-       @Override
-       public TaskIterator createTaskIterator() {
-               task = new ExecutePhysicalEntitySearch(webApi, keyword, 
ncbiTaxonomyId, result);
-               return new TaskIterator(task);
-       }
-
-       public interface ResultHandler {
-               void finished(int matchesFound) throws Exception;
-       }
-}

Deleted: 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/GetParentInteractions.java
===================================================================
--- 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/GetParentInteractions.java
    2012-06-11 18:27:38 UTC (rev 29526)
+++ 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/GetParentInteractions.java
    2012-06-11 20:40:49 UTC (rev 29527)
@@ -1,82 +0,0 @@
-package org.cytoscape.cpath2.internal.task;
-
-import javax.swing.JDialog;
-
-import org.cytoscape.application.swing.CySwingApplication;
-import org.cytoscape.cpath2.internal.CPath2Factory;
-import 
org.cytoscape.cpath2.internal.schemas.summary_response.SummaryResponseType;
-import org.cytoscape.cpath2.internal.view.InteractionBundlePanel;
-import org.cytoscape.cpath2.internal.view.model.InteractionBundleModel;
-import org.cytoscape.cpath2.internal.view.model.RecordList;
-import org.cytoscape.cpath2.internal.web_service.CPathException;
-import org.cytoscape.cpath2.internal.web_service.CPathWebService;
-import org.cytoscape.cpath2.internal.web_service.CPathWebServiceImpl;
-import org.cytoscape.cpath2.internal.web_service.EmptySetException;
-import org.cytoscape.model.CyNetwork;
-import org.cytoscape.model.CyNode;
-import org.cytoscape.work.Task;
-import org.cytoscape.work.TaskMonitor;
-
-// TODO seems, in practice, this class is never called!
-public class GetParentInteractions implements Task {
-    private long cpathId;
-    private CPathWebService webApi = CPathWebServiceImpl.getInstance();
-    private InteractionBundleModel interactionBundleModel;
-       private final CyNetwork network;
-    private final CyNode node;
-       private final CPath2Factory factory;
-
-    public GetParentInteractions (CyNetwork network, CyNode node, 
CPath2Factory factory) {
-       // TODO: Debug, investigate this cPath1 (Pathway Commons, BioPAX Level2 
webservice specific code...)
-        String cpathId = network.getRow(node).get(CyNetwork.NAME, 
String.class); // TODO actually, - must be from "shared name" virtual attr. 
column
-//        this.cpathId = node.getSUID();
-        this.cpathId = Integer.parseInt(cpathId); //well, well
-        this.node = node;
-        this.network = network;
-        this.factory = factory;
-    }
-
-    @Override
-    public void cancel() {
-        webApi.abort();
-    }
-    
-    public void run(TaskMonitor taskMonitor) throws Exception {
-       taskMonitor.setTitle("Getting neighbors...");
-        try {
-            taskMonitor.setStatusMessage("Retrieving neighborhood summary.");
-            SummaryResponseType response = webApi.getParentSummaries(cpathId, 
taskMonitor);
-            RecordList recordList = new RecordList(response);
-            interactionBundleModel = new InteractionBundleModel();
-            interactionBundleModel.setRecordList(recordList);
-            interactionBundleModel.setPhysicalEntityName("Network 
Neighborhood");
-
-            CySwingApplication application = factory.getCySwingApplication();
-            JDialog dialog = new JDialog(application.getJFrame());
-
-            String nodeLabel = network.getRow(node).get(CyNetwork.NAME, 
String.class);
-            if (nodeLabel != null) {
-                dialog.setTitle(nodeLabel);
-            } else {
-                dialog.setTitle("Neighborhood");
-            }
-            InteractionBundlePanel interactionBundlePanel = 
factory.createInteractionBundlePanel(interactionBundleModel, network, dialog);
-            dialog.getContentPane().add(interactionBundlePanel);
-            interactionBundleModel.setRecordList(recordList);
-            interactionBundlePanel.expandAllNodes();
-            dialog.pack();
-            dialog.setLocationRelativeTo(application.getJFrame());
-            dialog.setVisible(true);
-        } catch (CPathException e) {
-            if (e.getErrorCode() != CPathException.ERROR_CANCELED_BY_USER) {
-               throw e;
-            }
-        } catch (EmptySetException e) {
-               throw new Exception("No neighbors found for selected node.", e);
-        }
-    }
-    
-    public InteractionBundleModel getInteractionBundle() {
-        return this.interactionBundleModel;
-    }
-}

Deleted: 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/GetParentInteractionsTaskFactory.java
===================================================================
--- 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/GetParentInteractionsTaskFactory.java
 2012-06-11 18:27:38 UTC (rev 29526)
+++ 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/GetParentInteractionsTaskFactory.java
 2012-06-11 20:40:49 UTC (rev 29527)
@@ -1,25 +0,0 @@
-package org.cytoscape.cpath2.internal.task;
-
-import org.cytoscape.cpath2.internal.CPath2Factory;
-import org.cytoscape.model.CyNetwork;
-import org.cytoscape.model.CyNode;
-import org.cytoscape.task.AbstractNodeViewTaskFactory;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.View;
-import org.cytoscape.work.TaskIterator;
-
-// TODO: Wire this in OSGi; this class is never called... (remove?)
-public class GetParentInteractionsTaskFactory extends 
AbstractNodeViewTaskFactory {
-       private final CPath2Factory factory;
-
-       public GetParentInteractionsTaskFactory(CPath2Factory factory) {
-               this.factory = factory;
-       }
-       
-       @Override
-       public TaskIterator createTaskIterator(View<CyNode> nodeView, 
CyNetworkView netView) {
-               CyNetwork network = netView.getModel();
-               CyNode node = nodeView.getModel();
-               return new TaskIterator(new GetParentInteractions(network, 
node, factory));
-       }       
-}

Modified: 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/LoadNetworkFromUrlTask.java
===================================================================
--- 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/LoadNetworkFromUrlTask.java
   2012-06-11 18:27:38 UTC (rev 29526)
+++ 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/LoadNetworkFromUrlTask.java
   2012-06-11 20:40:49 UTC (rev 29527)
@@ -58,6 +58,8 @@
  * Task to load a new network from a URL.
  *
  * Modified version of the original LoadNetworkTask from cytoscape code.
+ * 
+ * TODO 
  */
 public class LoadNetworkFromUrlTask implements Task {
        private final URL url;

Deleted: 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/LoadNetworkFromUrlTaskFactory.java
===================================================================
--- 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/LoadNetworkFromUrlTaskFactory.java
    2012-06-11 18:27:38 UTC (rev 29526)
+++ 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/LoadNetworkFromUrlTaskFactory.java
    2012-06-11 20:40:49 UTC (rev 29527)
@@ -1,24 +0,0 @@
-package org.cytoscape.cpath2.internal.task;
-
-import java.net.URL;
-
-import org.cytoscape.cpath2.internal.CPath2Factory;
-import org.cytoscape.work.AbstractTaskFactory;
-import org.cytoscape.work.TaskIterator;
-
-public class LoadNetworkFromUrlTaskFactory extends AbstractTaskFactory {
-
-       private URL url;
-       private CPath2Factory factory;
-
-       public LoadNetworkFromUrlTaskFactory(URL url, CPath2Factory factory) {
-               this.url = url;
-               this.factory = factory;
-       }
-       
-       @Override
-       public TaskIterator createTaskIterator() {
-               return new TaskIterator(new LoadNetworkFromUrlTask(url, 
factory));
-       }
-
-}

Modified: 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/MergeNetworkTask.java
===================================================================
--- 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/MergeNetworkTask.java
 2012-06-11 18:27:38 UTC (rev 29526)
+++ 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/task/MergeNetworkTask.java
 2012-06-11 20:40:49 UTC (rev 29527)
@@ -92,9 +92,7 @@
     public void cancel() {
     }
     
-    /**
-     * Our implementation of Task.run().
-     */
+
     @Override
     public void run(TaskMonitor taskMonitor) throws Exception {
         // read the network from cpath instance
@@ -117,10 +115,10 @@
         Set<CyEdge> newEdges = new HashSet<CyEdge>();
 
         // add new nodes and edges to existing network
-        // tbd: worry about networks that exceed # node/edge threshold
+        // TODO tbd: worry about networks that exceed # node/edge threshold
         for (CyNode node : network.getNodeList()) {
             CyNode mergedNode = mergedNetwork.addNode();
-            AttributeUtil.copyAttributes(mergedNetwork, node, mergedNode);
+            AttributeUtil.copyAttributes(network, node, mergedNetwork, 
mergedNode);
             String name = network.getRow(mergedNode).get(CyNetwork.NAME, 
String.class);
             newNodes.put(name, mergedNode);
         }
@@ -130,7 +128,7 @@
                CyNode source = newNodes.get(sourceName);
                CyNode target = newNodes.get(targetName);
             CyEdge mergedEdge = mergedNetwork.addEdge(source, target, true);
-            AttributeUtil.copyAttributes(mergedNetwork, edge, mergedEdge);
+            AttributeUtil.copyAttributes(network, edge, mergedNetwork, 
mergedEdge);
             newEdges.add(mergedEdge);
         }
 

Modified: 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/util/AttributeUtil.java
===================================================================
--- 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/util/AttributeUtil.java
    2012-06-11 18:27:38 UTC (rev 29526)
+++ 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/util/AttributeUtil.java
    2012-06-11 20:40:49 UTC (rev 29527)
@@ -12,37 +12,46 @@
 public class AttributeUtil {
        
        public static void set(CyNetwork network, CyIdentifiable entry, String 
name, Object value, Class<?> type) {
-               set(network, entry, null, name, value, type);
+               set(network, entry, CyNetwork.DEFAULT_ATTRS, name, value, type);
        }
 
-       public static void copyAttributes(CyNetwork network, CyIdentifiable 
source, CyIdentifiable target) {
-               CyRow sourceRow = network.getRow(source);
+       public static void copyAttributes(CyNetwork srcNetwork, CyIdentifiable 
source, CyNetwork tgtNetwork, CyIdentifiable target) {
+               CyRow sourceRow = srcNetwork.getRow(source);
                for (Entry<String, Object> entry : 
sourceRow.getAllValues().entrySet()) {
                        String key = entry.getKey();
                        Object value = entry.getValue();
                        CyColumn column = sourceRow.getTable().getColumn(key);
-                       Class<?> type;
-                       if (value instanceof List) {
-                               type = column.getListElementType();
-                       } else {
-                               type = column.getType();
+                       if (!column.getVirtualColumnInfo().isVirtual()) { 
//skip virtual cols
+                               Class<?> type;
+                               if (value instanceof List) {
+                                       type = column.getListElementType();
+                               } else {
+                                       type = column.getType();
+                               }
+
+                               set(tgtNetwork, target, key, value, type);
                        }
-                       set(network, target, key, value, type);
                }
        }
        
        
        public static void set(CyNetwork network, CyIdentifiable entry, String 
tableName, String name, Object value, Class<?> type) {
-               CyRow row = (tableName==null) ? network.getRow(entry) : 
network.getRow(entry,tableName);
+               CyRow row = network.getRow(entry, tableName);
                CyTable table = row.getTable();
                CyColumn column = table.getColumn(name);
-               if (column == null) {
-                       if (value instanceof List) {
-                               table.createListColumn(name, type, false);
-                       } else { 
-                               table.createColumn(name, type, false);
+               
+               if(column != null && column.getVirtualColumnInfo().isVirtual())
+                       return; //skip TODO ?
+               
+               if (value != null) {
+                       if (column == null) {
+                               if (value instanceof List) {
+                                       table.createListColumn(name, type, 
false);
+                               } else {
+                                       table.createColumn(name, type, false);
+                               }
                        }
+                       row.set(name, value);
                }
-               row.set(name, value);
        }
 }

Modified: 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/util/NetworkUtil.java
===================================================================
--- 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/util/NetworkUtil.java
      2012-06-11 18:27:38 UTC (rev 29526)
+++ 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/util/NetworkUtil.java
      2012-06-11 20:40:49 UTC (rev 29527)
@@ -38,17 +38,20 @@
 import java.util.Collection;
 
 import org.cytoscape.cpath2.internal.CPath2Factory;
-import org.cytoscape.cpath2.internal.task.LoadNetworkFromUrlTaskFactory;
+import org.cytoscape.cpath2.internal.task.LoadNetworkFromUrlTask;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.work.Task;
 import org.cytoscape.work.TaskFactory;
+import org.cytoscape.work.TaskIterator;
+import org.cytoscape.work.TaskMonitor;
 
 /**
  * This is a network utilities class.
  *
- * @author Benjamin Gross.
+ * @author Benjamin Gross; refactored by rodche
  */
-public class NetworkUtil extends Thread {
+public class NetworkUtil implements Task {
 
     /**
      * Stores web services url
@@ -113,8 +116,8 @@
     /**
      * Our implementation of run.
      */
-    public void run() {
-
+    @Override
+    public void run(TaskMonitor taskMonitor) throws Exception {
         try {
             URL cpathURL = new URL(cPathRequest);
 
@@ -131,8 +134,8 @@
                 if (networkTitle != null && networkTitle.length() > 0) {
                     System.setProperty("biopax.network_view_title", 
networkTitle);
                 }
-                LoadNetworkFromUrlTaskFactory taskFactory = new 
LoadNetworkFromUrlTaskFactory(cpathURL, factory);
-                
factory.getTaskManager().execute(taskFactory.createTaskIterator());
+                TaskIterator iterator = new TaskIterator(new 
LoadNetworkFromUrlTask(cpathURL, factory));
+                factory.getTaskManager().execute(iterator);
                 
postProcess(factory.getCyApplicationManager().getCurrentNetwork(), false);
             }
         }
@@ -196,26 +199,9 @@
                 cpathRequest.substring(0, indexOfArg) +
                         cpathRequest.substring(endIndexOfValue);
 
-        // outta here
         return value;
     }
 
-// TODO: Port this?
-//    /**
-//     * Method to setup cytoscape task
-//     */
-//    private JTaskConfig setupTask() {
-//
-//        // configure JTask Dialog Pop-Up Box
-//        JTaskConfig jTaskConfig = new JTaskConfig();
-//        jTaskConfig.setOwner(Cytoscape.getDesktop());
-//        jTaskConfig.displayStatus(true);
-//        jTaskConfig.setAutoDispose(true);
-//
-//        // outta here
-//        return jTaskConfig;
-//    }
-
     /**
      * Method for any post processing of recently loaded network.
      *
@@ -254,4 +240,9 @@
         // set focus current
         factory.getCyApplicationManager().setCurrentNetworkView(view);
        }
+
+    
+       @Override
+       public void cancel() {
+       }
 }

Modified: 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/view/SearchBoxPanel.java
===================================================================
--- 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/view/SearchBoxPanel.java
   2012-06-11 18:27:38 UTC (rev 29526)
+++ 
core3/impl/trunk/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/view/SearchBoxPanel.java
   2012-06-11 20:40:49 UTC (rev 29527)
@@ -29,11 +29,12 @@
 import javax.swing.event.HyperlinkListener;
 
 import org.cytoscape.cpath2.internal.CPath2Factory;
-import 
org.cytoscape.cpath2.internal.task.ExecutePhysicalEntitySearchTaskFactory;
-import 
org.cytoscape.cpath2.internal.task.ExecutePhysicalEntitySearchTaskFactory.ResultHandler;
+import org.cytoscape.cpath2.internal.task.ExecutePhysicalEntitySearch;
+import 
org.cytoscape.cpath2.internal.task.ExecutePhysicalEntitySearch.ResultHandler;
 import org.cytoscape.cpath2.internal.view.model.Organism;
 import org.cytoscape.cpath2.internal.web_service.CPathProperties;
 import org.cytoscape.cpath2.internal.web_service.CPathWebService;
+import org.cytoscape.work.TaskIterator;
 
 /**
  * Search Box Panel.
@@ -203,9 +204,9 @@
                     }
                        }
                };
-            ExecutePhysicalEntitySearchTaskFactory search = new 
ExecutePhysicalEntitySearchTaskFactory
-                    (webApi, keyword.trim(), ncbiTaxonomyId, handler);
-            factory.getTaskManager().execute(search.createTaskIterator());
+            
+               TaskIterator iterator = new TaskIterator(new 
ExecutePhysicalEntitySearch(webApi, keyword.trim(), ncbiTaxonomyId, handler));
+            factory.getTaskManager().execute(iterator);
         }
     }
 

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