1 package com.instantbank.collections.commonQueuing.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 javax.ejb.FinderException;
13 import com.instantbank.collections.commonQueuing.ejb.QueueServices;
14 import com.instantbank.collections.commonQueuing.ejb.QueueServicesHome;
15 import com.instantbank.collections.util.FilterChain;
16 import com.instantbank.collections.util.InstantbankException;
17 import com.instantbank.collections.util.ServiceLocator;
18
19 public class CurrentQueuesController extends HttpServlet {
20 private String debug = "";
21 private QueueServices services;
22 private HttpSession session;
23
24
25 public void init(ServletConfig config) throws ServletException {
26 super.init(config);
27 try {
28 QueueServicesHome home = (QueueServicesHome)ServiceLocator.instance().createEJB("QueueServicesHome", QueueServicesHome.class, false);
29 services = home.create();
30 }
31 catch(Exception e) {
32 e.printStackTrace();
33 }
34 }
35
36
37 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
38 doPost(request, response);
39 }
40
41
42 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
43 String action = "";
44 com.instantbank.collections.util.FilterChain chain;
45
46 try {
47 action = request.getParameter("action");
48 session = request.getSession(false);
49 session.setAttribute("hasException", "0");
50 try {
51 chain = new com.instantbank.collections.util.FilterChain(true, getServletConfig().getServletContext());
52 if(chain.processFilter(request, response)) {
53 return;
54 }
55 if(action.equals("initialize")) {
56 initialize(request, response);
57 }
58 else {
59 throw new InstantbankException("112001", "Action " + action + " not supported");
60 }
61 }
62 catch(Exception e) {
63 throw new InstantbankException(e, "112002", "Failed to execute controller action " + action + " (" + debug + ")");
64 }
65 }
66 catch(InstantbankException e) {
67 session.setAttribute("hasException", "1");
68 session.setAttribute("Exception", e);
69 if(response.isCommitted()) {
70 return;
71 }
72 response.sendRedirect("../main_web/ControllerError.jsp?showTechnical=0");
73 }
74 }
75
76
77 private void initialize(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, FinderException, Exception {
78 Long companyId;
79 String objectId;
80 String objectType;
81 String xml;
82
83 companyId = (Long)session.getAttribute("companyId");
84 objectType = (String)request.getParameter("objectType");
85 objectId = ((Long)request.getAttribute("objectId")).toString();
86 xml = services.getCurrentQueues(objectType, objectId, companyId);
87 request.setAttribute("data", xml);
88
89
90 request.setAttribute("previousQueueMap", services.getCurrentQueuesPrevious(
91 objectType, Long.parseLong(objectId)));
92 ServletContext sc = getServletConfig().getServletContext();
93
94 RequestDispatcher rd = sc.getRequestDispatcher("/commonQueuing_web/QueuesListView.jsp?title=Current Queues");
95 rd.forward(request, response);
96 }
97
98
99 public String getServletInfo() {
100 return "com.instantbank.collections.commonQueuing.web.CurrentQueuesController Information";
101 }
102 }
103
104