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.creditInfo.ejb.AccountInfoServices;
15 import com.instantbank.collections.creditInfo.ejb.AccountInfoServicesHome;
16 import com.instantbank.collections.util.FilterChain;
17 import com.instantbank.collections.util.InstantbankException;
18 import com.instantbank.collections.util.ServiceLocator;
19 import com.instantbank.collections.util.StringFormat;
20
21 public class AccountDetailsContController extends HttpServlet {
22 AccountInfoServices accountInfoServices;
23 AccountInfoServicesHome ahome;
24 PrintWriter out;
25 HttpSession session;
26
27
28 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
29 this.doPost(request, response);
30 }
31
32
33 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
34 String action = "";
35 com.instantbank.collections.util.FilterChain chain;
36 try {
37 action = request.getParameter("action");
38 session = request.getSession(false);
39 session.setAttribute("hasException", "0");
40 try {
41 chain = new com.instantbank.collections.util.FilterChain(true, getServletConfig().getServletContext());
42 if(chain.processFilter(request, response)) {
43 return;
44 }
45 if(action.equals("initialize")) {
46 initialize(request, response);
47 }
48 else {
49 throw new InstantbankException("242001", "Action " + action + " not supported");
50 }
51 }
52 catch(Exception e) {
53 throw new InstantbankException(e, "242002", "Failed to execute controller action " + action);
54 }
55 }
56 catch(InstantbankException e) {
57 session.setAttribute("hasException", "1");
58 session.setAttribute("Exception", e);
59 if(response.isCommitted()) {
60 return;
61 }
62 response.sendRedirect("../main_web/ControllerError.jsp?showTechnical=0");
63 }
64 }
65
66
67 public void init(ServletConfig config) throws ServletException {
68 try {
69 super.init(config);
70 ahome = (AccountInfoServicesHome)ServiceLocator.instance().createEJB("AccountInfoServicesHome", AccountInfoServicesHome.class, false);
71 accountInfoServices = ahome.create();
72 }
73 catch(Exception e) {
74 throw new ServletException(e);
75 }
76 }
77
78
79 private void initialize(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, IOException, ServletException {
80 String agrmDetailsCont;
81 Long agrmId = null;
82 Long agrmCode;
83 String collateral;
84 Long companyId;
85 String data;
86 String fromQueuing = "N";
87 String outXmlString = "";
88 String primary;
89 ServletContext sctx = getServletConfig().getServletContext();
90 String status;
91
92 try {
93
94 agrmId = (Long)request.getAttribute("agrmId");
95 companyId = (Long)session.getAttribute("companyId");
96 fromQueuing = request.getParameter("fromQueuing");
97 primary = StringFormat.cleanXml(accountInfoServices.getPrimaryCustomer(companyId, agrmId));
98 collateral = StringFormat.cleanXml(accountInfoServices.getCollateralInfo(companyId, agrmId));
99 agrmDetailsCont = StringFormat.cleanXml(accountInfoServices.getAgreementDetailsCont(companyId, agrmId));
100 status = StringFormat.cleanXml(accountInfoServices.getStatusValues(companyId, agrmId));
101 outXmlString = "<?xml version=\"1.0\" encoding=\"ISO8859-1\"?><AccountDetailsCont>" + primary + collateral + agrmDetailsCont + status + "</AccountDetailsCont>";
102 request.setAttribute("data", outXmlString);
103 RequestDispatcher rd = sctx.getRequestDispatcher("/creditInfo_web/AccountDetailsContView.jsp");
104 rd.forward(request, response);
105 }
106 catch(Exception e) {
107 response.setContentType("text/html");
108 OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream());
109 PrintWriter out = new PrintWriter(osw);
110 out.println("<html>");
111 out.println("<head><title>Accounts no found</title></head>");
112 out.println("<body>");
113 out.println("<H2>Account number not found.</H2>");
114 out.println("</body></html>");
115 out.println("<script>");
116 out.println("/*");
117 e.printStackTrace(out);
118 out.println("*/");
119 out.println("</script>");
120 out.close();
121 }
122 }
123 }
124
125