1 13 package org.pentaho.plugin.jfreereport.outputs; 14 15 import java.io.IOException ; 16 import java.io.OutputStream ; 17 18 import org.jfree.report.JFreeReport; 19 import org.jfree.report.ReportProcessingException; 20 import org.jfree.report.modules.output.table.html.HtmlProcessor; 21 import org.jfree.report.modules.output.table.html.StreamHtmlFilesystem; 22 import org.pentaho.plugin.jfreereport.helper.YieldReportListener; 23 24 29 public class JFreeReportStreamHtmlComponent extends AbstractGenerateStreamContentComponent { 30 private static final long serialVersionUID = 7103996413736560262L; 31 32 public JFreeReportStreamHtmlComponent() { 33 } 34 35 protected String getMimeType() { 36 return "text/html"; } 38 39 protected String getExtension() { 40 return ".html"; } 42 43 protected boolean performExport(final JFreeReport report, final OutputStream outputStream) { 44 try { 45 HtmlProcessor processor = new HtmlProcessor(report); 46 processor.setFilesystem(new StreamHtmlFilesystem(outputStream)); 47 final int yieldRate = getYieldRate(); 48 if (yieldRate > 0) { 49 processor.addRepaginationListener(new YieldReportListener(yieldRate)); 50 } 51 processor.processReport(); 52 outputStream.flush(); 53 return true; 54 } catch (ReportProcessingException e) { 55 return false; 56 } catch (IOException e) { 57 return false; 58 } 59 } 60 } 61 | Popular Tags |