1 package com.instantbank.collections.companyInfo.web; 2 3 import java.io.IOException; 4 import javax.servlet.RequestDispatcher; 5 import javax.servlet.ServletConfig; 6 import javax.servlet.ServletContext; 7 import javax.servlet.ServletException; 8 import javax.servlet.http.HttpServlet; 9 import javax.servlet.http.HttpServletRequest; 10 import javax.servlet.http.HttpServletResponse; 11 import javax.servlet.http.HttpSession; 12 import com.instantbank.collections.companyInfo.ejb.CompanyServices; 13 import com.instantbank.collections.companyInfo.ejb.CompanyServicesHome; 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 SelectCompanyController extends HttpServlet { 19 20 private CompanyServices services; 21 private HttpSession session; 22 23 24 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 25 doPost(request, response); 26 } 27 28 29 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 30 String action; 31 com.instantbank.collections.util.FilterChain chain; 32 33 try { 34 action = request.getParameter("action"); 35 session = request.getSession(false); 36 try { 37 38 chain = new com.instantbank.collections.util.FilterChain(true, getServletConfig().getServletContext()); 39 if(chain.processFilter(request, response)) { 40 return; 41 } 42 if(action.equals("initialize")) { 43 initialize(request, response); 44 } 45 else if(action.equals("select")) { 46 select(request, response); 47 } 48 else { 49 throw new InstantbankException("122001", "Action " + action + " not supported"); 50 } 51 } 52 catch(Exception e) { 53 throw new InstantbankException(e, "122002", "Failed to execute controller action " + action); 54 } 55 } 56 catch(InstantbankException e) { 57 session.setAttribute("Exception", e); 58 response.sendRedirect("../main_web/ControllerError.jsp?showTechnical=0"); 59 } 60 } 61 62 63 public String getServletInfo() { 64 return "com.instantbank.collections.companyInfo.web.SelectCompanyController Information"; 65 } 66 67 68 public void init(ServletConfig config) throws ServletException { 69 super.init(config); 70 try { 71 CompanyServicesHome home = (CompanyServicesHome)ServiceLocator.instance().createEJB("CompanyServicesHome", CompanyServicesHome.class, false); 72 services = home.create(); 73 } 74 catch(Exception e) { 75 throw new ServletException(e); 76 } 77 } 78 79 80 private void initialize(HttpServletRequest request, HttpServletResponse response) throws IOException, InstantbankException, ServletException { 81 String xml; 82 ServletContext sc; 83 84 xml = services.getCompanies(); 85 sc = getServletConfig().getServletContext(); 86 request.setAttribute("title", "Select Company"); 87 request.setAttribute("controller", "SelectCompanyController"); 88 request.setAttribute("data", xml); 89 RequestDispatcher rd = sc.getRequestDispatcher("/companyInfo_web/SelectCompanyView.jsp"); 90 rd.forward(request, response); 91 } 92 93 94 private void select(HttpServletRequest request, HttpServletResponse response) throws IOException, InstantbankException, ServletException { 95 String xml; 96 String companyName; 97 Long companyId; 98 99 companyName = request.getParameter("companyName"); 100 companyId = new Long((String)request.getParameter("companyId")); 101 session.setAttribute("companyId", companyId); 102 session.setAttribute("companyName", companyName); 103 ServletContext sc = getServletConfig().getServletContext(); 104 RequestDispatcher rd = sc.getRequestDispatcher(response.encodeURL("/companyInfo_web/CompanyInfoDispatcher.jsp?useCase=home")); 105 rd.forward(request, response); 106 } 107 } 108 109