package net.techreadiness.plugin.action.reports.school; import java.util.Collection; import java.util.Map; import javax.inject.Inject; import net.techreadiness.persistence.criteriaquery.QueryResult; import net.techreadiness.plugin.action.reports.ReportItemProviderImpl; import net.techreadiness.plugin.service.reports.ReportsService; import net.techreadiness.service.common.DataGrid; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; import com.google.common.collect.Lists; @Component @Qualifier("SchoolReportItemProvider") public class SchoolExceptionReportItemProviderImpl extends ReportItemProviderImpl { @Inject private ReportsService dao; @Override public Collection<Map<String, String>> getPage(DataGrid<Map<String, String>> grid) { if (org == null) { setTotalNumberOfItems(0); return Lists.newArrayList(); } if (consortium == null) { throw new IllegalStateException("No Data to Display. Please ensure the appropriate consortium is selected"); } if (org.getName().equals("Readiness")) { throw new IllegalStateException("This report is not available at the current organizational level selected"); } QueryResult<Map<String, String>> result = dao.retrieveSchoolExceptions(snapshotWindow.getSnapshotWindowId(), org.getOrgId(), question, false, false, grid.getFirstResult(), grid.getPageSize()); setTotalNumberOfItems(result.getTotalRowCount()); return result.getRows(); } @Override public Collection<Map<String, String>> export(ExportType exportType) { if (org == null) { return Lists.newArrayList(); } QueryResult<Map<String, String>> result = dao.retrieveSchoolExceptions(snapshotWindow.getSnapshotWindowId(), org.getOrgId(), question, true, true, null, null); return result.getRows(); } }