Package org.fireflow.model

Examples of org.fireflow.model.Task


        if (!Task.TOOL.equals(taskInstance.getTaskType())) {
            throw new EngineException(processInstance,
                    taskInstance.getActivity(),
                    "DefaultToolTaskInstanceRunner:TaskInstance的任务类型错误,只能为TOOL类型");
        }
        Task task = taskInstance.getTask();
        if (task == null) {
            WorkflowProcess process = taskInstance.getWorkflowProcess();
            throw new EngineException(taskInstance.getProcessInstanceId(), process,
                    taskInstance.getTaskId(),
                    "The Task is null,can NOT start the taskinstance,");
View Full Code Here


        if (!Task.SUBFLOW.equals(taskInstance.getTaskType())) {
            throw new EngineException(processInstance,
                    taskInstance.getActivity(),
                    "DefaultSubflowTaskInstanceRunner:TaskInstance的任务类型错误,只能为SUBFLOW类型");
        }
        Task task = taskInstance.getTask();
        SubWorkflowProcess Subflow = ((SubflowTask) task).getSubWorkflowProcess();

        WorkflowDefinition subWorkflowDef = runtimeContext.getDefinitionService().getTheLatestVersionOfWorkflowDefinition(Subflow.getWorkflowProcessId());
        if (subWorkflowDef == null) {
            WorkflowProcess parentWorkflowProcess = taskInstance.getWorkflowProcess();
View Full Code Here

        List<Element> taskRefElems = Util4Parser.children(taskRefsElement, TASKREF);
        Iterator<Element> iter = taskRefElems.iterator();
        while(iter.hasNext()){
            Element elm = iter.next();
            String taskId = elm.attributeValue(REFERENCE);
            Task task = (Task)workflowProcess.findWFElementById(taskId);
            if (task!=null){
                TaskRef taskRef = new TaskRef(parent,task);
                taskRef.setSn(UUID.randomUUID().toString());
                taskRefs.add(taskRef);
            }
View Full Code Here

        }
        List<Element> tasksElms = Util4Parser.children(tasksElement, TASK);
        Iterator<Element> iter = tasksElms.iterator();
        while (iter.hasNext()) {
            Element elm = iter.next();
            Task task = createTask(parent, elm);
            if (task!=null)tasks.add(task);
        }
    }
View Full Code Here

     * @return
     * @throws FPDLParserException
     */
    protected Task createTask(IWFElement parent, Element taskElement)
            throws FPDLParserException {
        Task task = null;
        String type = taskElement.attributeValue(TYPE);
        if (Task.FORM.equals(type)) {
            task = new FormTask(parent, taskElement.attributeValue(NAME));
            ((FormTask) task).setAssignmentStrategy(taskElement.attributeValue(COMPLETION_STRATEGY));
            ((FormTask) task).setDefaultView(taskElement.attributeValue(DEFAULT_VIEW));

            ((FormTask) task).setPerformer(createPerformer(Util4Parser.child(taskElement,
                    PERFORMER)));
            ((FormTask) task).setEditForm(createForm(Util4Parser.child(taskElement, EDIT_FORM)));
            ((FormTask) task).setViewForm(createForm(Util4Parser.child(taskElement, VIEW_FORM)));
            ((FormTask) task).setListForm(createForm(Util4Parser.child(taskElement, LIST_FORM)));

        } else if (Task.TOOL.equals(type)) {
            task = new ToolTask(parent, taskElement.attributeValue(NAME));

            ((ToolTask) task).setApplication(createApplication(Util4Parser.child(taskElement,
                    APPLICATION)));
        } else if (Task.SUBFLOW.equals(type)) {
            task = new SubflowTask(parent, taskElement.attributeValue(NAME));
            ((SubflowTask) task).setSubWorkflowProcess(createSubWorkflowProcess(Util4Parser.child(taskElement, SUB_WORKFLOW_PROCESS)));

        } else {
            return null;
        }

        task.setSn(UUID.randomUUID().toString());
        task.setDisplayName(taskElement.attributeValue(DISPLAY_NAME));
        task.setDescription(Util4Parser.elementAsString(taskElement, DESCRIPTION));
        String sPriority = taskElement.attributeValue(PRIORITY);
        int priority = 0;
        if (sPriority != null) {
            try {
                priority = Integer.parseInt(sPriority);
            } catch (Exception e) {
            }
        }
        task.setPriority(priority);
        task.setDuration(createDuration(Util4Parser.child(taskElement, DURATION)));

        task.setTaskInstanceCreator(taskElement.attributeValue(TASK_INSTANCE_CREATOR));
        task.setTaskInstanceRunner(taskElement.attributeValue( TASK_INSTANCE_RUNNER));
        task.setTaskInstanceCompletionEvaluator(taskElement.attributeValue(TASK_INSTANCE_COMPLETION_EVALUATOR));
        task.setLoopStrategy(taskElement.attributeValue(LOOP_STRATEGY));

        loadEventListeners(task.getEventListeners(), Util4Parser.child(taskElement, EVENT_LISTENERS));
        loadExtendedAttributes(task.getExtendedAttributes(),
                Util4Parser.child(taskElement, EXTENDED_ATTRIBUTES));
        return task;

    }
View Full Code Here

        List<Element> taskRefElems = Util4JAXPParser.children(taskRefsElement, TASKREF);
        Iterator<Element> iter = taskRefElems.iterator();
        while (iter.hasNext()) {
            Element elm = iter.next();
            String taskId = elm.getAttribute(REFERENCE);
            Task task = (Task) workflowProcess.findWFElementById(taskId);
            if (task != null) {
                TaskRef taskRef = new TaskRef(parent, task);
                taskRef.setSn(UUID.randomUUID().toString());
                taskRefs.add(taskRef);
            }
View Full Code Here

     * @return
     * @throws FPDLParserException
     */
    protected Task createTask(IWFElement parent, Element taskElement)
            throws FPDLParserException {
        Task task = null;
        String type = taskElement.getAttribute(TYPE);
        if (Task.FORM.equals(type)) {
            task = new FormTask(parent, taskElement.getAttribute(NAME));
            ((FormTask) task).setAssignmentStrategy(taskElement.getAttribute(COMPLETION_STRATEGY));
            ((FormTask) task).setDefaultView(taskElement.getAttribute(DEFAULT_VIEW));

            ((FormTask) task).setPerformer(createPerformer(Util4JAXPParser.child(taskElement,
                    PERFORMER)));
            ((FormTask) task).setEditForm(createForm(Util4JAXPParser.child(taskElement, EDIT_FORM)));
            ((FormTask) task).setViewForm(createForm(Util4JAXPParser.child(taskElement, VIEW_FORM)));
            ((FormTask) task).setListForm(createForm(Util4JAXPParser.child(taskElement, LIST_FORM)));

        } else if (Task.TOOL.equals(type)) {
            task = new ToolTask(parent, taskElement.getAttribute(NAME));

            ((ToolTask) task).setApplication(createApplication(Util4JAXPParser.child(taskElement,
                    APPLICATION)));
        } else if (Task.SUBFLOW.equals(type)) {
            task = new SubflowTask(parent, taskElement.getAttribute(NAME));
            ((SubflowTask) task).setSubWorkflowProcess(createSubWorkflowProcess(Util4JAXPParser.child(taskElement, SUB_WORKFLOW_PROCESS)));

        } else {
            return null;
        }

        task.setSn(UUID.randomUUID().toString());
        task.setDisplayName(taskElement.getAttribute(DISPLAY_NAME));
        task.setDescription(Util4JAXPParser.elementAsString(taskElement, DESCRIPTION));
        String sPriority = taskElement.getAttribute(PRIORITY);
        int priority = 0;
        if (sPriority != null) {
            try {
                priority = Integer.parseInt(sPriority);
            } catch (Exception e) {
            }
        }
        task.setPriority(priority);

        task.setDuration(createDuration(Util4JAXPParser.child(taskElement, DURATION)));
        task.setTaskInstanceCreator(taskElement.getAttribute( TASK_INSTANCE_CREATOR));
        task.setTaskInstanceRunner(taskElement.getAttribute( TASK_INSTANCE_RUNNER));
        task.setTaskInstanceCompletionEvaluator(taskElement.getAttribute( TASK_INSTANCE_COMPLETION_EVALUATOR));
        task.setLoopStrategy(taskElement.getAttribute(LOOP_STRATEGY));
       
        loadEventListeners(task.getEventListeners(), Util4JAXPParser.child(taskElement, EVENT_LISTENERS));
        loadExtendedAttributes(task.getExtendedAttributes(),
                Util4JAXPParser.child(taskElement, EXTENDED_ATTRIBUTES));
        return task;

    }
View Full Code Here

        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());
View Full Code Here

        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());
