}
}
protected ReportFieldNode[] computeColumns(final ReportDocumentContext context)
{
ContextAwareDataSchemaModel model = context.getReportDataSchemaModel();
final String[] columnNames = model.getColumnNames();
final ArrayList<ReportFieldNode> nodes = new ArrayList<ReportFieldNode>(columnNames.length);
for (int i = 0; i < columnNames.length; i++)
{
final String name = columnNames[i];
final DataAttributes attributes = model.getDataSchema().getAttributes(name);
if (attributes != null)
{
if (DataSchemaUtility.isFiltered(attributes, model.getDataAttributeContext()))
{
continue;
}
final Class type = (Class) attributes.getMetaAttribute
(MetaAttributeNames.Core.NAMESPACE, MetaAttributeNames.Core.TYPE, Class.class, model.getDataAttributeContext());
nodes.add(new ReportFieldNode(context, name, type));
}
else
{
nodes.add(new ReportFieldNode(context, name, Object.class));