Element dataForChildCase = produceDataRootElement();
List inputParams = new ArrayList(_decompositionPrototype.getInputParameters().values());
Collections.sort(inputParams);
for (int i = 0; i < inputParams.size(); i++) {
YParameter parameter = (YParameter) inputParams.get(i);
String inputParamName = parameter.getName() != null ?
parameter.getName() : parameter.getElementName();
String expression = (String) _dataMappingsForTaskStarting.get(inputParamName);
if (this.isMultiInstance() && inputParamName.equals(
_multiInstAttr.getMIFormalInputParam())) {
Element specificMIData = (Element)
_multiInstanceSpecificParamsIterator.next();
if (YEngine.getInstance().generateUIMetaData())
{
/**
* Add in attributes for input parameter
*/
if (parameter.getAttributes() != null)
{
Enumeration enumeration = parameter.getAttributes().keys();
while(enumeration.hasMoreElements())
{
String attrName = (String)enumeration.nextElement();
String attrValue = (String)parameter.getAttributes().get(attrName);
specificMIData.setAttribute(attrName, attrValue);
}
}
}
dataForChildCase.addContent(specificMIData);
} else {
Element result = performDataExtraction(expression, parameter);
if (YEngine.getInstance().generateUIMetaData())
{
/**
* Add in attributes for input parameter
*/
if (parameter.getAttributes() != null)
{
Enumeration enumeration = parameter.getAttributes().keys();
while(enumeration.hasMoreElements())
{
String attrName = (String)enumeration.nextElement();
String attrValue = (String)parameter.getAttributes().get(attrName);
result.setAttribute(attrName, attrValue);
}
}
}
dataForChildCase.addContent((Element) result.clone());