package org.infosec.ismp.syslogd.manager; import java.util.ArrayList; import java.util.List; import org.infosec.ismp.eventd.EventIpcManagerFactory; import org.infosec.ismp.model.Parms; import org.infosec.ismp.model.event.Event; import org.infosec.ismp.model.event.EventConstants; import org.infosec.ismp.model.event.EventHelper; import org.infosec.ismp.model.event.EventListener; import org.infosec.ismp.model.syslog.Syslog; import org.infosec.ismp.model.syslog.SyslogDeepParser; import org.infosec.ismp.model.syslog.SyslogWrapper; import org.infosec.ismp.util.concurrent.RunnableConsumerThreadPool; import org.infosec.ismp.util.queue.FifoQueueException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** * * @author root * */ //@Component public class SyslogEventProcessor { //implements EventListener { // /** // * The thread pool handling the events // */ // private RunnableConsumerThreadPool m_eventHandlerPool; // // private List<SyslogDeepParser> m_deepParsers = new ArrayList<SyslogDeepParser>(); // // private SyslogPersister m_persister; // // @Override // public String getName() { // return "manager_syslogd:processor"; // } // // @Override // public void onEvent(final Event e) { // // try { // m_eventHandlerPool.getRunQueue().add(new Runnable(){ // // @Override // public void run() { // // m_persister.saveSyslsog(convertWrapper(e)); // } // // }); // } catch (FifoQueueException e2) { // e2.printStackTrace(); // } catch (InterruptedException e2) { // e2.printStackTrace(); // } // // String uei = e.getUei(); // // String type = getSyslogType(uei); // // for(SyslogDeepParser parser:m_deepParsers){ // String parserType = parser.getType(); // if(type.equalsIgnoreCase(parserType)){ // //TODO: // Runnable r = parser.createRunnable(convertWrapper(e)); // try { // m_eventHandlerPool.getRunQueue().add(r); // } catch (FifoQueueException e1) { // e1.printStackTrace(); // } catch (InterruptedException e1) { // e1.printStackTrace(); // } // } // break; // } // } // // private void createSelectorAndSubscribe(){ // List<String> ueis = new ArrayList<String>(); // // ueis.add(EventConstants.SYSLOG_EVENT_UEI_PRIFIX); // // EventIpcManagerFactory.getIpcManager().addEventListener(this,ueis); // } // // public SyslogEventProcessor() { // createSelectorAndSubscribe(); // initThreadPool(); // } // // private String getSyslogType(String uei){ // uei = uei.replace(EventConstants.SYSLOG_EVENT_UEI_PRIFIX, ""); //// System.out.println("uei is : "+uei); // int index = uei.indexOf("/"); // String type = uei.substring(0,index); // return type; // } // // private void initThreadPool(){ // m_eventHandlerPool = new RunnableConsumerThreadPool("syslog event parse",0.6f,1.0f,5); // m_eventHandlerPool.start(); // } // // public void setDeepParsers(List<SyslogDeepParser> deepParsers) { // m_deepParsers = deepParsers; // } // // @Autowired(required=true) // public void setPersister(SyslogPersister persister) { // m_persister = persister; // } // // SyslogWrapper convertWrapper(Event event){ // SyslogWrapper wrapper = new SyslogWrapper(); // Parms parms = event.getParms(); // wrapper.setDomain(EventHelper.getValue(parms, "domainid")); // wrapper.setLogSource(EventHelper.getValue(parms, "logsource")); // // Syslog log = new Syslog(); // log.setFacility(EventHelper.getValue(parms, "facility")); // log.setSeverity(EventHelper.getValue(parms, "severity")); // log.setHostname(EventHelper.getValue(parms, "hostname")); // log.setIpaddr(EventHelper.getValue(parms, "ipaddr")); // log.setMsg(EventHelper.getValue(parms, "message")); // log.setTimestamp(EventHelper.getValue(parms, "timestamp")); // wrapper.setSyslog(log); // // return wrapper; // } // // }