KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > quikj > application > web > talk > jspbeans > ContactCenterEmailServlet


1 /*
2  * TalkOOSEmailServlet.java
3  *
4  * Created on June 11, 2003, 2:05 PM
5  */

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 /**
15  *
16  * @author amit
17  * @version
18  */

19 public class ContactCenterEmailServlet extends HttpServlet
20 {
21     
22     /** Initializes the servlet.
23      */

24     public void init(ServletConfig config) throws ServletException
25     {
26         super.init(config);
27         
28     }
29     
30     /** Destroys the servlet.
31      */

32     public void destroy()
33     {
34         
35     }
36     
37     /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
38      * @param request servlet request
39      * @param response servlet response
40      */

41     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
42     throws ServletException, IOException
43     {
44         response.setContentType("text/html");
45         
46         String JavaDoc 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             // Get the properties for this customer
68
ContactCenterCustomerProperty customer_property =
69             customer_bean.getCustomerProperty(customer);
70             
71             if (customer_property == null)
72             {
73                 // go to an error page
74
request.setAttribute("errorMessage",
75                 "talk.servlet.customer.undefined");
76                 goToPage( "/aceapp/jsp/contactcenter/talk_internal_error.jsp", request, response);
77                 return;
78             }
79             
80             // Set the properties in the request scope
81
request.setAttribute("customerProperty", customer_property);
82                                     
83             String JavaDoc 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 JavaDoc page = (String JavaDoc)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 JavaDoc 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     /** Handles the HTTP <code>GET</code> method.
139      * @param request servlet request
140      * @param response servlet response
141      */

142     protected void doGet(HttpServletRequest request, HttpServletResponse response)
143     throws ServletException, IOException
144     {
145         processRequest(request, response);
146     }
147     
148     /** Handles the HTTP <code>POST</code> method.
149      * @param request servlet request
150      * @param response servlet response
151      */

152     protected void doPost(HttpServletRequest request, HttpServletResponse response)
153     throws ServletException, IOException
154     {
155         processRequest(request, response);
156     }
157     
158     /** Returns a short description of the servlet.
159      */

160     public String JavaDoc getServletInfo()
161     {
162         return "Contact Center Email Servlet";
163     }
164     
165     private void goToPage(String JavaDoc 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