04-08-2011 09:21 AM
<callActivity id="callPublisherdeploy" name="Deploy All Publishers" calledElement="Publisherdeploy">
<multiInstanceLoopCharacteristics isSequential="true">
<loopDataInputRef>ALLPUBLISHERS</loopDataInputRef>
<inputDataItem name="PUBLISHER" />
</multiInstanceLoopCharacteristics>
</callActivity>
Collection publishers = new ArrayList();
publishers.add("pub1");
publishers.add("pub2");
publishers.add("pub3");
HashMap<String, Object> params = new HashMap<String, Object>();
params.put("ALLPUBLISHERS",publishers)
runtime.startProcessInstanceByKey("testforeach",params);
04-08-2011 09:42 AM
org.activiti.engine.impl.bpmn.behavior.MultiInstanceActivityBehavior
else if (collectionVariable != null) {
Object obj = execution.getVariable(collectionVariable);
if (!(obj instanceof Collection)) {
throw new ActivitiException("Variable " + collectionVariable+"' is not a Collection");
}
nrOfInstances = ((Collection) obj).size();
org.activiti.engine.impl.bpmn.parser.BpmnParse
// activiti:collection
String collection = miLoopCharacteristics.attributeNS(BpmnParser.ACTIVITI_BPMN_EXTENSIONS_NS, "collection");
if (collection != null) {
if (collection.contains("{")) {
miActivityBehavior.setCollectionExpression(expressionManager.createExpression(collection));
} else {
miActivityBehavior.setCollectionVariable(collection);
}
}
// loopDataInputRef
Element loopDataInputRef = miLoopCharacteristics.element("loopDataInputRef");
if (loopDataInputRef != null) {
String loopDataInputRefText = loopDataInputRef.getText();
if (loopDataInputRefText != null) {
if (loopDataInputRefText.contains("{")) {
miActivityBehavior.setCollectionExpression(expressionManager.createExpression(loopDataInputRefText));
} else {
miActivityBehavior.setCollectionVariable(loopDataInputRefText);
}
}
}
04-08-2011 09:49 AM
Strange, this is the code and looks okay to me:
org.activiti.engine.impl.bpmn.behavior.MultiInstanceActivityBehavior
else if (collectionVariable != null) {
Object obj = execution.getVariable(collectionVariable);
if (!(obj instanceof Collection)) {
throw new ActivitiException("Variable " + collectionVariable+"' is not a Collection");
}
nrOfInstances = ((Collection) obj).size();
and
org.activiti.engine.impl.bpmn.parser.BpmnParse
// activiti:collection
String collection = miLoopCharacteristics.attributeNS(BpmnParser.ACTIVITI_BPMN_EXTENSIONS_NS, "collection");
if (collection != null) {
if (collection.contains("{")) {
miActivityBehavior.setCollectionExpression(expressionManager.createExpression(collection));
} else {
miActivityBehavior.setCollectionVariable(collection);
}
}
// loopDataInputRef
Element loopDataInputRef = miLoopCharacteristics.element("loopDataInputRef");
if (loopDataInputRef != null) {
String loopDataInputRefText = loopDataInputRef.getText();
if (loopDataInputRefText != null) {
if (loopDataInputRefText.contains("{")) {
miActivityBehavior.setCollectionExpression(expressionManager.createExpression(loopDataInputRefText));
} else {
miActivityBehavior.setCollectionVariable(loopDataInputRefText);
}
}
}
You're using java.util.ArrayList right?
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.