payload, signalEventSubscriptionEntity.getExecutionId(), signalEventSubscriptionEntity.getProcessInstanceId(), signalEventSubscriptionEntity.getProcessDefinitionId()));
eventSubscriptionName, null, signalEventSubscriptionEntity.getExecutionId(), signalEventSubscriptionEntity.getProcessInstanceId(), signalEventSubscriptionEntity.getProcessDefinitionId()));
@SuppressWarnings("unchecked") public List<SignalEventSubscriptionEntity> findSignalEventSubscriptionsByExecution(String executionId) { final String query = "selectSignalEventSubscriptionsByExecution"; Set<SignalEventSubscriptionEntity> selectList = new HashSet<SignalEventSubscriptionEntity>( getDbSqlSession().selectList(query, executionId)); // add events created in this command (not visible yet in query) for (SignalEventSubscriptionEntity entity : createdSignalSubscriptions) { if(executionId.equals(entity.getExecutionId())) { selectList.add((SignalEventSubscriptionEntity) entity); } } return new ArrayList<SignalEventSubscriptionEntity>(selectList); }
@SuppressWarnings("unchecked") public List<SignalEventSubscriptionEntity> findSignalEventSubscriptionsByExecution(String executionId) { final String query = "selectSignalEventSubscriptionsByExecution"; Set<SignalEventSubscriptionEntity> selectList = new HashSet<SignalEventSubscriptionEntity>(getDbSqlSession().selectList(query, executionId)); // add events created in this command (not visible yet in query) for (SignalEventSubscriptionEntity entity : createdSignalSubscriptions) { if (executionId.equals(entity.getExecutionId())) { selectList.add(entity); } } return new ArrayList<>(selectList); }
@SuppressWarnings("unchecked") public List<SignalEventSubscriptionEntity> findSignalEventSubscriptionsByNameAndExecution(String name, String executionId) { final String query = "selectSignalEventSubscriptionsByNameAndExecution"; Map<String,String> params = new HashMap<String, String>(); params.put("executionId", executionId); params.put("eventName", name); Set<SignalEventSubscriptionEntity> selectList = new HashSet<SignalEventSubscriptionEntity>( getDbSqlSession().selectList(query, params)); // add events created in this command (not visible yet in query) for (SignalEventSubscriptionEntity entity : createdSignalSubscriptions) { if(executionId.equals(entity.getExecutionId()) && name.equals(entity.getEventName())) { selectList.add((SignalEventSubscriptionEntity) entity); } } return new ArrayList<SignalEventSubscriptionEntity>(selectList); }
@SuppressWarnings("unchecked") public List<SignalEventSubscriptionEntity> findSignalEventSubscriptionsByNameAndExecution(String name, String executionId) { final String query = "selectSignalEventSubscriptionsByNameAndExecution"; Map<String, String> params = new HashMap<>(); params.put("executionId", executionId); params.put("eventName", name); Set<SignalEventSubscriptionEntity> selectList = new HashSet<SignalEventSubscriptionEntity>(getDbSqlSession().selectList(query, params)); // add events created in this command (not visible yet in query) for (SignalEventSubscriptionEntity entity : createdSignalSubscriptions) { if (executionId.equals(entity.getExecutionId()) && name.equals(entity.getEventName())) { selectList.add(entity); } } return new ArrayList<>(selectList); }
public void execute(DelegateExecution execution) { CommandContext commandContext = Context.getCommandContext(); String eventSubscriptionName = null; if (signalEventName != null) { eventSubscriptionName = signalEventName; } else { Expression expressionObject = commandContext.getProcessEngineConfiguration().getExpressionManager().createExpression(signalExpression); eventSubscriptionName = expressionObject.getValue(execution).toString(); } EventSubscriptionEntityManager eventSubscriptionEntityManager = commandContext.getEventSubscriptionEntityManager(); List<SignalEventSubscriptionEntity> subscriptionEntities = null; if (processInstanceScope) { subscriptionEntities = eventSubscriptionEntityManager .findSignalEventSubscriptionsByProcessInstanceAndEventName(execution.getProcessInstanceId(), eventSubscriptionName); } else { subscriptionEntities = eventSubscriptionEntityManager .findSignalEventSubscriptionsByEventName(eventSubscriptionName, execution.getTenantId()); } for (SignalEventSubscriptionEntity signalEventSubscriptionEntity : subscriptionEntities) { Context.getProcessEngineConfiguration().getEventDispatcher().dispatchEvent( ActivitiEventBuilder.createSignalEvent(ActivitiEventType.ACTIVITY_SIGNALED, signalEventSubscriptionEntity.getActivityId(), eventSubscriptionName, null, signalEventSubscriptionEntity.getExecutionId(), signalEventSubscriptionEntity.getProcessInstanceId(), signalEventSubscriptionEntity.getProcessDefinitionId())); eventSubscriptionEntityManager.eventReceived(signalEventSubscriptionEntity, null, signalEventDefinition.isAsync()); } Context.getAgenda().planTakeOutgoingSequenceFlowsOperation((ExecutionEntity) execution, true); }
Context.getProcessEngineConfiguration().getEventDispatcher().dispatchEvent( ActivitiEventBuilder.createSignalEvent(ActivitiEventType.ACTIVITY_SIGNALED, signalEventSubscriptionEntity.getActivityId(), eventName, payload, signalEventSubscriptionEntity.getExecutionId(), signalEventSubscriptionEntity.getProcessInstanceId(), signalEventSubscriptionEntity.getProcessDefinitionId()));