/**
* EventFaciListener.java
*/
package org.infosec.ismp.manager.server.event.listener;
import java.sql.Timestamp;
import java.util.Formatter;
import org.infosec.ismp.manager.rmi.event.modle.EventFaciip;
import org.infosec.ismp.manager.rmi.event.util.EventConstants;
import com.espertech.esper.client.EventBean;
/**
* 用于基于源和目的IP的事件统计监听器
* @author Jianyu Shen
*
* 2009-6-12 下午01:46:58
*/
public class EventFaciListener extends BaseEventListener {
/**
* @param vComplexEventListener
*/
public EventFaciListener(ComplexEventListener vComplexEventListener) {
super(vComplexEventListener);
// TODO Auto-generated constructor stub
}
public void update(EventBean[] newEvents, EventBean[] oldEvents) {
// System.out.println("----------- 用于基于源和目的IP的事件统计监听器------------");
Formatter out = new Formatter(new StringBuffer());
// out.format("%10s | %10s | %10s\n", "faciIp", "count", "eventTime");
// out.format("---------- | ---------- |\n");
if (newEvents != null) {
for (int i = 0; i < newEvents.length; i++) {
EventFaciip event = new EventFaciip();
event.setFaci_ip((String) newEvents[i].get("faciIp"));
event.setCountPerType((Long) newEvents[i].get("countPerType"));
event.setTime((Timestamp) newEvents[i].get("eventTime"));
event.setBureauId(Integer.parseInt(newEvents[i].get("domain").toString()));
// System.out.println("%%%%%%%=========EventFaciListener.event=======%%%%%%%"+ event);
EventConstants.addStatisticsEvent(event);
// out.format("%10s | %10s | %10s\n", (String) newEvents[i]
// .get("faciIp"), (Long) newEvents[i]
// .get("countPerType"), (Timestamp) newEvents[i]
// .get("eventTime"));
}
}
complexEventListener.onComplexEvent("The facility Statistics :\n"
+ out.out().toString());
}
}