@Override public ScheduleBuilder buildSchedule(String scheduleName, ProgramType schedulableProgramType, String programName) { if (ProgramType.WORKFLOW != schedulableProgramType) { throw new IllegalArgumentException(String.format( "Cannot schedule program %s of type %s: Only workflows can be scheduled", programName, schedulableProgramType)); } return new DefaultScheduleBuilder(scheduleName, programName, triggerFactory); }
@Override public ScheduleCreationSpec triggerOnProgramStatus(String application, ProgramType programType, String program, ProgramStatus... programStatuses) { return triggerOn(triggerFactory.onProgramStatus(application, programType, program, programStatuses)); }
@Override public ScheduleCreationSpec triggerOnProgramStatus(String programNamespace, String application, ProgramType programType, String program, ProgramStatus... programStatuses) { return triggerOn(triggerFactory.onProgramStatus(programNamespace, application, programType, program, programStatuses)); }
@Override public ScheduleBuilder buildSchedule(String scheduleName, ProgramType schedulableProgramType, String programName) { if (ProgramType.WORKFLOW != schedulableProgramType) { throw new IllegalArgumentException(String.format( "Cannot schedule program %s of type %s: Only workflows can be scheduled", programName, schedulableProgramType)); } return new DefaultScheduleBuilder(scheduleName, programName, triggerFactory); }
@Override public ScheduleCreationSpec triggerOnProgramStatus(ProgramType programType, String program, ProgramStatus... programStatuses) { return triggerOn(triggerFactory.onProgramStatus(programType, program, programStatuses)); }
@Override public ScheduleBuilder buildSchedule(String scheduleName, ProgramType programType, String workflowName) { // the result of this won't actually be used, but the returned object will have its methods called return new DefaultScheduleBuilder(scheduleName, workflowName, getTriggerFactory()); }
@Override public ScheduleCreationSpec triggerOnProgramStatus(String programNamespace, String application, String appVersion, ProgramType programType, String program, ProgramStatus... programStatuses) { return triggerOn(triggerFactory.onProgramStatus(programNamespace, application, appVersion, programType, program, programStatuses)); }
@Override public ScheduleCreationSpec triggerOnProgramStatus(String programNamespace, String application, ProgramType programType, String program, ProgramStatus... programStatuses) { return triggerOn(triggerFactory.onProgramStatus(programNamespace, application, programType, program, programStatuses)); }
@Override public ScheduleCreationSpec triggerOnPartitions(String datasetName, int numPartitions) { return triggerOn(triggerFactory.onPartitions(datasetName, numPartitions)); }
@Override public ScheduleCreationSpec triggerOnPartitions(String datasetNamespace, String datasetName, int numPartitions) { return triggerOn(triggerFactory.onPartitions(datasetNamespace, datasetName, numPartitions)); }
@Override public ScheduleCreationSpec triggerOnProgramStatus(String application, ProgramType programType, String program, ProgramStatus... programStatuses) { return triggerOn(triggerFactory.onProgramStatus(application, programType, program, programStatuses)); }
@Override public ScheduleCreationSpec triggerOnPartitions(String datasetNamespace, String datasetName, int numPartitions) { return triggerOn(triggerFactory.onPartitions(datasetNamespace, datasetName, numPartitions)); }
@Override public ScheduleCreationSpec triggerOnProgramStatus(String programNamespace, String application, String appVersion, ProgramType programType, String program, ProgramStatus... programStatuses) { return triggerOn(triggerFactory.onProgramStatus(programNamespace, application, appVersion, programType, program, programStatuses)); }
@Override public ScheduleCreationSpec triggerOnProgramStatus(ProgramType programType, String program, ProgramStatus... programStatuses) { return triggerOn(triggerFactory.onProgramStatus(programType, program, programStatuses)); }
@Override public ScheduleCreationSpec triggerByTime(String cronExpression) { return triggerOn(triggerFactory.byTime(cronExpression)); }
@Override public ScheduleCreationSpec triggerByTime(String cronExpression) { return triggerOn(triggerFactory.byTime(cronExpression)); }
@Override public ScheduleCreationSpec triggerOnPartitions(String datasetName, int numPartitions) { return triggerOn(triggerFactory.onPartitions(datasetName, numPartitions)); }