private DataRow extractDataRow(final ReportEvent event) { if (event.isDeepTraversing() == false) { return getDataRow(); } return event.getOriginatingState().getDataRow(); }
/** * Receives notification that a row of data is being processed. * * @param event the event. */ public void itemsAdvanced(final ReportEvent event) { if (event.isDeepTraversing()) { if ("index".equals(event.getOriginatingState().getReport().getMetaData().getName())) { return; } } final Object o = computeDataValue(event); if (o == null) { return; } if (FunctionUtilities.isDefinedPrepareRunLevel(this, event)) { dataStorage.put(String.valueOf(o), new IndexDataHolder(o)); } else if (FunctionUtilities.isLayoutLevel(event)) { final IndexDataHolder o1 = dataStorage.get(String.valueOf(o)); if (o1 == null) { throw new IllegalStateException( "Unable to compute index: Function values changed between prepare and layout run"); } o1.addPage(pageFunction.getPage()); } }