package org.signalml.plugin.bookreporter.method; import org.apache.log4j.Logger; import org.jfree.chart.plot.XYPlot; import org.signalml.method.Method; import org.signalml.plugin.bookreporter.data.BookReporterData; import org.signalml.plugin.bookreporter.data.BookReporterResult; import org.signalml.plugin.bookreporter.ui.BookReporterResultFrame; import org.signalml.plugin.export.SignalMLException; import org.signalml.plugin.method.IPluginMethodResultConsumer; import org.signalml.plugin.method.PluginMethodManager; /** * @author piotr@develancer.pl * (based on Michal Dobaczewski's NewStagerMethodConsumer) */ public class BookReporterMethodConsumer implements IPluginMethodResultConsumer { protected static final Logger logger = Logger.getLogger(BookReporterMethodConsumer.class); @Override public void initialize(PluginMethodManager manager) { // nothing here } @Override public boolean consumeResult(Method method, Object methodData, Object methodResult) throws SignalMLException { if (!(methodData instanceof BookReporterData)) { logger.error("Invalid book reporter data"); return false; } BookReporterResult result = (BookReporterResult) methodResult; BookReporterResultFrame resultFrame = new BookReporterResultFrame(); for (XYPlot plot : result.getPlots()) { resultFrame.addPlotToPanel(plot); } resultFrame.setTimeAxis(result.getTimeAxis()); resultFrame.setTags(result.getTags()); resultFrame.setVisible(true); return true; } }