private List<SDataDefinition> getTransientData(long containerId) throws SFlowNodeNotFoundException, SFlowNodeReadException, SProcessDefinitionNotFoundException, SBonitaReadException { SFlowNodeInstance flowNodeInstance = flowNodeInstanceService.getFlowNodeInstance(containerId); final long flowNodeDefinitionId = flowNodeInstance.getFlowNodeDefinitionId(); final long processDefinitionId = flowNodeInstance.getProcessDefinitionId(); final SProcessDefinition processDefinition = processDefinitionService.getProcessDefinition(processDefinitionId); final SActivityDefinition flowNode = (SActivityDefinition) processDefinition.getProcessContainer() .getFlowNode(flowNodeDefinitionId); return flowNode.getSDataDefinitions() .stream() .filter(SDataDefinition::isTransientData) .collect(Collectors.toList()); }
private List<SDataDefinition> getTransientData(long containerId) throws SFlowNodeNotFoundException, SFlowNodeReadException, SProcessDefinitionNotFoundException, SBonitaReadException { SFlowNodeInstance flowNodeInstance = flowNodeInstanceService.getFlowNodeInstance(containerId); final long flowNodeDefinitionId = flowNodeInstance.getFlowNodeDefinitionId(); final long processDefinitionId = flowNodeInstance.getProcessDefinitionId(); final SProcessDefinition processDefinition = processDefinitionService.getProcessDefinition(processDefinitionId); final SActivityDefinition flowNode = (SActivityDefinition) processDefinition.getProcessContainer() .getFlowNode(flowNodeDefinitionId); return flowNode.getSDataDefinitions() .stream() .filter(SDataDefinition::isTransientData) .collect(Collectors.toList()); }
void deleteDataInstancesIfNecessary(final SFlowNodeInstance flowNodeInstance, final SProcessDefinition processDefinition) throws SDataInstanceException { boolean hasData = true; if (processDefinition != null) { final SActivityDefinition activityDefinition = (SActivityDefinition) getFlowNode(flowNodeInstance, processDefinition); if (activityDefinition != null) { hasData = activityDefinition.getSDataDefinitions().size() > 0; } } dataInstanceService.deleteLocalDataInstances(flowNodeInstance.getId(), DataInstanceContainer.ACTIVITY_INSTANCE.toString(), hasData); }
void deleteDataInstancesIfNecessary(final SFlowNodeInstance flowNodeInstance, final SProcessDefinition processDefinition) throws SDataInstanceException { boolean hasData = true; if (processDefinition != null) { final SActivityDefinition activityDefinition = (SActivityDefinition) getFlowNode(flowNodeInstance, processDefinition); if (activityDefinition != null) { hasData = activityDefinition.getSDataDefinitions().size() > 0; } } dataInstanceService.deleteLocalDataInstances(flowNodeInstance.getId(), DataInstanceContainer.ACTIVITY_INSTANCE.toString(), hasData); }
for (final SActivityDefinition sActivityDefinition : activityDefList) { if (activityName.equals(sActivityDefinition.getName())) { sdataDefinitionList = sActivityDefinition.getSDataDefinitions(); activityFound = true; break;
for (final SActivityDefinition sActivityDefinition : activityDefList) { if (activityName.equals(sActivityDefinition.getName())) { sdataDefinitionList = sActivityDefinition.getSDataDefinitions(); activityFound = true; break;
private boolean createDataInstances(final SActivityDefinition activityDefinition, final SFlowNodeInstance flowNodeInstance, final SExpressionContext expressionContext) throws SActivityStateExecutionException { final List<SDataDefinition> sDataDefinitions = activityDefinition.getSDataDefinitions(); final SLoopCharacteristics loopCharacteristics = activityDefinition.getLoopCharacteristics(); try { if (loopCharacteristics instanceof SMultiInstanceLoopCharacteristics && (((SMultiInstanceLoopCharacteristics) loopCharacteristics).getDataInputItemRef() != null || ((SMultiInstanceLoopCharacteristics) loopCharacteristics).getDataOutputItemRef() != null)) { createDataInstancesForMultiInstance(activityDefinition, flowNodeInstance, expressionContext); } else { createDataInstances(sDataDefinitions, flowNodeInstance.getId(), DataInstanceContainer.ACTIVITY_INSTANCE, expressionContext); } if (!sDataDefinitions.isEmpty() && logger.isLoggable(this.getClass(), TechnicalLogSeverity.DEBUG)) { final String message = "Initialized variables for flow node" + LogMessageBuilder.buildFlowNodeContextMessage(flowNodeInstance); logger.log(this.getClass(), TechnicalLogSeverity.DEBUG, message); } return sDataDefinitions.size() > 0; } catch (final SBonitaException e) { throw new SActivityStateExecutionException(e); } }
private boolean createDataInstances(final SActivityDefinition activityDefinition, final SFlowNodeInstance flowNodeInstance, final SExpressionContext expressionContext) throws SActivityStateExecutionException { final List<SDataDefinition> sDataDefinitions = activityDefinition.getSDataDefinitions(); final SLoopCharacteristics loopCharacteristics = activityDefinition.getLoopCharacteristics(); try { if (loopCharacteristics instanceof SMultiInstanceLoopCharacteristics && (((SMultiInstanceLoopCharacteristics) loopCharacteristics).getDataInputItemRef() != null || ((SMultiInstanceLoopCharacteristics) loopCharacteristics).getDataOutputItemRef() != null)) { createDataInstancesForMultiInstance(activityDefinition, flowNodeInstance, expressionContext); } else { createDataInstances(sDataDefinitions, flowNodeInstance.getId(), DataInstanceContainer.ACTIVITY_INSTANCE, expressionContext); } if (!sDataDefinitions.isEmpty() && logger.isLoggable(this.getClass(), TechnicalLogSeverity.DEBUG)) { final String message = "Initialized variables for flow node" + LogMessageBuilder.buildFlowNodeContextMessage(flowNodeInstance); logger.log(this.getClass(), TechnicalLogSeverity.DEBUG, message); } return sDataDefinitions.size() > 0; } catch (final SBonitaException e) { throw new SActivityStateExecutionException(e); } }
@Override public int getNumberOfActivityDataDefinitions(final long processDefinitionId, final String activityName) throws ProcessDefinitionNotFoundException, ActivityDefinitionNotFoundException { List<SDataDefinition> sdataDefinitionList = Collections.emptyList(); final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final ProcessDefinitionService processDefinitionService = tenantAccessor.getProcessDefinitionService(); try { final SProcessDefinition sProcessDefinition = processDefinitionService.getProcessDefinition(processDefinitionId); boolean found = false; final SFlowElementContainerDefinition processContainer = sProcessDefinition.getProcessContainer(); final Set<SActivityDefinition> activityDefList = processContainer.getActivities(); for (final SActivityDefinition sActivityDefinition : activityDefList) { if (activityName.equals(sActivityDefinition.getName())) { sdataDefinitionList = sActivityDefinition.getSDataDefinitions(); found = true; break; } } if (!found) { throw new ActivityDefinitionNotFoundException(activityName); } return sdataDefinitionList.size(); } catch (final SProcessDefinitionNotFoundException e) { throw new ProcessDefinitionNotFoundException(e); } catch (final SBonitaException e) { throw new RetrieveException(e); } }
@Override public int getNumberOfActivityDataDefinitions(final long processDefinitionId, final String activityName) throws ProcessDefinitionNotFoundException, ActivityDefinitionNotFoundException { List<SDataDefinition> sdataDefinitionList = Collections.emptyList(); final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final ProcessDefinitionService processDefinitionService = tenantAccessor.getProcessDefinitionService(); try { final SProcessDefinition sProcessDefinition = processDefinitionService.getProcessDefinition(processDefinitionId); boolean found = false; final SFlowElementContainerDefinition processContainer = sProcessDefinition.getProcessContainer(); final Set<SActivityDefinition> activityDefList = processContainer.getActivities(); for (final SActivityDefinition sActivityDefinition : activityDefList) { if (activityName.equals(sActivityDefinition.getName())) { sdataDefinitionList = sActivityDefinition.getSDataDefinitions(); found = true; break; } } if (!found) { throw new ActivityDefinitionNotFoundException(activityName); } return sdataDefinitionList.size(); } catch (final SProcessDefinitionNotFoundException e) { throw new ProcessDefinitionNotFoundException(e); } catch (final SBonitaException e) { throw new RetrieveException(e); } }
protected void createDataInstancesForMultiInstance(final SActivityDefinition activityDefinition, final SFlowNodeInstance flowNodeInstance, final SExpressionContext expressionContext) throws SDataInstanceException, SExpressionException { final SLoopCharacteristics loopCharacteristics = activityDefinition.getLoopCharacteristics(); final SMultiInstanceLoopCharacteristics miLoop = (SMultiInstanceLoopCharacteristics) loopCharacteristics; createBusinessDataInstancesForMultiInstance(activityDefinition, flowNodeInstance, miLoop); createDataInstances(activityDefinition.getSDataDefinitions(), flowNodeInstance.getId(), DataInstanceContainer.ACTIVITY_INSTANCE, expressionContext, miLoop.getLoopDataInputRef(), flowNodeInstance.getLoopCounter(), miLoop.getDataInputItemRef(), flowNodeInstance.getParentContainerId()); }
protected void createDataInstancesForMultiInstance(final SActivityDefinition activityDefinition, final SFlowNodeInstance flowNodeInstance, final SExpressionContext expressionContext) throws SDataInstanceException, SExpressionException { final SLoopCharacteristics loopCharacteristics = activityDefinition.getLoopCharacteristics(); final SMultiInstanceLoopCharacteristics miLoop = (SMultiInstanceLoopCharacteristics) loopCharacteristics; createBusinessDataInstancesForMultiInstance(activityDefinition, flowNodeInstance, miLoop); createDataInstances(activityDefinition.getSDataDefinitions(), flowNodeInstance.getId(), DataInstanceContainer.ACTIVITY_INSTANCE, expressionContext, miLoop.getLoopDataInputRef(), flowNodeInstance.getLoopCounter(), miLoop.getDataInputItemRef(), flowNodeInstance.getParentContainerId()); }
intTxflowNodeInstance.getFlowNodeDefinitionId()); if (activityDef != null && !activityDef.getSDataDefinitions().isEmpty()) {
intTxflowNodeInstance.getFlowNodeDefinitionId()); if (activityDef != null && !activityDef.getSDataDefinitions().isEmpty()) {