public void handleBoundaryEvent(final SProcessDefinition processDefinition, final SBoundaryEventInstance boundaryInstance) throws SActivityStateExecutionException { final long activityInstanceId = boundaryInstance.getActivityInstanceId(); // FIXME: add activity name in SBoundaryEventInstance to avoid the getActivityInstance below try { final SActivityInstance activityInstance = activityInstanceService.getActivityInstance(activityInstanceId); final SActivityDefinition activityDefinition = (SActivityDefinition) processDefinition.getProcessContainer().getFlowNode( activityInstance.getFlowNodeDefinitionId()); final SBoundaryEventDefinition boundaryEventDefinition = activityDefinition.getBoundaryEventDefinition(boundaryInstance.getName()); eventsHandler.handleCatchEvent(processDefinition, boundaryEventDefinition, boundaryInstance); } catch (final SBonitaException e) { throw new SActivityStateExecutionException("unable to handle catch event " + boundaryInstance, e); } }
public void handleBoundaryEvent(final SProcessDefinition processDefinition, final SBoundaryEventInstance boundaryInstance) throws SActivityStateExecutionException { final long activityInstanceId = boundaryInstance.getActivityInstanceId(); // FIXME: add activity name in SBoundaryEventInstance to avoid the getActivityInstance below try { final SActivityInstance activityInstance = activityInstanceService.getActivityInstance(activityInstanceId); final SActivityDefinition activityDefinition = (SActivityDefinition) processDefinition.getProcessContainer().getFlowNode( activityInstance.getFlowNodeDefinitionId()); final SBoundaryEventDefinition boundaryEventDefinition = activityDefinition.getBoundaryEventDefinition(boundaryInstance.getName()); eventsHandler.handleCatchEvent(processDefinition, boundaryEventDefinition, boundaryInstance); } catch (final SBonitaException e) { throw new SActivityStateExecutionException("unable to handle catch event " + boundaryInstance, e); } }