Package com.starflow.wf.engine.model

Examples of com.starflow.wf.engine.model.ActivityInst


public class ToolAppActivityType extends AbstractActivityType {

  public ActivityInst createActivity(AbstractFlowEvent event, ActivityElement activityXml) {
    String activityDefId = activityXml.getId();
    long processInstId = event.getProcessInstance().getProcessInstId();
    ActivityInst activityInst = this.findWaitingActInst(event, processInstId, activityDefId);
    if(activityInst != null)
      return activityInst;
   
    ProcessInstance procInst = event.getProcessInstance();
   
    activityInst = new ActivityInst();
    activityInst.setActivityDefId(activityDefId);
    activityInst.setActivityType(Constants.ACT_TYPE_TOOLAPP);
    activityInst.setActivityInstName(activityXml.getName());
    activityInst.setDescription(activityXml.getDescription());
    activityInst.setCurrentState(StarFlowState.ACT_INST_WAITING);
    activityInst.setCreateTime(new Date());
    activityInst.setProcessInstId(procInst.getProcessInstId());
   
    long actInstId = PrimaryKeyUtil.getPrimaryKey(Keys.ACTIVITYINSTID);
    activityInst.setActivityInstId(actInstId);
   
    event.getActInstRep().inertActivityInst(activityInst);
   
    return activityInst;
  }
View Full Code Here


public class ManualActivityType extends AbstractActivityType {

  public ActivityInst createActivity(AbstractFlowEvent event, ActivityElement activityXml) {
    String activityDefId = activityXml.getId();
    long processInstId = event.getProcessInstance().getProcessInstId();
    ActivityInst activityInst = this.findWaitingActInst(event, processInstId, activityDefId);
    if(activityInst != null)
      return activityInst;
   
    List<WorkItem> workItems = null;
    ProcessInstance procInst = ((ActivityCreateEvent)event).getProcessInstance();
   
    List<EventElement> events = activityXml.getEvents();
    //执行环节开始时间
    executeBefore(event.getApplicationContext(), events, procInst.getParentProcInstId());
   
    //获取工作项模式
    String mode = activityXml.getWiMode();
    WorkItemMode wiMode = WorkItemModeFactory.buildWorkItemMode(mode);
    workItems = wiMode.createWorkItem(event, activityXml);
   
    activityInst = new ActivityInst();
    activityInst.setActivityDefId(activityDefId);
    activityInst.setActivityType(Constants.ACT_TYPE_MANUL);
    activityInst.setActivityInstName(activityXml.getName());
    activityInst.setDescription(activityXml.getDescription());
    //TODO 添加多种设置环节时限的方式。
    activityInst.setLimitTime(activityXml.getLimitTime());
    activityInst.setCurrentState(StarFlowState.ACT_INST_WAITING);
    activityInst.setCreateTime(new Date());
    activityInst.setProcessInstId(procInst.getProcessInstId());
   
    long actInstId = PrimaryKeyUtil.getPrimaryKey(Keys.ACTIVITYINSTID);
    activityInst.setActivityInstId(actInstId);
    for(WorkItem w : workItems) {
      w.setActivityInstId(actInstId);
    }
   
    activityInst.setWorkItems(workItems);
   
    //保存环节、工作项、参与者数据
    event.getActInstRep().inertActivityInst(activityInst);
   
    for(WorkItem wi : workItems)
View Full Code Here

public class EndActivityType implements ActivityType {

  public ActivityInst createActivity(AbstractFlowEvent event, ActivityElement activityXml) {
    ProcessInstance procInst = event.getProcessInstance();
   
    ActivityInst activityInst = new ActivityInst();
    activityInst.setActivityDefId(activityXml.getId());
    activityInst.setActivityType(activityXml.getType());
    activityInst.setCurrentState(StarFlowState.ACT_INST_WAITING);
    activityInst.setCreateTime(new Date());
    activityInst.setActivityInstName(activityXml.getName());
    activityInst.setProcessInstId(procInst.getProcessInstId());
   
    long actInstId = PrimaryKeyUtil.getPrimaryKey(Keys.ACTIVITYINSTID);
    activityInst.setActivityInstId(actInstId);
   
    event.getActInstRep().inertActivityInst(activityInst);
   
    return activityInst;
  }
View Full Code Here

TOP

Related Classes of com.starflow.wf.engine.model.ActivityInst

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.