{
try
{
final Map parameters = deriveParseParameters();
parameters.put(new FactoryParameterKey(ReportParserUtil.HELPER_OBJ_REPORT_NAME), null);
final DataDefinition dataDefinition = (DataDefinition)
performExternalParsing(parameterFile, DataDefinition.class, parameters);
report.setQuery(dataDefinition.getQuery());
report.setQueryLimit(dataDefinition.getQueryLimit());
report.setQueryTimeout(dataDefinition.getQueryTimeout());
final DataFactory dataFactory = dataDefinition.getDataFactory();
if (dataFactory != null)
{
report.setDataFactory(dataFactory);
}
final ReportParameterDefinition definition = dataDefinition.getParameterDefinition();
if (definition != null)
{
report.setParameterDefinition(definition);
}
final Expression[] expressions = dataDefinition.getExpressions();
if (expressions != null)
{
for (int i = 0; i < expressions.length; i++)
{
final Expression expression = expressions[i];