/** convenience method to set all activity instance related properties in one go */ public Job activityInstance(ActivityInstanceImpl activityInstance) { activityInstanceId(activityInstance.getId()); workflowInstanceId(activityInstance.getWorkflowInstance().getId()); workflowId(activityInstance.getWorkflowInstance().getWorkflow().getId()); sourceWorkflowId(activityInstance.getWorkflowInstance().getWorkflow().getSourceWorkflowId()); return this; }
@Override public void execute(JobController jobController) { ActivityInstanceImpl activityInstance = jobController.getWorkflowInstance().findActivityInstance(jobController.getJob().getActivityInstanceId()); if (activityInstance != null) { for (TimerImpl timer : activityInstance.activity.getTimers()) { if (timer.timer instanceof BoundaryEventTimer) { BoundaryEventTimer boundaryEventTimer = (BoundaryEventTimer) timer.timer; for (String transitionId : boundaryEventTimer.boundaryEvent.getToTransitionIds()) { activityInstance.takeTransition( jobController.getWorkflowInstance().getWorkflow().findTransitionByIdLocal(transitionId)); } } } jobController.getWorkflowInstance().executeWork(); } else { if (log.isDebugEnabled()) log.debug("activityInstance is null, job is not executed. Looked for activityInstance: " + jobController.getJob().getActivityInstanceId()); } } }