package edu.sjtu.infosec.ismp.manager.SYSM.config.service.lm.dLog.impl; import java.util.List; import org.infosec.ismp.manager.rmi.syslog.SyslogController; import org.infosec.ismp.manager.rmi.tm.manager.model.NodeEntity; import org.infosec.ismp.manager.rmi.tm.manager.service.TopoWebService; import edu.sjtu.infosec.ismp.manager.SYSM.config.dao.lm.dLog.SysLogSourceDao; import edu.sjtu.infosec.ismp.manager.SYSM.config.model.lm.dLog.SysLogSource; import edu.sjtu.infosec.ismp.manager.SYSM.config.model.lm.dLog.SysLogSourceType; import edu.sjtu.infosec.ismp.manager.SYSM.config.service.lm.dLog.SysLogSourceService; import edu.sjtu.infosec.ismp.security.Domain; public class SysLogSourceServiceImpl implements SysLogSourceService { private SysLogSourceDao sysLogSourceDao; private SyslogController syslogController; public boolean addSysLogSource(SysLogSource sysLogSource) throws Exception { Integer flox = sysLogSourceDao.addSysLogSource(sysLogSource); if(flox >= 1){ if(sysLogSource.getStartCollectSwitch()){ try{ // System.out.println(sysLogSource.getDomain().getId().toString()+"--"+sysLogSource.getLogSourceseQuence()+"--"+sysLogSource.getSourceType().getHandleOrParserType().getHandleType()+"--"+sysLogSource.getDeviceIP()); syslogController.addSyslogSource(sysLogSource.getDomain().getId().toString(), sysLogSource.getLogSourceseQuence(), sysLogSource.getSourceType().getHandleOrParserType().getHandleType(), sysLogSource.getDeviceIP()); }catch (Exception e) { e.printStackTrace(); return false; } } }else{ return false; } return true; } public List<SysLogSource> getAllSysLogSource(SysLogSource sysLogSource,List<Domain> domain,Integer pageNo,Integer pageRowNum) throws Exception { return sysLogSourceDao.getAllSysLogSource(sysLogSource, domain, pageNo, pageRowNum); } public List<SysLogSourceType> getAllSysLogSourceType() throws Exception { return sysLogSourceDao.getAllSysLogSourceType(); } public SysLogSourceDao getSysLogSourceDao() { return sysLogSourceDao; } public void setSysLogSourceDao(SysLogSourceDao sysLogSourceDao) { this.sysLogSourceDao = sysLogSourceDao; } public boolean delSysLogSource(SysLogSource sysLogSource,final TopoWebService topoWebService) throws Exception { if(sysLogSource.getStartCollectSwitch()){ try{ sysLogSource = sysLogSourceDao.loadObject(sysLogSource.getId().toString()); syslogController.removeSyslogSource( sysLogSource.getLogSourceseQuence()); NodeEntity node = new NodeEntity(); node.setNodeId(sysLogSource.getLogSourceseQuence()); topoWebService.deleteNode(node); }catch (Exception e) { e.printStackTrace(); return false; } } sysLogSourceDao.delSysLogSource(sysLogSource); return true; } public Integer getAllSysLogSourceCount(SysLogSource sysLogSource, List<Domain> domain) throws Exception { return sysLogSourceDao.getAllSysLogSourceCount(sysLogSource, domain); } public boolean updateSysLogSource(SysLogSource sysLogSource) throws Exception { Integer flox = sysLogSourceDao.updateSysLogSource(sysLogSource); if(flox >= 1){ if(sysLogSource.getStartCollectSwitch()){ try{ sysLogSource = sysLogSourceDao.loadObject(sysLogSource.getId().toString()); // System.out.println(sysLogSource.getDomain().getId().toString()+"--"+sysLogSource.getLogSourceseQuence()+"--"+sysLogSource.getSourceType().getHandleOrParserType().getHandleType()+"--"+sysLogSource.getDeviceIP()); syslogController.addSyslogSource(sysLogSource.getDomain().getId().toString(), sysLogSource.getLogSourceseQuence(), sysLogSource.getSourceType().getHandleOrParserType().getHandleType(), sysLogSource.getDeviceIP()); }catch (Exception e) { e.printStackTrace(); return false; } }else{ sysLogSource = sysLogSourceDao.loadObject(sysLogSource.getId().toString()); syslogController.removeSyslogSource( sysLogSource.getLogSourceseQuence()); } }else{ return false; } return true; } public SysLogSource loadObject(String id) throws Exception { return sysLogSourceDao.loadObject(id); } public SyslogController getSyslogController() { return syslogController; } public void setSyslogController(SyslogController syslogController) { this.syslogController = syslogController; } }