// first overflow
overflowStartPage = pageCount;
}
else if (pageCount >= overflowStartPage + 2)
{
throw new JRRuntimeException("List row overflowed on 3 consecutive pages, "
+ "likely infinite loop");
}
// set the filling flag so that we know that we are continuing
filling = true;
// set the index of the column that overflowed
// this is actually the index + 1
overflowColumnIndex = columnIndex;
return FillPrepareResult.printStretch(availableHeight, overflow);
}
else
{
// list has completed;
// fill last row, if not filled
if (columnIndex > 0)
{
fillRow(columnIndex);
// reset overflow column index
overflowColumnIndex = 0;
}
if (log.isDebugEnabled())
{
log.debug("List has completed rendering");
}
filling = false;
datasetRun.end();
if (!hadData)
{
//if no data, set as no print
return FillPrepareResult.NO_PRINT_NO_OVERFLOW;
}
return FillPrepareResult.printStretch(printFrame.getHeight(), false);
}
}
catch (JRException e)
{
throw new JRRuntimeException(e);
}
}