/*
This file is part of jTotus.
jTotus is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
jTotus is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with jTotus. If not, see <http://www.gnu.org/licenses/>.
*/
package org.jlucrum.realtime.listeners;
import org.jlucrum.realtime.eventtypes.StockTick;
import com.espertech.esper.client.EventBean;
import com.espertech.esper.client.UpdateListener;
import java.util.Calendar;
import org.jtotus.gui.graph.GraphSender;
/**
*
* @author Evgeni Kappinen
*/
public class TickListenerPrinter implements UpdateListener {
private boolean sendEventToGUI = false;
private GraphSender sender = new GraphSender(this.getClass().getSimpleName());
private Calendar cal = Calendar.getInstance();
public void sendEventsToGui() {
sendEventToGUI = true;
}
public void update(EventBean[] ebs, EventBean[] ebs1) {
System.out.printf("[%s] " + ebs[0].getUnderlying() + "\n",
ebs[0].getUnderlying().getClass().getSimpleName());
if (sendEventToGUI) {
if (ebs[0].getUnderlying().getClass().getSimpleName().equalsIgnoreCase("HashMap")) {
StockTick tick = (StockTick) ebs[0].get("tick");
sender.setSeriesName(tick.getStockName());
cal.add(Calendar.DATE, 1);
sender.addForSending(cal.getTime(), tick.getLatestPrice());
sender.sendAllStored();
}
}
}
}