boolean isBusinessData(final SProcessDefinition processDefinition, final SMultiInstanceLoopCharacteristics miLoop) { final SFlowElementContainerDefinition processContainer = processDefinition.getProcessContainer(); final SBusinessDataDefinition businessData = processContainer.getBusinessDataDefinition(miLoop.getLoopDataOutputRef()); return businessData != null; }
boolean isBusinessData(final SProcessDefinition processDefinition, final SMultiInstanceLoopCharacteristics miLoop) { final SFlowElementContainerDefinition processContainer = processDefinition.getProcessContainer(); final SBusinessDataDefinition businessData = processContainer.getBusinessDataDefinition(miLoop.getLoopDataOutputRef()); return businessData != null; }
public int getNumberOfInstancesToCreateFromInputRef(final SProcessDefinition processDefinition, final SFlowNodeInstance flowNodeInstance, final SMultiInstanceLoopCharacteristics miLoop, final int numberOfInstanceMax) throws SDataInstanceException, SActivityStateExecutionException { final SFlowElementContainerDefinition processContainer = processDefinition.getProcessContainer(); final SBusinessDataDefinition businessData = processContainer.getBusinessDataDefinition(miLoop.getLoopDataInputRef()); if (businessData == null) { return getNumberOfInstanceToCreateFromSimpleData(processDefinition, flowNodeInstance, miLoop, numberOfInstanceMax); } try { return refBusinessDataService.getNumberOfDataOfMultiRefBusinessData(businessData.getName(), flowNodeInstance.getParentProcessInstanceId()); } catch (final SBonitaReadException sbre) { throw new SActivityStateExecutionException(sbre); } }
public int getNumberOfInstancesToCreateFromInputRef(final SProcessDefinition processDefinition, final SFlowNodeInstance flowNodeInstance, final SMultiInstanceLoopCharacteristics miLoop, final int numberOfInstanceMax) throws SDataInstanceException, SActivityStateExecutionException { final SFlowElementContainerDefinition processContainer = processDefinition.getProcessContainer(); final SBusinessDataDefinition businessData = processContainer.getBusinessDataDefinition(miLoop.getLoopDataInputRef()); if (businessData == null) { return getNumberOfInstanceToCreateFromSimpleData(processDefinition, flowNodeInstance, miLoop, numberOfInstanceMax); } try { return refBusinessDataService.getNumberOfDataOfMultiRefBusinessData(businessData.getName(), flowNodeInstance.getParentProcessInstanceId()); } catch (final SBonitaReadException sbre) { throw new SActivityStateExecutionException(sbre); } }
public void mapDataOutputOfMultiInstance(final SProcessDefinition processDefinition, final SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException { if (flowNodeInstance instanceof SActivityInstance && !SFlowNodeType.MULTI_INSTANCE_ACTIVITY.equals(flowNodeInstance.getType())) { final SFlowElementContainerDefinition processContainer = processDefinition.getProcessContainer(); final SActivityDefinition activityDefinition = (SActivityDefinition) processContainer.getFlowNode(flowNodeInstance.getFlowNodeDefinitionId()); if (activityDefinition != null) {// can be null if the activity was added in runtime try { final SLoopCharacteristics loopCharacteristics = activityDefinition.getLoopCharacteristics(); if (loopCharacteristics instanceof SMultiInstanceLoopCharacteristics && ((SMultiInstanceLoopCharacteristics) loopCharacteristics).getDataOutputItemRef() != null) { final SMultiInstanceLoopCharacteristics miLoop = (SMultiInstanceLoopCharacteristics) loopCharacteristics; final SBusinessDataDefinition businessData = processContainer.getBusinessDataDefinition(miLoop.getLoopDataOutputRef()); if (businessData == null) { mapDataOutputOfMultiInstance(flowNodeInstance, miLoop); } else { MapMultiInstanceBusinessDataOutput(flowNodeInstance, miLoop); } } } catch (final SBonitaException sbe) { throw new SActivityStateExecutionException(sbe); } } } }
public void mapDataOutputOfMultiInstance(final SProcessDefinition processDefinition, final SFlowNodeInstance flowNodeInstance) throws SActivityStateExecutionException { if (flowNodeInstance instanceof SActivityInstance && !SFlowNodeType.MULTI_INSTANCE_ACTIVITY.equals(flowNodeInstance.getType())) { final SFlowElementContainerDefinition processContainer = processDefinition.getProcessContainer(); final SActivityDefinition activityDefinition = (SActivityDefinition) processContainer.getFlowNode(flowNodeInstance.getFlowNodeDefinitionId()); if (activityDefinition != null) {// can be null if the activity was added in runtime try { final SLoopCharacteristics loopCharacteristics = activityDefinition.getLoopCharacteristics(); if (loopCharacteristics instanceof SMultiInstanceLoopCharacteristics && ((SMultiInstanceLoopCharacteristics) loopCharacteristics).getDataOutputItemRef() != null) { final SMultiInstanceLoopCharacteristics miLoop = (SMultiInstanceLoopCharacteristics) loopCharacteristics; final SBusinessDataDefinition businessData = processContainer.getBusinessDataDefinition(miLoop.getLoopDataOutputRef()); if (businessData == null) { mapDataOutputOfMultiInstance(flowNodeInstance, miLoop); } else { MapMultiInstanceBusinessDataOutput(flowNodeInstance, miLoop); } } } catch (final SBonitaException sbe) { throw new SActivityStateExecutionException(sbe); } } } }