package com.plugtree.solrmeter.view.statistic; import com.google.inject.Inject; import com.plugtree.solrmeter.model.statistic.QueryTimeHistoryStatistic; 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 HeadlessQueryTimeHistoryPanel extends HeadlessStatisticPanel { private final String PREFIX = "statistic.queryTimeHistoryPanel."; private QueryTimeHistoryStatistic statistic; @Inject public HeadlessQueryTimeHistoryPanel(QueryTimeHistoryStatistic statistic) { super(); this.statistic = statistic; } @Override public String getStatisticName() { return I18n.get(PREFIX + "title"); } @Override public void refreshView() { if(!statistic.getCurrentHistory().isEmpty()) { try { File outFile = HeadlessUtils.getOutputFile(PREFIX + "title", HeadlessConsoleFrame.getStatisticsOutputDirectory()); BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(outFile)); statistic.printQueriesTimeToStream(outputStream); outputStream.close(); } catch(IOException e) { e.printStackTrace(); } } } }