orc.orchard.soap
Class ExecutorService

java.lang.Object
  extended by orc.orchard.AbstractExecutorService
      extended by orc.orchard.soap.ExecutorService
All Implemented Interfaces:
java.rmi.Remote, ExecutorServiceInterface

public class ExecutorService
extends AbstractExecutorService

HACK: We must explicitly declare every published web method in this class, we can't simply inherit them. See CompilerService for a full explanation.

TODO: develop a JSON binding which translates directly from Java types rather than going through XML.

Author:
quark

Field Summary
 
Fields inherited from class orc.orchard.AbstractExecutorService
logger
 
Constructor Summary
ExecutorService()
           
 
Method Summary
 void cancelPrompt(java.lang.String devKey, java.lang.String job, int promptID)
          Do-nothing override.
 java.lang.String compileAndSubmit(java.lang.String devKey, java.lang.String program)
          Do-nothing override.
 java.lang.String compileAndSubmitConfigured(java.lang.String devKey, java.lang.String program, JobConfiguration configuration)
          Do-nothing override.
 void finishJob(java.lang.String devKey, java.lang.String job)
          Do-nothing override.
 void haltJob(java.lang.String devKey, java.lang.String job)
          Do-nothing override.
 java.util.List<JobEvent> jobEvents(java.lang.String devKey, java.lang.String job)
          Do-nothing override.
 java.util.Set<java.lang.String> jobs(java.lang.String devKey)
          Do-nothing override.
 java.lang.String jobState(java.lang.String devKey, java.lang.String job)
          Do-nothing override.
static void main(java.lang.String[] args)
           
 void purgeJobEvents(java.lang.String devKey, java.lang.String job)
          Do-nothing override.
 void respondToPrompt(java.lang.String devKey, java.lang.String job, int promptID, java.lang.String response)
          Do-nothing override.
 void startJob(java.lang.String devKey, java.lang.String job)
          Do-nothing override.
 java.lang.String submit(java.lang.String devKey, Oil program)
          Do-nothing override.
 java.lang.String submitConfigured(java.lang.String devKey, Oil program, JobConfiguration configuration)
          Do-nothing override.
 
Methods inherited from class orc.orchard.AbstractExecutorService
getDefaultJobConfiguration, getDefaultLogger, getWaiter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExecutorService

public ExecutorService()
Method Detail

main

public static void main(java.lang.String[] args)

compileAndSubmit

public java.lang.String compileAndSubmit(java.lang.String devKey,
                                         java.lang.String program)
                                  throws QuotaException,
                                         InvalidProgramException,
                                         InvalidOilException,
                                         java.rmi.RemoteException
Do-nothing override.

Specified by:
compileAndSubmit in interface ExecutorServiceInterface
Overrides:
compileAndSubmit in class AbstractExecutorService
Throws:
QuotaException
InvalidProgramException
InvalidOilException
java.rmi.RemoteException

compileAndSubmitConfigured

public java.lang.String compileAndSubmitConfigured(java.lang.String devKey,
                                                   java.lang.String program,
                                                   JobConfiguration configuration)
                                            throws QuotaException,
                                                   InvalidProgramException,
                                                   InvalidOilException,
                                                   UnsupportedFeatureException,
                                                   java.rmi.RemoteException
Do-nothing override.

Specified by:
compileAndSubmitConfigured in interface ExecutorServiceInterface
Overrides:
compileAndSubmitConfigured in class AbstractExecutorService
Throws:
QuotaException
InvalidProgramException
InvalidOilException
UnsupportedFeatureException
java.rmi.RemoteException

submit

public java.lang.String submit(java.lang.String devKey,
                               Oil program)
                        throws QuotaException,
                               InvalidOilException,
                               java.rmi.RemoteException
Do-nothing override.

Specified by:
submit in interface ExecutorServiceInterface
Overrides:
submit in class AbstractExecutorService
Throws:
QuotaException
InvalidOilException
java.rmi.RemoteException

submitConfigured

public java.lang.String submitConfigured(java.lang.String devKey,
                                         Oil program,
                                         JobConfiguration configuration)
                                  throws QuotaException,
                                         InvalidOilException,
                                         UnsupportedFeatureException,
                                         java.rmi.RemoteException
Do-nothing override.

Specified by:
submitConfigured in interface ExecutorServiceInterface
Overrides:
submitConfigured in class AbstractExecutorService
Returns:
String Job ID of new job.
Throws:
QuotaException - if registering this job would exceed quotas.
InvalidOilException - if the program is invalid.
UnsupportedFeatureException - if the executor does not support some part of the configuration.
java.rmi.RemoteException

finishJob

public void finishJob(java.lang.String devKey,
                      java.lang.String job)
               throws InvalidJobStateException,
                      java.rmi.RemoteException,
                      InvalidJobException
Do-nothing override.

Specified by:
finishJob in interface ExecutorServiceInterface
Overrides:
finishJob in class AbstractExecutorService
Throws:
InvalidJobException
InvalidJobStateException - if the job is RUNNING or WAITING.
java.rmi.RemoteException

haltJob

public void haltJob(java.lang.String devKey,
                    java.lang.String job)
             throws java.rmi.RemoteException,
                    InvalidJobException
Do-nothing override.

Specified by:
haltJob in interface ExecutorServiceInterface
Overrides:
haltJob in class AbstractExecutorService
Throws:
InvalidJobException
java.rmi.RemoteException

jobEvents

public java.util.List<JobEvent> jobEvents(java.lang.String devKey,
                                          java.lang.String job)
                                   throws java.rmi.RemoteException,
                                          java.lang.InterruptedException,
                                          InvalidJobException
Do-nothing override.

Specified by:
jobEvents in interface ExecutorServiceInterface
Overrides:
jobEvents in class AbstractExecutorService
Throws:
InvalidJobException
java.lang.InterruptedException - if the request times out.
java.rmi.RemoteException

jobs

public java.util.Set<java.lang.String> jobs(java.lang.String devKey)
Do-nothing override.

Specified by:
jobs in interface ExecutorServiceInterface
Overrides:
jobs in class AbstractExecutorService

jobState

public java.lang.String jobState(java.lang.String devKey,
                                 java.lang.String job)
                          throws java.rmi.RemoteException,
                                 InvalidJobException
Do-nothing override.

Specified by:
jobState in interface ExecutorServiceInterface
Overrides:
jobState in class AbstractExecutorService
Returns:
the current state of the job.
Throws:
InvalidJobException
java.rmi.RemoteException

purgeJobEvents

public void purgeJobEvents(java.lang.String devKey,
                           java.lang.String job)
                    throws java.rmi.RemoteException,
                           InvalidJobException
Do-nothing override.

Specified by:
purgeJobEvents in interface ExecutorServiceInterface
Overrides:
purgeJobEvents in class AbstractExecutorService
Throws:
InvalidJobException
java.rmi.RemoteException

startJob

public void startJob(java.lang.String devKey,
                     java.lang.String job)
              throws InvalidJobStateException,
                     java.rmi.RemoteException,
                     InvalidJobException
Do-nothing override.

Specified by:
startJob in interface ExecutorServiceInterface
Overrides:
startJob in class AbstractExecutorService
Throws:
InvalidJobException
InvalidJobStateException - if the job was already started, or was aborted.
java.rmi.RemoteException

respondToPrompt

public void respondToPrompt(java.lang.String devKey,
                            java.lang.String job,
                            int promptID,
                            java.lang.String response)
                     throws InvalidPromptException,
                            java.rmi.RemoteException,
                            InvalidJobException
Do-nothing override.

Specified by:
respondToPrompt in interface ExecutorServiceInterface
Overrides:
respondToPrompt in class AbstractExecutorService
Throws:
InvalidJobException
InvalidPromptException - if the promptID is not valid.
java.rmi.RemoteException

cancelPrompt

public void cancelPrompt(java.lang.String devKey,
                         java.lang.String job,
                         int promptID)
                  throws InvalidJobException,
                         InvalidPromptException,
                         java.rmi.RemoteException
Do-nothing override.

Specified by:
cancelPrompt in interface ExecutorServiceInterface
Overrides:
cancelPrompt in class AbstractExecutorService
Throws:
InvalidPromptException - if the promptID is not valid.
InvalidJobException
java.rmi.RemoteException