Examples of WorkflowProcess


Examples of org.fireflow.model.WorkflowProcess

        Task task = taskInstance.getTask();
        SubWorkflowProcess Subflow = ((SubflowTask) task).getSubWorkflowProcess();

        WorkflowDefinition subWorkflowDef = runtimeContext.getDefinitionService().getTheLatestVersionOfWorkflowDefinition(Subflow.getWorkflowProcessId());
        if (subWorkflowDef == null) {
            WorkflowProcess parentWorkflowProcess = taskInstance.getWorkflowProcess();
            throw new EngineException(taskInstance.getProcessInstanceId(), parentWorkflowProcess,
                    taskInstance.getTaskId(),
                    "系统中没有Id为" + Subflow.getWorkflowProcessId() + "的流程定义");
        }
        WorkflowProcess subWorkflowProcess = subWorkflowDef.getWorkflowProcess();

        if (subWorkflowProcess == null) {
            WorkflowProcess parentWorkflowProcess = taskInstance.getWorkflowProcess();
            throw new EngineException(taskInstance.getProcessInstanceId(), parentWorkflowProcess,
                    taskInstance.getTaskId(),
                    "系统中没有Id为" + Subflow.getWorkflowProcessId() + "的流程定义");
        }
       
View Full Code Here

Examples of org.fireflow.model.WorkflowProcess

     * @return
     * @throws KernelException
     */
    public INetInstance createNetInstance(WorkflowDefinition workflowDef) throws KernelException {
        if (workflowDef==null)return null;
        WorkflowProcess workflowProcess = null;
        workflowProcess = workflowDef.getWorkflowProcess();//解析fpdl

        if (workflowProcess == null ){
          throw new KernelException(null,null,"The WorkflowProcess property of WorkflowDefinition[processId="+workflowDef.getProcessId()+"] is null. ");
        }
        String validateMsg =  workflowProcess.validate();//校验工作流定义是否有效
        if (validateMsg != null){
          throw new KernelException(null,null,validateMsg);
        }
        NetInstance netInstance = new NetInstance(workflowProcess, kernelExtensions);

View Full Code Here

Examples of org.fireflow.model.WorkflowProcess

                    return new InputSource(bytels);
                }
            });
            Document document = reader.read(in);

            WorkflowProcess wp = parse(document);//解析
            return wp;
        } catch (DocumentException e) {
            e.printStackTrace();
            throw new FPDLParserException("Error parsing document.", e);
        } finally {
View Full Code Here

Examples of org.fireflow.model.WorkflowProcess

     */
    @SuppressWarnings("static-access")
  protected WorkflowProcess parse(Document document) throws FPDLParserException {
        Element workflowProcessElement = document.getRootElement();
//流程ID
        WorkflowProcess wp = new WorkflowProcess(workflowProcessElement.attributeValue(NAME));
        wp.setSn(UUID.randomUUID().toString());//使用UUID作为流程实例ID
        //流程整体描述
        wp.setDescription(Util4Parser.elementAsString(workflowProcessElement,
                DESCRIPTION));
        //流程Task creator
        wp.setTaskInstanceCreator(workflowProcessElement.attributeValue(TASK_INSTANCE_CREATOR));

        wp.setFormTaskInstanceRunner(workflowProcessElement.attributeValue(FORM_TASK_INSTANCE_RUNNER));
        wp.setToolTaskInstanceRunner(workflowProcessElement.attributeValue(TOOL_TASK_INSTANCE_RUNNER));
        wp.setSubflowTaskInstanceRunner(workflowProcessElement.attributeValue(SUBFLOW_TASK_INSTANCE_RUNNER));

        wp.setFormTaskInstanceCompletionEvaluator(workflowProcessElement.attributeValue(FORM_TASK_INSTANCE_COMPLETION_EVALUATOR));
        wp.setToolTaskInstanceCompletionEvaluator(workflowProcessElement.attributeValue(TOOL_TASK_INSTANCE_COMPLETION_EVALUATOR));
        wp.setSubflowTaskInstanceCompletionEvaluator(workflowProcessElement.attributeValue(SUBFLOW_TASK_INSTANCE_COMPLETION_EVALUATOR));
//流程显示名称
        wp.setDisplayName(workflowProcessElement.attributeValue(DISPLAY_NAME));
        //下面两个属性,暂时还未使用
        wp.setResourceFile(workflowProcessElement.attributeValue(RESOURCE_FILE));
        wp.setResourceManager(workflowProcessElement.attributeValue(RESOURCE_MANAGER));

        //解析datafields
        this.loadDataFields(wp, wp.getDataFields(), Util4Parser.child(
                workflowProcessElement, this.DATA_FIELDS));
        //开始节点
        loadStartNode(wp, Util4Parser.child(workflowProcessElement, START_NODE));
//整体流程对应的task ,这个属性好像暂时未启用
        loadTasks(wp, wp.getTasks(),Util4Parser.child(
                    workflowProcessElement, TASKS) );
//所有业务节点,同时将这个节点的所有的属性都解析出来保存到节点信息中。
        loadActivities(wp, wp.getActivities(), Util4Parser.child(
                workflowProcessElement, ACTIVITIES));
        //工作流同步器节点
        loadSynchronizers(wp, wp.getSynchronizers(), Util4Parser.child(
                workflowProcessElement, SYNCHRONIZERS));
        //结束节点
        loadEndNodes(wp, wp.getEndNodes(), Util4Parser.child(
                workflowProcessElement, END_NODES));
        //转移线
        loadTransitions(wp, Util4Parser.child(workflowProcessElement,
                TRANSITIONS));
//循环线
        loadLoops(wp,Util4Parser.child(workflowProcessElement, LOOPS));
//所有的监听器
        loadEventListeners(wp.getEventListeners(), Util4Parser.child(workflowProcessElement, EVENT_LISTENERS));
//加载扩展属性
        Map<String, String> extAttrs = wp.getExtendedAttributes();
        loadExtendedAttributes(extAttrs, Util4Parser.child(
                workflowProcessElement, EXTENDED_ATTRIBUTES));

        return wp;

View Full Code Here

Examples of org.fireflow.model.WorkflowProcess

     */
    protected WorkflowProcess parse(Document document) throws FPDLParserException {

        Element workflowProcessElement = document.getDocumentElement();

        WorkflowProcess wp = new WorkflowProcess(workflowProcessElement.getAttribute(NAME));
        wp.setSn(UUID.randomUUID().toString());
        wp.setDescription(Util4JAXPParser.elementAsString(workflowProcessElement,
                DESCRIPTION));
        wp.setDisplayName(workflowProcessElement.getAttribute(DISPLAY_NAME));
        wp.setResourceFile(workflowProcessElement.getAttribute(RESOURCE_FILE));
        wp.setResourceManager(workflowProcessElement.getAttribute(RESOURCE_MANAGER));

        wp.setTaskInstanceCreator(workflowProcessElement.getAttribute(TASK_INSTANCE_CREATOR));

        wp.setFormTaskInstanceRunner(workflowProcessElement.getAttribute(FORM_TASK_INSTANCE_RUNNER));

        wp.setToolTaskInstanceRunner(workflowProcessElement.getAttribute(TOOL_TASK_INSTANCE_RUNNER));

        wp.setSubflowTaskInstanceRunner(workflowProcessElement.getAttribute(SUBFLOW_TASK_INSTANCE_RUNNER));

        wp.setFormTaskInstanceCompletionEvaluator(workflowProcessElement.getAttribute(FORM_TASK_INSTANCE_COMPLETION_EVALUATOR));

        wp.setToolTaskInstanceCompletionEvaluator(workflowProcessElement.getAttribute(TOOL_TASK_INSTANCE_COMPLETION_EVALUATOR));
        wp.setSubflowTaskInstanceCompletionEvaluator(workflowProcessElement.getAttribute(SUBFLOW_TASK_INSTANCE_COMPLETION_EVALUATOR));


        this.loadDataFields(wp, wp.getDataFields(), Util4JAXPParser.child(
                workflowProcessElement, DATA_FIELDS));

        this.loadTasks(wp, wp.getTasks(), Util4JAXPParser.child(
                workflowProcessElement, TASKS));

        loadStartNode(wp, Util4JAXPParser.child(workflowProcessElement, START_NODE));
        loadActivities(wp, wp.getActivities(), Util4JAXPParser.child(
                workflowProcessElement, ACTIVITIES));
        loadSynchronizers(wp, wp.getSynchronizers(), Util4JAXPParser.child(
                workflowProcessElement, SYNCHRONIZERS));
        loadEndNodes(wp, wp.getEndNodes(), Util4JAXPParser.child(
                workflowProcessElement, END_NODES));
        loadTransitions(wp, Util4JAXPParser.child(workflowProcessElement,
                TRANSITIONS));
        loadLoops(wp, Util4JAXPParser.child(workflowProcessElement,
                LOOPS));
        loadEventListeners(wp.getEventListeners(), Util4JAXPParser.child(workflowProcessElement, EVENT_LISTENERS));

        Map<String, String> extAttrs = wp.getExtendedAttributes();
        loadExtendedAttributes(extAttrs, Util4JAXPParser.child(
                workflowProcessElement, EXTENDED_ATTRIBUTES));

        return wp;

View Full Code Here

Examples of org.fireflow.model.WorkflowProcess

        String synchronizer1Id = "MyFirstProcess.Synchronizer1";
        String synchronizer2Id = "MyFirstProcess.Synchronizer2";
        InputStream in = Dom4JFPDLParserTest.class.getResourceAsStream("/org/fireflow/model/io/MyFirstProcess.xml");
        Dom4JFPDLParser instance = new Dom4JFPDLParser();

        WorkflowProcess workflowProcess1 = instance.parse(in);
       
        String tmpDir = System.getProperty("java.io.tmpdir");
       
        File f = new File(tmpDir+"MyFirstProcess_tmp.xml");
        FileOutputStream out = new FileOutputStream(f);
        Dom4JFPDLSerializer ser = new Dom4JFPDLSerializer();
        ser.serialize(workflowProcess1, out);
        out.flush();
        out.close();

        FileInputStream fIn= new FileInputStream(f);
        WorkflowProcess result = instance.parse(fIn);
        f.delete();

        assertNotNull(result);

        assertEquals(1, result.getLoops().size());

        Loop loop = (Loop)result.getLoops().get(0);
        assertNotNull(loop.getCondition());

        Synchronizer sync1 = (Synchronizer)result.findWFElementById(synchronizer1Id);
        assertEquals(1,sync1.getEnteringLoops().size());
        assertEquals(0,sync1.getLeavingLoops().size());

        Synchronizer sync2 = (Synchronizer)result.findWFElementById(synchronizer2Id);
        assertEquals(0,sync2.getEnteringLoops().size());
        assertEquals(1,sync2.getLeavingLoops().size());
    }
View Full Code Here

Examples of org.fireflow.model.WorkflowProcess

        final String PrepareGoodsActivity_ID = "Goods_Deliver_Process.PrepareGoodsActivity";
        final String PaymentActivity_ID = "Goods_Deliver_Process.PaymentActivity";
        InputStream in = Dom4JFPDLParserTest.class.getResourceAsStream("/org/fireflow/model/io/example_workflow.xml");
        JAXP_FPDL_Parser instance = new JAXP_FPDL_Parser();

        WorkflowProcess workflowProcess1 = instance.parse(in);
       
        String tmpDir = System.getProperty("java.io.tmpdir");
        File f = new File(tmpDir+"example_workflow_tmp.xml");
        FileOutputStream out = new FileOutputStream(f);
        JAXP_FPDL_Serializer ser = new JAXP_FPDL_Serializer();
        ser.serialize(workflowProcess1, out);
        out.flush();
        out.close();

        FileInputStream fIn= new FileInputStream(f);
        WorkflowProcess result = instance.parse(fIn);
        f.delete();
        assertNotNull(result);

        assertNotNull(result.getStartNode());
        assertEquals(1, result.getTasks().size());
        assertEquals(4, result.getActivities().size());
        assertEquals(2, result.getSynchronizers().size());
        assertEquals(1, result.getEndNodes().size());
        assertEquals(8, result.getTransitions().size());

        Activity paymentActivity = (Activity) result.findWFElementById(PaymentActivity_ID);
        assertNotNull(paymentActivity);
        assertEquals(1, paymentActivity.getTasks().size());
        assertEquals(1, paymentActivity.getInlineTasks().size());

        Activity prepareGoodsActivity = (Activity) result.findWFElementById(PrepareGoodsActivity_ID);
        assertNotNull(prepareGoodsActivity);
        assertEquals(1, prepareGoodsActivity.getTasks().size());
        assertEquals(1, prepareGoodsActivity.getTaskRefs().size());

    }
View Full Code Here

Examples of org.fireflow.model.WorkflowProcess

        String synchronizer1Id = "MyFirstProcess.Synchronizer1";
        String synchronizer2Id = "MyFirstProcess.Synchronizer2";
        InputStream in = Dom4JFPDLParserTest.class.getResourceAsStream("/org/fireflow/model/io/MyFirstProcess.xml");
        JAXP_FPDL_Parser instance = new JAXP_FPDL_Parser();

        WorkflowProcess workflowProcess1 = instance.parse(in);
       
        String tmpDir = System.getProperty("java.io.tmpdir");
        File f = new File(tmpDir+"MyFirstProcess_tmp.xml");
        FileOutputStream out = new FileOutputStream(f);
        JAXP_FPDL_Serializer ser = new JAXP_FPDL_Serializer();
        ser.serialize(workflowProcess1, out);
        out.flush();
        out.close();

        FileInputStream fIn= new FileInputStream(f);
        WorkflowProcess result = instance.parse(fIn);
        f.delete();

        assertNotNull(result);

        assertEquals(1, result.getLoops().size());

        Loop loop = (Loop)result.getLoops().get(0);
        assertNotNull(loop.getCondition());

        Synchronizer sync1 = (Synchronizer)result.findWFElementById(synchronizer1Id);
        assertEquals(1,sync1.getEnteringLoops().size());
        assertEquals(0,sync1.getLeavingLoops().size());

        Synchronizer sync2 = (Synchronizer)result.findWFElementById(synchronizer2Id);
        assertEquals(0,sync2.getEnteringLoops().size());
        assertEquals(1,sync2.getLeavingLoops().size());
    }
