public IntermediateThrowSignalEventActivityBehavior(ThrowEvent throwEvent, Signal signal, EventSubscriptionDeclaration signalDefinition) { this.processInstanceScope = Signal.SCOPE_PROCESS_INSTANCE.equals(signal.getScope()); this.signalDefinition = signalDefinition; }
public static void convertSignalDefinitionsToJson(BpmnModel bpmnModel, ObjectNode propertiesNode) { if (bpmnModel.getSignals() != null) { ArrayNode signalDefinitions = objectMapper.createArrayNode(); for (Signal signal : bpmnModel.getSignals()) { ObjectNode signalNode = signalDefinitions.addObject(); signalNode.put(PROPERTY_SIGNAL_DEFINITION_ID, signal.getId()); signalNode.put(PROPERTY_SIGNAL_DEFINITION_NAME, signal.getName()); signalNode.put(PROPERTY_SIGNAL_DEFINITION_SCOPE, signal.getScope()); } propertiesNode.set(PROPERTY_SIGNAL_DEFINITIONS, signalDefinitions); } }
public IntermediateThrowSignalEventActivityBehavior(ThrowEvent throwEvent, SignalEventDefinition signalEventDefinition, Signal signal) { if (signal != null) { signalEventName = signal.getName(); if (Signal.SCOPE_PROCESS_INSTANCE.equals(signal.getScope())) { this.processInstanceScope = true; } } else if (StringUtils.isNotEmpty(signalEventDefinition.getSignalRef())) { signalEventName = signalEventDefinition.getSignalRef(); } else { signalExpression = signalEventDefinition.getSignalExpression(); } this.signalEventDefinition = signalEventDefinition; }
@Override public void validate(BpmnModel bpmnModel, List<ValidationError> errors) { Collection<Signal> signals = bpmnModel.getSignals(); if (signals != null && !signals.isEmpty()) { for (Signal signal : signals) { if (StringUtils.isEmpty(signal.getId())) { addError(errors, Problems.SIGNAL_MISSING_ID, signal, "Signal must have an id"); } if (StringUtils.isEmpty(signal.getName())) { addError(errors, Problems.SIGNAL_MISSING_NAME, signal, "Signal must have a name"); } if (!StringUtils.isEmpty(signal.getName()) && duplicateName(signals, signal.getId(), signal.getName())) { addError(errors, Problems.SIGNAL_DUPLICATE_NAME, signal, "Duplicate signal name found"); } if (signal.getScope() != null && !signal.getScope().equals(Signal.SCOPE_GLOBAL) && !signal.getScope().equals(Signal.SCOPE_PROCESS_INSTANCE)) { addError(errors, Problems.SIGNAL_INVALID_SCOPE, signal, "Invalid value for 'scope'. Only values 'global' and 'processInstance' are supported"); } } } }
public void setValues(Signal otherElement) { super.setValues(otherElement); setName(otherElement.getName()); setScope(otherElement.getScope()); } }
public void setValues(Signal otherElement) { super.setValues(otherElement); setName(otherElement.getName()); setScope(otherElement.getScope()); } }
@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; }