⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jetflow.java

📁 一个工作流组件(包括定义和引擎)
💻 JAVA
字号:
package org.shaoye.workflow.flow;

import org.shaoye.workflow.flow.*;
import org.shaoye.workflow.item.*;
import org.shaoye.workflow.state.StateMachine;
import org.shaoye.workflow.dto.WorkFlowGlobal;

import java.util.HashMap;
import java.util.Set;
import java.util.Iterator;

/**
 *
 * <p>Title: ���������� </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class JetFlow {
    public JetFlow() {}

    /**
     * ����������
     * @param global WorkFlowGlobal
     * @return WorkFlowGlobal
     * @throws Exception
     */
    public WorkFlowGlobal runFlow( WorkFlowGlobal global )
            throws Exception
    {

        FlowItem flowItem = StateMachine.getFlowItem(global.getWorkflowid());
        global.setPeriNode( global.getCurrNode() );
        HashMap nodes = flowItem.getNodeMap();
        Set set = nodes.keySet();
        Iterator it = set.iterator();
        while( it.hasNext() )
        {
            String key = (String)it.next();
            NodeItem nodeItem = (NodeItem)nodes.get(key);
            if(nodeItem.getCodeID().equals(global.getCurrNode()))
            {
                HashMap caseMap = nodeItem.getCaseMap();
                global.setCurrNode_isFinal( nodeItem.get_final() );
                Set _set = caseMap.keySet();
                Iterator _it = _set.iterator();
                while(_it.hasNext())
                {
                    String _key = (String)_it.next();
                    CaseItem caseItem = (CaseItem)caseMap.get(_key);
                    if(caseItem.getIfCase().equals(global.getCurrNodeOper()))
                    {
                        global.setCurrNode(caseItem.getNextNode());
                        global.setCurrNodeReason(caseItem.getReason());
                        break;
                    }
                    else
                        continue;
                }
                break;
            }
            else
                continue;
        }
        return global;
    }

    /**
     * ���Գ���
     * @param args String[]
     * @throws Exception
     */
    public static void main(String[] args)
            throws Exception{
        try
        {
            //�������
            WorkFlowGlobal global = new WorkFlowGlobal();
            JetFlow jetflow =
                    new JetFlow();
            global.setCurrNode("n1");
            global.setCurrNodeOper("pass");

            //������!
            global = jetflow.runFlow(global);
            System.out.println("CurrNode: "+global.getCurrNode());
            System.out.println("CurrNodeOper: "+global.getCurrNodeOper());
            System.out.println("CurrNodeReason: "+global.getCurrNodeReason());
            System.out.println("NextNode: "+global.getNextNode());
            System.out.println("StartupNodeID: "+global.getStartupNodeID());
            System.out.println("Workflowid: "+global.getWorkflowid());
            System.out.println("Is_Final: "+global.getCurrNode_isFinal());
        }
        catch(Exception ex)
        {
            System.out.println(ex.toString());
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -