1 package com.instantbank.collections.creditInfo.web;
2
3 import java.io.IOException;
4 import java.io.OutputStreamWriter;
5 import java.io.PrintWriter;
6 import javax.servlet.RequestDispatcher;
7 import javax.servlet.ServletConfig;
8 import javax.servlet.ServletContext;
9 import javax.servlet.ServletException;
10 import javax.servlet.http.HttpServlet;
11 import javax.servlet.http.HttpServletRequest;
12 import javax.servlet.http.HttpServletResponse;
13 import javax.servlet.http.HttpSession;
14 import com.instantbank.collections.basicInfo.ejb.BasicInfoServices;
15 import com.instantbank.collections.basicInfo.ejb.BasicInfoServicesHome;
16 import com.instantbank.collections.creditInfo.ejb.AccountInfoServices;
17 import com.instantbank.collections.creditInfo.ejb.AccountInfoServicesHome;
18 import com.instantbank.collections.util.FilterChain;
19 import com.instantbank.collections.util.InstantbankException;
20 import com.instantbank.collections.util.ServiceLocator;
21 import com.instantbank.collections.util.StringFormat;
22
23 public class DemographicsMaintenanceController extends HttpServlet {
24 private AccountInfoServices accountInfoServices;
25 private AccountInfoServicesHome ahome;
26 private BasicInfoServices basicServices;
27 private PrintWriter out;
28 private HttpSession session;
29
30
31 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
32 this.doPost(request, response);
33 }
34
35
36 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
37 String action = "";
38 com.instantbank.collections.util.FilterChain chain;
39
40 try {
41 action = request.getParameter("action");
42 session = request.getSession(false);
43
44 try {
45
46 chain = new com.instantbank.collections.util.FilterChain(true, getServletConfig().getServletContext());
47 if(chain.processFilter(request, response)) {
48 return;
49 }
50 if(action.equals("initialize")) {
51 initialize(request, response);
52 }
53 else if(action.equals("getStates")) {
54 getStates(request, response);
55 }
56 else if(action.equals("save")) {
57 save(request, response);
58 }
59 else {
60 throw new InstantbankException("242001", "Action " + action + " not supported");
61 }
62 }
63 catch(Exception e) {
64 throw new InstantbankException(e, "242002", "Failed to execute controller action " + action);
65 }
66 }
67 catch(InstantbankException e) {
68 session.setAttribute("Exception", e);
69 response.sendRedirect("../main_web/ControllerError.jsp?showTechnical=0");
70 }
71 }
72
73
74 private void getStates(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, ServletException, IOException {
75 String countryId = request.getParameter("countryId");
76 OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream());
77 String xml = null;
78
79 xml = basicServices.getStates(countryId);
80 PrintWriter out = new PrintWriter(osw);
81 response.setContentType("text/html");
82 out.println("<html>");
83 out.println("<script language=JavaScript>");
84 out.println("parent.statesXML='" + StringFormat.cleanXml(xml) + "';");
85 out.println("parent.loadStates();");
86 out.println("</script></html>");
87 out.close();
88 }
89
90
91 public void init(ServletConfig config) throws ServletException {
92 try {
93 super.init(config);
94 ahome = (AccountInfoServicesHome)ServiceLocator.instance().createEJB("AccountInfoServicesHome", AccountInfoServicesHome.class, false);
95 accountInfoServices = ahome.create();
96 BasicInfoServicesHome basicHome = (BasicInfoServicesHome)ServiceLocator.instance().createEJB("BasicInfoServicesHome", BasicInfoServicesHome.class, false);
97 basicServices = basicHome.create();
98 }
99 catch(Exception e) {
100 }
101 }
102
103
104 private void initialize(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, InstantbankException {
105 Long agrmId;
106 Long companyId;
107 String customers;
108 String data;
109 String outXmlString = "";
110
111 try {
112 ServletContext sctx = getServletConfig().getServletContext();
113 agrmId = new Long(request.getParameter("agrmId"));
114 companyId = (Long)session.getAttribute("companyId");
115 customers = accountInfoServices.getCustomers(companyId, agrmId);
116 request.setAttribute("data", customers);
117 RequestDispatcher rd = sctx.getRequestDispatcher("/creditInfo_web/DemographicsView.jsp");
118 rd.forward(request, response);
119 }
120 catch(Exception e) {
121 e.printStackTrace();
122 }
123 }
124
125
126 private void save(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, InstantbankException {
127 Long agrmId;
128 Long companyId;
129 String data;
130 String mainData;
131 String outXmlString = "";
132 ServletContext sctx = getServletConfig().getServletContext();
133 Long userId;
134 String wrkiId;
135
136 agrmId = new Long(request.getParameter("agrmId"));
137 companyId = (Long)session.getAttribute("companyId");
138 userId = (Long)session.getAttribute("userId");
139 data = request.getParameter("data");
140 mainData = request.getParameter("mainData");
141 wrkiId = request.getParameter("wrki_id");
142 accountInfoServices.saveCustomer(data, agrmId, companyId, userId);
143 response.sendRedirect("/Instantbank/collectionsActivities_web/ReviewAccountController?action=changeTab&mainData=" + mainData + "&tab=Demographics&agrmId=" + agrmId + "&wrki_id=" + wrkiId);
144 }
145 }
146
147