private void createMultipleActivitiesJoinChecker(final XmlBuilder xmlDefBuilder, final Node parentNode, final MultiInstantiationDefinition joinChecker) throws Exception { if (joinChecker != null) { final Node joinCheckerNode = xmlDefBuilder.createNode(parentNode, XmlDef.MULTIPLE_ACT_JOINCHECKER); xmlDefBuilder.createNode(joinCheckerNode, XmlDef.CLASSNAME, joinChecker.getClassName()); xmlDefBuilder.createNode(joinCheckerNode, XmlDef.DESCRIPTION, joinChecker.getDescription()); final Node parametersNode = xmlDefBuilder.createNode(joinCheckerNode, XmlDef.PARAMETERS); final Map<String, Object[]> joinCheckerParameters = joinChecker.getParameters(); for (final Entry<String, Object[]> joinCheckerParameter : joinCheckerParameters.entrySet()) { final Map<String, Serializable> joinCheckerParameterAttributes = new HashMap<String, Serializable>(); joinCheckerParameterAttributes.put(XmlDef.NAME, joinCheckerParameter.getKey()); final byte[] value = Misc.serialize(joinCheckerParameter.getValue()); xmlDefBuilder.createNode(parametersNode, XmlDef.PARAMETER, value, joinCheckerParameterAttributes); } } }
public MultiInstantiationDefinitionImpl(MultiInstantiationDefinition src) { this.variableId = src.getVariableId(); this.className = src.getClassName(); this.parameters = Tool.copy(src.getParameters()); }
private void createMultiInstantiationDefinition(final XmlBuilder xmlDefBuilder, final Node parentNode, final MultiInstantiationDefinition multiInstantiationDefinition) throws Exception { if (multiInstantiationDefinition != null) { final Node multiInstantiationNode = xmlDefBuilder.createNode(parentNode, XmlDef.MULTI_INSTANTIATION); xmlDefBuilder.createNode(multiInstantiationNode, XmlDef.CLASSNAME, multiInstantiationDefinition.getClassName()); xmlDefBuilder.createNode(multiInstantiationNode, XmlDef.DESCRIPTION, multiInstantiationDefinition.getDescription()); xmlDefBuilder.createNode(multiInstantiationNode, XmlDef.VARIABLE_NAME, multiInstantiationDefinition.getVariableName()); final Node parametersNode = xmlDefBuilder.createNode(multiInstantiationNode, XmlDef.PARAMETERS); final Map<String, Object[]> multiInstantiationParameters = multiInstantiationDefinition.getParameters(); for (final Entry<String, Object[]> multiInstantiationParameter : multiInstantiationParameters.entrySet()) { final Map<String, Serializable> multiInstantiationParameterAttributes = new HashMap<String, Serializable>(); multiInstantiationParameterAttributes.put(XmlDef.NAME, multiInstantiationParameter.getKey()); final byte[] value = Misc.serialize(multiInstantiationParameter.getValue()); xmlDefBuilder.createNode(parametersNode, XmlDef.PARAMETER, value, multiInstantiationParameterAttributes); } } }
try { actInstDescr = ConnectorExecutor.executeMultiInstantiator(execution, activity.getName(), actInstantiator, multiDef.getParameters()); if (actInstDescr == null) { final String message = ExceptionManager.getInstance().getFullMessage("be_AA_3", activity.getName()); .getMultiInstantiationDefinition().getClassName(), e)); try { multiInstVar = VariableUtil.createVariable(activity.getProcessDefinitionUUID(), activity .getMultiInstantiationDefinition().getVariableName(), value); } catch (final StaleStateException sse) { throw sse;
@Override public Set<String> getClassDependencies() { final Set<String> classDependencies = new HashSet<String>(); for (final DeadlineDefinition deadline : getDeadlines()) { classDependencies.add(deadline.getClassName()); } for (final ConnectorDefinition connector : getConnectors()) { classDependencies.add(connector.getClassName()); } if (getMultiInstantiationDefinition() != null) { classDependencies.add(getMultiInstantiationDefinition().getClassName()); } if (getFilter() != null) { classDependencies.add(getFilter().getClassName()); } return classDependencies; }
final MultipleInstancesJoinChecker checker = EnvTool.getClassDataLoader().getInstance( MultipleInstancesJoinChecker.class, definitionUUID, joinChecker); final Map<String, Object[]> parameters = joinChecker.getParameters(); Map<String, Object[]> inputs = new HashMap<String, Object[]>(); if (parameters != null) {
private void checkMultiInstantiation(final ProcessDefinitionImpl process) { for (final ActivityDefinition activity : process.getActivities()) { final MultiInstantiationDefinition multiInstantiationDefinition = activity.getMultiInstantiationDefinition(); final MultiInstantiationDefinition instantiator = activity.getMultipleInstancesInstantiator(); final MultiInstantiationDefinition joinChecker = activity.getMultipleInstancesJoinChecker(); if (instantiator != null || joinChecker != null || multiInstantiationDefinition != null) { if (multiInstantiationDefinition != null) { final String variableId = multiInstantiationDefinition.getVariableName(); boolean variableExists = false; if (activity.getDataFields() != null) { for (final DataFieldDefinition var : activity.getDataFields()) { if (var.getName().equals(variableId)) { variableExists = true; break; } } } if (!variableExists) { problems.add(new Problem("MultiInstantiation variable " + variableId + " must be a local variable of activity " + activity.getName(), Problem.SEVERITY_ERROR)); } } else if (instantiator != null && joinChecker == null) { problems.add(new Problem("JoinChecker is undefined", Problem.SEVERITY_ERROR)); } else if (instantiator == null && joinChecker != null) { problems.add(new Problem("Instantiator is undefined", Problem.SEVERITY_ERROR)); } } } }
@Override public Set<String> getClassDependencies() { final Set<String> classDependencies = new HashSet<String>(); for (final DeadlineDefinition deadline : getDeadlines()) { classDependencies.add(deadline.getClassName()); } for (final ConnectorDefinition connector : getConnectors()) { classDependencies.add(connector.getClassName()); } if (getMultiInstantiationDefinition() != null) { classDependencies.add(getMultiInstantiationDefinition().getClassName()); } if (getFilter() != null) { classDependencies.add(getFilter().getClassName()); } return classDependencies; }
MultipleInstancesInstantiator.class, definitionUUID, instantiator); final Map<String, Object[]> parameters = instantiator.getParameters(); Map<String, Object[]> inputs = new HashMap<String, Object[]>();
private void checkMultiInstantiation(final ProcessDefinitionImpl process) { for (final ActivityDefinition activity : process.getActivities()) { final MultiInstantiationDefinition multiInstantiationDefinition = activity.getMultiInstantiationDefinition(); final MultiInstantiationDefinition instantiator = activity.getMultipleInstancesInstantiator(); final MultiInstantiationDefinition joinChecker = activity.getMultipleInstancesJoinChecker(); if (instantiator != null || joinChecker != null || multiInstantiationDefinition != null) { if (multiInstantiationDefinition != null) { final String variableId = multiInstantiationDefinition.getVariableName(); boolean variableExists = false; if (activity.getDataFields() != null) { for (final DataFieldDefinition var : activity.getDataFields()) { if (var.getName().equals(variableId)) { variableExists = true; break; } } } if (!variableExists) { problems.add(new Problem("MultiInstantiation variable " + variableId + " must be a local variable of activity " + activity.getName(), Problem.SEVERITY_ERROR)); } } else if (instantiator != null && joinChecker == null) { problems.add(new Problem("JoinChecker is undefined", Problem.SEVERITY_ERROR)); } else if (instantiator == null && joinChecker != null) { problems.add(new Problem("Instantiator is undefined", Problem.SEVERITY_ERROR)); } } } }
private void createMultipleActivitiesJoinChecker(final XmlBuilder xmlDefBuilder, final Node parentNode, final MultiInstantiationDefinition joinChecker) throws Exception { if (joinChecker != null) { final Node joinCheckerNode = xmlDefBuilder.createNode(parentNode, XmlDef.MULTIPLE_ACT_JOINCHECKER); xmlDefBuilder.createNode(joinCheckerNode, XmlDef.CLASSNAME, joinChecker.getClassName()); xmlDefBuilder.createNode(joinCheckerNode, XmlDef.DESCRIPTION, joinChecker.getDescription()); final Node parametersNode = xmlDefBuilder.createNode(joinCheckerNode, XmlDef.PARAMETERS); final Map<String, Object[]> joinCheckerParameters = joinChecker.getParameters(); for (final Entry<String, Object[]> joinCheckerParameter : joinCheckerParameters.entrySet()) { final Map<String, Serializable> joinCheckerParameterAttributes = new HashMap<String, Serializable>(); joinCheckerParameterAttributes.put(XmlDef.NAME, joinCheckerParameter.getKey()); final byte[] value = Misc.serialize(joinCheckerParameter.getValue()); xmlDefBuilder.createNode(parametersNode, XmlDef.PARAMETER, value, joinCheckerParameterAttributes); } } }
public MultiInstantiationDefinitionImpl(final MultiInstantiationDefinition src) { this.variableId = src.getVariableId(); this.className = src.getClassName(); this.parameters = CopyTool.copy(src.getParameters()); }
private void createMultiInstantiationDefinition(final XmlBuilder xmlDefBuilder, final Node parentNode, final MultiInstantiationDefinition multiInstantiationDefinition) throws Exception { if (multiInstantiationDefinition != null) { final Node multiInstantiationNode = xmlDefBuilder.createNode(parentNode, XmlDef.MULTI_INSTANTIATION); xmlDefBuilder.createNode(multiInstantiationNode, XmlDef.CLASSNAME, multiInstantiationDefinition.getClassName()); xmlDefBuilder.createNode(multiInstantiationNode, XmlDef.DESCRIPTION, multiInstantiationDefinition.getDescription()); xmlDefBuilder.createNode(multiInstantiationNode, XmlDef.VARIABLE_NAME, multiInstantiationDefinition.getVariableName()); final Node parametersNode = xmlDefBuilder.createNode(multiInstantiationNode, XmlDef.PARAMETERS); final Map<String, Object[]> multiInstantiationParameters = multiInstantiationDefinition.getParameters(); for (final Entry<String, Object[]> multiInstantiationParameter : multiInstantiationParameters.entrySet()) { final Map<String, Serializable> multiInstantiationParameterAttributes = new HashMap<String, Serializable>(); multiInstantiationParameterAttributes.put(XmlDef.NAME, multiInstantiationParameter.getKey()); final byte[] value = Misc.serialize(multiInstantiationParameter.getValue()); xmlDefBuilder.createNode(parametersNode, XmlDef.PARAMETER, value, multiInstantiationParameterAttributes); } } }
protected Set<String> getActivitiesDependencies(Set<ActivityDefinition> activities) { Set<String> dependencies = new HashSet<String>(); if (activities != null) { for (ActivityDefinition activity : activities) { if (activity.getPerformerAssign() != null) { dependencies.add(activity.getPerformerAssign().getClassName()); } if (activity.getHooks() != null) { for (HookDefinition hook : activity.getHooks()) { dependencies.add(hook.getClassName()); } } if (activity.getDeadlines() != null) { for (DeadlineDefinition deadline : activity.getDeadlines()) { dependencies.add(deadline.getExceptionName()); } } if (activity.getMultiInstantiationDefinition() != null) { dependencies.add(activity.getMultiInstantiationDefinition().getClassName()); } } } return dependencies; } protected Set<String> getParticipantsDependencies(Set<ParticipantDefinition> participants) {
private void createMultipleActivitiesInstantiator(final XmlBuilder xmlDefBuilder, final Node parentNode, final MultiInstantiationDefinition instantiator) throws Exception { if (instantiator != null) { final Node instantiatorNode = xmlDefBuilder.createNode(parentNode, XmlDef.MULTIPLE_ACT_INSTANTIATOR); xmlDefBuilder.createNode(instantiatorNode, XmlDef.CLASSNAME, instantiator.getClassName()); xmlDefBuilder.createNode(instantiatorNode, XmlDef.DESCRIPTION, instantiator.getDescription()); final Node parametersNode = xmlDefBuilder.createNode(instantiatorNode, XmlDef.PARAMETERS); final Map<String, Object[]> instantiatorParameters = instantiator.getParameters(); for (final Entry<String, Object[]> instantiatorParameter : instantiatorParameters.entrySet()) { final Map<String, Serializable> instantiatorParameterAttributes = new HashMap<String, Serializable>(); instantiatorParameterAttributes.put(XmlDef.NAME, instantiatorParameter.getKey()); final byte[] value = Misc.serialize(instantiatorParameter.getValue()); xmlDefBuilder.createNode(parametersNode, XmlDef.PARAMETER, value, instantiatorParameterAttributes); } } }
String variableId = multiInstantiationDefinition.getVariableId(); boolean variableExists = false; if (node.getVariableDefinitions() != null) { variableId, new ClassInfo( multiInstantiationDefinition.getClassName(), multiInstantiationDefinition.getParameters()) );
private void createMultipleActivitiesInstantiator(final XmlBuilder xmlDefBuilder, final Node parentNode, final MultiInstantiationDefinition instantiator) throws Exception { if (instantiator != null) { final Node instantiatorNode = xmlDefBuilder.createNode(parentNode, XmlDef.MULTIPLE_ACT_INSTANTIATOR); xmlDefBuilder.createNode(instantiatorNode, XmlDef.CLASSNAME, instantiator.getClassName()); xmlDefBuilder.createNode(instantiatorNode, XmlDef.DESCRIPTION, instantiator.getDescription()); final Node parametersNode = xmlDefBuilder.createNode(instantiatorNode, XmlDef.PARAMETERS); final Map<String, Object[]> instantiatorParameters = instantiator.getParameters(); for (final Entry<String, Object[]> instantiatorParameter : instantiatorParameters.entrySet()) { final Map<String, Serializable> instantiatorParameterAttributes = new HashMap<String, Serializable>(); instantiatorParameterAttributes.put(XmlDef.NAME, instantiatorParameter.getKey()); final byte[] value = Misc.serialize(instantiatorParameter.getValue()); xmlDefBuilder.createNode(parametersNode, XmlDef.PARAMETER, value, instantiatorParameterAttributes); } } }