Skip to content

Commit d3ad677

Browse files
committed
Merge branch 'develop' of github.com:SeqWare/seqware into develop
Former-commit-id: cab0c58
2 parents f9477f6 + 400204a commit d3ad677

File tree

3 files changed

+26
-6
lines changed

3 files changed

+26
-6
lines changed

seqware-pipeline/src/main/java/io/seqware/WorkflowRuns.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
import net.sourceforge.seqware.common.metadata.MetadataFactory;
55
import net.sourceforge.seqware.common.model.WorkflowRun;
66
import net.sourceforge.seqware.common.model.WorkflowRunStatus;
7+
import static net.sourceforge.seqware.common.model.WorkflowRunStatus.pending;
8+
import static net.sourceforge.seqware.common.model.WorkflowRunStatus.running;
9+
import static net.sourceforge.seqware.common.model.WorkflowRunStatus.submitted;
710
import net.sourceforge.seqware.common.util.configtools.ConfigTools;
811

912
public class WorkflowRuns {
@@ -25,6 +28,13 @@ public static void submitCancel(int workflowRunAccession) {
2528
+ wr.getWorkflowEngine());
2629
}
2730
}
31+
32+
public static void failWorkflow(int workflowRunAccession) {
33+
Metadata md = MetadataFactory.get(ConfigTools.getSettings());
34+
WorkflowRun wr = md.getWorkflowRun(workflowRunAccession);
35+
wr.setStatus(WorkflowRunStatus.failed);
36+
md.updateWorkflowRun(wr);
37+
}
2838

2939
public static void submitRetry(int workflowRunAccession) {
3040
Metadata md = MetadataFactory.get(ConfigTools.getSettings());

seqware-pipeline/src/main/java/net/sourceforge/seqware/pipeline/plugin/WorkflowPlugin.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
*/
1212
package net.sourceforge.seqware.pipeline.plugin;
1313

14+
import io.seqware.WorkflowRuns;
1415
import java.util.ArrayList;
1516
import java.util.Arrays;
1617
import java.util.Collections;
@@ -521,7 +522,10 @@ public static ReturnValue launchNewWorkflow(OptionSet options, Map<String, Strin
521522
workflowEngine = dataModel.getWorkflow_engine();
522523
}
523524
} catch (Exception e) {
524-
Log.fatal(e, e);
525+
if (workflowRunAccession != null){
526+
Log.fatal("Exception constructing data model, failing workflow " + workflowRunAccession, e);
527+
WorkflowRuns.failWorkflow(workflowRunAccession);
528+
}
525529
ret.setExitStatus(ReturnValue.INVALIDARGUMENT);
526530
return ret;
527531
}

seqware-pipeline/src/main/java/net/sourceforge/seqware/pipeline/workflowV2/WorkflowDataModelFactory.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import net.sourceforge.seqware.common.model.WorkflowRun;
1919
import net.sourceforge.seqware.common.module.ReturnValue;
2020
import net.sourceforge.seqware.common.util.Log;
21+
import net.sourceforge.seqware.common.util.Rethrow;
2122
import net.sourceforge.seqware.common.util.maptools.MapTools;
2223
import net.sourceforge.seqware.common.util.workflowtools.WorkflowInfo;
2324
import net.sourceforge.seqware.pipeline.bundle.Bundle;
@@ -247,15 +248,20 @@ public AbstractWorkflowDataModel getWorkflowDataModel(Integer workflowAccession,
247248
m = clazz.getMethod("buildWorkflow");
248249
m.invoke(dataModel);
249250
} catch (SecurityException e) {
250-
Log.error(e);
251+
Log.error("SecurityException",e);
252+
Rethrow.rethrow(e);
251253
} catch (NoSuchMethodException e) {
252-
Log.error(e);
254+
Log.error("NoSuchMethodException",e);
255+
Rethrow.rethrow(e);
253256
} catch (IllegalArgumentException e) {
254-
Log.error(e);
257+
Log.error("IllegalArgumentException",e);
258+
Rethrow.rethrow(e);
255259
} catch (IllegalAccessException e) {
256-
Log.error(e);
260+
Log.error("IllegalAccessException",e);
261+
Rethrow.rethrow(e);
257262
} catch (InvocationTargetException e) {
258-
Log.error(e);
263+
Log.error("InvocationTargetException",e);
264+
Rethrow.rethrow(e);
259265
}
260266
} else {
261267
WorkflowXmlParser xmlParser = new WorkflowXmlParser();

0 commit comments

Comments
 (0)