1 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 ; 31 32 44 public class WorkflowEvaluatorFacade { 45 47 public Collection getAllRegisteredWorkflows() { 48 return WorkflowEvaluator.getAllRegisteredWorkflows(); 49 } 50 51 public State getDefaultStateForWorkflow(String workflowName) { 52 return WorkflowEvaluator.getDefaultStateForWorkflow(workflowName); 53 } 54 55 public boolean isModuleViewableForState(WorkflowContext ctx, 56 WorkflowData wd, String moduleName) throws Exception { 57 return WorkflowEvaluator.isModuleViewableForState(ctx, wd, moduleName); 58 } 59 60 public State getState(String workflowName, String stateName) 61 throws Exception { 62 return WorkflowEvaluator.getState(workflowName, stateName); 63 } 64 65 public Workflow getWorkflow(String workflowName) { 66 return WorkflowEvaluator.getWorkflow(workflowName); 67 } 68 69 public State determineState(WorkflowContext ctx, WorkflowData wd) 70 throws Exception { 71 State retVal = WorkflowEvaluator.determineState(ctx, wd); 72 HibernateUtil.evict(wd); 73 HibernateUtil.saveOrUpdate(wd); 74 HibernateUtil.finalizeSession(); 75 return retVal; 76 } 77 78 82 public static State transition(WorkflowContext ctx, StateTransition st, 83 WorkflowData wd) throws Exception { 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 96 public static State transition(WorkflowContext ctx, StateTransition st, 97 WorkflowData wd, boolean performActions) throws Exception { 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 workflowName) { 107 WorkflowEvaluator.deregisterWorkflow(workflowName); 108 } 109 110 public void registerWorkflow(Workflow pw) { 111 WorkflowEvaluator.registerWorkflow(pw); 112 } 113 } 114 | Popular Tags |