Skip to content

Commit ddb4879

Browse files
committed
mastermap command returns network suid. Fixes #353
1 parent 43f5b4d commit ddb4879

File tree

2 files changed

+43
-2
lines changed

2 files changed

+43
-2
lines changed

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/commands/ResolverCommandTask.java

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,29 @@
11
package org.baderlab.csplugins.enrichmentmap.commands;
22

33
import java.io.File;
4+
import java.util.Arrays;
45
import java.util.List;
56

67
import org.baderlab.csplugins.enrichmentmap.commands.tunables.FilterTunables;
78
import org.baderlab.csplugins.enrichmentmap.model.DataSetParameters;
89
import org.baderlab.csplugins.enrichmentmap.model.EMCreationParameters;
910
import org.baderlab.csplugins.enrichmentmap.resolver.ResolverTask;
11+
import org.baderlab.csplugins.enrichmentmap.task.CreateEMNetworkTask;
1012
import org.baderlab.csplugins.enrichmentmap.task.CreateEnrichmentMapTaskFactory;
1113
import org.baderlab.csplugins.enrichmentmap.util.NullTaskMonitor;
1214
import org.cytoscape.work.AbstractTask;
1315
import org.cytoscape.work.ContainsTunables;
16+
import org.cytoscape.work.FinishStatus;
17+
import org.cytoscape.work.ObservableTask;
1418
import org.cytoscape.work.SynchronousTaskManager;
1519
import org.cytoscape.work.TaskIterator;
1620
import org.cytoscape.work.TaskMonitor;
21+
import org.cytoscape.work.TaskObserver;
1722
import org.cytoscape.work.Tunable;
1823

1924
import com.google.inject.Inject;
2025

21-
public class ResolverCommandTask extends AbstractTask {
26+
public class ResolverCommandTask extends AbstractTask implements ObservableTask {
2227

2328
@Tunable(required=true)
2429
public File rootFolder;
@@ -38,6 +43,8 @@ public class ResolverCommandTask extends AbstractTask {
3843
@Inject private CreateEnrichmentMapTaskFactory.Factory taskFactoryFactory;
3944

4045

46+
private Long[] result = { null };
47+
4148

4249
@Override
4350
public void run(TaskMonitor tm) throws Exception {
@@ -90,10 +97,36 @@ public void run(TaskMonitor tm) throws Exception {
9097

9198
CreateEnrichmentMapTaskFactory taskFactory = taskFactoryFactory.create(params, dataSets);
9299
TaskIterator tasks = taskFactory.createTaskIterator();
93-
taskManager.execute(tasks);
100+
101+
taskManager.execute(tasks, new TaskObserver() {
102+
@Override
103+
public void taskFinished(ObservableTask task) {
104+
if(task instanceof CreateEMNetworkTask) {
105+
CreateEMNetworkTask networkTask = (CreateEMNetworkTask) task;
106+
result[0] = networkTask.getResults(Long.class);
107+
}
108+
}
109+
@Override
110+
public void allFinished(FinishStatus finishStatus) { }
111+
});
94112

95113
tm.setStatusMessage("Done.");
96114
}
97115

116+
@Override
117+
public List<Class<?>> getResultClasses() {
118+
return Arrays.asList(String.class, Long.class);
119+
}
120+
121+
@Override
122+
public <R> R getResults(Class<? extends R> type) {
123+
if(String.class.equals(type)) {
124+
return type.cast(String.valueOf(result[0]));
125+
}
126+
if(Long.class.equals(type)) {
127+
return type.cast(result[0]);
128+
}
129+
return null;
130+
}
98131

99132
}

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/task/CreateEMNetworkTask.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.baderlab.csplugins.enrichmentmap.task;
22

3+
import java.util.Arrays;
34
import java.util.HashMap;
45
import java.util.List;
56
import java.util.Map;
@@ -67,6 +68,12 @@ public void run(TaskMonitor taskMonitor) throws Exception {
6768
taskMonitor.setStatusMessage("");
6869
}
6970

71+
72+
@Override
73+
public List<Class<?>> getResultClasses() {
74+
return Arrays.asList(String.class, Long.class);
75+
}
76+
7077
@Override
7178
public <R> R getResults(Class<? extends R> type) {
7279
if(String.class.equals(type)) {
@@ -77,6 +84,7 @@ public <R> R getResults(Class<? extends R> type) {
7784
return null;
7885
}
7986

87+
8088
private long createEMNetwork() {
8189
// Create the CyNetwork
8290
CyNetwork network = networkFactory.createNetwork();

0 commit comments

Comments
 (0)