View Javadoc

1   /*$Id: JobController.java,v 1.8 2004/12/03 14:47:41 jdt Exp $
2    * Created on 06-Feb-2004
3    *
4    * Copyright (C) AstroGrid. All rights reserved.
5    *
6    * This software is published under the terms of the AstroGrid 
7    * Software License version 1.2, a copy of which has been included 
8    * with this distribution in the LICENSE.txt file.  
9    *
10  **/
11  package org.astrogrid.jes.delegate;
12  
13  import org.astrogrid.community.beans.v1.Account;
14  import org.astrogrid.workflow.beans.v1.Workflow;
15  import org.astrogrid.workflow.beans.v1.execution.JobURN;
16  import org.astrogrid.workflow.beans.v1.execution.WorkflowSummaryType;
17  
18  /*** Interface to a service for managing jobs - listing, deleting, submitting for execution, etc.
19   * <p />
20   * same as axis-generated service interface, but with castor types instead
21   * @author Noel Winstanley nw@jb.man.ac.uk 06-Feb-2004
22   *
23   */
24  public interface JobController extends Delegate {
25      /*** submit a workflow document for execution as a new job
26       * 
27       * @param wf workflow to execute
28       * @return a unique identifier for this job
29       * @throws JesDelegateException
30       */ 
31      public JobURN submitWorkflow(Workflow wf) throws JesDelegateException;
32      /*** cancel the execution of a job
33       * 
34       * @param urn unique identifier of the job to cancel
35       * @throws JesDelegateException
36       */
37      public void cancelJob(JobURN urn) throws JesDelegateException;
38      /*** delete all record of a job
39       * 
40       * @param urn unique identifier of the job to delete
41       * @throws JesDelegateException
42       */
43      public void deleteJob(JobURN urn) throws JesDelegateException;
44      /*** retreive a list of all jobs (pending, running and completed) for a particular user
45       * 
46       * @param acc account object for the user in question
47       * @return array of job summary objects, one summary for each job the user has in the system
48       * @deprecated - use {@link #listJobs}
49       * @throws JesDelegateException
50       */
51      public JobSummary[] readJobList(Account acc) throws JesDelegateException;
52      
53      /*** retreive a list of all jobs (pending, runing and completed) for a particylar user */
54      public WorkflowSummaryType[] listJobs(Account acc) throws JesDelegateException;
55      /*** retrive the workflow document for a job.
56       * 
57       * @param urn unique identifier for a job.
58       * @return annotated workflow document - will contains details of step execution, etc.
59       * @throws JesDelegateException
60       */
61      public Workflow readJob(JobURN urn) throws JesDelegateException;
62  }
63  /* 
64  $Log: JobController.java,v $
65  Revision 1.8  2004/12/03 14:47:41  jdt
66  Merges from workflow-nww-776
67  
68  Revision 1.7.128.1  2004/12/01 21:48:20  nw
69  adjusted to work with new summary object,
70  and changed package of JobURN
71  
72  Revision 1.7  2004/03/15 01:30:30  nw
73  jazzed up javadoc
74  
75  Revision 1.6  2004/03/09 15:04:42  nw
76  renamed JobInfo to JobSummary
77  
78  Revision 1.5  2004/03/09 14:23:12  nw
79  integrated new JobController wsdl interface
80  
81  Revision 1.4  2004/03/05 16:16:23  nw
82  worked now object model through jes.
83  implemented basic scheduling policy
84  removed internal facade
85  
86  Revision 1.3  2004/02/27 00:46:03  nw
87  merged branch nww-itn05-bz#91
88  
89  Revision 1.2.2.4  2004/02/17 12:39:18  nw
90  added impelemnts Delegate
91  
92  Revision 1.2.2.3  2004/02/17 12:25:38  nw
93  improved javadocs for classes
94  
95  Revision 1.2.2.2  2004/02/17 11:00:15  nw
96  altered delegate interfaces to fit strongly-types wsdl2java classes
97  
98  Revision 1.2.2.1  2004/02/11 16:09:10  nw
99  refactored delegates (again)
100 
101 Revision 1.2  2004/02/09 11:41:44  nw
102 merged in branch nww-it05-bz#85
103 
104 Revision 1.1.2.1  2004/02/06 18:11:21  nw
105 reworked the delegate classes
106 - introduced wrapper class and interfaces, plus separate impl
107 package with abstract base class. moved delegate classes into the correct
108 packages, deprecated old methods / classes. fitted in castor object model
109  
110 */