File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed
jflyte/src/main/java/org/flyte/jflyte Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change 2424
2525import com .google .common .collect .ImmutableMap ;
2626import com .google .common .collect .Maps ;
27+ import java .util .ArrayList ;
2728import java .util .Collection ;
2829import java .util .HashMap ;
2930import java .util .List ;
4142import org .flyte .api .v1 .DynamicJobSpec ;
4243import org .flyte .api .v1 .DynamicWorkflowTask ;
4344import org .flyte .api .v1 .DynamicWorkflowTaskRegistrar ;
45+ import org .flyte .api .v1 .IfBlock ;
4446import org .flyte .api .v1 .Literal ;
4547import org .flyte .api .v1 .NamedEntityIdentifier ;
4648import org .flyte .api .v1 .Node ;
@@ -280,6 +282,28 @@ private static List<Node> collectAllUsedTaskTemplates(
280282 flyteAdminClient ,
281283 cache );
282284
285+ // collect task templates used by conditionals
286+ spec .nodes ().stream ()
287+ .filter (node -> node .branchNode () != null )
288+ .forEach (
289+ node -> {
290+ List <Node > nodes = new ArrayList <>();
291+ nodes .add (node .branchNode ().ifElse ().case_ ().thenNode ());
292+ nodes .add (node .branchNode ().ifElse ().elseNode ());
293+ nodes .addAll (
294+ node .branchNode ().ifElse ().other ().stream ()
295+ .map (IfBlock ::thenNode )
296+ .collect (toList ()));
297+
298+ collectTaskTemplates (
299+ nodes ,
300+ nodesRewriter ,
301+ allUsedTaskTemplates ,
302+ allTaskTemplates ,
303+ flyteAdminClient ,
304+ cache );
305+ });
306+
283307 // collect task templates used by subworkflows
284308 allUsedSubWorkflows
285309 .values ()
You can’t perform that action at this time.
0 commit comments