private SSubProcessActivityInstanceBuilder createSubProcessActivityInstance(final long processDefinitionId, final long rootContainerId, final long parentContainerId, final SFlowElementsContainerType parentContainerType, final SFlowNodeDefinition sFlowNodeDefinition, final long rootProcessInstanceId, final long parentProcessInstanceId) { final SSubProcessDefinition subProcessActivityDef = (SSubProcessDefinition) sFlowNodeDefinition; final SSubProcessActivityInstanceBuilderFactory builderFact = BuilderFactory.get(SSubProcessActivityInstanceBuilderFactory.class); final SSubProcessActivityInstanceBuilder builder = builderFact.createNewSubProcessActivityInstance(subProcessActivityDef.getName(), subProcessActivityDef.getId(), rootContainerId, parentContainerId, processDefinitionId, rootProcessInstanceId, parentProcessInstanceId, subProcessActivityDef.isTriggeredByEvent()); updateActivityInstance(parentContainerId, parentContainerType, sFlowNodeDefinition, builder); return builder; }
private SSubProcessActivityInstanceBuilder createSubProcessActivityInstance(final long processDefinitionId, final long rootContainerId, final long parentContainerId, final SFlowElementsContainerType parentContainerType, final SFlowNodeDefinition sFlowNodeDefinition, final long rootProcessInstanceId, final long parentProcessInstanceId) { final SSubProcessDefinition subProcessActivityDef = (SSubProcessDefinition) sFlowNodeDefinition; final SSubProcessActivityInstanceBuilderFactory builderFact = BuilderFactory.get(SSubProcessActivityInstanceBuilderFactory.class); final SSubProcessActivityInstanceBuilder builder = builderFact.createNewSubProcessActivityInstance(subProcessActivityDef.getName(), subProcessActivityDef.getId(), rootContainerId, parentContainerId, processDefinitionId, rootProcessInstanceId, parentProcessInstanceId, subProcessActivityDef.isTriggeredByEvent()); updateActivityInstance(parentContainerId, parentContainerType, sFlowNodeDefinition, builder); return builder; }
private void deleteJobsOnEventSubProcess(final SProcessDefinition processDefinition, final SProcessInstance sProcessInstance, final SSubProcessDefinition sSubProcessDefinition, final List<? extends SCatchEventDefinition> sCatchEventDefinitions) { final SchedulerService schedulerService = getTenantAccessor().getSchedulerService(); final TechnicalLoggerService logger = getTenantAccessor().getTechnicalLoggerService(); for (final SCatchEventDefinition sCatchEventDefinition : sCatchEventDefinitions) { try { if (!sCatchEventDefinition.getTimerEventTriggerDefinitions().isEmpty()) { final String jobName = JobNameBuilder.getTimerEventJobName(processDefinition.getId(), sCatchEventDefinition, sProcessInstance.getId(), sSubProcessDefinition.getId()); final boolean delete = schedulerService.delete(jobName); if (!delete && schedulerService.isExistingJob(jobName)) { if (logger.isLoggable(this.getClass(), TechnicalLogSeverity.WARNING)) { logger.log(this.getClass(), TechnicalLogSeverity.WARNING, "No job found with name '" + jobName + "' when interrupting timer catch event named '" + sCatchEventDefinition.getName() + "' on event sub process with the id '" + sSubProcessDefinition.getId() + "'. It was probably already triggered."); } } } } catch (final Exception e) { if (logger.isLoggable(this.getClass(), TechnicalLogSeverity.WARNING)) { logger.log(this.getClass(), TechnicalLogSeverity.WARNING, e); } } } }
private void deleteJobsOnEventSubProcess(final SProcessDefinition processDefinition, final SProcessInstance sProcessInstance, final SSubProcessDefinition sSubProcessDefinition, final List<? extends SCatchEventDefinition> sCatchEventDefinitions) { final SchedulerService schedulerService = getTenantAccessor().getSchedulerService(); final TechnicalLoggerService logger = getTenantAccessor().getTechnicalLoggerService(); for (final SCatchEventDefinition sCatchEventDefinition : sCatchEventDefinitions) { try { if (!sCatchEventDefinition.getTimerEventTriggerDefinitions().isEmpty()) { final String jobName = JobNameBuilder.getTimerEventJobName(processDefinition.getId(), sCatchEventDefinition, sProcessInstance.getId(), sSubProcessDefinition.getId()); final boolean delete = schedulerService.delete(jobName); if (!delete && schedulerService.isExistingJob(jobName)) { if (logger.isLoggable(this.getClass(), TechnicalLogSeverity.WARNING)) { logger.log(this.getClass(), TechnicalLogSeverity.WARNING, "No job found with name '" + jobName + "' when interrupting timer catch event named '" + sCatchEventDefinition.getName() + "' on event sub process with the id '" + sSubProcessDefinition.getId() + "'. It was probably already triggered."); } } } } catch (final Exception e) { if (logger.isLoggable(this.getClass(), TechnicalLogSeverity.WARNING)) { logger.log(this.getClass(), TechnicalLogSeverity.WARNING, e); } } } }