1 package com.instantbank.collections.collectionsActivities.web;
2
3 import javax.servlet.RequestDispatcher;
4 import javax.servlet.ServletConfig;
5 import javax.servlet.ServletContext;
6 import javax.servlet.ServletException;
7 import javax.servlet.http.HttpServlet;
8 import javax.servlet.http.HttpServletRequest;
9 import javax.servlet.http.HttpServletResponse;
10 import javax.servlet.http.HttpSession;
11 import java.io.IOException;
12 import java.io.OutputStreamWriter;
13 import java.io.PrintWriter;
14 import com.instantbank.collections.collectionsActivities.ejb.ActionResultServices;
15 import com.instantbank.collections.collectionsActivities.ejb.ActionResultServicesHome;
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 ResultMaintenanceController extends HttpServlet {
22 private OutputStreamWriter osw;
23 private HttpSession session;
24 private ActionResultServices services;
25
26
27 public void init(ServletConfig config) throws ServletException {
28 super.init(config);
29 try {
30 ActionResultServicesHome home = (ActionResultServicesHome)
31 ServiceLocator.instance().createEJB("ActionResultServicesHome", ActionResultServicesHome.class, false);
32 services = home.create();
33 }
34 catch(Exception e) {
35 throw new ServletException(e);
36 }
37 }
38
39
40 public void doGet(HttpServletRequest request, HttpServletResponse response)
41 throws ServletException, IOException {
42 doPost(request, response);
43 }
44
45
46 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
47 String action = "";
48 com.instantbank.collections.util.FilterChain chain;
49
50 try {
51 action = request.getParameter("action");
52 session = request.getSession(false);
53 session.setAttribute("hasException", "0");
54 try {
55 chain = new com.instantbank.collections.util.FilterChain(true, getServletConfig().getServletContext());
56 if(chain.processFilter(request, response)) {
57 return;
58 }
59 if(action.equals("initialize")) {
60 initialize(request, response);
61 }
62 else if(action.equals("getResult")) {
63 getResult(request, response);
64 }
65 else if(action.equals("save")) {
66 save(request, response);
67 }
68 else {
69 throw new InstantbankException("522005", "Action " + action + " not supported");
70 }
71 }
72 catch(Exception e) {
73 throw new InstantbankException(e, "522005", "Failed to execute controller action " + action);
74 }
75 }
76 catch(InstantbankException e) {
77 session.setAttribute("hasException", "1");
78 session.setAttribute("Exception", e);
79 if(response.isCommitted()) {
80 return;
81 }
82 response.sendRedirect("../main_web/ControllerError.jsp?showTechnical=0");
83 }
84 }
85
86
87 public String getServletInfo() {
88 return "com.instantbank.collections.collectionsActivities.web.ResultMaintenanceController Information";
89 }
90
91
92 private void getResult(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, ServletException, IOException {
93 String xml;
94 String data;
95 Long companyId;
96 Long resultId = new Long(request.getParameter("resultId"));
97 companyId = (Long)session.getAttribute("companyId");
98 xml = StringFormat.cleanXml(services.getResult(companyId, resultId));
99 OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream());
100 PrintWriter out = new PrintWriter(osw);
101 out.println("<script>");
102 out.print("parent.resultXml='");
103 out.print(xml);
104 out.println("';");
105 out.println("parent.screenFormat();");
106 out.println("</script>");
107 out.close();
108 }
109
110
111 private void initialize(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, ServletException, IOException {
112
113 String data;
114 data = services.newResult();
115 ServletContext sc = getServletConfig().getServletContext();
116 request.setAttribute("data", data);
117 RequestDispatcher rd = sc.getRequestDispatcher("/collectionsActivities_web/ResultMaintenanceView.jsp");
118 rd.forward(request, response);
119 }
120
121
122 private void save(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, ServletException, IOException {
123 String data;
124 String xml = new String("");
125 Long companyId;
126 Long userId;
127 userId = (Long)session.getAttribute("userId");
128 companyId = (Long)session.getAttribute("companyId");
129 xml = new String(request.getParameter("data"));
130 services.saveResult(xml, companyId, userId);
131 initialize(request, response);
132 }
133 }
134
135