Author: mes
Date: 2010-12-07 17:22:30 -0800 (Tue, 07 Dec 2010)
New Revision: 23127

Modified:
   core3/core-task-impl/trunk/pom.xml
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/NewEmptyNetworkTask.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/NewEmptyNetworkTaskFactory.java
   
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
added support for callable NewEmptyNetworkViewFactory

Modified: core3/core-task-impl/trunk/pom.xml
===================================================================
--- core3/core-task-impl/trunk/pom.xml  2010-12-08 01:21:34 UTC (rev 23126)
+++ core3/core-task-impl/trunk/pom.xml  2010-12-08 01:22:30 UTC (rev 23127)
@@ -92,6 +92,11 @@
        <dependencies>
                <dependency>
                        <groupId>org.cytoscape</groupId>
+                       <artifactId>work-api</artifactId>
+                       <version>3.0.0-alpha2-SNAPSHOT</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.cytoscape</groupId>
                        <artifactId>session-api</artifactId>
                        <version>3.0.0-alpha1</version>
                </dependency>

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/NewEmptyNetworkTask.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/NewEmptyNetworkTask.java
      2010-12-08 01:21:34 UTC (rev 23126)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/NewEmptyNetworkTask.java
      2010-12-08 01:22:30 UTC (rev 23127)
@@ -33,33 +33,47 @@
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNetworkFactory;
 import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.model.CyTableEntry;
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.view.model.CyNetworkViewManager;
 import org.cytoscape.view.model.CyNetworkViewFactory;
 import org.cytoscape.work.TaskMonitor;
+import org.cytoscape.work.ValuedTask;
+import org.cytoscape.session.CyNetworkNaming;
 
 
 /**
  * Create an empty network with view.
  *
  */
