1 package com.instantbank.collections.documents.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.companyInfo.ejb.CompanyServices; 16 import com.instantbank.collections.companyInfo.ejb.CompanyServicesHome; 17 import com.instantbank.collections.documents.ejb.DocumentServices; 18 import com.instantbank.collections.documents.ejb.DocumentServicesHome; 19 import com.instantbank.collections.util.FilterChain; 20 import com.instantbank.collections.util.InstantbankException; 21 import com.instantbank.collections.util.ServiceLocator; 22 23 public class DocumentSetupController extends HttpServlet { 24 private CompanyServices companyServices; 25 private DocumentServices docServices; 26 private QueueServices queueServices; 27 private HttpSession session; 28 29 30 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 31 doPost(request, response); 32 } 33 34 35 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 36 37 String action; 38 com.instantbank.collections.util.FilterChain chain; 39 40 try { 41 session = request.getSession(false); 42 action = request.getParameter("action"); 43 try { 44 45 chain = new com.instantbank.collections.util.FilterChain(true, getServletConfig().getServletContext()); 46 if(chain.processFilter(request, response)) { 47 return; 48 } 49 if(action.equals("initialize")) { 50 initialize(request, response); 51 } 52 else if(action.equals("save")) { 53 save(request, response); 54 } 55 else if(action.equals("saveRules")) { 56 saveRules(request, response); 57 } 58 else if(action.equals("selection")) { 59 selection(request, response); 60 } 61 else { 62 throw new InstantbankException("122001", "Action " + action + " not supported"); 63 } 64 } 65 catch(Exception e) { 66 throw new InstantbankException(e, "122002", "Failed to execute controller action " + action); 67 } 68 } 69 catch(InstantbankException e) { 70 session.setAttribute("Exception", e); 71 response.sendRedirect("../main_web/ControllerError.jsp?showTechnical=0"); 72 } 73 } 74 75 76 public String getServletInfo() { 77 return "com.instantbank.collections.companyInfo.web.CompanyMaintenanceController Information"; 78 } 79 80 81 public void init(ServletConfig config) throws ServletException { 82 super.init(config); 83 try { 84 CompanyServicesHome home = (CompanyServicesHome)ServiceLocator.instance().createEJB("CompanyServicesHome", CompanyServicesHome.class, false); 85 companyServices = home.create(); 86 DocumentServicesHome dochome = (DocumentServicesHome)ServiceLocator.instance().createEJB("DocumentServicesHome", DocumentServicesHome.class, false); 87 docServices = dochome.create(); 88 QueueServicesHome queuehome = (QueueServicesHome)ServiceLocator.instance().createEJB("QueueServicesHome", QueueServicesHome.class, false); 89 queueServices = queuehome.create(); 90 } 91 catch(Exception e) { 92 throw new ServletException(e); 93 } 94 } 95 96 97 private void initialize(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, IOException, RemoteException, ServletException { 98 Long companyId; 99 String xmlDoc; 100 String xmlLocations; 101 String xmlTrigger; 102 103 companyId = (Long)session.getAttribute("companyId"); 104 xmlLocations = companyServices.getCompanyLocations(companyId); 105 xmlDoc = docServices.getDocuments(companyId); 106 xmlTrigger = docServices.getTrigger(); 107 request.setAttribute("title", "Document Setup"); 108 request.setAttribute("locations", xmlLocations); 109 request.setAttribute("documents", xmlDoc); 110 request.setAttribute("triggerlist", xmlTrigger); 111 request.setAttribute("objectType", "A"); 112 ServletContext sc = getServletConfig().getServletContext(); 113 RequestDispatcher rd = sc.getRequestDispatcher("/documents_web/DocumentSetup.jsp"); 114 rd.forward(request, response); 115 } 116 117 118 private void save(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, IOException, RemoteException, ServletException { 119 Long companyId; 120 Long userId; 121 String xml; 122 123 companyId = (Long)session.getAttribute("companyId"); 124 userId = (Long)session.getAttribute("userId"); 125 xml = request.getParameter("data"); 126 docServices.saveDocument(xml, companyId, userId); 127 initialize(request, response); 128 } 129 130 131 private void saveRules(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, IOException, RemoteException, ServletException { 132 Long companyId; 133 String xmlRules; 134 135 companyId = (Long)session.getAttribute("companyId"); 136 xmlRules = (String)request.getParameter("data"); 137 docServices.saveRules(companyId, xmlRules); 138 initialize(request, response); 139 } 140 141 142 private void selection(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, IOException, RemoteException, ServletException { 143 Long companyId; 144 String docId; 145 String fields; 146 String objectType; 147 String rules; 148 149 companyId = (Long)session.getAttribute("companyId"); 150 docId = (String)request.getParameter("docId"); 151 rules = docServices.getRules(companyId, docId); 152 request.setAttribute("Rules", rules); 153 request.setAttribute("docId", docId); 154 request.setAttribute("objectType", "A"); 155 ServletContext sc = getServletConfig().getServletContext(); 156 RequestDispatcher rd = sc.getRequestDispatcher("/documents_web/SelectionRulesView.jsp"); 157 rd.forward(request, response); 158 } 159 160 } 161 162