{
this.columnNames = EMPTY_NAMES;
this.dataFactoryException = null;
final ParameterDefinitionEntry[] parameterDefinitions;
final ParameterDataRow parameterRow;
if (parent instanceof MasterReport)
{
final MasterReport mr = (MasterReport) parent;
parameterDefinitions = mr.getParameterDefinition().getParameterDefinitions();
final LinkedMap values = computeParameterValueSet(mr);
parameterRow = new ParameterDataRow((String[]) values.keys(new String[values.size()]), values.values());
}
else if (parent instanceof SubReport)
{
final SubReport sr = (SubReport) parent;
final ParameterMapping[] inputMappings = sr.getInputMappings();
final Object[] values = new Object[inputMappings.length];
final String[] names = new String[inputMappings.length];
parameterDefinitions = null;
for (int i = 0; i < inputMappings.length; i++)
{
final ParameterMapping inputMapping = inputMappings[i];
names[i] = inputMapping.getAlias();
}
parameterRow = new ParameterDataRow(names, values);
}
else
{
parameterDefinitions = null;
parameterRow = new ParameterDataRow();
}
final Expression[] expressions = parent.getExpressions().getExpressions();
final DataSchemaCompiler dataSchemaCompiler =
new DataSchemaCompiler(dataSchemaDefinition, dataAttributeContext, masterReportElement.getResourceManager());