KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > za > org > coefficient > util > workflow > WorkflowEvaluatorFacade


1 /*
2  * Coefficient - facilitates project based collaboration
3  * Copyright (C) 2003, Dylan Etkin, CSIR icomtek
4  * PO Box 395
5  * Pretoria 0001, RSA
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  */

19
20 package za.org.coefficient.util.workflow;
21
22 import za.co.csir.icomtek.workflow.*;
23 import za.co.csir.icomtek.workflow.interfaces.WorkflowContext;
24 import za.co.csir.icomtek.workflow.model.State;
25 import za.co.csir.icomtek.workflow.model.StateTransition;
26 import za.co.csir.icomtek.workflow.model.Workflow;
27
28 import net.sf.hibernate.util.HibernateUtil;
29
30 import java.util.Collection JavaDoc;
31
32 /**
33  * @pojo2ejb.class
34  * name="WorkflowEvaluatorFacade"
35  * jndi-prefix="za/org/coefficient/util/"
36  *
37  * @web.resource-env-ref
38  * name="za/org/coefficient/util/WorkflowEvaluatorFacade"
39  * type="za.org.coefficient.util.workflow.WorkflowEvaluatorFacade"
40  * @web.resource-env-ref
41  * name="WorkflowEvaluatorFacade"
42  * type="za.org.coefficient.util.workflow.WorkflowEvaluatorFacade"
43  */

44 public class WorkflowEvaluatorFacade {
45     //~ Methods ================================================================
46

47     public Collection JavaDoc getAllRegisteredWorkflows() {
48         return WorkflowEvaluator.getAllRegisteredWorkflows();
49     }
50
51     public State getDefaultStateForWorkflow(String JavaDoc workflowName) {
52         return WorkflowEvaluator.getDefaultStateForWorkflow(workflowName);
53     }
54
55     public boolean isModuleViewableForState(WorkflowContext ctx,
56         WorkflowData wd, String JavaDoc moduleName) throws Exception JavaDoc {
57         return WorkflowEvaluator.isModuleViewableForState(ctx, wd, moduleName);
58     }
59
60     public State getState(String JavaDoc workflowName, String JavaDoc stateName)
61         throws Exception JavaDoc {
62         return WorkflowEvaluator.getState(workflowName, stateName);
63     }
64
65     public Workflow getWorkflow(String JavaDoc workflowName) {
66         return WorkflowEvaluator.getWorkflow(workflowName);
67     }
68
69     public State determineState(WorkflowContext ctx, WorkflowData wd)
70         throws Exception JavaDoc {
71         State retVal = WorkflowEvaluator.determineState(ctx, wd);
72         HibernateUtil.evict(wd);
73         HibernateUtil.saveOrUpdate(wd);
74         HibernateUtil.finalizeSession();
75         return retVal;
76     }
77
78     /**
79      * Use this to perform a manual state transition
80      * @ejb:interface-method
81      */

82     public static State transition(WorkflowContext ctx, StateTransition st,
83         WorkflowData wd) throws Exception JavaDoc {
84         State retVal = WorkflowEvaluator.transition(ctx, st, wd);
85         HibernateUtil.evict(wd);
86         HibernateUtil.saveOrUpdate(wd);
87         HibernateUtil.finalizeSession();
88         return retVal;
89     }
90
91     /**
92      * Use this to perform a manual state transition. You can transtion while
93      * bypassing actions by setting performActions to false
94      * @ejb:interface-method
95      */

96     public static State transition(WorkflowContext ctx, StateTransition st,
97         WorkflowData wd, boolean performActions) throws Exception JavaDoc {
98         State retVal =
99             WorkflowEvaluator.transition(ctx, st, wd, performActions);
100         HibernateUtil.evict(wd);
101         HibernateUtil.saveOrUpdate(wd);
102         HibernateUtil.finalizeSession();
103         return retVal;
104     }
105
106     public void deregisterWorkflow(String JavaDoc workflowName) {
107         WorkflowEvaluator.deregisterWorkflow(workflowName);
108     }
109
110     public void registerWorkflow(Workflow pw) {
111         WorkflowEvaluator.registerWorkflow(pw);
112     }
113 }
114
Popular Tags