List outTrans = new ArrayList();
WorkflowActivity workActivity = workflowWork.getWorkflowActivity();
List transList = workActivity.getOutgoingTransitions();
WorkflowProcess workflowProcess = workActivity.getWorkflowProcess();
WorkflowPackage workflowPackage = workflowProcess.getWorkflowPackage();
ScriptInterpretor interpretor = workflowService.getScriptInterpretor();
RuntimeContext context = null;
WorkflowCase workflowCase = workflowWork.getWorkflowCase();
WorkflowCaseContext caseContext = workflowCase.getCaseContext();
List rejectTrans = new ArrayList();
int sizeTrans = transList.size();
if (sizeTrans > 0)
{
WorkflowTransition transition = null;
for (int i = 0; i < sizeTrans; ++i)
{
if (context != null)
{
context.clear();
}
transition = (WorkflowTransition) transList.get(i);
context = genParameterConext(caseContext, transition);
WorkflowCondition conditon = transition.getCondition();
if (conditon == null)
{
outTrans.add(transition);
log.debug("[filterOutTransition_orSplit] ACCEPT transition:" + transition.getInfo() + " | condition: " + conditon);
}
else
{
if (interpretor.evalute(workflowWork, transition, context))
{
log.debug("[filterOutTransition_orSplit] ACCEPT transition:" + transition.getInfo() + " | condition: " + conditon);
try
{
updateContext(workflowProcess, operator, caseDatabase, userTransaction, context, caseContext, false);