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.rtf.RTFProcessor; 21 import org.pentaho.plugin.jfreereport.helper.YieldReportListener; 22 23 28 public class JFreeReportRTFComponent extends AbstractGenerateStreamContentComponent { 29 private static final long serialVersionUID = -4095237855917616138L; 30 31 public JFreeReportRTFComponent() { 32 } 33 34 protected String getMimeType() { 35 return "application/rtf"; } 37 38 protected String getExtension() { 39 return ".rtf"; } 41 42 protected boolean performExport(final JFreeReport report, final OutputStream outputStream) { 43 try { 44 RTFProcessor processor = new RTFProcessor(report); 45 processor.setOutputStream(outputStream); 46 final int yieldRate = getYieldRate(); 47 if (yieldRate > 0) { 48 processor.addRepaginationListener(new YieldReportListener(yieldRate)); 49 } 50 processor.processReport(); 51 outputStream.close(); 52 return true; 53 } catch (ReportProcessingException e) { 54 return false; 55 } catch (IOException e) { 56 return false; 57 } 58 } 59 } 60 | Popular Tags |