mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-17 20:50:44 +00:00
Update to not setup a join context for non-table data sources
This commit is contained in:
@ -224,7 +224,11 @@ public class GenerateReportAction
|
|||||||
exportInput.setIncludeHeaderRow(reportView.getIncludeHeaderRow());
|
exportInput.setIncludeHeaderRow(reportView.getIncludeHeaderRow());
|
||||||
exportInput.setReportOutputStream(reportInput.getReportOutputStream());
|
exportInput.setReportOutputStream(reportInput.getReportOutputStream());
|
||||||
|
|
||||||
JoinsContext joinsContext = new JoinsContext(exportInput.getInstance(), dataSource.getSourceTable(), dataSource.getQueryJoins());
|
JoinsContext joinsContext = null;
|
||||||
|
if(StringUtils.hasContent(dataSource.getSourceTable()))
|
||||||
|
{
|
||||||
|
joinsContext = new JoinsContext(exportInput.getInstance(), dataSource.getSourceTable(), dataSource.getQueryJoins());
|
||||||
|
}
|
||||||
|
|
||||||
List<QFieldMetaData> fields = new ArrayList<>();
|
List<QFieldMetaData> fields = new ArrayList<>();
|
||||||
for(QReportField column : reportView.getColumns())
|
for(QReportField column : reportView.getColumns())
|
||||||
@ -236,10 +240,10 @@ public class GenerateReportAction
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
String effectiveFieldName = Objects.requireNonNullElse(column.getSourceFieldName(), column.getName());
|
String effectiveFieldName = Objects.requireNonNullElse(column.getSourceFieldName(), column.getName());
|
||||||
JoinsContext.FieldAndTableNameOrAlias fieldAndTableNameOrAlias = joinsContext.getFieldAndTableNameOrAlias(effectiveFieldName);
|
JoinsContext.FieldAndTableNameOrAlias fieldAndTableNameOrAlias = joinsContext == null ? null : joinsContext.getFieldAndTableNameOrAlias(effectiveFieldName);
|
||||||
if(fieldAndTableNameOrAlias.field() == null)
|
if(fieldAndTableNameOrAlias == null || fieldAndTableNameOrAlias.field() == null)
|
||||||
{
|
{
|
||||||
throw new QReportingException("Could not find field named [" + effectiveFieldName + "] on table [" + table.getName() + "]");
|
throw new QReportingException("Could not find field named [" + effectiveFieldName + "] in dataSource [" + dataSource.getName() + "]");
|
||||||
}
|
}
|
||||||
|
|
||||||
QFieldMetaData field = fieldAndTableNameOrAlias.field().clone();
|
QFieldMetaData field = fieldAndTableNameOrAlias.field().clone();
|
||||||
|
Reference in New Issue
Block a user