public void export(HttpServletRequest req, HttpServletResponse res) throws Exception { String fileName=this.getExportFileName(req); fileName+=".docx"; res.setContentType("application/octet-stream"); res.setHeader("Connection", "close"); res.setHeader("Content-Disposition", "attachment;filename=\"" + new String(fileName.getBytes("utf-8"),"ISO-8859-1") + "\""); JRDocxExporter exporter = new JRDocxExporter(DefaultJasperReportsContext.getInstance()); JasperPrint jasperPrint=this.getJasperPrint(req); exporter.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint); OutputStream ouputStream = res.getOutputStream(); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream); try { exporter.exportReport(); } catch (JRException e) { throw new ServletException(e); } finally { if (ouputStream != null) { ouputStream.flush(); ouputStream.close(); } } }
/** * */ public void docx() throws JRException { File[] files = getFiles(new File("build/reports"), "jrprint"); for(int i = 0; i < files.length; i++) { long start = System.currentTimeMillis(); File sourceFile = files[i]; JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("Report : " + sourceFile + ". DOCX creation time : " + (System.currentTimeMillis() - start)); } }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/ScriptletReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); SimpleDocxReportConfiguration configuration = new SimpleDocxReportConfiguration(); configuration.setProgressMonitor(new SimpleExportProgressMonitor()); exporter.setConfiguration(configuration); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); List<JasperPrint> jasperPrintList = new ArrayList<JasperPrint>(); jasperPrintList.add((JasperPrint)JRLoader.loadObjectFromFile("build/reports/Report1.jrprint")); jasperPrintList.add((JasperPrint)JRLoader.loadObjectFromFile("build/reports/Report2.jrprint")); jasperPrintList.add((JasperPrint)JRLoader.loadObjectFromFile("build/reports/Report3.jrprint")); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(SimpleExporterInput.getInstance(jasperPrintList)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput("build/reports/BatchExportReport.docx")); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
@Override public void exportElement( JRDocxExporterContext exporterContext, JRGenericPrintElement element, JRExporterGridCell gridCell ) { try { JRDocxExporter exporter = (JRDocxExporter)exporterContext.getExporterRef(); exporter.exportImage( exporterContext.getTableHelper(), MapElementImageProvider.getImage(exporterContext.getJasperReportsContext(), element), gridCell ); } catch (Exception e) { throw new RuntimeException(e); } }
@Override public void exportElement( JRDocxExporterContext exporterContext, JRGenericPrintElement element, JRExporterGridCell gridCell ) { JRPrintText labelPrintText = (JRPrintText)element.getParameterValue(IconLabelElement.PARAMETER_LABEL_TEXT_ELEMENT); if (labelPrintText != null) { try { JRDocxExporter exporter = (JRDocxExporter)exporterContext.getExporterRef(); exporter.exportText(exporterContext.getTableHelper(), labelPrintText, gridCell); } catch (Exception e) { throw new RuntimeException(e); } } }
private Exporter createExporter(ExportType type) { switch (type) { case CSV: return new JRCsvExporter(); case RTF: return new JRRtfExporter(); case XLS: return new JRXlsExporter(); case ODT: return new JROdtExporter(); case ODS: return new JROdsExporter(); case DOCX: return new JRDocxExporter(); case XLSX: return new JRXlsxExporter(); case PPTX: return new JRPptxExporter(); default: return null; } }
private void exportPrintObject(ReporterConfig rc, final JasperPrint print, final ComponentExecutionApi reporter) { // build the export filename String filename = buildFilename(reporter, rc); // do each export option if (rc.isCsv()) { export(new JRCsvExporter(), print, filename, "csv", rc.isOpenExportFile()); } if (rc.isDocx()) { export(new JRDocxExporter(), print, filename, "docx", rc.isOpenExportFile()); } if (rc.isOdt()) { export(new JROdtExporter(), print, filename, "odt", rc.isOpenExportFile()); } if (rc.isHtml()) { export(new JRHtmlExporter(), print, filename, "html", rc.isOpenExportFile()); } if (rc.isPdf()) { export(new JRPdfExporter(), print, filename, "pdf", rc.isOpenExportFile()); } if (rc.isXls()) { export(new JRXlsExporter(), print, filename, "xls", rc.isOpenExportFile()); } // do show viewer at the end so it pops up after everything else if (rc.isShowViewer()) { reporter.submitControlLauncher(new ControlLauncherCallback() { @Override public void launchControls(ComponentControlLauncherApi launcherApi) { class DisposableViewer extends JRViewer implements Disposable { DisposableViewer(JasperPrint jrPrint) { super(jrPrint); } @Override public void dispose() { } } DisposableViewer viewer = new DisposableViewer(print); launcherApi.registerPanel("report", null, viewer, true); } }); } }
private JRDocxExporter docx(JasperIDocxExporter jasperExporter) { SimpleOutputStreamExporterOutput exporterOutput = simpleOutputStreamExporterOutput(jasperExporter); SimpleDocxReportConfiguration reportExportConfiguration = new SimpleDocxReportConfiguration(); reportExportConfiguration(reportExportConfiguration, jasperExporter); if (jasperExporter.getFramesAsNestedTables() != null) { reportExportConfiguration.setFramesAsNestedTables(jasperExporter.getFramesAsNestedTables()); } if (jasperExporter.getFlexibleRowHeight() != null) { reportExportConfiguration.setFlexibleRowHeight(jasperExporter.getFlexibleRowHeight()); } if (jasperExporter.getIgnoreHyperLink() != null) { reportExportConfiguration.setIgnoreHyperlink(jasperExporter.getIgnoreHyperLink()); } SimpleDocxExporterConfiguration exporterConfiguration = new SimpleDocxExporterConfiguration(); JRDocxExporter jrExporter = new JRDocxExporter(); jrExporter.setExporterOutput(exporterOutput); jrExporter.setConfiguration(reportExportConfiguration); jrExporter.setConfiguration(exporterConfiguration); return jrExporter; }
public void exportElement( JRDocxExporterContext exporterContext, JRGenericPrintElement element, JRExporterGridCell gridCell ) { JRDocxExporter exporter = (JRDocxExporter)exporterContext.getExporterRef(); JRExporterGridCell newGridCell = getGridCellReplacement(exporterContext, element, gridCell); exporter.exportText(exporterContext.getTableHelper(), (JRPrintText)newGridCell.getElement(), newGridCell); }
@Override public void exportElement(JRDocxExporterContext exporterContext, JRGenericPrintElement element, JRExporterGridCell gridCell) { JRDocxExporter exporter = (JRDocxExporter)exporterContext.getExporterRef(); try { HtmlPrintElement htmlPrintElement = HtmlPrintElementUtils.getHtmlPrintElement(); exporter.exportImage(exporterContext.getTableHelper(), htmlPrintElement.createImageFromElement(element), gridCell); } catch (JRException e) { throw new RuntimeException(e); } }
@Override public void save(JasperPrint jasperPrint, File file) throws JRException { if(!file.getName().toLowerCase().endsWith(EXTENSION_DOCX)) { file = new File(file.getAbsolutePath() + EXTENSION_DOCX); } if ( !file.exists() || JOptionPane.OK_OPTION == JOptionPane.showConfirmDialog( null, MessageFormat.format( getBundleString("file.exists"), new Object[]{file.getName()} ), getBundleString("save"), JOptionPane.OK_CANCEL_OPTION ) ) { JRDocxExporter exporter = new JRDocxExporter(getJasperReportsContext()); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(file)); exporter.exportReport(); } }
public void exportDocx() throws JRException { JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(this.output .getAbsolutePath() + ".docx")); exporter.exportReport(); }
private static JRExporter getJREXporter(final String extension) { if ("pdf".equalsIgnoreCase(extension)) { JRPdfExporter exporter = new JRPdfExporter(); // exporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT, "this.print();"); return exporter; } else if ("html".equalsIgnoreCase(extension)) { return new JRHtmlExporter(); } else if ("xls".equalsIgnoreCase(extension)) { JRXlsExporter exporterXLS = new JRXlsExporter(); exporterXLS.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE); exporterXLS.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE); exporterXLS.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE); exporterXLS.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE); return exporterXLS; } else if ("txt".equalsIgnoreCase(extension)) { return new JRTextExporter(); } else if ("csv".equalsIgnoreCase(extension)) { return new JRCsvExporter(); } else if ("docx".equalsIgnoreCase(extension)) { return new JRDocxExporter(); } return null; }
@Override protected JRDocxExporter getExporter(JasperReportsConfiguration jContext, JRExportProgressMonitor monitor, File file) { JRDocxExporter exp = new JRDocxExporter(jContext); exp.setExporterOutput(new SimpleOutputStreamExporterOutput(file)); SimpleDocxReportConfiguration rconf = new SimpleDocxReportConfiguration(); setupReportConfiguration(rconf, monitor); exp.setConfiguration(rconf); return exp; }
/** * Exports by MIME type. * * @param mimeType MIME type * @param jp Jasper print * @param os outputstream * @throws JRException */ protected void export(String mimeType, JasperPrint jp, OutputStream os) throws JRException { if ("application/pdf".equalsIgnoreCase(mimeType)) { exportReport(new JRPdfExporter(), jp, os); } else if ("text/xml".equalsIgnoreCase(mimeType)) { exportReport(new HtmlExporter(), jp, os); } else if ("application/rtf".equalsIgnoreCase(mimeType)) { exportReport(new JRRtfExporter(), jp, os); } else if ("application/xls".equalsIgnoreCase(mimeType)) { exportReport(new JRXlsExporter(), jp, os); } else if ("application/odt".equalsIgnoreCase(mimeType)) { exportReport(new JROdtExporter(), jp, os); } else if ("application/ods".equalsIgnoreCase(mimeType)) { exportReport(new JROdsExporter(), jp, os); } else if ("application/docx".equalsIgnoreCase(mimeType)) { exportReport(new JRDocxExporter(), jp, os); } else if ("application/xlsx".equalsIgnoreCase(mimeType)) { exportReport(new JRXlsxExporter(), jp, os); } else if ("application/pptx".equalsIgnoreCase(mimeType)) { exportReport(new JRPptxExporter(), jp, os); } else if ("text/xhmtl".equalsIgnoreCase(mimeType)) { exportReport(new JRXhtmlExporter(), jp, os); } else { throw new IllegalArgumentException("JasperRenderer does not support " + mimeType + " MIME type."); } }
protected void docx(JasperPrint print, String destFile) throws JRException, IOException { log.debug("exporting to docx file: " + destFile); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(print)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); }
@Override public void exportElement(JRDocxExporterContext exporterContext, JRGenericPrintElement element, JRExporterGridCell gridCell) { JRDocxExporter exporter = (JRDocxExporter) exporterContext.getExporter(); try { exporter.exportImage(exporterContext.getTableHelper(), getImage(exporterContext, element), gridCell); } catch (JRException e) { throw new RuntimeException(e); } }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/UnicodeReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/BookReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/Barcode4JReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/DataSourceReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/FontsReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/FormsReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/StyledTextReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/MapReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/TabularReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/XYChart.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/QueryReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/ShapesReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/CustomersReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/MasterReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/NoXmlDesignReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/NoPageBreakReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/XlsDataSourceReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }
/** * */ public void docx() throws JRException { long start = System.currentTimeMillis(); File sourceFile = new File("build/reports/HorizontalReport.jrprint"); JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".docx"); JRDocxExporter exporter = new JRDocxExporter(); exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile)); exporter.exportReport(); System.err.println("DOCX creation time : " + (System.currentTimeMillis() - start)); }