View Javadoc

1   package fr.in2p3.jsaga.engine.job.monitor.listen;
2   
3   import fr.in2p3.jsaga.adaptor.job.monitor.ListenIndividualJob;
4   import fr.in2p3.jsaga.engine.job.monitor.JobMonitorCallback;
5   import fr.in2p3.jsaga.engine.job.monitor.request.JobStatusRequestor;
6   import org.ogf.saga.error.NoSuccessException;
7   import org.ogf.saga.error.TimeoutException;
8   
9   /* ***************************************************
10  * *** Centre de Calcul de l'IN2P3 - Lyon (France) ***
11  * ***             http://cc.in2p3.fr/             ***
12  * ***************************************************
13  * File:   IndividualJobStatusListener
14  * Author: Sylvain Reynaud (sreynaud@in2p3.fr)
15  * Date:   10 janv. 2008
16  * ***************************************************
17  * Description:                                      */
18  /**
19   *
20   */
21  public class IndividualJobStatusListener extends AbstractJobStatusListener {
22      private ListenIndividualJob m_adaptor;
23  
24      public IndividualJobStatusListener(ListenIndividualJob adaptor, JobStatusRequestor requestor) {
25          super(requestor);
26          m_adaptor = adaptor;
27      }
28  
29      protected void doSubscribeJob(String nativeJobId, JobMonitorCallback callback) throws TimeoutException, NoSuccessException {
30          m_adaptor.subscribeJob(nativeJobId, new IndividualJobStatusNotifier(callback));
31      }
32  
33      public synchronized void unsubscribeJob(String nativeJobId) throws TimeoutException, NoSuccessException {
34          m_adaptor.unsubscribeJob(nativeJobId);
35      }
36  }