package edu.sjtu.infosec.ismp.manager.VPM.vm.web.actions; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import edu.sjtu.infosec.ismp.manager.AM.model.AssetDeviceBO; import edu.sjtu.infosec.ismp.manager.AM.service.AssetDeviceService; import edu.sjtu.infosec.ismp.manager.SYSM.user.self.comm.SecurityUserHolder; import edu.sjtu.infosec.ismp.manager.SYSM.user.self.service.DomainService; import edu.sjtu.infosec.ismp.manager.SYSM.user.self.service.UserService; import edu.sjtu.infosec.ismp.manager.VPM.vm.model.VirusClients; import edu.sjtu.infosec.ismp.manager.VPM.vm.service.VirusClientsService; import edu.sjtu.infosec.ismp.manager.VPM.vm.web.form.VirusClientsORMModifyForm; import edu.sjtu.infosec.ismp.security.Domain; import edu.sjtu.infosec.ismp.security.OperatorDetails; public class VirusMappingModifyAction extends Action { private VirusClientsService virusClientsService; private AssetDeviceService assetDeviceService; private UserService userService; private DomainService domainService; public void setVirusClientsService(VirusClientsService virusClientsService) { this.virusClientsService = virusClientsService; } public void setAssetDeviceService(AssetDeviceService assetDeviceService) { this.assetDeviceService = assetDeviceService; } public void setUserService(UserService userService) { this.userService = userService; } public void setDomainService(DomainService domainService) { this.domainService = domainService; } public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { String failedPage = "success"; try{ String mOk = (request.getParameter("mok")==null)?null:request.getParameter("mok"); String mDel = (request.getParameter("mdel")==null)?null:request.getParameter("mdel"); if(mDel!=null && !mDel.equals("")){ if(mDel.equals("1")){ String virusClientId = (request.getParameter("vci")==null)?null:request.getParameter("vci"); VirusClients virusClients = virusClientsService.findVirusClientsById(Integer.parseInt(virusClientId)); virusClientsService.removeVirusClients(virusClients); failedPage = "success"; } return mapping.findForward(failedPage); } if(mOk!=null && !mOk.equals("")){ if(mOk.equals("1")){ VirusClientsORMModifyForm virusClientsORMModifyForm = (VirusClientsORMModifyForm)form; String virusClientId = (virusClientsORMModifyForm.getVirusClientId()==null)?null:virusClientsORMModifyForm.getVirusClientId(); String virusClientName = (virusClientsORMModifyForm.getVirusClientName()==null)?null:virusClientsORMModifyForm.getVirusClientName(); String assetDevice = (virusClientsORMModifyForm.getAssetDevice()==null)?null:virusClientsORMModifyForm.getAssetDevice(); String department = (virusClientsORMModifyForm.getDepartment()==null)?null:virusClientsORMModifyForm.getDepartment(); if(virusClientId!=null && !virusClientId.equals("")){ VirusClients virusClients = virusClientsService.findVirusClientsById(Integer.parseInt(virusClientId)); // if(virusClientName!=null && !virusClientName.equals("")){ if(virusClientName!=null){ virusClients.setName(virusClientName); failedPage = "mClientName"; }else{ // virusClients.setName(""); } if(assetDevice!=null && !assetDevice.equals("")){ AssetDeviceBO assetDeviceBO = assetDeviceService.findById(Integer.parseInt(assetDevice)); virusClients.setAssetDevice(assetDeviceBO); failedPage = "mAssetDevice"; } if(department!=null && !department.equals("")){ Domain dep = domainService.findById(Integer.parseInt(department)); virusClients.setDepartment(dep); failedPage = "mManager"; } virusClientsService.modifyVirusClients(virusClients); PrintWriter out = response.getWriter(); out = response.getWriter(); response.setContentType("text/html; charset=UTF-8"); out.println("<script language=\"javascript\">"); out.println("window.opener.location.href=window.opener.location.href;"); out.println("window.close();"); out.println("</script>"); out.close(); return null; }else{ throw new Exception("没有选择病毒客户端!"); } }else if(mOk.equals("0")){ String opName = (request.getParameter("opname")==null)?null:request.getParameter("opname"); String virusClientId = (request.getParameter("vci")==null)?null:request.getParameter("vci"); if(opName!=null && !opName.equals("")){ if(opName.equals("mvcn")){ VirusClients virusClients = virusClientsService.findVirusClientsById(Integer.parseInt(virusClientId)); request.setAttribute("virusClients", virusClients); return mapping.findForward("mClientName"); }else if(opName.equals("mad")){ VirusClients virusClients = virusClientsService.findVirusClientsById(Integer.parseInt(virusClientId)); List<AssetDeviceBO> assetDeviceList = new ArrayList<AssetDeviceBO>(); OperatorDetails user = SecurityUserHolder.getCurrentUser(); List<Domain> userDomainList = new ArrayList<Domain>(); if(user != null){ userDomainList = user.getDomainList(); }else{ userDomainList = null; } try{ assetDeviceList = assetDeviceService.findAllByDomain(userDomainList); }catch(Exception adle){ System.out.println("当前用户可操作的资产查询出错!"); } request.setAttribute("virusClients", virusClients); request.setAttribute("assetDeviceList", assetDeviceList); return mapping.findForward("mAssetDevice"); }else if(opName.equals("mm")){ VirusClients virusClients = virusClientsService.findVirusClientsById(Integer.parseInt(virusClientId)); List<Domain> depList = new ArrayList<Domain>(); OperatorDetails user = SecurityUserHolder.getCurrentUser(); // List<Domain> userDomainList = new ArrayList<Domain>(); if(user != null){ depList = user.getDomainList(); }else{ depList = null; } request.setAttribute("virusClients", virusClients); request.setAttribute("depList", depList); return mapping.findForward("mManager"); }else{ throw new Exception("请求路径有误!"); } }else{ throw new Exception("请求路径有误!"); } }else{ throw new Exception("请求路径有误!"); } }else{ throw new Exception("请求路径有误!"); } }catch(Exception e){ System.out.println("病毒客户端映射修改出错!"); e.printStackTrace(); return mapping.findForward(failedPage); } } }