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