package com.plugtree.solrmeter.view; import com.google.inject.Inject; import com.plugtree.solrmeter.controller.UpdateExecutorController; import com.plugtree.solrmeter.model.UpdateExecutor; import com.plugtree.solrmeter.model.statistic.CommitHistoryStatistic; import com.plugtree.solrmeter.model.statistic.OperationRateStatistic; import java.text.SimpleDateFormat; import java.util.ArrayList; public class HeadlessCommitConsolePanel extends HeadlessConsolePanel { private UpdateExecutor updateExecutor; private CommitHistoryStatistic commitHistoryStatistic; private UpdateExecutorController controller; private OperationRateStatistic operationRateStatistic; @Inject public HeadlessCommitConsolePanel(UpdateExecutor updateExecutor, CommitHistoryStatistic commitHistoryStatistic, OperationRateStatistic operationRateStatistic, UpdateExecutorController controller) { this.updateExecutor = updateExecutor; this.commitHistoryStatistic = commitHistoryStatistic; this.operationRateStatistic = operationRateStatistic; this.controller = controller; controller.addObserver(this); init(); } private void init() {} public void stopped() {} public void started () {} public void refreshView() { ArrayList<String> lines = new ArrayList<String>(); lines.add("not committed documents:\t" + String.valueOf(updateExecutor.getNotCommitedDocuments())); if(commitHistoryStatistic.getLastCommitDate() != null) { lines.add("last commit:\t" + SimpleDateFormat.getInstance().format(commitHistoryStatistic.getLastCommitDate())); } lines.add("total commits:\t" + String.valueOf(commitHistoryStatistic.getTotalCommits())); lines.add("errors on commit:\t" + String.valueOf(commitHistoryStatistic.getCommitErrorCount())); HeadlessUtils.outputData("commitConsolePanel.title", HeadlessConsoleFrame.getOutputDirectory(), lines); } public void scheduleOperations() {} public boolean operationsComplete() { return true; } }