1 6 7 package com.quikj.application.web.talk.jspbeans; 8 9 import java.io.*; 10 import javax.servlet.*; 11 import javax.servlet.http.*; 12 13 import com.quikj.server.framework.*; 14 19 public class ContactCenterEmailServlet extends HttpServlet 20 { 21 22 24 public void init(ServletConfig config) throws ServletException 25 { 26 super.init(config); 27 28 } 29 30 32 public void destroy() 33 { 34 35 } 36 37 41 protected void processRequest(HttpServletRequest request, HttpServletResponse response) 42 throws ServletException, IOException 43 { 44 response.setContentType("text/html"); 45 46 String customer = request.getParameter("customer"); 47 if (customer == null) 48 { 49 request.setAttribute("errorMessage", 50 "talk.servlet.no.customer"); 51 goToPage("/aceapp/jsp/contactcenter/talk_internal_error.jsp", request, response); 52 return; 53 } 54 55 ContactCenterCustomerList customer_bean = (ContactCenterCustomerList)getServletContext().getAttribute( 56 ContactCenterServlet.CUSTOMER_BEAN); 57 if (customer_bean == null) 58 { 59 request.setAttribute("errorMessage", 60 "talk.servlet.uninitialized"); 61 goToPage( "/aceapp/jsp/contactcenter/talk_internal_error.jsp", request, response); 62 return; 63 } 64 65 try 66 { 67 ContactCenterCustomerProperty customer_property = 69 customer_bean.getCustomerProperty(customer); 70 71 if (customer_property == null) 72 { 73 request.setAttribute("errorMessage", 75 "talk.servlet.customer.undefined"); 76 goToPage( "/aceapp/jsp/contactcenter/talk_internal_error.jsp", request, response); 77 return; 78 } 79 80 request.setAttribute("customerProperty", customer_property); 82 83 String to_email = customer_property.getOosEmail(); 84 if ((AceMailService.getInstance() == null) || (to_email == null)) 85 { 86 request.setAttribute("errorMessage", 87 "talk.servlet.mailserver.down"); 88 goToPage( "/aceapp/jsp/contactcenter/talk_internal_error.jsp", request, response); 89 return; 90 } 91 92 93 ContactCenterEmailForm form = new ContactCenterEmailForm(); 94 form.populate(request); 95 request.setAttribute("formBean", form); 96 97 if (form.isFormError() == true) 98 { 99 request.setAttribute("errorMessage", 100 "talk.oos.js.required"); 101 goToPage("/aceapp/jsp/contactcenter/talk_oos.jsp", request, response); 102 return; 103 } 104 105 AceMailMessage mail_message = new AceMailMessage(); 106 mail_message.addTo(to_email); 107 mail_message.setFrom(form.getEmail()); 108 mail_message.setSubject(form.getSubject()); 109 mail_message.setBody(form.getMessage()); 110 111 if (AceMailService.getInstance().addToMailQueue(mail_message) == false) 112 { 113 request.setAttribute("errorMessage", 114 "talk.servlet.internal.error"); 115 goToPage( "/aceapp/jsp/contactcenter/talk_internal_error.jsp", request, response); 116 return; 117 } 118 119 String page = (String )customer_property.getPagesParams().get("emailSentPage"); 120 if (page == null) 121 { 122 page = "/aceapp/jsp/contactcenter/talk_mail_sent.jsp"; 123 } 124 goToPage(page, request, response); 125 return; 126 } 127 catch (Exception ex) 128 { 129 request.setAttribute("exceptionMessage", 130 ex.getClass().getName() + ": " 131 + ex.getMessage()); 132 goToPage( "/aceapp/jsp/contactcenter/talk_internal_error.jsp", request, response); 133 return; 134 135 } 136 } 137 138 142 protected void doGet(HttpServletRequest request, HttpServletResponse response) 143 throws ServletException, IOException 144 { 145 processRequest(request, response); 146 } 147 148 152 protected void doPost(HttpServletRequest request, HttpServletResponse response) 153 throws ServletException, IOException 154 { 155 processRequest(request, response); 156 } 157 158 160 public String getServletInfo() 161 { 162 return "Contact Center Email Servlet"; 163 } 164 165 private void goToPage(String address, 166 HttpServletRequest request, 167 HttpServletResponse response ) 168 throws ServletException, IOException 169 { 170 171 RequestDispatcher dispatcher = 172 getServletContext().getRequestDispatcher( address ); 173 dispatcher.forward( request, response ); 174 175 } 176 } 177 | Popular Tags |