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.