1 package com.instantbank.collections.customerInfo.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 com.instantbank.collections.customerInfo.ejb.CustomerInfoServices; 13 import com.instantbank.collections.customerInfo.ejb.CustomerInfoServicesHome; 14 import com.instantbank.collections.util.FilterChain; 15 import com.instantbank.collections.util.InstantbankException; 16 import com.instantbank.collections.util.ServiceLocator; 17 18 public class CustomerStatusesMaintenanceController extends HttpServlet { 19 private CustomerInfoServices services; 20 private HttpSession session; 21 private Long userId; 22 private Long companyId; 23 24 25 public void init(ServletConfig config) throws ServletException { 26 super.init(config); 27 try { 28 CustomerInfoServicesHome home = (CustomerInfoServicesHome) 29 ServiceLocator.instance().createEJB("CustomerInfoServicesHome", CustomerInfoServicesHome.class, false); 30 services = home.create(); 31 } 32 catch(Exception e) { 33 throw new ServletException(e); 34 } 35 } 36 37 38 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 39 doPost(request, response); 40 } 41 42 43 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 44 String action; 45 com.instantbank.collections.util.FilterChain chain; 46 47 try { 48 action = request.getParameter("action"); 49 session = request.getSession(false); 50 session.setAttribute("hasException", "0"); 51 try { 52 chain = new com.instantbank.collections.util.FilterChain(true, getServletConfig().getServletContext()); 53 if(chain.processFilter(request, response)) { 54 return; 55 } 56 if(action.equals("initialize")) { 57 initialize(request, response); 58 } 59 else if(action.equals("save")) { 60 save(request, response); 61 } 62 else { 63 throw new InstantbankException("232001", "Action " + action + " not supported"); 64 } 65 } 66 catch(Exception e) { 67 throw new InstantbankException(e, "232002", "Failed to execute controller action " + action); 68 } 69 } 70 catch(InstantbankException e) { 71 session.setAttribute("hasException", "1"); 72 session.setAttribute("Exception", e); 73 if(response.isCommitted()) { 74 return; 75 } 76 response.sendRedirect("../main_web/ControllerError.jsp?showTechnical=0"); 77 } 78 } 79 80 81 public String getServletInfo() { 82 return "com.instantbank.collections.customerInfo.web.CustomerStatusesMaintenanceController Information"; 83 } 84 85 86 private void initialize(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, IOException, ServletException { 87 String xml = null; 88 companyId = (Long)session.getAttribute("companyId"); 89 xml = services.getCustomerStatuses(companyId); 90 ServletContext sc = getServletConfig().getServletContext(); 91 request.setAttribute("title", "Customer Statuses Maintenance"); 92 request.setAttribute("data", xml); 93 RequestDispatcher rd = sc.getRequestDispatcher("/customerInfo_web/CustomerStatusesView.jsp"); 94 rd.forward(request, response); 95 } 96 97 98 private void save(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, InstantbankException { 99 String xml; 100 101 userId = (Long)session.getAttribute("userId"); 102 companyId = (Long)session.getAttribute("companyId"); 103 xml = request.getParameter("data"); 104 services.saveCustomerStatuses(companyId, userId, xml); 105 initialize(request, response); 106 } 107 } 108