-public class NewEmptyNetworkTask extends AbstractCreationTask {
+public class NewEmptyNetworkTask implements ValuedTask<CyNetworkView> {
+
        private final CyNetworkFactory cnf;
        private final CyNetworkViewFactory cnvf;
+       private final CyNetworkNaming namingUtil; 
+       private final CyNetworkManager networkManager;
+       private final CyNetworkViewManager networkViewManager;
+       private boolean cancel = false;
 
        public NewEmptyNetworkTask(CyNetworkFactory cnf, CyNetworkViewFactory 
cnvf, CyNetworkManager netmgr,
-                                  final CyNetworkViewManager 
networkViewManager) {
-               super(null, netmgr, networkViewManager);
+                                  final CyNetworkViewManager 
networkViewManager, final CyNetworkNaming namingUtil) {
+               this.networkManager = netmgr;
+               this.networkViewManager = networkViewManager;
                this.cnf = cnf;
                this.cnvf = cnvf;
+               this.namingUtil = namingUtil;
        }
 
-       
-       public void run(TaskMonitor tm) {
+       public CyNetworkView run(TaskMonitor tm) {
                final CyNetwork newNet = cnf.getInstance();
-               newNet.getCyRow().set("name","Network");
+               
newNet.getCyRow().set(CyTableEntry.NAME,namingUtil.getSuggestedNetworkTitle("Network"));
                final CyNetworkView view = cnvf.getNetworkView(newNet);         
                networkManager.addNetwork(newNet);
                networkViewManager.addNetworkView(view);
+               return view;
        }
+
+       public void cancel() {
+               cancel = true;
+       }
 }

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/NewEmptyNetworkTaskFactory.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/NewEmptyNetworkTaskFactory.java
       2010-12-08 01:21:34 UTC (rev 23126)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/creation/NewEmptyNetworkTaskFactory.java
       2010-12-08 01:22:30 UTC (rev 23127)
@@ -29,31 +29,51 @@
  */
 package org.cytoscape.task.internal.creation;  
 
-
 import org.cytoscape.model.CyNetworkManager;
 import org.cytoscape.work.TaskFactory;
 import org.cytoscape.work.TaskIterator;
+import org.cytoscape.work.TaskManager;
+import org.cytoscape.work.ValuedTaskExecutor;
 import org.cytoscape.model.CyNetworkFactory;
 import org.cytoscape.view.model.CyNetworkViewFactory;
 import org.cytoscape.view.model.CyNetworkViewManager;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.session.CyNetworkNaming;
+import org.cytoscape.task.creation.NewEmptyNetworkViewFactory;
 
-
-public class NewEmptyNetworkTaskFactory implements TaskFactory {
-       private CyNetworkFactory cnf;
-       private CyNetworkViewFactory cnvf;
-       private CyNetworkManager netmgr;
+public class NewEmptyNetworkTaskFactory implements TaskFactory, 
NewEmptyNetworkViewFactory {
+       private final CyNetworkFactory cnf;
+       private final CyNetworkViewFactory cnvf;
+       private final CyNetworkManager netmgr;
        private final CyNetworkViewManager networkViewManager;
+       private final CyNetworkNaming namingUtil;
+       private final TaskManager taskManager;
 
-       public NewEmptyNetworkTaskFactory(CyNetworkFactory cnf, 
CyNetworkViewFactory cnvf, CyNetworkManager netmgr,
-                                         final CyNetworkViewManager 
networkViewManager)
+       private ValuedTaskExecutor<CyNetworkView> resultHolder; 
+
+       public NewEmptyNetworkTaskFactory(final CyNetworkFactory cnf, final 
CyNetworkViewFactory cnvf, final CyNetworkManager netmgr, final 
CyNetworkViewManager networkViewManager, final CyNetworkNaming namingUtil, 
final TaskManager taskManager)
        {
                this.cnf = cnf;
                this.cnvf = cnvf;
                this.netmgr = netmgr;
                this.networkViewManager = networkViewManager;
+               this.namingUtil = namingUtil;
+               this.taskManager = taskManager;
        }
 
        public TaskIterator getTaskIterator() {
-               return new TaskIterator(new NewEmptyNetworkTask(cnf, cnvf, 
netmgr, networkViewManager));
+               resultHolder = new ValuedTaskExecutor<CyNetworkView>(
+                       new NewEmptyNetworkTask(cnf, cnvf, netmgr, 
networkViewManager,namingUtil));
+
+               return new TaskIterator(resultHolder);
        } 
+
+       public CyNetworkView createNewEmptyNetworkView() {
+               taskManager.execute(this);      
+               CyNetworkView view = null; 
+               try {
+                       view = resultHolder.get();
+               } catch (Exception ie) { ie.printStackTrace(); return null; }
+               return view;
+       }
 }

Modified: 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
--- 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2010-12-08 01:21:34 UTC (rev 23126)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2010-12-08 01:22:30 UTC (rev 23127)
@@ -291,8 +291,11 @@
                </osgi:service-properties>
        </osgi:service>
 
-       <osgi:service id="newEmptyNetworkTaskFactoryService" 
ref="newEmptyNetworkTaskFactory"
-               interface="org.cytoscape.work.TaskFactory">
+       <osgi:service id="newEmptyNetworkTaskFactoryService" 
ref="newEmptyNetworkTaskFactory">
+               <osgi:interfaces>
+                       <value>org.cytoscape.work.TaskFactory</value>
+                       
<value>org.cytoscape.task.creation.NewEmptyNetworkViewFactory</value>
+               </osgi:interfaces>
                <osgi:service-properties>
                        <entry key="title" value="Empty Network" />
                        <entry key="preferredMenu" value="File.New.Network" />

Modified: 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
--- 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2010-12-08 01:21:34 UTC (rev 23126)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2010-12-08 01:22:30 UTC (rev 23127)
@@ -163,6 +163,8 @@
                <constructor-arg ref="cyNetworkViewFactoryServiceRef" />
                <constructor-arg ref="cyNetworkManagerServiceRef" />
                <constructor-arg ref="cyNetworkViewManagerServiceRef" />
+               <constructor-arg ref="cyNetworkNamingServiceRef" />
+               <constructor-arg ref="taskManagerServiceRef" />
        </bean>
 
        <bean id="cloneNetworkTaskFactory"

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