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
18
19
20
21
22
23
24
25
26
27
28 public abstract class AbstractAsyncJobServiceImpl extends AbstractSyncJobServiceImpl implements JobService {
29
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 }