@Override public Void call() throws Exception { SchedulableProgramType programType = node.getProgram().getProgramType(); String programName = node.getProgram().getProgramName(); String prettyProgramType = ProgramType.valueOf(programType.name()).getPrettyName(); ProgramWorkflowRunner programWorkflowRunner = workflowProgramRunnerFactory.getProgramWorkflowRunner(programType, token, node.getNodeId(), nodeStates); // this should not happen, since null is only passed in from WorkflowDriver, only when calling configure if (programWorkflowRunner == null) { throw new UnsupportedOperationException("Operation not allowed."); } Runnable programRunner = programWorkflowRunner.create(programName); LOG.info("Starting {} Program '{}' in workflow", prettyProgramType, programName); programRunner.run(); LOG.info("{} Program '{}' in workflow completed", prettyProgramType, programName); return null; } });
@Override public Void call() throws Exception { SchedulableProgramType programType = node.getProgram().getProgramType(); String programName = node.getProgram().getProgramName(); String prettyProgramType = ProgramType.valueOf(programType.name()).getPrettyName(); ProgramWorkflowRunner programWorkflowRunner = workflowProgramRunnerFactory.getProgramWorkflowRunner(programType, token, node.getNodeId(), nodeStates); // this should not happen, since null is only passed in from WorkflowDriver, only when calling configure if (programWorkflowRunner == null) { throw new UnsupportedOperationException("Operation not allowed."); } Runnable programRunner = programWorkflowRunner.create(programName); LOG.info("Starting {} Program '{}' in workflow", prettyProgramType, programName); programRunner.run(); LOG.info("{} Program '{}' in workflow completed", prettyProgramType, programName); return null; } });