final DataSchemaCompiler dataSchemaCompiler =
new DataSchemaCompiler(getDataSchemaDefinition(), getDataAttributeContext(), getMasterReportElement().getResourceManager());
try
{
final CachingDataFactory dataFactory =
new CachingDataFactory(new SortingDataFactory(createDataFactory(parent), new NoOpPerformanceMonitorContext()), true);
final MasterReport masterReport = getMasterReportElement();
dataFactory.initialize(new DesignTimeDataFactoryContext(masterReport));
try
{
List<SortConstraint> sortConstraints = new SortOrderReportPreProcessor().computeSortConstraints(parent);
final TableModel reportData = queryReportData
(parent.getQuery(), parent.getQueryTimeout(), dataFactory, sortConstraints);
final DataSchema dataSchema = dataSchemaCompiler.compile
(reportData, expressions, parameterRow, parameterDefinitions, masterReport.getReportEnvironment());
// this.columnNames = collectColumnNames(reportData, parameterRow, expressions);
if (reportData instanceof CloseableTableModel)
{
final CloseableTableModel ctm = (CloseableTableModel) reportData;
ctm.close();
}
return dataSchema;
}
finally
{
dataFactory.close();
}
}
catch (final ReportProcessingException e)
{
final TableModel reportData = new DefaultTableModel();