package com.cfinkel.reports.charts;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.chart.entity.StandardEntityCollection;
import org.apache.log4j.Logger;
import com.cfinkel.reports.generatedbeans.OutputElement;
import javax.servlet.http.HttpSession;
import java.io.PrintWriter;
import java.io.IOException;
/**
* $Author:charles $
* $Revision:10429 $
* $Date:2006-07-26 18:00:43 -0400 (Wed, 26 Jul 2006) $
* <p/>
* created:
* User: charles
* Date: May 22, 2006
* Time: 2:06:41 PM
*/
public class ChartGenerator {
private static final Logger log = Logger.getLogger(ChartGenerator.class);
protected static String writeImageMap(JFreeChart chart, OutputElement outputElement, HttpSession session, PrintWriter pw) {
String filename;
try {
// Write the chart image to the temporary directory
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
filename = ServletUtilities.saveChartAsPNG(chart,
outputElement.getChart().getWidth().intValue(),
outputElement.getChart().getHeight().intValue(),
info, session);
// Write the image map to the PrintWriter
ChartUtilities.writeImageMap(pw, filename, info, false);
pw.flush();
} catch (IOException e) {
log.error(e);
filename = "public_error_500x300.png";
}
return filename;
}
}