package cz.agents.agentpolis.tools.geovisio.spy.agentpolis; import java.sql.SQLException; import org.apache.log4j.Logger; import org.opengis.referencing.operation.TransformException; import cz.agents.alite.common.event.Event; import cz.agents.alite.common.event.EventHandler; import cz.agents.alite.common.event.EventProcessor; /** * * @author Marek Cuchy * */ public class SpyEventHandler implements EventHandler { private final static Logger logger = Logger.getLogger(SpyEventHandler.class); private final EventProcessor eventProcessor; private final long interval; private final AgentPolisDataReader reader; public SpyEventHandler(EventProcessor eventProcessor, long interval, AgentPolisDataReader reader) { super(); this.eventProcessor = eventProcessor; this.interval = interval; this.reader = reader; } public void startHandeling() { eventProcessor.addEvent(this, interval); } public EventProcessor getEventProcessor() { return eventProcessor; } public void handleEvent(Event event) { try { logger.debug("Start reading, sim time: "+event.getTime()); reader.readAndSaveData(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } catch (TransformException e) { e.printStackTrace(); } catch (ReflectiveOperationException e) { e.printStackTrace(); } eventProcessor.addEvent(this, interval); } }