org.pentaho.platform.scheduler2.ws
Interface ISchedulerService

All Known Implementing Classes:
DefaultSchedulerService

public interface ISchedulerService

A service interface used for exposing scheduling capabilities as JAXWS or other endpoints.

WARNING: If you change this interface or any of the objects related to this API, you are effectively changing the WSDL which is generated by JAXWS from this interface. Changing the WSDL means you are changing the contract by which clients talk to the scheduling service.

Currently SimpleJobTrigger and ComplexJobTrigger are natively JAXB marshallable. Each trigger class contains JAXB annotations to allow us to use the real trigger object model and not to use a XmlJavaTypeAdapter class. For the Job object, we are using the JobAdapter to send the Job over the wire. We realize that two different approaches were taken here and perhaps a unified approach is best, but each object model was taken on and the best approach to JAXB compatibility assessed based on their own merits. In any case, the JAXB compliance unit tests in this project will provide assurance that each type transported over the WS remains functional.

Author:
aphillips

Method Summary
 String createComplexJob(String jobName, Map<String,ParamValue> jobParams, ComplexJobTrigger trigger)
           
 String createSimpleJob(String jobName, Map<String,ParamValue> jobParams, SimpleJobTrigger trigger)
           
 Job[] getJobs()
           
 int getSchedulerStatus()
          Returns the scheduler status.
 void pause()
           
 void pauseJob(String jobId)
           
 void removeJob(String jobId)
           
 void resumeJob(String jobId)
           
 void start()
           
 void updateJobToUseComplexTrigger(String jobId, Map<String,ParamValue> jobParams, ComplexJobTrigger trigger)
           
 void updateJobToUseSimpleTrigger(String jobId, Map<String,ParamValue> jobParams, SimpleJobTrigger trigger)
           
 

Method Detail

createSimpleJob

String createSimpleJob(String jobName,
                       Map<String,ParamValue> jobParams,
                       SimpleJobTrigger trigger)
                       throws SchedulerException
Throws:
SchedulerException
See Also:
IScheduler.createJob(String, Class, java.util.Map, org.pentaho.platform.api.scheduler2.JobTrigger)

createComplexJob

String createComplexJob(String jobName,
                        Map<String,ParamValue> jobParams,
                        ComplexJobTrigger trigger)
                        throws SchedulerException
Throws:
SchedulerException
See Also:
IScheduler.createJob(String, Class, java.util.Map, org.pentaho.platform.api.scheduler2.JobTrigger)

updateJobToUseSimpleTrigger

void updateJobToUseSimpleTrigger(String jobId,
                                 Map<String,ParamValue> jobParams,
                                 SimpleJobTrigger trigger)
                                 throws SchedulerException
Throws:
SchedulerException
See Also:
IScheduler.updateJob(String, java.util.Map, org.pentaho.platform.api.scheduler2.JobTrigger)

updateJobToUseComplexTrigger

void updateJobToUseComplexTrigger(String jobId,
                                  Map<String,ParamValue> jobParams,
                                  ComplexJobTrigger trigger)
                                  throws SchedulerException
Throws:
SchedulerException
See Also:
IScheduler.updateJob(String, java.util.Map, org.pentaho.platform.api.scheduler2.JobTrigger)

removeJob

void removeJob(String jobId)
               throws SchedulerException
Throws:
SchedulerException
See Also:
IScheduler.removeJob(String)

pauseJob

void pauseJob(String jobId)
              throws SchedulerException
Throws:
SchedulerException
See Also:
IScheduler.pauseJob(String)

resumeJob

void resumeJob(String jobId)
               throws SchedulerException
Throws:
SchedulerException
See Also:
IScheduler.resumeJob(String)

pause

void pause()
           throws SchedulerException
Throws:
SchedulerException
See Also:
IScheduler.pause()

start

void start()
           throws SchedulerException
Throws:
SchedulerException
See Also:
IScheduler.start()

getJobs

Job[] getJobs()
              throws SchedulerException
Throws:
SchedulerException
See Also:
IScheduler.getJobs(org.pentaho.platform.api.scheduler2.IJobFilter)

getSchedulerStatus

int getSchedulerStatus()
                       throws SchedulerException
Returns the scheduler status.

Returns:
the ordinal value of the current scheduler state
Throws:
SchedulerException
See Also:
IScheduler.getStatus()