1 /*$Id: WorkflowManager.java,v 1.8 2004/12/03 14:47:41 jdt Exp $
2 * Created on 24-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.portal.workflow.intf;
12
13
14 /*** Container object that collects the various components used to interact with workflows.
15 * @script-summary root object of the jes client interface
16 * @script-doc root of object tree for constructing workflows, saving and loading to myspace, quering registry for application information, and submitting
17 * workflows for execution.
18 * @author Noel Winstanley nw@jb.man.ac.uk 24-Feb-2004
19 *
20 */
21 public class WorkflowManager{
22
23 WorkflowManager(WorkflowBuilder builder, WorkflowStore store, ApplicationRegistry reg,JobExecutionService jes) {
24 assert builder != null && store != null && reg != null && jes != null;
25 this.builder = builder;
26 this.store = store;
27 this.reg = reg;
28 this.jes = jes;
29
30 }
31 private final WorkflowBuilder builder;
32 private final WorkflowStore store;
33 private final ApplicationRegistry reg;
34 private final JobExecutionService jes;
35
36 /*** get a component to build workflows. never null*/
37 public WorkflowBuilder getWorkflowBuilder() {
38 return builder;
39 }
40 /*** get a component to access a store. never null */
41 public WorkflowStore getWorkflowStore(){
42 return store;
43 }
44 /*** get a component to query a registry. never null */
45 public ApplicationRegistry getToolRegistry(){
46 return reg;
47 }
48 /*** get a component to manage jobs - executoions of workflows. never null */
49 public JobExecutionService getJobExecutionService(){
50 return jes;
51 }
52
53 }
54
55
56 /*
57 $Log: WorkflowManager.java,v $
58 Revision 1.8 2004/12/03 14:47:41 jdt
59 Merges from workflow-nww-776
60
61 Revision 1.7.124.1 2004/12/01 21:08:35 nw
62 scripting documentation
63
64 Revision 1.7 2004/03/11 13:53:36 nw
65 merged in branch bz#236 - implementation of interfaces
66
67 Revision 1.6.2.2 2004/03/11 13:36:46 nw
68 tidied up interfaces, documented
69
70 Revision 1.6.2.1 2004/03/09 17:42:50 nw
71 getting there..
72
73 Revision 1.6 2004/03/09 15:33:00 nw
74 renamed toolRegistry to ApplicationRegistry
75
76 Revision 1.5 2004/03/03 11:15:23 nw
77 tarted up javadocs, reviewed types
78
79 Revision 1.4 2004/03/03 01:36:38 nw
80 merged interfaces in from branch nww-int05-bz#146
81
82 Revision 1.3.2.1 2004/03/01 19:02:57 nw
83 refined interfaces. almost ready to publish
84
85 Revision 1.3 2004/03/01 15:03:38 nw
86 simplified by removing facade - will expose object model directly
87
88 Revision 1.2 2004/02/25 10:57:43 nw
89 merged in branch nww-itn05-bz#140 (refactor in preparation for changing object model)
90
91 Revision 1.1.2.2 2004/02/24 21:57:00 nw
92 refined the method types
93
94 Revision 1.1.2.1 2004/02/24 15:35:46 nw
95 extracted public interface from each implementation class.
96 altered types to reference interface rather than implementation whever possible.
97 added factory and manager facade at the front
98
99 */