View Full Code Here

Examples of org.fireflow.model.WorkflowProcess

        final String PrepareGoodsActivity_ID = "Goods_Deliver_Process.PrepareGoodsActivity";
        final String PaymentActivity_ID = "Goods_Deliver_Process.PaymentActivity";
        InputStream in = Dom4JFPDLParserTest.class.getResourceAsStream("/org/fireflow/model/io/example_workflow.xml");
        Dom4JFPDLParser instance = new Dom4JFPDLParser();

        WorkflowProcess result = instance.parse(in);
        assertNotNull(result);

        assertNotNull(result.getStartNode());
        assertEquals(1, result.getTasks().size());
        assertEquals(4, result.getActivities().size());
        assertEquals(2, result.getSynchronizers().size());
        assertEquals(1, result.getEndNodes().size());
        assertEquals(8, result.getTransitions().size());
       
        Task task = result.getTasks().get(0);
        assertEquals("Goods_Deliver_Process.PrepareGoodsTask",task.getId());

        Activity paymentActivity = (Activity) result.findWFElementById(PaymentActivity_ID);
        assertNotNull(paymentActivity);
        assertEquals(1, paymentActivity.getTasks().size());
        assertEquals(1, paymentActivity.getInlineTasks().size());

        Activity prepareGoodsActivity = (Activity) result.findWFElementById(PrepareGoodsActivity_ID);
        assertNotNull(prepareGoodsActivity);
        assertEquals(1, prepareGoodsActivity.getTasks().size());
        assertEquals(1, prepareGoodsActivity.getTaskRefs().size());
    }
View Full Code Here

Examples of org.fireflow.model.WorkflowProcess

        String synchronizer2Id = "MyFirstProcess.Synchronizer2";

        InputStream in = Dom4JFPDLParserTest.class.getResourceAsStream("/org/fireflow/model/io/MyFirstProcess.xml");
        Dom4JFPDLParser instance = new Dom4JFPDLParser();

        WorkflowProcess result = instance.parse(in);

        assertNotNull(result);

        assertEquals(1, result.getLoops().size());

        Loop loop = (Loop)result.getLoops().get(0);
        assertNotNull(loop.getCondition());

        Synchronizer sync1 = (Synchronizer)result.findWFElementById(synchronizer1Id);
        assertEquals(1,sync1.getEnteringLoops().size());
        assertEquals(0,sync1.getLeavingLoops().size());

        Synchronizer sync2 = (Synchronizer)result.findWFElementById(synchronizer2Id);
        assertEquals(0,sync2.getEnteringLoops().size());
        assertEquals(1,sync2.getLeavingLoops().size());
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.