1 package com.instantbank.collections.commonQueuing.web; 2 3 import java.io.IOException; 4 import java.rmi.RemoteException; 5 import javax.servlet.RequestDispatcher; 6 import javax.servlet.ServletConfig; 7 import javax.servlet.ServletContext; 8 import javax.servlet.ServletException; 9 import javax.servlet.http.HttpServlet; 10 import javax.servlet.http.HttpServletRequest; 11 import javax.servlet.http.HttpServletResponse; 12 import javax.servlet.http.HttpSession; 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 SetUpQueueTypesController 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 } 33 } 34 35 36 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 37 doPost(request, response); 38 } 39 40 41 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 42 String action = ""; 43 com.instantbank.collections.util.FilterChain chain; 44 String objectType = ""; 45 46 try { 47 action = request.getParameter("action"); 48 objectType = request.getParameter("objectType"); 49 session = request.getSession(false); 50 session.setAttribute("hasException", "0"); 51 try { 52 chain = new com.instantbank.collections.util.FilterChain(true, getServletConfig().getServletContext()); 53 if(chain.processFilter(request, response)) { 54 return; 55 } 56 } 57 catch(Exception ne) { 58 session.setAttribute("hasException", "1"); 59 session.setAttribute("Exception", ne); 60 response.sendRedirect("../main_web/ControllerError.jsp?showTechnical=0"); 61 return; 62 } 63 try { 64 if(action.equals("initialize")) { 65 initialize(request, response); 66 } 67 else if(action.equals("save")) { 68 save(request, response); 69 } 70 else { 71 throw new InstantbankException("112001", "Action " + action + " not supported"); 72 } 73 } 74 catch(Exception e) { 75 throw new InstantbankException(e, "112002", "Failed to execute controller action " + action + " (" + debug + ")"); 76 } 77 } 78 catch(InstantbankException e) { 79 session.setAttribute("hasException", "1"); 80 session.setAttribute("Exception", e); 81 try { 82 request.setAttribute("Reset", "SetUpQueueTypesController?action=initialize&objectType=" + objectType + "¤tTab=1"); 83 initialize(request, response); 84 } 85 catch(Exception ne) { 86 response.sendRedirect("../main_web/ControllerError.jsp?showTechnical=0"); 87 } 88 } 89 } 90 91 92 public String getServletInfo() { 93 return "com.instantbank.collections.commonQueuing.web.SetUpQueueTypesController Information"; 94 } 95 96 97 private void initialize(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, IOException, RemoteException, ServletException { 98 Long companyId; 99 Integer currentTab; 100 String data = null; 101 String objectType; 102 103 currentTab = new Integer(request.getParameter("currentTab")); 104 companyId = (Long)session.getAttribute("companyId"); 105 objectType = (String)request.getParameter("objectType"); 106 data = services.getQueueTypes(companyId, objectType); 107 ServletContext sc = getServletConfig().getServletContext(); 108 request.setAttribute("data", data); 109 RequestDispatcher rd = sc.getRequestDispatcher("/commonQueuing_web/SetUpQueueTypesView.jsp?useCase=SetUpQueueTypes¤tTab=" + currentTab + "&title=Set Up Queue Types"); 110 rd.forward(request, response); 111 } 112 113 114 private void save(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, IOException, RemoteException, ServletException { 115 Long userId; 116 String xml; 117 118 Long companyId = (Long)session.getAttribute("companyId"); 119 userId = (Long)session.getAttribute("userId"); 120 xml = request.getParameter("data"); 121 services.saveQueueTypes(companyId, userId, xml); 122 initialize(request, response); 123 } 124 } 125 126