View Javadoc

1   package fr.in2p3.jsaga.engine.factories;
2   
3   import fr.in2p3.jsaga.adaptor.job.control.JobControlAdaptor;
4   import fr.in2p3.jsaga.adaptor.job.monitor.JobMonitorAdaptor;
5   import fr.in2p3.jsaga.adaptor.security.SecurityCredential;
6   import fr.in2p3.jsaga.impl.context.ContextImpl;
7   import org.ogf.saga.error.*;
8   import org.ogf.saga.url.URL;
9   
10  import java.util.Map;
11  
12  /* ***************************************************
13  * *** Centre de Calcul de l'IN2P3 - Lyon (France) ***
14  * ***             http://cc.in2p3.fr/             ***
15  * ***************************************************
16  * File:   JobMonitorAdaptorFactory
17  * Author: Sylvain Reynaud (sreynaud@in2p3.fr)
18  * Date:   9 janv. 2008
19  * ***************************************************
20  * Description:                                      */
21  /**
22   *
23   */
24  public class JobMonitorAdaptorFactory extends ServiceAdaptorFactory {
25      public JobMonitorAdaptor getJobMonitorAdaptor(JobControlAdaptor controlAdaptor) {
26          return controlAdaptor.getDefaultJobMonitor();
27      }
28  
29      public void connect(URL monitorURL, JobMonitorAdaptor monitorAdaptor, Map monitorAttributes, ContextImpl context) throws NotImplementedException, IncorrectURLException, AuthenticationFailedException, AuthorizationFailedException, BadParameterException, TimeoutException, NoSuccessException {
30          // check URL
31          if (monitorURL==null || monitorURL.getScheme()==null) {
32              throw new IncorrectURLException("Invalid entry name: "+monitorURL);
33          }
34  
35          // check attributes
36          this.checkAttributesValidity(monitorAttributes, monitorAdaptor.getUsage());
37          
38          // set security adaptor
39          SecurityCredential credential = getCredential(monitorURL, context, monitorAdaptor);
40  
41          // connect
42          connect(monitorAdaptor, credential, monitorURL, monitorAttributes);
43      }
44  
45      public static void connect(JobMonitorAdaptor monitorAdaptor, SecurityCredential credential, URL url, Map attributes) throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, IncorrectURLException, BadParameterException, TimeoutException, NoSuccessException {
46          monitorAdaptor.setSecurityCredential(credential);
47          monitorAdaptor.connect(
48                  url.getUserInfo(),
49                  url.getHost(),
50                  url.getPort()>0 ? url.getPort() : monitorAdaptor.getDefaultPort(),
51                  url.getPath(),
52                  attributes);
53      }
54      public static void disconnect(JobMonitorAdaptor monitorAdaptor) throws NoSuccessException {
55          monitorAdaptor.disconnect();
56      }
57  }