Author: jm
Date: 2012-02-14 12:50:53 -0800 (Tue, 14 Feb 2012)
New Revision: 28268

Removed:
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/task/BioMartTaskFactory.java
Modified:
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/api/webservice-api/src/main/java/org/cytoscape/io/webservice/WebServiceClient.java
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/web_service/CytoscapeCPathWebService.java
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/BiomartClient.java
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/task/ImportAttributeListTaskFactory.java
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/task/ImportFilterTaskFactory.java
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/task/ShowBiomartGUIAction.java
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/ui/BiomartAttrMappingPanel.java
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-impl/src/main/java/org/cytoscape/webservice/internal/task/WebServiceEdgeContextMenuTaskFactory.java
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-impl/src/main/java/org/cytoscape/webservice/internal/task/WebServiceNodeContextMenuTaskFactory.java
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-impl/src/main/java/org/cytoscape/webservice/internal/ui/UnifiedNetworkImportDialog.java
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-ncbi-client-impl/src/main/java/org/cytoscape/webservice/ncbi/NCBITableImportClient.java
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-ncbi-client-impl/src/main/java/org/cytoscape/webservice/ncbi/NCBIWebServiceClient.java
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-ncbi-client-impl/src/main/java/org/cytoscape/webservice/ncbi/ui/NCBIGenePanel.java
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-psicquic-client-impl/src/main/java/org/cytoscape/webservice/psicquic/PSICQUICWebServiceClient.java
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-psicquic-client-impl/src/main/java/org/cytoscape/webservice/psicquic/task/ImportNetworkFromPSICQUICTask.java
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-psicquic-client-impl/src/main/java/org/cytoscape/webservice/psicquic/ui/PSICQUICSearchUI.java
   
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-psicquic-client-impl/src/main/java/org/cytoscape/webservice/psicquic/ui/SourceStatusPanel.java
Log:
Refactored web services

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/api/webservice-api/src/main/java/org/cytoscape/io/webservice/WebServiceClient.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/api/webservice-api/src/main/java/org/cytoscape/io/webservice/WebServiceClient.java
     2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/api/webservice-api/src/main/java/org/cytoscape/io/webservice/WebServiceClient.java
     2012-02-14 20:50:53 UTC (rev 28268)
@@ -34,6 +34,7 @@
  */
 package org.cytoscape.io.webservice;
 
+import java.awt.Container;
 import java.net.URI;
 
 import org.cytoscape.work.TaskFactory;

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/web_service/CytoscapeCPathWebService.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/web_service/CytoscapeCPathWebService.java
 2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/cpath2-impl/src/main/java/org/cytoscape/cpath2/internal/web_service/CytoscapeCPathWebService.java
 2012-02-14 20:50:53 UTC (rev 28268)
@@ -86,7 +86,7 @@
     
     @Override
     public WebServiceClientContext createTaskContext() {
-       WebServiceClientContextImpl context = new WebServiceClientContextImpl();
+       WebServiceClientContext context = super.createTaskContext();
        context.setQueryBuilderGUI(mainPanel);
        return context;
     }
@@ -128,6 +128,5 @@
         desc = desc.replaceAll("</span>", "</B>");
         return "<html><body>" + desc + "</body></html>";
        }
-
 }
 

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/BiomartClient.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/BiomartClient.java
       2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/BiomartClient.java
       2012-02-14 20:50:53 UTC (rev 28268)
@@ -36,6 +36,7 @@
 import org.cytoscape.application.CyApplicationManager;
 import org.cytoscape.application.swing.CySwingApplication;
 import org.cytoscape.io.webservice.TableImportWebServiceClient;
+import org.cytoscape.io.webservice.WebServiceClientContext;
 import org.cytoscape.io.webservice.biomart.rest.BiomartRestClient;
 import org.cytoscape.io.webservice.biomart.task.ImportTableTask;
 import org.cytoscape.io.webservice.biomart.ui.BiomartAttrMappingPanel;
@@ -46,6 +47,7 @@
 import org.cytoscape.model.CyTableManager;
 import org.cytoscape.model.subnetwork.CyRootNetworkManager;
 import org.cytoscape.work.TaskIterator;
