Thanks for your reply.
Since you gave me that I've been trying to text it. Still doesn't work in the sense that: is now not throwing that exception anymore, but creating a blank image for some reason.
So I went from this:
public BarChartGenerator(org.qcri.power.ws.client.Server oServer, ServerStatistics oServerStat, List lVMs, String path) extends ApplicationFrame {
System.setProperty("java.awt.headless", "true");
boolean headless = GraphicsEnvironment.isHeadless();
System.out.println("Headless: " + headless);
Toolkit tk = Toolkit.getDefaultToolkit();
tk.beep();
// generate dataset
final CategoryDataset dataset = createDataset(lVMs);
setChart(createChart(oServer, oServerStat, lVMs, dataset));
// create PNG of the chart...
setFilename("chart_server"+oServer.getHost()+"_"+System.currentTimeMillis()+".gif");
File fImageFile = new File(path+filename);
try {
ChartUtilities.saveChartAsPNG(fImageFile, chart, PowerInterface.CHART_WIDTH, PowerInterface.CHART_HEIGHT);
} catch (Exception e) {
e.printStackTrace();
}
}
to the following (getting rid of extends ApplicationFrame
) and use the example you gave me:
public BarChartGenerator(org.qcri.power.ws.client.Server oServer, ServerStatistics oServerStat, List lVMs, String path) {
System.setProperty("java.awt.headless", "true");
boolean headless = GraphicsEnvironment.isHeadless();
System.out.println("Headless: " + headless);
Toolkit tk = Toolkit.getDefaultToolkit();
tk.beep();
// generate dataset
final CategoryDataset dataset = createDataset(lVMs);
setChart(createChart(oServer, oServerStat, lVMs, dataset));
// create PNG of the chart...
setFilename("chart_server"+oServer.getHost()+"_"+System.currentTimeMillis()+".gif");
try {
BufferedImage bufferedImage = getChart().createBufferedImage(PowerInterface.CHART_WIDTH, PowerInterface.CHART_HEIGHT);
ImageIO.write(bufferedImage, "gif", new FileOutputStream(path+getFilename()));
} catch (Exception e) {
e.printStackTrace();
}
}
in the log it complains about ImageIO.write(bufferedImage, "gif", new FileOutputStream(path+getFilename()));
giving this error (while the file is there!):
javax.imageio.IIOException: Can't create output stream!
at javax.imageio.ImageIO.write(ImageIO.java:1560)
at org.qcri.power.util.BarChartGenerator.<init>(BarChartGenerator.java:106)
Any clue?