View Full Code Here

          "The workflow session in process instance can NOT be null");
    }

    int createdTaskInstanceCount = 0;
    for (int i = 0; i < activity.getTasks().size(); i++) {
      Task task = activity.getTasks().get(i);
      // 1、创建Task实例,并设置工作流系统定义的属性
      ITaskInstance taskInstance = this.createTaskInstance(
          workflowSession, processInstance, task, activity);

      if (taskInstance == null) {
        continue;
      }
      createdTaskInstanceCount = createdTaskInstanceCount + 1;

      String taskType = task.getType();
      ((TaskInstance) taskInstance).setTaskType(taskType);
      ((TaskInstance) taskInstance).setStepNumber(token.getStepNumber());
      // ((TaskInstance) taskInstance).setTokenId(token.getId());
      ((TaskInstance) taskInstance).setProcessInstanceId(processInstance
          .getId());
      ((TaskInstance) taskInstance).setProcessId(processInstance
          .getProcessId());
      ((TaskInstance) taskInstance).setVersion(processInstance
          .getVersion());
      ((TaskInstance) taskInstance).setActivityId(activity.getId());
      if (Task.FORM.equals(taskType)) {
        ((TaskInstance) taskInstance)
            .setAssignmentStrategy(((FormTask) task)
                .getAssignmentStrategy());
        ((TaskInstance) taskInstance).setCanBeWithdrawn(true);
      } else {
        ((TaskInstance) taskInstance).setCanBeWithdrawn(false);
      }
      ((TaskInstance) taskInstance).setCreatedTime(calService
          .getSysDate());
      ((TaskInstance) taskInstance).setDisplayName(task.getDisplayName());
      ((TaskInstance) taskInstance).setName(task.getName());

      ((TaskInstance) taskInstance).setState(TaskInstance.INITIALIZED);

      ((TaskInstance) taskInstance).setTaskId(task.getId());

      ((TaskInstance) taskInstance).setFromActivityId(token
          .getFromActivityId());

      ((IRuntimeContextAware) taskInstance).setRuntimeContext(rtCtx);
      ((IWorkflowSessionAware) taskInstance)
          .setCurrentWorkflowSession(workflowSession);
      // 计算超时
      Duration duration = task.getDuration();

      if (duration != null && calService != null) {
        ((TaskInstance) taskInstance).setExpiredTime(calService
            .dateAfter(calService.getSysDate(), duration));
      }
View Full Code Here

TOP

Related Classes of org.fireflow.model.Task

Copyright © 2018 www.massapicom. 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.