package edu.sjtu.infosec.ismp.manager.VPM.pm.web.actions; import java.io.IOException; import java.sql.Timestamp; import java.util.Date; import java.util.LinkedList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; 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 org.infosec.ismp.manager.rmi.comm.model.SystemModelInfo; import edu.sjtu.infosec.ismp.manager.GOSP.comm.LogUtil; import edu.sjtu.infosec.ismp.manager.LM.pfLog.service.SystemLogService; import edu.sjtu.infosec.ismp.manager.VPM.pm.comm.HtmlFactory; import edu.sjtu.infosec.ismp.manager.VPM.pm.comm.PMPage; import edu.sjtu.infosec.ismp.manager.VPM.pm.comm.PMPageUtil; import edu.sjtu.infosec.ismp.manager.VPM.pm.model.PatchUpdateTactics; import edu.sjtu.infosec.ismp.manager.VPM.pm.service.PatchTacticsService; import edu.sjtu.infosec.ismp.manager.VPM.pm.web.form.TacticsForm; public class TacticsAction extends DispatchAction{ Logger logger = Logger.getLogger(TacticsAction.class); private PatchTacticsService patchTacicsService; private SystemLogService systemlogservice; /** * @param systemlogservice the systemlogservice to set */ public void setSystemlogservice(SystemLogService systemlogservice) { this.systemlogservice = systemlogservice; } public PatchTacticsService getPatchTacicsService() { return patchTacicsService; } public void setPatchTacicsService(PatchTacticsService patchTacicsService) { this.patchTacicsService = patchTacicsService; } /** * 多条件查询所有 * @param mapping * @param form * @param request * @param response * @return * @throws IOException */ @SuppressWarnings("unchecked") public ActionForward getTacticsInfoAll(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { TacticsForm tform = (TacticsForm) form; PMPage page= HtmlFactory.getPage(request); LinkedList linkList = patchTacicsService.getTacticsInfos(tform.getT(), page.getBeginIndex(), page.getEveryPage(), tform.getCreateStartDate(), tform.getCreateEndDate()); String proValue= patchTacicsService.getGlobalPatchUpdateTactics(); Integer count =(Integer)linkList.getFirst(); PMPage page1 = PMPageUtil.createPage(page, count); List<PatchUpdateTactics> list = (List<PatchUpdateTactics>) linkList.getLast(); StringBuffer sbf = new StringBuffer(); String[][] cvalue={{"0","不自动更新"},{"1","自动更新"}}; String[][] defPro={{proValue,"true","false"}}; String[][] xvalue={{"2","通知下载并通知安装"},{"3","自动下载并通知安装"},{"4","自动下载并计划安装(在计划时间安装)推荐"}}; Object[][] objs ={{"tid","getId"},{"tname","getName"},{"ctime","getUpdateTime"},{"upad","getUpdateAddress"},{"isup","getIsAutoUpdate",cvalue},{"uw","getUpdateWay",xvalue},{"defProYN","getId",defPro}}; for(PatchUpdateTactics put : list){ if(!(put == null)){ Object[][] tobj ={{put,objs}}; HtmlFactory.getDataArray(tobj,sbf,"TACTICS"); } } Object[][] obspage={{null,"everyPage"},{null,"totalCount"},{null,"beginIndex"}}; HtmlFactory.getDataArray(page1, sbf,obspage,"PAGE"); HtmlFactory.flushData(response,sbf); return null; } /** * 获得对象信息 * @param mapping * @param form * @param request * @param response * @return * @throws IOException */ public ActionForward getTacticsInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { String tid = request.getParameter("tid"); if(HtmlFactory.isNotEmpty(tid)){ StringBuffer sbf = new StringBuffer(); PatchUpdateTactics p=patchTacicsService.getPachStrategyById(new Integer(tid)); String dAddress = patchTacicsService.getDefAddress(); String[][] obj ={{"defAddress",dAddress}}; Object objs[][]={{"add",obj}}; HtmlFactory.getDataArray(p, sbf,objs,"TACTICS"); HtmlFactory.flushData(response,sbf); } return null; } /** * 删除对象 * @param mapping * @param form * @param request * @param response * @return * @throws IOException */ public ActionForward delTacticsInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { String tid = request.getParameter("tid"); String falg="成功!"; if(HtmlFactory.isNotEmpty(tid)){ try { patchTacicsService.delPatchUpdateTactics(Integer.valueOf(tid)); } catch (Exception e) { falg = "失败!"; }finally{ try { systemlogservice.saveSystemLog(LogUtil.userName, LogUtil.roleName, SystemModelInfo.MOD_VPM_pm, "删除补丁策略", new Timestamp(System.currentTimeMillis()), falg); } catch (Exception e) { logger.debug("连接日志出错",e); } } } return null; } /** * 更新查询 * @param mapping * @param form * @param request * @param response * @return * @throws IOException */ public ActionForward updateTacticsInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { TacticsForm tform = (TacticsForm) form; String proValue=""; StringBuffer sbf = new StringBuffer(); PatchUpdateTactics p=patchTacicsService.getPachStrategyById(tform.getT().getId()); if(HtmlFactory.isNotEmpty(tform.getT().getName())){ p.setName(tform.getT().getName()); } if(HtmlFactory.isNotEmpty(tform.getT().getRemarks())){ p.setRemarks(tform.getT().getRemarks()); } if(HtmlFactory.isNotEmpty(tform.getT().getUpdateAddress())){ p.setUpdateAddress(tform.getT().getUpdateAddress()); } if(HtmlFactory.isNotEmpty(tform.getT().getUpdateTime())){ p.setUpdateTime(tform.getT().getUpdateTime()); } if(HtmlFactory.isNotNull(tform.getT().getCreateTime())){ p.setCreateTime(tform.getT().getCreateTime()); } if(HtmlFactory.isNotNull(tform.getT().getLastChangeTime())){ p.setLastChangeTime(tform.getT().getLastChangeTime()); } if(HtmlFactory.isNotNull(tform.getGlobalDefaultPolicy())){ patchTacicsService.setGlobalPatchUpdateTactics(tform.getT().getId()); } p.setUpdateWay(tform.getT().getUpdateWay()); p.setIsAutoUpdate(tform.getT().getIsAutoUpdate()); p.setLastChangeTime(new Timestamp(new Date().getTime())); String falg="成功!"; try { patchTacicsService.saveOrUpdatePatchUpdateTactics(p); proValue= patchTacicsService.getGlobalPatchUpdateTactics(); } catch (Exception e) { falg = "失败!"; }finally{ try { systemlogservice.saveSystemLog(LogUtil.userName, LogUtil.roleName, SystemModelInfo.MOD_VPM_pm, "修改补丁策略", new Timestamp(System.currentTimeMillis()), falg); } catch (Exception e) { logger.debug("连接日志出错",e); } } String[][] cvalue={{"0","不自动更新"},{"1","自动更新"}}; String[][] defPro={{proValue,"true","false"}}; String[][] xvalue={{"2","通知下载并通知安装"},{"3","自动下载并通知安装"},{"4","自动下载并计划安装(在计划时间安装)推荐"}}; Object[][] objs ={{"upw","getUpdateWay",xvalue},{"isup","getIsAutoUpdate",cvalue},{"defProYN","getId",defPro}}; HtmlFactory.getDataArray(p, sbf,objs,"TACTICS"); HtmlFactory.flushData(response,sbf); return null; } /** * 保存 * @param mapping * @param form * @param request * @param response * @return * @throws IOException */ public ActionForward saveTacticsInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { TacticsForm tform = (TacticsForm) form; tform.getT().setCreateTime(new Timestamp(new Date().getTime())); String falg="成功!"; try { patchTacicsService.saveOrUpdatePatchUpdateTactics(tform.getT()); } catch (Exception e) { falg = "失败!"; }finally{ try { systemlogservice.saveSystemLog(LogUtil.userName, LogUtil.roleName, SystemModelInfo.MOD_VPM_pm, "添加 补丁策略", new Timestamp(System.currentTimeMillis()), falg); } catch (Exception e) { logger.debug("连接日志出错",e); } } if(HtmlFactory.isNotNull(tform.getGlobalDefaultPolicy())){ patchTacicsService.setGlobalPatchUpdateTactics(tform.getT().getId()); } tform.setT(null); return getTacticsInfoAll(mapping,form,request,response); } public ActionForward getPatchUpdateTacicsAll(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { StringBuffer sbf = new StringBuffer(); List<PatchUpdateTactics> list = patchTacicsService.getAllPachStrategy(); Object[][] objs ={{"tid","getId"},{"tname","getName"}}; for(PatchUpdateTactics put : list){ if(!(put == null)){ Object[][] tobj ={{put,objs}}; HtmlFactory.getDataArray(tobj,sbf,"UPTACTICS"); } } HtmlFactory.flushData(response,sbf); return null; } public ActionForward getDefaultAddess(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { StringBuffer sbf = new StringBuffer(); String addess =patchTacicsService.getDefAddress(); String[][] obj ={{"address",addess}}; Object objs[][]={{"add",obj}}; HtmlFactory.getDataArray(objs,sbf,"ADDESS"); HtmlFactory.flushData(response,sbf); return null; } }