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
22 public class ActionMaintenanceController extends HttpServlet {
23 private OutputStreamWriter osw;
24 private HttpSession session;
25 private ActionResultServices services;
26
27
28
34 public void init(ServletConfig config) throws ServletException {
35 super.init(config);
36 try {
37 ActionResultServicesHome home = (ActionResultServicesHome)
38 ServiceLocator.instance().createEJB("ActionResultServicesHome", ActionResultServicesHome.class, false);
39 services = home.create();
40 }
41 catch(Exception e) {
42 throw new ServletException(e);
43 }
44 }
45
46
47
55 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
56 doPost(request, response);
57 }
58
59
60
68 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
69 String action;
70 com.instantbank.collections.util.FilterChain chain;
71
72 try {
73 action = request.getParameter("action");
74 session = request.getSession(false);
75 session.setAttribute("hasException", "0");
76 try {
77 chain = new com.instantbank.collections.util.FilterChain(true, getServletConfig().getServletContext());
78 if(chain.processFilter(request, response)) {
79 return;
80 }
81 if(action.equals("initialize")) {
82 initialize(request, response);
83 }
84 else if(action.equals("getAction")) {
85 getAction(request, response);
86 }
87 else if(action.equals("saveAction")) {
88 saveAction(request, response);
89 }
90 else {
91 throw new InstantbankException("522001", "Action " + action + " not supported");
92 }
93 }
94 catch(Exception e) {
95 throw new InstantbankException(e, "522001", "Failed to execute controller action " + action);
96 }
97 }
98 catch(InstantbankException e) {
99 session.setAttribute("hasException", "1");
100 session.setAttribute("Exception", e);
101 if(response.isCommitted()) {
102 return;
103 }
104 response.sendRedirect("../main_web/ControllerError.jsp?showTechnical=0");
105 }
106 }
107
108
109 private void initialize(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, IOException, ServletException {
110 ServletContext sc = getServletConfig().getServletContext();
111 RequestDispatcher rd = sc.getRequestDispatcher("/collectionsActivities_web/ActionMaintenanceView.jsp");
112 rd.forward(request, response);
113 }
114
115
116 private void getAction(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, ServletException, IOException {
117 String xml;
118 Long companyId;
119 Long actionId = new Long(request.getParameter("actionId"));
120 companyId = (Long)session.getAttribute("companyId");
121 xml = services.getAction(actionId, companyId);
122 OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream());
123 PrintWriter out = new PrintWriter(osw);
124 out.println("<script>");
125 out.print("parent.actionXml='");
126 out.print(StringFormat.cleanXml(xml));
127 out.println("';");
128 out.print("parent.selectedAction='");
129 out.print(actionId);
130 out.println("';");
131 out.println("parent.screenFormat();");
132 out.println("</script>");
133 out.close();
134 }
135
136
137 public String getServletInfo() {
138 return "ActionMaintenanceController Information";
139 }
140
141
142 private void saveAction(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, ServletException, IOException {
143 Long companyId;
144 Long userId;
145 String data;
146 data = request.getParameter("data");
147 companyId = (Long)session.getAttribute("companyId");
148 userId = (Long)session.getAttribute("userId");
149 services.saveAction(data, companyId, userId);
150 initialize(request, response);
151 }
152
153 }
154