View Javadoc

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   * *** Centre de Calcul de l'IN2P3 - Lyon (France) ***
24   * ***             http://cc.in2p3.fr/             ***
25   * ***************************************************/
26  public abstract class AbstractAsyncResourceManagerImpl extends AbstractSyncResourceManagerImpl implements ResourceManager {
27      /** constructor */
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 }