@Override public SignalEventSubscriptionEntity insertSignalEvent(String signalName, Signal signal, ExecutionEntity execution) { SignalEventSubscriptionEntity subscriptionEntity = createSignalEventSubscription(); subscriptionEntity.setExecution(execution); if (signal != null) { subscriptionEntity.setEventName(signal.getName()); if (signal.getScope() != null) { subscriptionEntity.setConfiguration(signal.getScope()); } } else { subscriptionEntity.setEventName(signalName); } subscriptionEntity.setActivityId(execution.getCurrentActivityId()); subscriptionEntity.setProcessDefinitionId(execution.getProcessDefinitionId()); if (execution.getTenantId() != null) { subscriptionEntity.setTenantId(execution.getTenantId()); } insert(subscriptionEntity); execution.getEventSubscriptions().add(subscriptionEntity); return subscriptionEntity; }
protected void restoreSignalStartEvent(ProcessDefinition previousProcessDefinition, BpmnModel bpmnModel, StartEvent startEvent, EventDefinition eventDefinition) { SignalEventDefinition signalEventDefinition = (SignalEventDefinition) eventDefinition; SignalEventSubscriptionEntity subscriptionEntity = getEventSubscriptionEntityManager().createSignalEventSubscription(); Signal signal = bpmnModel.getSignal(signalEventDefinition.getSignalRef()); if (signal != null) { subscriptionEntity.setEventName(signal.getName()); } else { subscriptionEntity.setEventName(signalEventDefinition.getSignalRef()); } subscriptionEntity.setActivityId(startEvent.getId()); subscriptionEntity.setProcessDefinitionId(previousProcessDefinition.getId()); if (previousProcessDefinition.getTenantId() != null) { subscriptionEntity.setTenantId(previousProcessDefinition.getTenantId()); } getEventSubscriptionEntityManager().insert(subscriptionEntity); }
subscriptionEntity.setEventName(signalEventDefinition.getSignalRef()); subscriptionEntity.setActivityId(startEvent.getId()); subscriptionEntity.setProcessDefinitionId(processDefinition.getId()); if (processDefinition.getTenantId() != null) {
@SuppressWarnings("unchecked") protected void addSignalEventSubscriptions(ProcessDefinitionEntity processDefinition) { List<EventSubscriptionDeclaration> eventDefinitions = (List<EventSubscriptionDeclaration>) processDefinition.getProperty(BpmnParse.PROPERTYNAME_EVENT_SUBSCRIPTION_DECLARATION); if (eventDefinitions != null) { for (EventSubscriptionDeclaration eventDefinition : eventDefinitions) { if (eventDefinition.getEventType().equals("signal") && eventDefinition.isStartEvent()) { SignalEventSubscriptionEntity subscriptionEntity = new SignalEventSubscriptionEntity(); subscriptionEntity.setEventName(eventDefinition.getEventName()); subscriptionEntity.setActivityId(eventDefinition.getActivityId()); subscriptionEntity.setProcessDefinitionId(processDefinition.getId()); if (processDefinition.getTenantId() != null) { subscriptionEntity.setTenantId(processDefinition.getTenantId()); } subscriptionEntity.insert(); } } } }
@Override public SignalEventSubscriptionEntity insertSignalEvent(String signalName, Signal signal, ExecutionEntity execution) { SignalEventSubscriptionEntity subscriptionEntity = createSignalEventSubscription(); subscriptionEntity.setExecution(execution); if (signal != null) { subscriptionEntity.setEventName(signal.getName()); if (signal.getScope() != null) { subscriptionEntity.setConfiguration(signal.getScope()); } } else { subscriptionEntity.setEventName(signalName); } subscriptionEntity.setActivityId(execution.getCurrentActivityId()); subscriptionEntity.setProcessDefinitionId(execution.getProcessDefinitionId()); if (execution.getTenantId() != null) { subscriptionEntity.setTenantId(execution.getTenantId()); } insert(subscriptionEntity); execution.getEventSubscriptions().add(subscriptionEntity); return subscriptionEntity; }
protected void restoreSignalStartEvent(ProcessDefinition previousProcessDefinition, BpmnModel bpmnModel, StartEvent startEvent, EventDefinition eventDefinition) { SignalEventDefinition signalEventDefinition = (SignalEventDefinition) eventDefinition; SignalEventSubscriptionEntity subscriptionEntity = getEventSubscriptionEntityManager().createSignalEventSubscription(); Signal signal = bpmnModel.getSignal(signalEventDefinition.getSignalRef()); if (signal != null) { subscriptionEntity.setEventName(signal.getName()); } else { subscriptionEntity.setEventName(signalEventDefinition.getSignalRef()); } subscriptionEntity.setActivityId(startEvent.getId()); subscriptionEntity.setProcessDefinitionId(previousProcessDefinition.getId()); if (previousProcessDefinition.getTenantId() != null) { subscriptionEntity.setTenantId(previousProcessDefinition.getTenantId()); } getEventSubscriptionEntityManager().insert(subscriptionEntity); }
protected void addSignalEventSubscriptions(CommandContext commandContext, ProcessDefinitionEntity processDefinition, org.activiti.bpmn.model.Process process, BpmnModel bpmnModel) { if (CollectionUtil.isNotEmpty(process.getFlowElements())) { for (FlowElement element : process.getFlowElements()) { if (element instanceof StartEvent) { StartEvent startEvent = (StartEvent) element; if (CollectionUtil.isNotEmpty(startEvent.getEventDefinitions())) { EventDefinition eventDefinition = startEvent.getEventDefinitions().get(0); if (eventDefinition instanceof SignalEventDefinition) { SignalEventDefinition signalEventDefinition = (SignalEventDefinition) eventDefinition; SignalEventSubscriptionEntity subscriptionEntity = commandContext.getEventSubscriptionEntityManager().createSignalEventSubscription(); Signal signal = bpmnModel.getSignal(signalEventDefinition.getSignalRef()); if (signal != null) { subscriptionEntity.setEventName(signal.getName()); } else { subscriptionEntity.setEventName(signalEventDefinition.getSignalRef()); } subscriptionEntity.setActivityId(startEvent.getId()); subscriptionEntity.setProcessDefinitionId(processDefinition.getId()); if (processDefinition.getTenantId() != null) { subscriptionEntity.setTenantId(processDefinition.getTenantId()); } Context.getCommandContext().getEventSubscriptionEntityManager().insert(subscriptionEntity); } } } } } }
@Override public Void execute(CommandContext commandContext) { org.activiti.engine.impl.persistence.entity.SignalEventSubscriptionEntity activiti5SignalEvent = new org.activiti.engine.impl.persistence.entity.SignalEventSubscriptionEntity(); activiti5SignalEvent.setId(signalEventSubscriptionEntity.getId()); activiti5SignalEvent.setExecutionId(signalEventSubscriptionEntity.getExecutionId()); activiti5SignalEvent.setActivityId(signalEventSubscriptionEntity.getActivityId()); activiti5SignalEvent.setEventName(signalEventSubscriptionEntity.getEventName()); activiti5SignalEvent.setEventType(signalEventSubscriptionEntity.getEventType()); activiti5SignalEvent.setConfiguration(signalEventSubscriptionEntity.getConfiguration()); activiti5SignalEvent.setProcessDefinitionId(signalEventSubscriptionEntity.getProcessDefinitionId()); activiti5SignalEvent.setProcessInstanceId(signalEventSubscriptionEntity.getProcessInstanceId()); activiti5SignalEvent.setTenantId(signalEventSubscriptionEntity.getTenantId()); activiti5SignalEvent.setRevision(signalEventSubscriptionEntity.getRevision()); activiti5SignalEvent.eventReceived(payload, async); return null; } });
subscriptionEntity.setActivityId(eventDefinition.getActivityId()); subscriptionEntity.setProcessDefinitionId(previousProcessDefinition.getId()); subscriptionEntity.setTenantId(previousProcessDefinition.getTenantId());