package org.fireflow.service.mock; import java.util.Date; import org.fireflow.client.WorkflowSession; import org.fireflow.engine.entity.runtime.ActivityInstance; import org.fireflow.engine.entity.runtime.ActivityInstanceState; import org.fireflow.engine.entity.runtime.ProcessInstance; import org.fireflow.engine.entity.runtime.impl.ActivityInstanceImpl; import org.fireflow.engine.exception.ServiceInvocationException; import org.fireflow.engine.modules.calendar.CalendarService; import org.fireflow.engine.modules.instancemanager.event.ProcessInstanceEventTrigger; import org.fireflow.engine.modules.instancemanager.impl.AbsActivityInstanceManager; public class ActivityInstanceManagerMock extends AbsActivityInstanceManager { public ActivityInstance createActivityInstance(WorkflowSession session, ProcessInstance processInstance, Object activity) { CalendarService calendarService = this.runtimeContext.getDefaultEngineModule(CalendarService.class); // Node node = (Node)activity; ActivityInstanceImpl actInst = new ActivityInstanceImpl(); actInst.setName(activity.toString()); String displayName = activity.toString(); // actInst.setDisplayName((displayName==null || displayName.trim().equals(""))?node.getName():displayName); actInst.setState(ActivityInstanceState.INITIALIZED); actInst.setProcessName(processInstance.getProcessName()); actInst.setProcessDisplayName(processInstance.getProcessDisplayName()); actInst.setBizType(processInstance.getBizType()); actInst.setProcessId(processInstance.getProcessId()); actInst.setVersion(processInstance.getVersion()); actInst.setProcessType(processInstance.getProcessType()); actInst.setProcessInstanceId(processInstance.getId()); actInst.setNodeId(activity.toString()); actInst.setBizId(processInstance.getBizId()); actInst.setParentScopeId(processInstance.getScopeId()); Date now = calendarService.getSysDate(); actInst.setCreatedTime(now); // if (node instanceof Activity){ // Activity fpdl20Activity = (Activity)node; // // if (fpdl20Activity.getDuration()!=null && fpdl20Activity.getDuration().getValue()>0){ // Date expiredDate = calendarService.dateAfter(now, fpdl20Activity.getDuration()); // actInst.setExpiredTime(expiredDate); // } // // } return actInst; } public boolean runActivityInstance(WorkflowSession session, Object workflowElement, ActivityInstance activityInstance) throws ServiceInvocationException { // TODO Auto-generated method stub return true; } public int tryCloseActivityInstance(WorkflowSession session, ActivityInstance activityInstance, Object workflowElement) { // TODO Auto-generated method stub return 0; } public void fireActivityInstanceEvent(WorkflowSession session, ActivityInstance actInstance, Object workflowElement, ProcessInstanceEventTrigger eventType) { // TODO Auto-generated method stub } }