1 package com.instantbank.collections.basicInfo.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.basicInfo.ejb.BasicInfoServices;
13 import com.instantbank.collections.basicInfo.ejb.BasicInfoServicesHome;
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 AddressTypesMaintenanceController extends HttpServlet {
19 private String debug;
20 private BasicInfoServices services;
21 private HttpSession session;
22 private Long userId;
23
24
25 public void init(ServletConfig config) throws ServletException {
26 super.init(config);
27 try {
28 BasicInfoServicesHome home = (BasicInfoServicesHome)
29 ServiceLocator.instance().createEJB("BasicInfoServicesHome", BasicInfoServicesHome.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 session = request.getSession(false);
49 action = request.getParameter("action");
50 try {
51 chain = new com.instantbank.collections.util.FilterChain(true, getServletConfig().getServletContext());
52 if(chain.processFilter(request, response)) {
53 return;
54 }
55 if(action.equals("initialize")) {
56 initialize(request, response);
57 }
58 else if(action.equals("save")) {
59 save(request, response);
60 }
61 else {
62 throw new InstantbankException("112001", "Action " + action + " not supported");
63 }
64 }
65 catch(Exception e) {
66 throw new InstantbankException(e, "112002", "Failed to execute controller action " + action);
67 }
68 }
69 catch(InstantbankException e) {
70 session.setAttribute("Exception", e);
71 response.sendRedirect("../main_web/ControllerError.jsp?showTechnical=0");
72 }
73 }
74
75
76 public String getServletInfo() {
77 return "com.instantbank.collections.basicInfo.web.AddressTypesMaintenanceController Information";
78 }
79
80
81 private void initialize(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, InstantbankException {
82 String xml;
83
84 xml = services.getAddressTypes();
85 ServletContext sc = getServletConfig().getServletContext();
86 request.setAttribute("title", "Address Types Maintenance");
87 request.setAttribute("data", xml);
88 RequestDispatcher rd = sc.getRequestDispatcher("/basicInfo_web/AddressTypesView.jsp");
89 rd.forward(request, response);
90 }
91
92
93 private void save(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, InstantbankException {
94 String xml;
95
96 userId = (Long)session.getAttribute("userId");
97 xml = request.getParameter("data");
98 services.saveAddressTypes(userId, xml);
99 initialize(request, response);
100 }
101 }
102