+import org.osgi.framework.ServiceException;
 
 
 /**
@@ -55,13 +57,13 @@
 public class BiomartClient extends AbstractWebServiceClient implements 
TableImportWebServiceClient {
        private final CyTableFactory tableFactory;
        private final BiomartRestClient restClient;
-       private BiomartAttrMappingPanel gui;
        private ImportTableTask importTask;
        private final CyNetworkManager networkManager;
        private final CyApplicationManager applicationManager;
        private final CySwingApplication app;
        private final CyTableManager tableManager;
        private final CyRootNetworkManager cyRootNetworkFactory;
+       private BiomartAttrMappingPanel gui;
 
        /**
         * Creates a new Biomart Client object.
@@ -89,10 +91,6 @@
                // TODO: set optional parameters (Tunables?)
        }
 
-       public void setGUI(final BiomartAttrMappingPanel gui) {
-               this.gui = gui;
-       }
-
        public BiomartRestClient getRestClient() {
                return this.restClient;
        }
@@ -107,12 +105,20 @@
        }
 
        @Override
-       public TaskIterator createTaskIterator() {
+       public WebServiceClientContext createTaskContext() {
+               WebServiceClientContext context = super.createTaskContext();
+               context.setQueryBuilderGUI(gui);
+               return context;
+       }
+       
+       @Override
+       public TaskIterator createTaskIterator(WebServiceClientContext context) 
{
+               BiomartAttrMappingPanel gui = (BiomartAttrMappingPanel) 
context.getQueryBuilderGUI();
                if (gui == null)
                        throw new IllegalStateException(
                                        "Could not build query because Query 
Builder GUI is null.");
 
-               final BiomartQuery query = this.gui.getTableImportQuery();
+               final BiomartQuery query = gui.getTableImportQuery();
 
                importTask = new ImportTableTask(restClient, query, 
tableFactory, networkManager,
                                                 applicationManager, 
app.getJFrame(), tableManager,
@@ -120,4 +126,9 @@
 
                return new TaskIterator(importTask);
        }
+
+       // TODO: This still needs refactoring
+       public void setGUI(BiomartAttrMappingPanel gui) {
+               this.gui = gui;
+       }
 }

Deleted: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/task/BioMartTaskFactory.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/task/BioMartTaskFactory.java
     2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/task/BioMartTaskFactory.java
     2012-02-14 20:50:53 UTC (rev 28268)
@@ -1,23 +0,0 @@
-package org.cytoscape.io.webservice.biomart.task;
-
-import org.cytoscape.work.Task;
-import org.cytoscape.work.TaskFactory;
-import org.cytoscape.work.TaskIterator;
-
-public class BioMartTaskFactory implements TaskFactory{
-
-       private TaskIterator itr;
-       
-       public BioMartTaskFactory(final Task firstTask) {
-               if(firstTask == null)
-                       throw new NullPointerException("First task is null.");
-               
-               this.itr = new TaskIterator(firstTask);
-       }
-       
-       @Override
-       public TaskIterator createTaskIterator() {
-               return itr;
-       }
-
-}

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/task/ImportAttributeListTaskFactory.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/task/ImportAttributeListTaskFactory.java
 2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/task/ImportAttributeListTaskFactory.java
 2012-02-14 20:50:53 UTC (rev 28268)
@@ -1,20 +1,22 @@
 package org.cytoscape.io.webservice.biomart.task;
 
 import org.cytoscape.io.webservice.biomart.rest.BiomartRestClient;
-import org.cytoscape.work.TaskFactory;
+import org.cytoscape.work.AbstractTaskFactory;
 import org.cytoscape.work.TaskIterator;
 
-public class ImportAttributeListTaskFactory implements TaskFactory {
+public class ImportAttributeListTaskFactory extends AbstractTaskFactory {
        
-       final ImportAttributeListTask task;
+       private String datasourceName;
+       private BiomartRestClient client;
 
        public ImportAttributeListTaskFactory(final String datasourceName, 
final BiomartRestClient client) {
-               task = new ImportAttributeListTask(datasourceName, client);
+               this.datasourceName = datasourceName;
+               this.client = client;
        }
 
        @Override
-       public TaskIterator createTaskIterator() {
-               return new TaskIterator(task);
+       public TaskIterator createTaskIterator(Object context) {
+               return new TaskIterator(new 
ImportAttributeListTask(datasourceName, client));
        }
 
 }

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/task/ImportFilterTaskFactory.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/task/ImportFilterTaskFactory.java
        2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/task/ImportFilterTaskFactory.java
        2012-02-14 20:50:53 UTC (rev 28268)
@@ -1,33 +1,21 @@
 package org.cytoscape.io.webservice.biomart.task;
 
 import org.cytoscape.io.webservice.biomart.rest.BiomartRestClient;
-import org.cytoscape.work.Task;
-import org.cytoscape.work.TaskFactory;
+import org.cytoscape.work.AbstractTaskFactory;
 import org.cytoscape.work.TaskIterator;
 
-public class ImportFilterTaskFactory implements TaskFactory {
+public class ImportFilterTaskFactory extends AbstractTaskFactory {
 
        private final BiomartRestClient client;
        private final String datasourceName;
-       
-       private Task task;
 
        public ImportFilterTaskFactory(final String datasourceName, final 
BiomartRestClient client) {
                this.client = client;
                this.datasourceName = datasourceName;
-               task = null;
        }
 
        @Override
-       public TaskIterator createTaskIterator() {
-               if(task == null)
-                       return new TaskIterator(new 
ImportFilterTask(datasourceName, client));
-               else
-                       return new TaskIterator(task);
+       public TaskIterator createTaskIterator(Object context) {
+               return new TaskIterator(new ImportFilterTask(datasourceName, 
client));
        }
-       
-       public void setTask(Task task) {
-               this.task = task;
-       }
-
 }

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/task/ShowBiomartGUIAction.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/task/ShowBiomartGUIAction.java
   2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/task/ShowBiomartGUIAction.java
   2012-02-14 20:50:53 UTC (rev 28268)
@@ -10,6 +10,9 @@
 import org.cytoscape.io.webservice.biomart.BiomartClient;
 import org.cytoscape.io.webservice.biomart.ui.BiomartAttrMappingPanel;
 import org.cytoscape.model.CyNetwork;
+import org.cytoscape.work.AbstractTaskFactory;
+import org.cytoscape.work.TaskFactory;
+import org.cytoscape.work.TaskIterator;
 import org.cytoscape.work.TaskManager;
 import org.cytoscape.work.swing.DialogTaskManager;
 import org.slf4j.Logger;
@@ -69,11 +72,13 @@
        
        
        private void initDialog() {
-               
-               final BioMartTaskFactory tf = new BioMartTaskFactory(firstTask);
-               tf.createTaskIterator().insertTasksAfter(firstTask, 
showDialogTask);
-
+               final TaskFactory<Object> tf = new AbstractTaskFactory() {
+                       @Override
+                       public TaskIterator createTaskIterator(Object context) {
+                               return new TaskIterator(firstTask, 
showDialogTask);
+                       }
+               };
                taskManager.setExecutionContext(app.getJFrame());
-               taskManager.execute(tf);
+               taskManager.execute(tf, tf.createTaskContext());
        }
 }

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/ui/BiomartAttrMappingPanel.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/ui/BiomartAttrMappingPanel.java
  2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-biomart-client-impl/src/main/java/org/cytoscape/io/webservice/biomart/ui/BiomartAttrMappingPanel.java
  2012-02-14 20:50:53 UTC (rev 28268)
@@ -53,7 +53,6 @@
 import org.cytoscape.io.webservice.biomart.rest.Dataset;
 import org.cytoscape.io.webservice.biomart.rest.Filter;
 import org.cytoscape.io.webservice.biomart.rest.XMLQueryBuilder;
-import org.cytoscape.io.webservice.biomart.task.BioMartTaskFactory;
 import org.cytoscape.io.webservice.biomart.task.ImportAttributeListTask;
 import org.cytoscape.io.webservice.biomart.task.ImportFilterTask;
 import org.cytoscape.io.webservice.biomart.task.LoadRepositoryResult;
@@ -65,7 +64,9 @@
 import org.cytoscape.model.CyTable;
 import org.cytoscape.model.CyTableManager;
 import org.cytoscape.work.AbstractTask;
-import org.cytoscape.work.TaskManager;
+import org.cytoscape.work.AbstractTaskFactory;
+import org.cytoscape.work.TaskFactory;
+import org.cytoscape.work.TaskIterator;
 import org.cytoscape.work.TaskMonitor;
 import org.cytoscape.work.swing.DialogTaskManager;
 
@@ -200,19 +201,27 @@
                taskManager.setExecutionContext(parent);
 
                if (type.equals(SourceType.ATTRIBUTE)) {
-                       final ImportAttributeListTask firstTask = new 
ImportAttributeListTask(
-                                       datasourceName, client.getRestClient());
-                       final SetAttributeTask setAttrTask = new 
SetAttributeTask(firstTask);
-                       final BioMartTaskFactory tf = new 
BioMartTaskFactory(firstTask);
-                       tf.createTaskIterator().insertTasksAfter(firstTask, 
setAttrTask);
-                       taskManager.execute(tf);
+                       TaskFactory<Object> tf = new AbstractTaskFactory() {
+                               @Override
+                               public TaskIterator createTaskIterator(Object 
context) {
+                                       final ImportAttributeListTask firstTask 
= new ImportAttributeListTask(
+                                                       datasourceName, 
client.getRestClient());
+                                       final SetAttributeTask setAttrTask = 
new SetAttributeTask(firstTask);
+                                       return new TaskIterator(firstTask, 
setAttrTask);
+                               }
+                       };
+                       taskManager.execute(tf, tf.createTaskContext());
                } else if (type.equals(SourceType.FILTER)) {
-                       final ImportFilterTask firstTask = new ImportFilterTask(
-                                       datasourceName, client.getRestClient());
-                       final SetFilterTask setFilterTask = new 
SetFilterTask(firstTask);
-                       final BioMartTaskFactory tf = new 
BioMartTaskFactory(firstTask);
-                       tf.createTaskIterator().insertTasksAfter(firstTask, 
setFilterTask);
-                       taskManager.execute(tf);
+                       TaskFactory<Object> tf = new AbstractTaskFactory() {
+                               @Override
+                               public TaskIterator createTaskIterator(Object 
context) {
+                                       final ImportFilterTask firstTask = new 
ImportFilterTask(
+                                                       datasourceName, 
client.getRestClient());
+                                       final SetFilterTask setFilterTask = new 
SetFilterTask(firstTask);
+                                       return new TaskIterator(firstTask, 
setFilterTask);
+                               }
+                       };
+                       taskManager.execute(tf, tf.createTaskContext());
                }
        }
 
@@ -323,7 +332,7 @@
        @Override
        protected void importAttributes() {
                //taskManager.setParent(parent);
-               taskManager.execute(client);
+               taskManager.execute(client, client.createTaskContext());
        }
 
        public BiomartQuery getTableImportQuery() {

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-impl/src/main/java/org/cytoscape/webservice/internal/task/WebServiceEdgeContextMenuTaskFactory.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-impl/src/main/java/org/cytoscape/webservice/internal/task/WebServiceEdgeContextMenuTaskFactory.java
    2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-impl/src/main/java/org/cytoscape/webservice/internal/task/WebServiceEdgeContextMenuTaskFactory.java
    2012-02-14 20:50:53 UTC (rev 28268)
@@ -2,6 +2,7 @@
 
 import org.cytoscape.model.CyEdge;
 import org.cytoscape.task.AbstractEdgeViewTaskFactory;
+import org.cytoscape.task.EdgeViewTaskContext;
 import org.cytoscape.work.TaskIterator;
 
 public class WebServiceEdgeContextMenuTaskFactory extends 
AbstractEdgeViewTaskFactory {
@@ -11,8 +12,8 @@
        }
 
        @Override
-       public TaskIterator createTaskIterator() {
-               return new TaskIterator(new 
WebServiceContextMenuTask<CyEdge>(edgeView));
+       public TaskIterator createTaskIterator(EdgeViewTaskContext context) {
+               return new TaskIterator(new 
WebServiceContextMenuTask<CyEdge>(context.getEdgeView()));
        }
 
 }

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-impl/src/main/java/org/cytoscape/webservice/internal/task/WebServiceNodeContextMenuTaskFactory.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-impl/src/main/java/org/cytoscape/webservice/internal/task/WebServiceNodeContextMenuTaskFactory.java
    2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-impl/src/main/java/org/cytoscape/webservice/internal/task/WebServiceNodeContextMenuTaskFactory.java
    2012-02-14 20:50:53 UTC (rev 28268)
@@ -2,6 +2,7 @@
 
 import org.cytoscape.model.CyNode;
 import org.cytoscape.task.AbstractNodeViewTaskFactory;
+import org.cytoscape.task.NodeViewTaskContext;
 import org.cytoscape.work.TaskIterator;
 
 public class WebServiceNodeContextMenuTaskFactory extends 
AbstractNodeViewTaskFactory {
@@ -11,8 +12,8 @@
        }
 
        @Override
-       public TaskIterator createTaskIterator() {
-               return new TaskIterator(new 
WebServiceContextMenuTask<CyNode>(nodeView));
+       public TaskIterator createTaskIterator(NodeViewTaskContext context) {
+               return new TaskIterator(new 
WebServiceContextMenuTask<CyNode>(context.getNodeView()));
        }
 
 }

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-impl/src/main/java/org/cytoscape/webservice/internal/ui/UnifiedNetworkImportDialog.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-impl/src/main/java/org/cytoscape/webservice/internal/ui/UnifiedNetworkImportDialog.java
        2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-impl/src/main/java/org/cytoscape/webservice/internal/ui/UnifiedNetworkImportDialog.java
        2012-02-14 20:50:53 UTC (rev 28268)
@@ -54,9 +54,10 @@
 import javax.swing.LayoutStyle;
 
 import org.cytoscape.io.webservice.NetworkImportWebServiceClient;
-import org.cytoscape.io.webservice.SearchWebServiceClient;
 import org.cytoscape.io.webservice.WebServiceClient;
+import org.cytoscape.io.webservice.WebServiceClientContext;
 import org.cytoscape.work.AbstractTask;
+import org.cytoscape.work.AbstractTaskFactory;
 import org.cytoscape.work.TaskFactory;
 import org.cytoscape.work.TaskIterator;
 import org.cytoscape.work.TaskManager;
@@ -134,7 +135,8 @@
                
                if (client instanceof WebServiceClient) {
                        WebServiceClient service = (WebServiceClient) client;
-                       Container container = service.getQueryBuilderGUI();
+                       WebServiceClientContext context = 
service.createTaskContext();
+                       Container container = context.getQueryBuilderGUI();
                        if (container != null) {
                                serviceUIPanels.put(client, container);
                        }
@@ -440,8 +442,9 @@
                }
                
                // Set query.  Just pass the text in the panel.
-               client.setQuery(this.queryTextPane.getText());
-               taskManager.execute(client);
+               WebServiceClientContext context = client.createTaskContext();
+               context.setQuery(this.queryTextPane.getText());
+               taskManager.execute(client, context);
                
        }
 
@@ -460,7 +463,7 @@
                //AboutDialog.showDialog(clientName, icon, description);
        }
        
-       private final class ImportNetworkTaskFactory implements TaskFactory {
+       private final class ImportNetworkTaskFactory extends 
AbstractTaskFactory {
 
                private final TaskFactory tFactory;
                
@@ -469,9 +472,9 @@
                }
                
                @Override
-               public TaskIterator createTaskIterator() {
+               public TaskIterator createTaskIterator(Object context) {
                        final TaskIterator itr = new TaskIterator();
-                       itr.insertTasksAfter(new RegisterNetworkTask(), 
tFactory.createTaskIterator().next());
+                       itr.insertTasksAfter(new RegisterNetworkTask(), 
tFactory.createTaskIterator(tFactory.createTaskContext()).next());
                        return itr;
                }
                

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-ncbi-client-impl/src/main/java/org/cytoscape/webservice/ncbi/NCBITableImportClient.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-ncbi-client-impl/src/main/java/org/cytoscape/webservice/ncbi/NCBITableImportClient.java
        2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-ncbi-client-impl/src/main/java/org/cytoscape/webservice/ncbi/NCBITableImportClient.java
        2012-02-14 20:50:53 UTC (rev 28268)
@@ -1,16 +1,18 @@
 package org.cytoscape.webservice.ncbi;
 
 
+import java.awt.Container;
 import java.util.Set;
 
-import org.cytoscape.model.subnetwork.CyRootNetworkManager;
 import org.cytoscape.application.CyApplicationManager;
 import org.cytoscape.io.webservice.TableImportWebServiceClient;
+import org.cytoscape.io.webservice.WebServiceClientContext;
 import org.cytoscape.io.webservice.client.AbstractWebServiceClient;
 import org.cytoscape.model.CyNetworkManager;
 import org.cytoscape.model.CyTable;
 import org.cytoscape.model.CyTableFactory;
 import org.cytoscape.model.CyTableManager;
+import org.cytoscape.model.subnetwork.CyRootNetworkManager;
 import org.cytoscape.webservice.ncbi.task.ImportTableFromNCBITask;
 import org.cytoscape.work.TaskIterator;
 
@@ -40,10 +42,10 @@
        }
 
        @Override
-       public TaskIterator createTaskIterator() {
+       public TaskIterator createTaskIterator(WebServiceClientContext context) 
{
                return new TaskIterator(
-                       new ImportTableFromNCBITask(tableFactory, ((NCBIQuery) 
this.currentQuery).getIds(),
-                                                   ((NCBIQuery) 
this.currentQuery).getCategory(),
+                       new ImportTableFromNCBITask(tableFactory, ((NCBIQuery) 
context.getQuery()).getIds(),
+                                                   ((NCBIQuery) 
context.getQuery()).getCategory(),
                                                    networkManager, 
applicationManager, tableManager,
                                                                                
cyRootNetworkFactory));
        }

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-ncbi-client-impl/src/main/java/org/cytoscape/webservice/ncbi/NCBIWebServiceClient.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-ncbi-client-impl/src/main/java/org/cytoscape/webservice/ncbi/NCBIWebServiceClient.java
 2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-ncbi-client-impl/src/main/java/org/cytoscape/webservice/ncbi/NCBIWebServiceClient.java
 2012-02-14 20:50:53 UTC (rev 28268)
@@ -1,11 +1,13 @@
 package org.cytoscape.webservice.ncbi;
 
 
+import java.awt.Container;
 import java.util.HashSet;
 import java.util.Set;
 
 import org.cytoscape.io.webservice.NetworkImportWebServiceClient;
 import org.cytoscape.io.webservice.SearchWebServiceClient;
+import org.cytoscape.io.webservice.WebServiceClientContext;
 import org.cytoscape.io.webservice.client.AbstractWebServiceClient;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNetworkFactory;
@@ -40,11 +42,11 @@
        }
 
        @Override
-       public TaskIterator createTaskIterator() {
-               if (currentQuery == null)
+       public TaskIterator createTaskIterator(WebServiceClientContext context) 
{
+               if (context.getQuery() == null)
                        throw new NullPointerException("Query object is null.");
                else {
-                       networkTask = new 
ImportNetworkFromGeneTask(this.currentQuery.toString(),
+                       networkTask = new 
ImportNetworkFromGeneTask(context.getQuery().toString(),
                                                                    
networkFactory, tableFactory,
                                                                    manager, 
tableManager);
                        return new TaskIterator(networkTask);

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-ncbi-client-impl/src/main/java/org/cytoscape/webservice/ncbi/ui/NCBIGenePanel.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-ncbi-client-impl/src/main/java/org/cytoscape/webservice/ncbi/ui/NCBIGenePanel.java
     2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-ncbi-client-impl/src/main/java/org/cytoscape/webservice/ncbi/ui/NCBIGenePanel.java
     2012-02-14 20:50:53 UTC (rev 28268)
@@ -44,6 +44,7 @@
 import javax.swing.Icon;
 import javax.swing.ImageIcon;
 
+import org.cytoscape.io.webservice.WebServiceClientContext;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNetworkManager;
 import org.cytoscape.model.CyNode;
@@ -112,8 +113,9 @@
        @Override
        protected void importAttributes() {
                logger.debug("Import start.");
-               client.setQuery(new NCBIQuery(getCategory(), createIDSet()));
-               taskManager.execute(client);
+               WebServiceClientContext context = client.createTaskContext();
+               context.setQuery(new NCBIQuery(getCategory(), createIDSet()));
+               taskManager.execute(client, context);
        }
        
        private Set<AnnotationCategory> getCategory() {

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-psicquic-client-impl/src/main/java/org/cytoscape/webservice/psicquic/PSICQUICWebServiceClient.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-psicquic-client-impl/src/main/java/org/cytoscape/webservice/psicquic/PSICQUICWebServiceClient.java
     2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-psicquic-client-impl/src/main/java/org/cytoscape/webservice/psicquic/PSICQUICWebServiceClient.java
     2012-02-14 20:50:53 UTC (rev 28268)
@@ -1,6 +1,5 @@
 package org.cytoscape.webservice.psicquic;
 
-import java.awt.Container;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -16,6 +15,7 @@
 
 import org.cytoscape.io.webservice.NetworkImportWebServiceClient;
 import org.cytoscape.io.webservice.SearchWebServiceClient;
+import org.cytoscape.io.webservice.WebServiceClientContext;
 import org.cytoscape.io.webservice.client.AbstractWebServiceClient;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNetworkFactory;
@@ -104,7 +104,16 @@
                logger.info("RegistryManager initialized in " + sec + " sec.");
        }
 
-       public TaskIterator createTaskIterator() {
+       @Override
+       public WebServiceClientContext createTaskContext() {
+               WebServiceClientContext context = super.createTaskContext();
+               context.setQueryBuilderGUI(new PSICQUICSearchUI(networkManager, 
regManager, client, tManager, createViewTaskFactory, openBrowser));
+               return context;
+       }
+       
+       public TaskIterator createTaskIterator(WebServiceClientContext context) 
{
+               Object currentQuery = context.getQuery();
+               
                if (regManager == null)
                        throw new NullPointerException("RegistryManager is 
null");
 
@@ -141,9 +150,4 @@
                        return new RegistryManager();
                }
        }
-
-       @Override
-       public Container getQueryBuilderGUI() {
-               return new PSICQUICSearchUI(networkManager, regManager, client, 
tManager, createViewTaskFactory, openBrowser);
-       }
 }

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-psicquic-client-impl/src/main/java/org/cytoscape/webservice/psicquic/task/ImportNetworkFromPSICQUICTask.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-psicquic-client-impl/src/main/java/org/cytoscape/webservice/psicquic/task/ImportNetworkFromPSICQUICTask.java
   2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-psicquic-client-impl/src/main/java/org/cytoscape/webservice/psicquic/task/ImportNetworkFromPSICQUICTask.java
   2012-02-14 20:50:53 UTC (rev 28268)
@@ -12,14 +12,13 @@
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNetworkManager;
 import org.cytoscape.model.CyTableEntry;
+import org.cytoscape.task.NetworkTaskContext;
 import org.cytoscape.task.NetworkTaskFactory;
 import org.cytoscape.webservice.psicquic.PSICQUICRestClient;
 import org.cytoscape.webservice.psicquic.PSICQUICRestClient.SearchMode;
 import org.cytoscape.webservice.psicquic.RegistryManager;
 import org.cytoscape.work.AbstractTask;
-import org.cytoscape.work.TaskFactory;
 import org.cytoscape.work.TaskMonitor;
-import org.omg.CORBA.PRIVATE_MEMBER;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -31,7 +30,7 @@
        private final RegistryManager registryManager;
        
        // TaskFactory for creating view
-       private final NetworkTaskFactory createViewTaskFactory;
+       private final NetworkTaskFactory<NetworkTaskContext> 
createViewTaskFactory;
 
        private String query;
 
@@ -47,7 +46,7 @@
        private volatile boolean canceled = false;
        
        public ImportNetworkFromPSICQUICTask(final String query, final 
PSICQUICRestClient client, final CyNetworkManager manager,
-                       final RegistryManager registryManager, final 
Set<String> searchResult, final SearchMode mode, final NetworkTaskFactory 
createViewTaskFactory) {
+                       final RegistryManager registryManager, final 
Set<String> searchResult, final SearchMode mode, final 
NetworkTaskFactory<NetworkTaskContext> createViewTaskFactory) {
                this.client = client;
                this.manager = manager;
                this.registryManager = registryManager;
@@ -118,8 +117,9 @@
                        if (retValue == JOptionPane.YES_OPTION) {
                                // Create View
                                for (final CyNetwork network : networks) {
-                                       
createViewTaskFactory.setNetwork(network);
-                                       
insertTasksAfterCurrentTask(createViewTaskFactory.createTaskIterator());
+                                       NetworkTaskContext context = 
createViewTaskFactory.createTaskContext();
+                                       context.setNetwork(network);
+                                       
insertTasksAfterCurrentTask(createViewTaskFactory.createTaskIterator(context));
                                }
                        }
                }

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-psicquic-client-impl/src/main/java/org/cytoscape/webservice/psicquic/ui/PSICQUICSearchUI.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-psicquic-client-impl/src/main/java/org/cytoscape/webservice/psicquic/ui/PSICQUICSearchUI.java
  2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-psicquic-client-impl/src/main/java/org/cytoscape/webservice/psicquic/ui/PSICQUICSearchUI.java
  2012-02-14 20:50:53 UTC (rev 28268)
@@ -34,6 +34,7 @@
 import org.cytoscape.webservice.psicquic.task.SearchRecoredsTask;
 import org.cytoscape.webservice.psicquic.ui.SelectorBuilder.Species;
 import org.cytoscape.work.AbstractTask;
+import org.cytoscape.work.AbstractTaskFactory;
 import org.cytoscape.work.TaskFactory;
 import org.cytoscape.work.TaskIterator;
 import org.cytoscape.work.TaskManager;
@@ -247,12 +248,13 @@
                searchTask.setQuery(query);
                searchTask.setTargets(activeSource.values());
 
-               taskManager.execute(new TaskFactory() {
+               TaskFactory<?> factory = new AbstractTaskFactory() {
                        @Override
-                       public TaskIterator createTaskIterator() {
+                       public TaskIterator createTaskIterator(Object context) {
                                return new TaskIterator(searchTask, new 
SetTableTask(searchTask));
                        }
-               });
+               };
+               taskManager.execute(factory, factory.createTaskContext());
        }
 
        private final class SetTableTask extends AbstractTask {

Modified: 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-psicquic-client-impl/src/main/java/org/cytoscape/webservice/psicquic/ui/SourceStatusPanel.java
===================================================================
--- 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-psicquic-client-impl/src/main/java/org/cytoscape/webservice/psicquic/ui/SourceStatusPanel.java
 2012-02-14 20:13:46 UTC (rev 28267)
+++ 
csplugins/trunk/toronto/jm/cy3-stateless-taskfactory/impl/webservice-psicquic-client-impl/src/main/java/org/cytoscape/webservice/psicquic/ui/SourceStatusPanel.java
 2012-02-14 20:50:53 UTC (rev 28268)
@@ -25,7 +25,7 @@
 import org.cytoscape.webservice.psicquic.PSICQUICRestClient.SearchMode;
 import org.cytoscape.webservice.psicquic.RegistryManager;
 import org.cytoscape.webservice.psicquic.task.ImportNetworkFromPSICQUICTask;
-import org.cytoscape.work.TaskFactory;
+import org.cytoscape.work.AbstractTaskFactory;
 import org.cytoscape.work.TaskIterator;
 import org.cytoscape.work.TaskManager;
 
@@ -288,12 +288,13 @@
                final ImportNetworkFromPSICQUICTask networkTask = new 
ImportNetworkFromPSICQUICTask(query, client,
                                networkManager, manager, sourceURLs, mode, 
createViewTaskFactory);
 
-               taskManager.execute(new TaskFactory() {
+               AbstractTaskFactory factory = new AbstractTaskFactory() {
                        @Override
-                       public TaskIterator createTaskIterator() {
+                       public TaskIterator createTaskIterator(Object context) {
                                return new TaskIterator(networkTask);
                        }
-               });
+               };
+               taskManager.execute(factory, factory.createTaskContext());
                
                Window parentWindow = ((Window) getRootPane().getParent());
                parentWindow.pack();

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