package com.plugtree.solrmeter.view.statistic;
import com.google.inject.Inject;
import com.plugtree.solrmeter.model.statistic.HistogramQueryStatistic;
import com.plugtree.solrmeter.view.HeadlessConsoleFrame;
import com.plugtree.solrmeter.view.HeadlessStatisticPanel;
import com.plugtree.solrmeter.view.HeadlessUtils;
import com.plugtree.solrmeter.view.I18n;
import com.plugtree.stressTestScope.StressTestScope;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@StressTestScope
public class HeadlessHistogramChartPanel extends HeadlessStatisticPanel {
private final String PREFIX = "statistic.histogramChartPanel.";
private HistogramQueryStatistic histogram;
@Inject
public HeadlessHistogramChartPanel(HistogramQueryStatistic histogram) {
super();
this.histogram = histogram;
}
public String getStatisticName() {
return I18n.get(PREFIX + "title");
}
public void refreshView() {
if(!histogram.getCurrentHisogram().isEmpty()) {
try {
File outFile = HeadlessUtils.getOutputFile(PREFIX + "title", HeadlessConsoleFrame.getStatisticsOutputDirectory());
BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(outFile));
histogram.printHistogramToStream(outputStream);
outputStream.close();
}
catch(IOException e) {
e.printStackTrace();
}
}
}
}