protected JobHandlerConfiguration resolveJobHandlerConfiguration(EventSubscriptionEntity context) { return new EventSubscriptionJobConfiguration(context.getId()); }
protected JobHandlerConfiguration resolveJobHandlerConfiguration(EventSubscriptionEntity context) { return new EventSubscriptionJobConfiguration(context.getId()); }
private void checkAuthorizationOfStartSignals(final CommandContext commandContext, List<EventSubscriptionEntity> startSignalEventSubscriptions, Map<String, ProcessDefinitionEntity> processDefinitions) { // check authorization for process definition for (EventSubscriptionEntity signalStartEventSubscription : startSignalEventSubscriptions) { ProcessDefinitionEntity processDefinition = processDefinitions.get(signalStartEventSubscription.getId()); if (processDefinition != null) { for(CommandChecker checker : commandContext.getProcessEngineConfiguration().getCommandCheckers()) { checker.checkCreateProcessInstance(processDefinition); } } } }
private void checkAuthorizationOfStartSignals(final CommandContext commandContext, List<EventSubscriptionEntity> startSignalEventSubscriptions, Map<String, ProcessDefinitionEntity> processDefinitions) { // check authorization for process definition for (EventSubscriptionEntity signalStartEventSubscription : startSignalEventSubscriptions) { ProcessDefinitionEntity processDefinition = processDefinitions.get(signalStartEventSubscription.getId()); if (processDefinition != null) { for(CommandChecker checker : commandContext.getProcessEngineConfiguration().getCommandCheckers()) { checker.checkCreateProcessInstance(processDefinition); } } } }
protected Map<String, ProcessDefinitionEntity> getProcessDefinitionsOfSubscriptions(List<EventSubscriptionEntity> startSignalEventSubscriptions) { DeploymentCache deploymentCache = Context.getProcessEngineConfiguration().getDeploymentCache(); Map<String, ProcessDefinitionEntity> processDefinitions = new HashMap<String, ProcessDefinitionEntity>(); for (EventSubscriptionEntity eventSubscription : startSignalEventSubscriptions) { String processDefinitionId = eventSubscription.getConfiguration(); ensureNotNull("Configuration of signal start event subscription '" + eventSubscription.getId() + "' contains no process definition id.", processDefinitionId); ProcessDefinitionEntity processDefinition = deploymentCache.findDeployedProcessDefinitionById(processDefinitionId); if (processDefinition != null && !processDefinition.isSuspended()) { processDefinitions.put(eventSubscription.getId(), processDefinition); } } return processDefinitions; }
protected Map<String, ProcessDefinitionEntity> getProcessDefinitionsOfSubscriptions(List<EventSubscriptionEntity> startSignalEventSubscriptions) { DeploymentCache deploymentCache = Context.getProcessEngineConfiguration().getDeploymentCache(); Map<String, ProcessDefinitionEntity> processDefinitions = new HashMap<String, ProcessDefinitionEntity>(); for (EventSubscriptionEntity eventSubscription : startSignalEventSubscriptions) { String processDefinitionId = eventSubscription.getConfiguration(); ensureNotNull("Configuration of signal start event subscription '" + eventSubscription.getId() + "' contains no process definition id.", processDefinitionId); ProcessDefinitionEntity processDefinition = deploymentCache.findDeployedProcessDefinitionById(processDefinitionId); if (processDefinition != null && !processDefinition.isSuspended()) { processDefinitions.put(eventSubscription.getId(), processDefinition); } } return processDefinitions; }
private void startProcessInstances(List<EventSubscriptionEntity> startSignalEventSubscriptions, Map<String, ProcessDefinitionEntity> processDefinitions) { for (EventSubscriptionEntity signalStartEventSubscription : startSignalEventSubscriptions) { ProcessDefinitionEntity processDefinition = processDefinitions.get(signalStartEventSubscription.getId()); if (processDefinition != null) { ActivityImpl signalStartEvent = processDefinition.findActivity(signalStartEventSubscription.getActivityId()); PvmProcessInstance processInstance = processDefinition.createProcessInstanceForInitial(signalStartEvent); processInstance.start(builder.getVariables()); } } }
private void startProcessInstances(List<EventSubscriptionEntity> startSignalEventSubscriptions, Map<String, ProcessDefinitionEntity> processDefinitions) { for (EventSubscriptionEntity signalStartEventSubscription : startSignalEventSubscriptions) { ProcessDefinitionEntity processDefinition = processDefinitions.get(signalStartEventSubscription.getId()); if (processDefinition != null) { ActivityImpl signalStartEvent = processDefinition.findActivity(signalStartEventSubscription.getActivityId()); PvmProcessInstance processInstance = processDefinition.createProcessInstanceForInitial(signalStartEvent); processInstance.start(builder.getVariables()); } } }
public void deleteEventSubscription(EventSubscriptionEntity persistentObject) { getDbEntityManager().delete(persistentObject); if (persistentObject.isSubscriptionForEventType(EventType.SIGNAL)) { createdSignalSubscriptions.remove(persistentObject); } // if the event subscription has been triggered asynchronously but not yet executed List<JobEntity> asyncJobs = getJobManager().findJobsByConfiguration(ProcessEventJobHandler.TYPE, persistentObject.getId(), persistentObject.getTenantId()); for (JobEntity asyncJob : asyncJobs) { asyncJob.delete(); } }
public void deleteEventSubscription(EventSubscriptionEntity persistentObject) { getDbEntityManager().delete(persistentObject); if (persistentObject.isSubscriptionForEventType(EventType.SIGNAL)) { createdSignalSubscriptions.remove(persistentObject); } // if the event subscription has been triggered asynchronously but not yet executed List<JobEntity> asyncJobs = getJobManager().findJobsByConfiguration(ProcessEventJobHandler.TYPE, persistentObject.getId(), persistentObject.getTenantId()); for (JobEntity asyncJob : asyncJobs) { asyncJob.delete(); } }
public void handleIntermediateEvent(EventSubscriptionEntity eventSubscription, Object payload, Object localPayload, CommandContext commandContext) { PvmExecutionImpl execution = eventSubscription.getExecution(); ActivityImpl activity = eventSubscription.getActivity(); ensureNotNull("Error while sending signal for event subscription '" + eventSubscription.getId() + "': " + "no activity associated with event subscription", "activity", activity); if (payload instanceof Map) { execution.setVariables((Map<String, Object>)payload); } if (localPayload instanceof Map) { execution.setVariablesLocal((Map<String, Object>) localPayload); } if(activity.equals(execution.getActivity())) { execution.signal("signal", null); } else { // hack around the fact that the start event is referenced by event subscriptions for event subprocesses // and not the subprocess itself if (activity.getActivityBehavior() instanceof EventSubProcessStartEventActivityBehavior) { activity = (ActivityImpl) activity.getFlowScope(); } execution.executeEventHandlerActivity(activity); } }
public void handleIntermediateEvent(EventSubscriptionEntity eventSubscription, Object payload, Object localPayload, CommandContext commandContext) { PvmExecutionImpl execution = eventSubscription.getExecution(); ActivityImpl activity = eventSubscription.getActivity(); ensureNotNull("Error while sending signal for event subscription '" + eventSubscription.getId() + "': " + "no activity associated with event subscription", "activity", activity); if (payload instanceof Map) { execution.setVariables((Map<String, Object>)payload); } if (localPayload instanceof Map) { execution.setVariablesLocal((Map<String, Object>) localPayload); } if(activity.equals(execution.getActivity())) { execution.signal("signal", null); } else { // hack around the fact that the start event is referenced by event subscriptions for event subprocesses // and not the subprocess itself if (activity.getActivityBehavior() instanceof EventSubProcessStartEventActivityBehavior) { activity = (ActivityImpl) activity.getFlowScope(); } execution.executeEventHandlerActivity(activity); } }
protected void handleStartEvent(EventSubscriptionEntity eventSubscription, Map<String, Object> payload, String businessKey, CommandContext commandContext) { String processDefinitionId = eventSubscription.getConfiguration(); ensureNotNull("Configuration of signal start event subscription '" + eventSubscription.getId() + "' contains no process definition id.", processDefinitionId); DeploymentCache deploymentCache = Context.getProcessEngineConfiguration().getDeploymentCache(); ProcessDefinitionEntity processDefinition = deploymentCache.findDeployedProcessDefinitionById(processDefinitionId); if (processDefinition == null || processDefinition.isSuspended()) { // ignore event subscription LOG.debugIgnoringEventSubscription(eventSubscription, processDefinitionId); } else { ActivityImpl signalStartEvent = processDefinition.findActivity(eventSubscription.getActivityId()); PvmProcessInstance processInstance = processDefinition.createProcessInstance(businessKey, signalStartEvent); processInstance.start(payload); } }
protected void handleStartEvent(EventSubscriptionEntity eventSubscription, Map<String, Object> payload, String businessKey, CommandContext commandContext) { String processDefinitionId = eventSubscription.getConfiguration(); ensureNotNull("Configuration of signal start event subscription '" + eventSubscription.getId() + "' contains no process definition id.", processDefinitionId); DeploymentCache deploymentCache = Context.getProcessEngineConfiguration().getDeploymentCache(); ProcessDefinitionEntity processDefinition = deploymentCache.findDeployedProcessDefinitionById(processDefinitionId); if (processDefinition == null || processDefinition.isSuspended()) { // ignore event subscription LOG.debugIgnoringEventSubscription(eventSubscription, processDefinitionId); } else { ActivityImpl signalStartEvent = processDefinition.findActivity(eventSubscription.getActivityId()); PvmProcessInstance processInstance = processDefinition.createProcessInstance(businessKey, signalStartEvent); processInstance.start(payload); } }
ensureNotNull("Compensating execution not set for compensate event subscription with id " + eventSubscription.getId(), "configuration", configuration);
ensureNotNull("Compensating execution not set for compensate event subscription with id " + eventSubscription.getId(), "configuration", configuration);
private void checkAuthorizationOfStartSignals(final CommandContext commandContext, List<EventSubscriptionEntity> startSignalEventSubscriptions, Map<String, ProcessDefinitionEntity> processDefinitions) { // check authorization for process definition for (EventSubscriptionEntity signalStartEventSubscription : startSignalEventSubscriptions) { ProcessDefinitionEntity processDefinition = processDefinitions.get(signalStartEventSubscription.getId()); if (processDefinition != null) { for(CommandChecker checker : commandContext.getProcessEngineConfiguration().getCommandCheckers()) { checker.checkCreateProcessInstance(processDefinition); } } } }
protected Map<String, ProcessDefinitionEntity> getProcessDefinitionsOfSubscriptions(List<EventSubscriptionEntity> startSignalEventSubscriptions) { DeploymentCache deploymentCache = Context.getProcessEngineConfiguration().getDeploymentCache(); Map<String, ProcessDefinitionEntity> processDefinitions = new HashMap<String, ProcessDefinitionEntity>(); for (EventSubscriptionEntity eventSubscription : startSignalEventSubscriptions) { String processDefinitionId = eventSubscription.getConfiguration(); ensureNotNull("Configuration of signal start event subscription '" + eventSubscription.getId() + "' contains no process definition id.", processDefinitionId); ProcessDefinitionEntity processDefinition = deploymentCache.findDeployedProcessDefinitionById(processDefinitionId); if (processDefinition != null && !processDefinition.isSuspended()) { processDefinitions.put(eventSubscription.getId(), processDefinition); } } return processDefinitions; }
private void startProcessInstances(List<EventSubscriptionEntity> startSignalEventSubscriptions, Map<String, ProcessDefinitionEntity> processDefinitions) { for (EventSubscriptionEntity signalStartEventSubscription : startSignalEventSubscriptions) { ProcessDefinitionEntity processDefinition = processDefinitions.get(signalStartEventSubscription.getId()); if (processDefinition != null) { ActivityImpl signalStartEvent = processDefinition.findActivity(signalStartEventSubscription.getActivityId()); PvmProcessInstance processInstance = processDefinition.createProcessInstanceForInitial(signalStartEvent); processInstance.start(builder.getVariables()); } } }
public void deleteEventSubscription(EventSubscriptionEntity persistentObject) { getDbEntityManager().delete(persistentObject); if (persistentObject.isSubscriptionForEventType(EventType.SIGNAL)) { createdSignalSubscriptions.remove(persistentObject); } // if the event subscription has been triggered asynchronously but not yet executed List<JobEntity> asyncJobs = getJobManager().findJobsByConfiguration(ProcessEventJobHandler.TYPE, persistentObject.getId(), persistentObject.getTenantId()); for (JobEntity asyncJob : asyncJobs) { asyncJob.delete(); } }