@@ -309,17 +309,25 @@ public QueuedWorkflow createQueuedWorkflow(GitDetails gitInfo)
309
309
File workflowFile = new File (pathToWorkflowFile .toString ());
310
310
311
311
// Handling of packed workflows
312
- String packedWorkflowId = null ;
313
- if (cwlService .isPacked (workflowFile )) {
314
- List <WorkflowOverview > overviews = cwlService .getWorkflowOverviewsFromPacked (workflowFile );
315
- if (overviews .size () == 0 ) {
316
- throw new IOException ("No workflow was found within the packed CWL file" );
317
- } else {
318
- // Dummy queued workflow object to return the list
319
- QueuedWorkflow overviewList = new QueuedWorkflow ();
320
- overviewList .setWorkflowList (overviews );
321
- return overviewList ;
312
+ String packedWorkflowId = gitInfo .getPackedId ();
313
+ if (packedWorkflowId == null ) {
314
+ if (cwlService .isPacked (workflowFile )) {
315
+ List <WorkflowOverview > overviews = cwlService .getWorkflowOverviewsFromPacked (workflowFile );
316
+ if (overviews .size () == 0 ) {
317
+ throw new IOException ("No workflow was found within the packed CWL file" );
318
+ } else {
319
+ // Dummy queued workflow object to return the list
320
+ QueuedWorkflow overviewList = new QueuedWorkflow ();
321
+ overviewList .setWorkflowList (overviews );
322
+ return overviewList ;
323
+ }
322
324
}
325
+ } else {
326
+ // Packed ID specified but was not found
327
+ if (!cwlService .isPacked (workflowFile )) {
328
+ throw new WorkflowNotFoundException ();
329
+ }
330
+
323
331
}
324
332
325
333
Workflow basicModel = cwlService .parseWorkflowNative (workflowFile , packedWorkflowId );
0 commit comments