Skip to content

Commit aba9b15

Browse files
committed
Better command validation. Fixes #222.
1 parent a3a920f commit aba9b15

File tree

3 files changed

+46
-11
lines changed

3 files changed

+46
-11
lines changed

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@
5454
import org.baderlab.csplugins.enrichmentmap.model.EMCreationParameters.EdgeStrategy;
5555
import org.baderlab.csplugins.enrichmentmap.model.EMCreationParameters.SimilarityMetric;
5656
import org.baderlab.csplugins.enrichmentmap.model.EMDataSet.Method;
57-
import org.baderlab.csplugins.enrichmentmap.model.EnrichmentMapManager;
5857
import org.baderlab.csplugins.enrichmentmap.model.EnrichmentMapParameters;
5958
import org.baderlab.csplugins.enrichmentmap.model.EnrichmentResultFilterParams.NESFilter;
6059
import org.baderlab.csplugins.enrichmentmap.model.LegacySupport;
@@ -160,7 +159,6 @@ public class EMBuildCommandTask extends AbstractTask {
160159
public Boolean distinctEdges;
161160

162161

163-
@Inject private EnrichmentMapManager emManager;
164162
@Inject private CreateEnrichmentMapTaskFactory.Factory taskFactoryFactory;
165163
@Inject private LegacySupport legacySupport;
166164
@Inject private PropertyManager propertyManager;
@@ -239,6 +237,9 @@ else if(distinctEdges)
239237
new EMCreationParameters(prefix, pvalue, qvalue, NESFilter.ALL, Optional.empty(),
240238
metric, similaritycutoff, propertyManager.getCombinedConstant(), edgeStrategy);
241239

240+
//System.out.println(creationParams);
241+
//System.out.println(dataSets);
242+
242243
CreateEnrichmentMapTaskFactory taskFactory = taskFactoryFactory.create(creationParams, dataSets);
243244
insertTasksAfterCurrentTask(taskFactory.createTaskIterator());
244245
}

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

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
public class ResolverCommandTask extends AbstractTask {
2929

30-
@Tunable
30+
@Tunable(required=true)
3131
public File rootFolder;
3232

3333
@Tunable
@@ -91,6 +91,31 @@ public ResolverCommandTask(PropertyManager propertyManager) {
9191
public void run(TaskMonitor taskMonitor) throws Exception {
9292
logger.info("Running EnrichmentMap Data Set Resolver Task");
9393

94+
EdgeStrategy strategy;
95+
try {
96+
strategy = EdgeStrategy.valueOf(edgeStrategy.getSelectedValue().toUpperCase());
97+
} catch(IllegalArgumentException e) {
98+
throw new IllegalArgumentException("edgeStrategy is invalid: '" + edgeStrategy.getSelectedValue() + "'");
99+
}
100+
101+
SimilarityMetric sm;
102+
try {
103+
sm = SimilarityMetric.valueOf(similarityMetric.getSelectedValue().toUpperCase());
104+
} catch(IllegalArgumentException e) {
105+
throw new IllegalArgumentException("similarityMetric is invalid: '" + similarityMetric.getSelectedValue() + "'");
106+
}
107+
108+
NESFilter nesf;
109+
try {
110+
nesf = NESFilter.valueOf(nesFilter.getSelectedValue().toUpperCase());
111+
} catch(IllegalArgumentException e) {
112+
throw new IllegalArgumentException("nesFilter is invalid: '" + nesFilter.getSelectedValue() + "'");
113+
}
114+
115+
if(rootFolder == null || !rootFolder.exists()) {
116+
throw new IllegalArgumentException("rootFolder is invalid: " + rootFolder);
117+
}
118+
94119
// Scan root folder (note: throws exception if no data sets were found)
95120
ResolverTask resolverTask = new ResolverTask(rootFolder);
96121
taskManager.execute(new TaskIterator(resolverTask)); // blocks
@@ -123,16 +148,11 @@ public void run(TaskMonitor taskMonitor) throws Exception {
123148

124149
// Create Enrichment Map
125150
String prefix = legacySupport.getNextAttributePrefix();
126-
SimilarityMetric sm = SimilarityMetric.valueOf(similarityMetric.getSelectedValue());
127-
NESFilter nesf = NESFilter.valueOf(nesFilter.getSelectedValue());
128-
129151
String info = String.format(
130152
"prefix:%s, pvalue:%f, qvalue:%f, nesFilter:%s, minExperiments:%d, similarityMetric:%s, similarityCutoff:%f, combinedConstant:%f",
131153
prefix, pvalue, qvalue, nesf, minExperiments, sm, similarityCutoff, combinedConstant);
132154
logger.info(info);
133155

134-
EdgeStrategy strategy = EdgeStrategy.valueOf(edgeStrategy.getSelectedValue());
135-
136156
EMCreationParameters params =
137157
new EMCreationParameters(prefix, pvalue, qvalue, nesf, Optional.ofNullable(minExperiments),
138158
sm, similarityCutoff, combinedConstant, strategy);

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/model/EnrichmentMapParameters.java

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -257,10 +257,24 @@ public static String similarityMetricToString(SimilarityMetric metric) {
257257

258258
public static Method stringToMethod(String name) {
259259
switch(name) {
260+
case method_generic:
261+
case "GENERIC":
262+
return Method.Generic;
263+
case method_GSEA:
264+
case "gsea":
265+
return Method.GSEA;
266+
case method_Specialized:
267+
case "david":
268+
case "DAVID":
269+
case "bingo":
270+
case "BINGO":
271+
case "BiNGO":
272+
case "great":
273+
case "GREAT":
274+
case "Great":
275+
return Method.Specialized;
260276
default:
261-
case method_generic: return Method.Generic;
262-
case method_GSEA: return Method.GSEA;
263-
case method_Specialized: return Method.Specialized;
277+
throw new IllegalArgumentException("Method '" + name + "' not recognized");
264278
}
265279
}
266280

0 commit comments

Comments
 (0)