instanceinitialize.java
来自「一个工作流的原型」· Java 代码 · 共 134 行
JAVA
134 行
/* * InstanceInitialize.java * * Created on 2004年12月18日, 下午1:17 */package workflow.xwfbox.engine;import java.util.Date;import java.io.*;import java.util.Vector;import java.util.Iterator;import java.lang.Float;import org.jdom.*;import org.jdom.input.*;import org.jdom.output.*;import org.jdom.transform.*;import javax.xml.transform.*;import javax.xml.transform.stream.*;import workflow.xwfbox.instance.*;import workflow.xwfbox.resource.*;import workflow.xwfbox.worklist.*;import workflow.xwfbox.instanceTable.*;/** * * @author Administrator */public class InstanceInitialize { // String InstanceMappingTableBinding = "file:///D:/xwfbox-v3/Source/xml/mapping/InstanceTableMapping.xml";// String InstanceMappingTable = "D:/xwfbox-v3/Source/xml/instances/InstanceTable.xml"; String InstanceMapping = "file:///D:/xwfbox-v3/Source/xml/mapping/mapping.xml"; String sheetName = "D:/xwfbox-v3/source/xml/xslt/Initiate.xslt"; InstanceRec _InstanceRec = new InstanceRec(); /** Creates a new instance of InstanceInitialize */ public InstanceInitialize() { } public InstanceInitialize(InstanceRec InstanceRec) { _InstanceRec = InstanceRec; } public InstanceInitialize(String InstanceId,String ProcessId, String InitiatorId, Date Started,String State,String PackageLoc,String InstanceLoc) { _InstanceRec.setInstanceId(InstanceId); _InstanceRec.setProcessId(ProcessId); _InstanceRec.setInitiatorId(InitiatorId); _InstanceRec.setStarted(Started); _InstanceRec.setState(State); _InstanceRec.setPackageLoc(PackageLoc); _InstanceRec.setInstanceLoc(InstanceLoc); } public int go() { InstanceTableManager itm = new InstanceTableManager(); InstanceTable read = itm.getInstanceTable(); read.addInstanceRec(_InstanceRec); itm.setInstanceTable(read); itm.updateInstanceTable(); createInstance(); InstanceManager im = new InstanceManager(_InstanceRec.getInstanceLoc()); im.setInstanceInfo(null, null, _InstanceRec.getStarted(), null, null, _InstanceRec.getInitiatorId(), "INIT"); im.buildStartEndNode(); im.buildStartTask(); im.update(); TaskNode taskNode = im.getTaskNodeByActivityId("ProcessStart"); //Initiator String initiatorId = _InstanceRec.getInitiatorId(); //Find the location of the worklist for the initiator from organization ResourceManager rm = new ResourceManager(); String worklistPath = rm.getWorkListPath("HUMAN"); //Put the start node work item to worklist WorkListManager wm = new WorkListManager(initiatorId, worklistPath); wm.pushWorkItem(taskNode.getId(), "ProcessStart", _InstanceRec.getInstanceId()); return 0; } private void createInstance() { String source = _InstanceRec.getPackageLoc(); String target = _InstanceRec.getInstanceLoc(); String ProcessId = _InstanceRec.getProcessId(); String instanceId = _InstanceRec.getInstanceId();// String InitiatorId = _InstanceRec.getInitiatorId();// Date Started = _InstanceRec.getStarted(); Document doc2 = null; Document doc = null; SAXBuilder builder = new SAXBuilder(); try { doc = builder.build(source); } catch (JDOMException e) { } catch (IOException e) { } Element root = doc.getRootElement(); Element ele = new Element("SelectedProcess"); Attribute att = new Attribute("ProcessId",ProcessId); ele.setAttribute(att); att = new Attribute("InstanceId",instanceId); ele.setAttribute(att); root.addContent(ele); doc.setRootElement(root); try { XSLTransformer transformer = new XSLTransformer(sheetName); doc2 = transformer.transform(doc); } catch (XSLTransformException e) { } XMLOutputter outp = new XMLOutputter(Format.getPrettyFormat()); try { java.io.OutputStream f = new FileOutputStream(target); outp.output(doc2, f); } catch (FileNotFoundException e) { } catch (IOException e) { } } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?