View Javadoc

1   package fr.in2p3.jsaga.impl.job.service;
2   
3   import fr.in2p3.jsaga.adaptor.job.control.JobControlAdaptor;
4   import fr.in2p3.jsaga.adaptor.job.control.description.JobDescriptionTranslator;
5   import fr.in2p3.jsaga.engine.job.monitor.JobMonitorService;
6   import fr.in2p3.jsaga.impl.task.AbstractThreadedTask;
7   import org.ogf.saga.error.*;
8   import org.ogf.saga.job.*;
9   import org.ogf.saga.session.Session;
10  import org.ogf.saga.task.Task;
11  import org.ogf.saga.task.TaskMode;
12  import org.ogf.saga.url.URL;
13  
14  import java.util.List;
15  
16  /* ***************************************************
17  * *** Centre de Calcul de l'IN2P3 - Lyon (France) ***
18  * ***             http://cc.in2p3.fr/             ***
19  * ***************************************************
20  * File:   AbstractAsyncJobServiceImpl
21  * Author: Sylvain Reynaud (sreynaud@in2p3.fr)
22  * Date:   26 oct. 2007
23  * ***************************************************
24  * Description:                                      */
25  /**
26   *
27   */
28  public abstract class AbstractAsyncJobServiceImpl extends AbstractSyncJobServiceImpl implements JobService {
29      /** constructor */
30      public AbstractAsyncJobServiceImpl(Session session, URL rm, JobControlAdaptor controlAdaptor, JobMonitorService monitorService, JobDescriptionTranslator translator) {
31          super(session, rm, controlAdaptor, monitorService, translator);
32      }
33  
34      public Task<JobService, Job> createJob(TaskMode mode, final JobDescription jd) throws NotImplementedException {
35          return new AbstractThreadedTask<JobService,Job>(mode) {
36              public Job invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
37                  return AbstractAsyncJobServiceImpl.super.createJobSync(jd);
38              }
39          };
40      }
41  
42      public Task<JobService, List<String>> list(TaskMode mode) throws NotImplementedException {
43          return new AbstractThreadedTask<JobService,List<String>>(mode) {
44              public List<String> invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
45                  return AbstractAsyncJobServiceImpl.super.listSync();
46              }
47          };
48      }
49  
50      public Task<JobService, Job> getJob(TaskMode mode, final String jobId) throws NotImplementedException {
51          return new AbstractThreadedTask<JobService,Job>(mode) {
52              public Job invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
53                  return AbstractAsyncJobServiceImpl.super.getJobSync(jobId);
54              }
55          };
56      }
57  
58      public Task<JobService, JobSelf> getSelf(TaskMode mode) throws NotImplementedException {
59          return new AbstractThreadedTask<JobService,JobSelf>(mode) {
60              public JobSelf invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
61                  return AbstractAsyncJobServiceImpl.super.getSelfSync();
62              }
63          };
64      }
65  
66      public Task<JobService, Job> runJob(TaskMode mode, final String commandLine, final String host, final boolean interactive) throws NotImplementedException {
67          return new AbstractThreadedTask<JobService,Job>(mode) {
68              public Job invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
69                  return AbstractAsyncJobServiceImpl.super.runJobSync(commandLine, host, interactive);
70              }
71          };
72      }
73      public Task<JobService, Job> runJob(TaskMode mode, final String commandLine, final String host) throws NotImplementedException {
74          return this.runJob(mode, commandLine, host, DEFAULT_INTERACTIVE);
75      }
76      public Task<JobService, Job> runJob(TaskMode mode, final String commandLine, final boolean interactive) throws NotImplementedException {
77          return this.runJob(mode, commandLine, DEFAULT_HOST, interactive);
78      }
79      public Task<JobService, Job> runJob(TaskMode mode, final String commandLine) throws NotImplementedException {
80          return this.runJob(mode, commandLine, DEFAULT_HOST, DEFAULT_INTERACTIVE);
81      }
82  }