📄 statemachinetest.java
字号:
package cn.myapps.core.workflow.engine;
import java.util.Collection;
import java.util.Iterator;
import junit.framework.TestCase;
import cn.myapps.constans.Environment;
import cn.myapps.core.dynaform.document.ejb.Document;
import cn.myapps.core.dynaform.document.ejb.DocumentProcess;
import cn.myapps.core.user.action.UserAction;
import cn.myapps.core.user.action.WebUser;
import cn.myapps.core.user.ejb.UserProcess;
import cn.myapps.core.user.ejb.UserVO;
import cn.myapps.core.workflow.element.FlowDiagram;
import cn.myapps.core.workflow.element.ManualNode;
import cn.myapps.core.workflow.element.Relation;
import cn.myapps.core.workflow.element.StartNode;
import cn.myapps.core.workflow.storage.definition.action.BillDefiAction;
import cn.myapps.core.workflow.storage.definition.ejb.BillDefiVO;
import cn.myapps.core.workflow.utility.NameList;
import cn.myapps.core.workflow.utility.Sequence;
import cn.myapps.util.ProcessFactory;
public class StateMachineTest extends TestCase {
BillDefiAction action;
UserAction userAction;
protected void setUp() throws Exception {
super.setUp();
action = new BillDefiAction();
userAction = new UserAction();
}
protected void tearDown() throws Exception {
super.tearDown();
}
public void testDoFlowprcss() throws Exception {
FlowDiagram fd = new FlowDiagram();
StartNode startNode1 = fd.addStartNode("formname1", 100, 100);
StartNode startNode2 = fd.addStartNode("formname2", 100, 100);
String namelist = "(U1161258943671001|sky;" + "U1161261465406001|m)";
ManualNode manualNode = fd.addManualNode("name", 100, 100);
Relation relation = new Relation(fd); // 添加关系
relation.setStartnode(startNode1);
relation.setEndnode(manualNode);
relation.name = "relation";
fd.appendElement(relation);
String flow = fd.toXML();
BillDefiVO flowVO = new BillDefiVO();
flowVO.setId(Sequence.getSequence());
flowVO.setFlow(flow);
DocumentProcess dp = (DocumentProcess) ProcessFactory
.createProcess(DocumentProcess.class);
Document doc = (Document) dp.doView("1161066825015000");
UserProcess up = (UserProcess) ProcessFactory
.createProcess(UserProcess.class);
UserVO user = (UserVO) up.doView("1161258943671001");
Environment evt = new Environment("c:/");
StateMachine.doFlow(doc.getId(), flowVO, startNode1.id,
new String[] { manualNode.id }, new WebUser(user), "", "", evt);
}
public void testNameList() throws Exception {
String nlStr = "{A001|a|test;B001|b;({C001|c;D001|d};{E001|e;F001|f});(G001|g;H001|h);I001|i}";
System.out.println("NameList->" + nlStr);
NameList nl = NameList.parser(nlStr);
Collection colls = nl.toCollection();
Iterator it = colls.iterator();
System.out.println("id->" + ((String[]) it.next())[0]);
System.out.println("name->" + ((String[]) it.next())[1]);
System.out.println("option->" + nl.getOption());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -