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