1 package com.instantbank.collections.collectionsQueuing.web; 2 3 import java.io.IOException; 4 import javax.ejb.FinderException; 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.collectionsQueuing.ejb.CollectionsQueuingServices; 14 import com.instantbank.collections.collectionsQueuing.ejb.CollectionsQueuingServicesHome; 15 import com.instantbank.collections.commonQueuing.ejb.QueueServices; 16 import com.instantbank.collections.commonQueuing.ejb.QueueServicesHome; 17 import com.instantbank.collections.util.FilterChain; 18 import com.instantbank.collections.util.InstantbankException; 19 import com.instantbank.collections.util.ServiceLocator; 20 21 public class SetUpStopperQueueController extends HttpServlet { 22 private String debug = ""; 23 private QueueServices queueServices; 24 private CollectionsQueuingServices services; 25 private HttpSession session; 26 27 28 public void init(ServletConfig config) throws ServletException { 29 super.init(config); 30 try { 31 CollectionsQueuingServicesHome home = (CollectionsQueuingServicesHome)ServiceLocator.instance().createEJB("CollectionsQueuingServicesHome", CollectionsQueuingServicesHome.class, false); 32 services = home.create(); 33 QueueServicesHome qsHome = (QueueServicesHome)ServiceLocator.instance().createEJB("QueueServicesHome", QueueServicesHome.class, false); 34 queueServices = qsHome.create(); 35 } 36 catch(Exception e) { 37 } 38 } 39 40 41 public void doGet(HttpServletRequest request, HttpServletResponse response) 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("save")) { 63 saveQueue(request, response); 64 } 65 else { 66 throw new InstantbankException("112001", "Action " + action + " not supported"); 67 } 68 } 69 catch(Exception e) { 70 throw new InstantbankException(e, "112002", "Failed to execute controller action " + action + " (" + debug + ")"); 71 } 72 } 73 catch(InstantbankException e) { 74 session.setAttribute("hasException", "1"); 75 session.setAttribute("Exception", e); 76 if(response.isCommitted()) { 77 return; 78 } 79 response.sendRedirect("../main_web/ControllerError.jsp?showTechnical=0"); 80 } 81 } 82 83 84 private void initialize(HttpServletRequest request, HttpServletResponse response) throws ServletException, InstantbankException, IOException, FinderException { 85 Long companyId; 86 Long queue; 87 String xml = null; 88 89 companyId = (Long)session.getAttribute("companyId"); 90 xml = services.getStopperQueue(companyId); 91 request.setAttribute("data", xml); 92 ServletContext sc = getServletConfig().getServletContext(); 93 RequestDispatcher rd = sc.getRequestDispatcher("/collectionsQueuing_web/StopperQueueView.jsp?useCase=SetUpStopperQueue"); 94 rd.forward(request, response); 95 } 96 97 98 public void saveQueue(HttpServletRequest request, HttpServletResponse response) throws ServletException, InstantbankException, IOException, FinderException { 99 Long companyId = (Long)session.getAttribute("companyId"); 100 String data = request.getParameter("data"); 101 Long queueId = new Long(0); 102 Long userId = (Long)session.getAttribute("userId"); 103 String xml = ""; 104 105 try { 106 queueId = queueServices.saveQueue(companyId, userId, data); 107 xml = queueServices.getQueue(queueId, companyId); 108 request.setAttribute("data", xml); 109 } 110 catch(Exception e) { 111 session.setAttribute("hasException", "1"); 112 session.setAttribute("Exception", e); 113 request.setAttribute("data", data); 114 } 115 finally { 116 ServletContext sc = getServletConfig().getServletContext(); 117 RequestDispatcher rd = sc.getRequestDispatcher("/collectionsQueuing_web/StopperQueueView.jsp?useCase=SetUpStopperQueue&title=Set Up Stopper Queues"); 118 request.setAttribute("Reset", "SetUpStopperQueueController?action=initialize"); 119 rd.forward(request, response); 120 } 121 } 122 123 124 public String getServletInfo() { 125 return "com.instantbank.collections.collectionsQueuing.web.SetUpStopperQueueController Information"; 126 } 127 } 128 129