1 package com.instantbank.collections.collectionsActivities.web; 2 3 import javax.servlet.RequestDispatcher; 4 import javax.servlet.ServletConfig; 5 import javax.servlet.ServletContext; 6 import javax.servlet.ServletException; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse; 10 import javax.servlet.http.HttpSession; 11 import java.io.IOException; 12 import java.io.OutputStreamWriter; 13 import java.io.PrintWriter; 14 import com.instantbank.collections.collectionsActivities.ejb.ActionResultServices; 15 import com.instantbank.collections.collectionsActivities.ejb.ActionResultServicesHome; 16 import com.instantbank.collections.util.FilterChain; 17 import com.instantbank.collections.util.InstantbankException; 18 import com.instantbank.collections.util.ServiceLocator; 19 import com.instantbank.collections.util.StringFormat; 20 21 public class ResultMaintenanceController extends HttpServlet { 22 private OutputStreamWriter osw; 23 private HttpSession session; 24 private ActionResultServices services; 25 26 27 public void init(ServletConfig config) throws ServletException { 28 super.init(config); 29 try { 30 ActionResultServicesHome home = (ActionResultServicesHome) 31 ServiceLocator.instance().createEJB("ActionResultServicesHome", ActionResultServicesHome.class, false); 32 services = home.create(); 33 } 34 catch(Exception e) { 35 throw new ServletException(e); 36 } 37 } 38 39 40 public void doGet(HttpServletRequest request, HttpServletResponse response) 41 throws ServletException, IOException { 42 doPost(request, response); 43 } 44 45 46 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 47 String action = ""; 48 com.instantbank.collections.util.FilterChain chain; 49 50 try { 51 action = request.getParameter("action"); 52 session = request.getSession(false); 53 session.setAttribute("hasException", "0"); 54 try { 55 chain = new com.instantbank.collections.util.FilterChain(true, getServletConfig().getServletContext()); 56 if(chain.processFilter(request, response)) { 57 return; 58 } 59 if(action.equals("initialize")) { 60 initialize(request, response); 61 } 62 else if(action.equals("getResult")) { 63 getResult(request, response); 64 } 65 else if(action.equals("save")) { 66 save(request, response); 67 } 68 else { 69 throw new InstantbankException("522005", "Action " + action + " not supported"); 70 } 71 } 72 catch(Exception e) { 73 throw new InstantbankException(e, "522005", "Failed to execute controller action " + action); 74 } 75 } 76 catch(InstantbankException e) { 77 session.setAttribute("hasException", "1"); 78 session.setAttribute("Exception", e); 79 if(response.isCommitted()) { 80 return; 81 } 82 response.sendRedirect("../main_web/ControllerError.jsp?showTechnical=0"); 83 } 84 } 85 86 87 public String getServletInfo() { 88 return "com.instantbank.collections.collectionsActivities.web.ResultMaintenanceController Information"; 89 } 90 91 92 private void getResult(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, ServletException, IOException { 93 String xml; 94 String data; 95 Long companyId; 96 Long resultId = new Long(request.getParameter("resultId")); 97 companyId = (Long)session.getAttribute("companyId"); 98 xml = StringFormat.cleanXml(services.getResult(companyId, resultId)); 99 OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream()); 100 PrintWriter out = new PrintWriter(osw); 101 out.println("<script>"); 102 out.print("parent.resultXml='"); 103 out.print(xml); 104 out.println("';"); 105 out.println("parent.screenFormat();"); 106 out.println("</script>"); 107 out.close(); 108 } 109 110 111 private void initialize(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, ServletException, IOException { 112 113 String data; 114 data = services.newResult(); 115 ServletContext sc = getServletConfig().getServletContext(); 116 request.setAttribute("data", data); 117 RequestDispatcher rd = sc.getRequestDispatcher("/collectionsActivities_web/ResultMaintenanceView.jsp"); 118 rd.forward(request, response); 119 } 120 121 122 private void save(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, ServletException, IOException { 123 String data; 124 String xml = new String(""); 125 Long companyId; 126 Long userId; 127 userId = (Long)session.getAttribute("userId"); 128 companyId = (Long)session.getAttribute("companyId"); 129 xml = new String(request.getParameter("data")); 130 services.saveResult(xml, companyId, userId); 131 initialize(request, response); 132 } 133 } 134 135