protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String oper = req.getParameter("oper"); if (log.isDebugEnabled()) { log.debug("oper=" + oper); } AbstractPolicyDesignHandler handler = getPolicyHandler(req); req.setAttribute("handler", handler); if ("return".equals(oper)) { String gotoPage = handler.getManagePage(); // remove handler from session req.getSession().removeAttribute(getPolicyHandlerAttributeKey(req)); // goto manage page resp.sendRedirect(gotoPage); return; } else { // prepare test QueryManager queryMng = WebUtil.getQueryManager(req); handler.prepareTest(queryMng); WebUtil.forward(req, resp, handler.getTestMainPage()); } }
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String oper = req.getParameter("oper"); if (log.isDebugEnabled()) { log.debug("oper=" + oper); } AbstractPolicyDesignHandler handler = getPolicyHandler(req); req.setAttribute("handler", handler); if ("runTest".equals(oper)) { boolean testUserNeeded = handler.isTestUserNeeded(); String[] testBusinessDataFields = handler.getTestBusinessDataFields(); String[] testContextFields = handler.getTestContextFields(); User testUser = buildTestUser(req, testUserNeeded); Object testBdData = null; Map testCtx = null; try { testBdData = buildTestBusinessData(req, testBusinessDataFields); testCtx = buildTestContext(req, testContextFields); } catch (Exception e) { PrintWriter writer = resp.getWriter(); writer.write("<font color='red'><pre>"); e.printStackTrace(writer); writer.write("</pre></font>"); return; } ScriptTestResult testResult = handler.run(testUser, testBdData, testCtx); req.setAttribute("testResult", testResult); WebUtil.forward(req, resp, handler.getShowTestResultPage()); } else if ("save".equals(oper)) { // remove handler from session req.getSession().removeAttribute(getPolicyHandlerAttributeKey(req)); int id = WebUtil.getIntParameter(req, "id", -23); try { handler.save(id); } catch (EntityExistException e) { log.error("", e); throw new ServletException(e); } return; } else if ("setBusinessDataClass".equals(oper)) { String bdClass = req.getParameter("businessDataClass"); handler.setBusinessDataClass(bdClass); req.setAttribute("testBusinessDataFields", handler.getTestBusinessDataFields()); req.setAttribute("testBusinessDataFieldTypes", handler.getTestBusinessDataFieldTypes()); req.setAttribute("bdClass", bdClass); WebUtil.forward(req, resp, "/ralasafe/common/inputTestBusinessData.jsp"); return; } }