1 package fr.in2p3.jsaga.impl.file;
2
3 import fr.in2p3.jsaga.engine.factories.DataAdaptorFactory;
4 import fr.in2p3.jsaga.impl.task.AbstractThreadedTask;
5 import org.ogf.saga.error.*;
6 import org.ogf.saga.file.*;
7 import org.ogf.saga.session.Session;
8 import org.ogf.saga.task.Task;
9 import org.ogf.saga.task.TaskMode;
10 import org.ogf.saga.url.URL;
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public abstract class AbstractAsyncFileFactoryImpl extends AbstractSyncFileFactoryImpl {
25 public AbstractAsyncFileFactoryImpl(DataAdaptorFactory adaptorFactory) {
26 super(adaptorFactory);
27 }
28
29 protected Task<FileFactory, File> doCreateFile(TaskMode mode, final Session session, final URL name, final int flags) throws NotImplementedException {
30 return new AbstractThreadedTask<FileFactory,File>(mode) {
31 public File invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
32 return AbstractAsyncFileFactoryImpl.super.doCreateFileSync(session, name, flags);
33 }
34 };
35 }
36
37 protected Task<FileFactory, FileInputStream> doCreateFileInputStream(TaskMode mode, final Session session, final URL name) throws NotImplementedException {
38 return new AbstractThreadedTask<FileFactory,FileInputStream>(mode) {
39 public FileInputStream invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
40 return AbstractAsyncFileFactoryImpl.super.doCreateFileInputStreamSync(session, name);
41 }
42 };
43 }
44
45 protected Task<FileFactory, FileOutputStream> doCreateFileOutputStream(TaskMode mode, final Session session, final URL name, final boolean append) throws NotImplementedException {
46 return new AbstractThreadedTask<FileFactory,FileOutputStream>(mode) {
47 public FileOutputStream invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
48 return AbstractAsyncFileFactoryImpl.super.doCreateFileOutputStreamSync(session, name, append);
49 }
50 };
51 }
52
53 protected Task<FileFactory, Directory> doCreateDirectory(TaskMode mode, final Session session, final URL name, final int flags) throws NotImplementedException {
54 return new AbstractThreadedTask<FileFactory,Directory>(mode) {
55 public Directory invoke() throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, PermissionDeniedException, BadParameterException, IncorrectStateException, AlreadyExistsException, DoesNotExistException, TimeoutException, NoSuccessException {
56 return AbstractAsyncFileFactoryImpl.super.doCreateDirectorySync(session, name, flags);
57 }
58 };
59 }
60 }