1 package com.instantbank.collections.main.web;
2
3 import javax.servlet.ServletConfig;
4 import javax.servlet.ServletException;
5 import javax.servlet.http.HttpServlet;
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
8 import javax.servlet.http.HttpSession;
9 import java.io.IOException;
10
11 import com.instantbank.common.utilcomponents.Debug;
12 import com.instantbank.collections.util.DateUtils;
13 import com.instantbank.collections.util.FilterChain;
14 import com.instantbank.collections.util.InstantbankException;
15
16
17 public class MainDispatcher extends HttpServlet {
18
19 private Debug debug = null;
20
21 private HttpSession session;
22
23
24 public void init(ServletConfig config) throws ServletException {
25 super.init(config);
26
27 debug = new Debug();
28 debug.setDebugginOn(true);
29 debug.setPreMessage("** COLL:MainDispatcher: ");
30
31 }
32
33
34 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
35 doPost(request, response);
36 }
37
38
39 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
40 String action;
41 String agrmId;
42 String module;
43 String modulePage = "";
44 String optionCollections;
45 String optionCompany;
46 String useCase;
47 String codeParam;
48 com.instantbank.collections.util.FilterChain chain;
49
50 session = request.getSession(false);
51
52 try {
53 try {
54 module = request.getParameter("module");
55 useCase = request.getParameter("useCase");
56 codeParam = request.getParameter("codeParam");
57
58
59 String externalRequest = request.getParameter("externalRequest");
60 debug.println("module: " + module + " -usecase: " + useCase
61 + " -externalRequest: " + externalRequest);
62
63
64
65 optionCollections = request.getParameter("optionCollections");
66 optionCompany = request.getParameter("optionCompany");
67 session.setAttribute("optionCollections", optionCollections);
68 session.setAttribute("optionCompany", optionCompany);
69
70 chain = new com.instantbank.collections.util.FilterChain
71 (true, getServletConfig().getServletContext());
72
73
74
75
80
81 if(externalRequest == null) {
82 if(chain.processFilter(request, response)) {
83 debug.println("timeout in Instantbank ear");
84 return;
85 }
86 }
87 else {
88 session.setAttribute("sessionInitialTime", DateUtils.rightNow());
89 java.util.Date t = (java.util.Date)session.getAttribute("sessionInitialTime");
90 debug.println("sessionInitialTime updated to:" + t);
91 }
92
93
94
95
96 String companyName = (session.getAttribute("companyName")).toString();
97 String companyId = ((Long)session.getAttribute("companyId")).toString();
98 String version = (session.getAttribute("version")).toString();
99 String hasException = (session.getAttribute("hasException")).toString();
100 String companySessionTime = ((Long)session.getAttribute("companySessionTime")).toString();
101 String userId = ((Long)session.getAttribute("userId")).toString();
102 String collectionsVariables = "?companyName=" + companyName
103 + "&companyId=" + companyId
104 + "&version=" + version
105 + "&optionCollections=" + optionCollections
106 + "&optionCompany=" + optionCompany
107 + "&hasException=" + hasException
108 + "&companySessionTime=" + companySessionTime
109 + "&userId=" + userId;
110
111
112
113 if(module.equals("ach")) {
114 modulePage = "/ach_web/AchTransactionView.jsp";
115 }
116
117 if(module.equals("basicInfo")) {
118 modulePage = "/basicInfo_web/BasicInfoDispatcher.jsp";
119 }
120 if(module.equals("collectionsActivities")) {
121 modulePage = "/collectionsActivities_web/CollectionsActivitiesDispatcher.jsp";
122 }
123 else if(module.equals("searchAccount")) {
124 agrmId = request.getParameter("agrmId");
125 modulePage = "/collectionsActivities_web/CollectionsActivitiesDispatcher.jsp";
126 response.sendRedirect("/Instantbank" + modulePage + "?useCase=" + useCase + "&wrki_id=&agrmId=" + agrmId);
127 return;
128 }
129 else if(module.equals("reviewQueue")) {
130 agrmId = request.getParameter("agrmId");
131 String wrkiId = request.getParameter("wrki_id");
132 String status = request.getParameter("status");
133 modulePage = "/collectionsActivities_web/CollectionsActivitiesDispatcher.jsp";
134 response.sendRedirect("/Instantbank" + modulePage + "?useCase=" + useCase + "&wrki_id=" + wrkiId + "&agrmId=" + agrmId + "&status=" + status + "&fromQueuing=Y");
135 return;
136 }
137 else if(module.equals("collectionsQueuing")) {
138 modulePage = "/collectionsQueuing_web/CollectionsQueuingDispatcher.jsp";
139 }
140 else if(module.equals("commonQueuing")) {
141 modulePage = "/commonQueuing_web/CommonQueuingDispatcher.jsp";
142 }
143 else if(module.equals("companyInfo")) {
144 modulePage = "/companyInfo_web/CompanyInfoDispatcher.jsp";
145 }
146 else if(module.equals("creditInfo")) {
147 modulePage = "/creditInfo_web/CreditInfoDispatcher.jsp";
148 }
149 else if(module.equals("customerInfo")) {
150 modulePage = "/customerInfo_web/CustomerInfoDispatcher.jsp";
151 }
152 else if(module.equals("documents")) {
153 modulePage = "/documents_web/DocumentsDispatcher.jsp";
154 }
155 else if(module.equals("security")) {
156 modulePage = "/security_web/SecurityDispatcher.jsp";
157 }
158 else if(module.equals("callReviewQueue")) {
159 Long user = new Long(request.getParameter("userId"));
160 modulePage = "/commonQueuing_web/ReviewQueueController";
161 response.sendRedirect("/Instantbank" + modulePage + "?action=initialize&userId=" + user);
162 return;
163 }
164
165
166 else if(module.equals("lettertemplate") && (useCase.equals("Editor"))) {
167 modulePage = "/control/editor/templates";
168 response.sendRedirect
169 ("/lettertemplate" + modulePage + collectionsVariables
170 + "&useCase=Editor");
171 return;
172 }
173 else if(module.equals("lettertemplate") && (useCase.equals("Category"))) {
174
175 modulePage = "/control/categories/main";
176 response.sendRedirect
177 ("/lettertemplate" + modulePage + collectionsVariables
178 + "&useCase=Category"
179 + "&action=listCategories");
180 return;
181 }
182 else if(module.equals("lettertemplate") && (useCase.equals("ImagesRepository"))) {
183 modulePage = "/control/imagesRepository/main";
184 response.sendRedirect
185 ("/lettertemplate" + modulePage + collectionsVariables
186 + "&useCase=ImagesRepository"
187 + "&action=listImagesNames");
188 return;
189 }
190 else if(module.equals("lettertemplate") && (useCase.equals("Templates"))) {
191 modulePage = "/control/templates/main";
192 response.sendRedirect
193 ("/lettertemplate" + modulePage + collectionsVariables
194 + "&useCase=Templates"
195 + "&action=listTemplates");
196 return;
197 }
198 else if(module.equals("lettertemplate") && (useCase.equals("Components"))) {
199 modulePage = "/control/components/main";
200 response.sendRedirect
201 ("/lettertemplate" + modulePage + collectionsVariables
202 + "&useCase=Components"
203 + "&action=listComponents");
204 return;
205 }
206 else if(module.equals("lettertemplate") && (useCase.equals("BatchStart"))) {
207 modulePage = "/control/batchStart/main";
208 response.sendRedirect
209 ("/lettertemplate" + modulePage + collectionsVariables
210 + "&useCase=BatchStart"
211 + "&action=listBatchStart");
212 return;
213 }
214 else if(module.equals("lettertemplate") && (useCase.equals("BatchReview"))) {
215
216 modulePage = "/control/batchReview/main";
217 response.sendRedirect
218 ("/lettertemplate" + modulePage + collectionsVariables
219 + "&useCase=BatchReview"
220 + "&action=listBatchReview");
221 return;
222 }
223 else if(module.equals("lettertemplate") && (useCase.equals("PreviewPrint"))) {
224 modulePage = "/control/previewPrint/main";
225 response.sendRedirect
226 ("/lettertemplate" + modulePage + collectionsVariables
227 + "&useCase=PreviewPrint"
228 + "&action=listTemplates");
229 return;
230 }
231 else if(module.equals("lettertemplate") && (useCase.equals("SetLetterJob"))) {
232 modulePage = "/control/setLetterJob/main";
233 response.sendRedirect
234 ("/lettertemplate" + modulePage + collectionsVariables
235 + "&useCase=SetLetterJob"
236 + "&action=listJobs");
237 return;
238 }
239 else if(module.equals("servicing") && (useCase.equals("ParmLevelsName"))) {
240 modulePage = "/control/parmLevelsName/main";
241 response.sendRedirect
242 ("/servicing" + modulePage + collectionsVariables
243 + "&useCase=ParmLevelsName"
244 + "&action=listParmLevelsName");
245 return;
246 }
247 else if(module.equals("servicing") && (useCase.equals("ParmLevel1Values"))) {
248 modulePage = "/control/parmLevel1Values/main";
249 response.sendRedirect
250 ("/servicing" + modulePage + collectionsVariables
251 + "&useCase=ParmLevel1Values"
252 + "&action=listParmLevel1Values");
253 return;
254 }
255 else if(module.equals("servicing") && (useCase.equals("ParmLevel2Values"))) {
256 modulePage = "/control/parmLevel2Values/main";
257 response.sendRedirect
258 ("/servicing" + modulePage + collectionsVariables
259 + "&useCase=ParmLevel2Values"
260 + "&action=listParmLevel2Values");
261 return;
262 }
263 else if(module.equals("servicing") && (useCase.equals("ParmSearchOrder"))) {
264 modulePage = "/control/parmSearchOrder/main";
265 response.sendRedirect
266 ("/servicing" + modulePage + collectionsVariables
267 + "&useCase=ParmSearchOrder"
268 + "&action=listParmSearchOrder");
269 return;
270 }
271 else if(module.equals("servicing") && (useCase.equals("ParmRestrictions"))) {
272 modulePage = "/control/parmRestrictions/main";
273 response.sendRedirect
274 ("/servicing" + modulePage + collectionsVariables
275 + "&useCase=ParmRestrictions"
276 + "&action=listParmRestrictions");
277 return;
278 }
279 else if(module.equals("servicing") && (useCase.startsWith("SetParameterXValue"))) {
280 modulePage = "/control/setParameterXValue/main";
281 response.sendRedirect
282 ("/servicing" + modulePage + collectionsVariables
283 + "&useCase=" + useCase
284 + "&action=listParameterValues");
285
286 return;
287 }
288
289
290 if(!modulePage.equals("")) {
291 debug.println("modulePage=" + modulePage);
292 debug.println("response.sendRedirect to "
293 + "/Instantbank" + modulePage + "?useCase=" + useCase);
294 response.sendRedirect("/Instantbank" + modulePage + "?useCase=" + useCase);
295 }
296 }
297 catch(Exception e) {
298 debug.println("Exception " + e.getMessage());
299 throw new InstantbankException(e, "000003", "Failed to dispatch use case");
300 }
301 }
302 catch(InstantbankException e) {
303 debug.println("InstantbankException " + e.getMessage());
304 session.setAttribute("Exception", e);
305 response.sendRedirect("../main_web/ControllerError.jsp?showTechnical=0");
306 }
307 }
308
309
310 public String getServletInfo() {
311 return "com.instantbank.collections.basicInfo.web.UserGroupsMaintenanceController Information";
312 }
313 }
314
315