package edu.ualberta.med.biobank.export; import java.util.List; import java.util.Map; import net.sf.jasperreports.engine.JasperPrint; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.viewers.ITableLabelProvider; import edu.ualberta.med.biobank.SessionManager; import edu.ualberta.med.biobank.gui.common.BgcPlugin; import edu.ualberta.med.biobank.reporting.ReportingUtils; public class PrintPdfDataExporter extends PdfDataExporter { public PrintPdfDataExporter() { super("Print"); } @Override protected void export(Data data, ITableLabelProvider labelProvider, IProgressMonitor monitor) throws DataExportException { canExport(data); List<Map<String, String>> maps; try { maps = getPropertyMaps(data, labelProvider, monitor, true); } catch (Exception e1) { // cancelled return; } try { JasperPrint jasperPrint = ReportingUtils.createDynamicReport( data.getTitle(), data.getDescription(), data.getColumnNames(), maps, true); ReportingUtils.printReport(jasperPrint); } catch (Exception e) { BgcPlugin .openAsyncError("Error printing PDF", e); return; } try { SessionManager.log("print", data.getTitle(), LOG_TYPE); } catch (Exception e) { BgcPlugin.openAsyncError( "Error Logging Print", e); } } }