package edu.sjtu.infosec.ismp.manager.LM.dLog.web.actions; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; import edu.sjtu.infosec.ismp.manager.LM.dLog.model.PcLog; import edu.sjtu.infosec.ismp.manager.LM.dLog.service.PcService; import edu.sjtu.infosec.ismp.manager.LM.util.modle.PageBean; import edu.sjtu.infosec.ismp.manager.SYSM.config.model.lm.dLog.Sensor; import edu.sjtu.infosec.ismp.manager.SYSM.config.service.lm.dLog.PcSourceService; import edu.sjtu.infosec.ismp.manager.SYSM.config.web.form.lm.dLog.PcSourceFrom; import edu.sjtu.infosec.ismp.manager.SYSM.user.self.comm.SecurityUserHolder; import edu.sjtu.infosec.ismp.security.Domain; import edu.sjtu.infosec.ismp.security.OperatorDetails; public class PcAction extends DispatchAction { private PcSourceService pcSourceSer; private PcService pcSer; /** * 获得Sensor列表 * @param mapping * @param from * @param request * @param response * @return * @throws Exception */ @SuppressWarnings("unchecked") public ActionForward getPcSource(ActionMapping mapping, ActionForm from, HttpServletRequest request, HttpServletResponse response) throws Exception { OperatorDetails user = SecurityUserHolder.getCurrentUser(); Sensor sensor = new Sensor(); PcSourceFrom pcFrom = (PcSourceFrom)from; List<Domain> domain = new ArrayList<Domain>(); PageBean pageBean = new PageBean(); if(request.getParameter("type")==null || !request.getParameter("type").equals("page")){ if(pcFrom.getDomain()==null || pcFrom.getDomain()=="" || pcFrom.getDomain().equals("all")){ domain = user.getDomainList(); }else{ for(Domain dom:user.getDomainList()){ if(dom.getId().equals(Integer.valueOf(pcFrom.getDomain()))){ domain.add(dom); break; } } } if(pcFrom.getSensorIp()!=null && pcFrom.getSensorIp()!="") sensor.setSensorIp(pcFrom.getSensorIp()); if(pcFrom.getStartCollectSwitch()!=null) sensor.setStartCollectSwitch(pcFrom.getStartCollectSwitch()); sensor.setSensorIsExist(true); if(request.getParameter("type")!=null && request.getParameter("type").equals("sel")) { sensor.setStartMonitorSwitch(true); } request.getSession().setAttribute("pcSourceListQuery_domain", domain); request.getSession().setAttribute("pcSourceListQuery_sensor", sensor); } int pageNo = 1; if(request.getParameter("pageNo")!=null && request.getParameter("pageNo")!="") pageNo = Integer.valueOf(request.getParameter("pageNo")); pageBean.setPageRowNum(12); pageBean.setPageNo(pageNo); List<Sensor> pcSourceList = pcSourceSer.getAllPcSource((Sensor)request.getSession().getAttribute("pcSourceListQuery_sensor"), (List<Domain>) request.getSession().getAttribute("pcSourceListQuery_domain"), (pageBean.getPageNo()-1)*pageBean.getPageRowNum(), pageBean.getPageRowNum()); pageBean.setResultRowSum(pcSourceSer.getAllPcSourceCount((Sensor)request.getSession().getAttribute("pcSourceListQuery_sensor"), (List<Domain>) request.getSession().getAttribute("pcSourceListQuery_domain"))); pageBean.setPageMaxSum((pageBean.getResultRowSum()+(pageBean.getPageRowNum()-1))/pageBean.getPageRowNum()); pageBean.setPageResult(pcSourceList); request.setAttribute("domainList", user.getDomainList()); request.setAttribute("pageResult", pageBean); // System.out.println("----------PageBean--source-------"); // System.out.println("当前页:" + pageBean.getPageNo()); // System.out.println("一共多少页:" + pageBean.getPageMaxSum()); // System.out.println("每页多少行:" + pageBean.getPageRowNum()); // System.out.println("一共多少行:" + pageBean.getResultRowSum()); // System.out.println("符合查询数:" + pageBean.getPageResult().size()); // System.out.println("----------PageBean--source-------"); return mapping.findForward("pcSourceDisplay"); } /** * 获得与该Sensor相关的日志 * @param mapping * @param from * @param request * @param response * @return * @throws Exception */ public ActionForward getSensorLog(ActionMapping mapping, ActionForm from, HttpServletRequest request, HttpServletResponse response) throws Exception { String logsourcelogo = request.getParameter("logsourcelogo"); PageBean pageBean = new PageBean(); int pageNo = 1; if(request.getParameter("pageNo")!=null && request.getParameter("pageNo")!="") pageNo = Integer.valueOf(request.getParameter("pageNo")); pageBean.setPageRowNum(12); pageBean.setPageNo(pageNo); List<PcLog> pcList = pcSer.getPcLogBySensor(logsourcelogo,(pageBean.getPageNo()-1)*pageBean.getPageRowNum(), pageBean.getPageRowNum()); pageBean.setResultRowSum(pcSer.getPcLogBySensorCount(logsourcelogo)); pageBean.setPageMaxSum((pageBean.getResultRowSum()+(pageBean.getPageRowNum()-1))/pageBean.getPageRowNum()); pageBean.setPageResult(pcList); request.setAttribute("logsourcelogo", logsourcelogo); request.setAttribute("pageResult", pageBean); System.out.println("----------PageBean--pc-------"); System.out.println("当前页:" + pageBean.getPageNo()); System.out.println("一共多少页:" + pageBean.getPageMaxSum()); System.out.println("每页多少行:" + pageBean.getPageRowNum()); System.out.println("一共多少行:" + pageBean.getResultRowSum()); System.out.println("符合查询数:" + pageBean.getPageResult().size()); System.out.println("----------PageBean--pc-------"); return mapping.findForward("pcSensorLogDisplay"); } public PcSourceService getPcSourceSer() { return pcSourceSer; } public void setPcSourceSer(PcSourceService pcSourceSer) { this.pcSourceSer = pcSourceSer; } public PcService getPcSer() { return pcSer; } public void setPcSer(PcService pcSer) { this.pcSer = pcSer; } }