1 package fr.in2p3.jsaga.impl.resource.manager;
2
3 import fr.in2p3.jsaga.adaptor.resource.ResourceAdaptor;
4 import fr.in2p3.jsaga.impl.task.AbstractThreadedTask;
5 import org.ogf.saga.error.*;
6 import org.ogf.saga.resource.Type;
7 import org.ogf.saga.resource.description.ComputeDescription;
8 import org.ogf.saga.resource.description.NetworkDescription;
9 import org.ogf.saga.resource.description.ResourceDescription;
10 import org.ogf.saga.resource.description.StorageDescription;
11 import org.ogf.saga.resource.instance.Compute;
12 import org.ogf.saga.resource.instance.Network;
13 import org.ogf.saga.resource.instance.Storage;
14 import org.ogf.saga.resource.manager.ResourceManager;
15 import org.ogf.saga.session.Session;
16 import org.ogf.saga.task.Task;
17 import org.ogf.saga.task.TaskMode;
18 import org.ogf.saga.url.URL;
19
20 import java.util.List;
21
22
23
24
25
26 public abstract class AbstractAsyncResourceManagerImpl extends AbstractSyncResourceManagerImpl implements ResourceManager {
27
28 public AbstractAsyncResourceManagerImpl(Session session, URL rm, ResourceAdaptor adaptor) {
29 super(session, rm, adaptor);
30 }
31
32 public Task<ResourceManager, List<String>> listResources(TaskMode mode, final Type type) throws NotImplementedException {
33 return new AbstractThreadedTask<ResourceManager,List<String>>(mode) {
34 public List<String> invoke() throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, TimeoutException, NoSuccessException {
35 return AbstractAsyncResourceManagerImpl.super.listResourcesSync(type);
36 }
37 };
38 }
39
40 public Task<ResourceManager, List<String>> listTemplates(TaskMode mode, final Type type) throws NotImplementedException {
41 return new AbstractThreadedTask<ResourceManager, List<String>>(mode) {
42 public List<String> invoke() throws NotImplementedException, TimeoutException, NoSuccessException {
43 return AbstractAsyncResourceManagerImpl.super.listTemplatesSync(type);
44 }
45 };
46 }
47 public Task<ResourceManager, ResourceDescription> getTemplate(TaskMode mode, final String id) throws NotImplementedException {
48 return new AbstractThreadedTask<ResourceManager, ResourceDescription>(mode) {
49 public ResourceDescription invoke() throws NotImplementedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException {
50 return AbstractAsyncResourceManagerImpl.super.getTemplateSync(id);
51 }
52 };
53 }
54
55
56
57 public Task<ResourceManager, Compute> acquireCompute(TaskMode mode, final ComputeDescription description) throws NotImplementedException {
58 return new AbstractThreadedTask<ResourceManager,Compute>(mode) {
59 public Compute invoke() throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, BadParameterException, TimeoutException, NoSuccessException {
60 return AbstractAsyncResourceManagerImpl.super.acquireComputeSync(description);
61 }
62 };
63 }
64 public Task<ResourceManager, Compute> acquireCompute(TaskMode mode, final String id) throws NotImplementedException {
65 return new AbstractThreadedTask<ResourceManager,Compute>(mode) {
66 public Compute invoke() throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException {
67 return AbstractAsyncResourceManagerImpl.super.acquireComputeSync(id);
68 }
69 };
70 }
71 public Task<ResourceManager, Void> releaseCompute(TaskMode mode, final String id) throws NotImplementedException {
72 return new AbstractThreadedTask<ResourceManager, Void>(mode) {
73 public Void invoke() throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException, IncorrectStateException {
74 AbstractAsyncResourceManagerImpl.super.releaseComputeSync(id);
75 return null;
76 }
77 };
78 }
79 public Task<ResourceManager, Void> releaseCompute(TaskMode mode, final String id, final boolean drain) throws NotImplementedException {
80 return new AbstractThreadedTask<ResourceManager, Void>(mode) {
81 public Void invoke() throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException, IncorrectStateException {
82 AbstractAsyncResourceManagerImpl.super.releaseComputeSync(id, drain);
83 return null;
84 }
85 };
86 }
87
88
89
90 public Task<ResourceManager, Network> acquireNetwork(TaskMode mode, final NetworkDescription description) throws NotImplementedException {
91 return new AbstractThreadedTask<ResourceManager, Network>(mode) {
92 public Network invoke() throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, BadParameterException, TimeoutException, NoSuccessException {
93 return AbstractAsyncResourceManagerImpl.super.acquireNetworkSync(description);
94 }
95 };
96 }
97 public Task<ResourceManager, Network> acquireNetwork(TaskMode mode, final String id) throws NotImplementedException {
98 return new AbstractThreadedTask<ResourceManager,Network>(mode) {
99 public Network invoke() throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException {
100 return AbstractAsyncResourceManagerImpl.super.acquireNetworkSync(id);
101 }
102 };
103 }
104 public Task<ResourceManager, Void> releaseNetwork(TaskMode mode, final String id) throws NotImplementedException {
105 return new AbstractThreadedTask<ResourceManager, Void>(mode) {
106 public Void invoke() throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException, IncorrectStateException {
107 AbstractAsyncResourceManagerImpl.super.releaseNetworkSync(id);
108 return null;
109 }
110 };
111 }
112
113
114
115 public Task<ResourceManager, Storage> acquireStorage(TaskMode mode, final StorageDescription description) throws NotImplementedException {
116 return new AbstractThreadedTask<ResourceManager, Storage>(mode) {
117 public Storage invoke() throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, BadParameterException, TimeoutException, NoSuccessException {
118 return AbstractAsyncResourceManagerImpl.super.acquireStorageSync(description);
119 }
120 };
121 }
122 public Task<ResourceManager, Storage> acquireStorage(TaskMode mode, final String id) throws NotImplementedException {
123 return new AbstractThreadedTask<ResourceManager,Storage>(mode) {
124 public Storage invoke() throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException {
125 return AbstractAsyncResourceManagerImpl.super.acquireStorageSync(id);
126 }
127 };
128 }
129 public Task<ResourceManager, Void> releaseStorage(TaskMode mode, final String id) throws NotImplementedException {
130 return new AbstractThreadedTask<ResourceManager, Void>(mode) {
131 public Void invoke() throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException, IncorrectStateException {
132 AbstractAsyncResourceManagerImpl.super.releaseStorageSync(id);
133 return null;
134 }
135 };
136 }
137 }