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 + -
显示快捷键?