1    package com.instantbank.lettertemplate.editor.web;
2    
3    import java.io.PrintWriter;
4    import java.io.IOException;
5    
6    import javax.servlet.ServletException;
7    import javax.servlet.ServletOutputStream;
8    
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   
14   import javax.jms.Message;
15   import javax.jms.JMSException;
16   
17   import com.instantbank.common.utilcomponents.Debug;
18   import com.instantbank.common.utilcomponents.CommonUtil;
19   import com.instantbank.common.utilcomponents.LetterTemplateGlobals;
20   import com.instantbank.lettertemplate.control.util.JSPUtil;
21   import com.instantbank.lettertemplate.control.util.WebKeys;
22   import com.instantbank.component.lettersjobmdb.util.MessageSender;
23   import com.instantbank.common.utilcomponents.JNDINames;
24   
25   /**
26    *  Debug servlet for testing the letter job functionality.
27    *
28    * @author InstantBank (Rodrigo Lopez)
29    * @created October 2002
30    */
31   public class LetterJobServlet extends HttpServlet {
32   
33     private Debug debug = null;
34   
35   
36     public void init() throws ServletException {
37       debug = new Debug();
38       debug.setDebugginOn(true);
39       debug.setPreMessage("** LetterJobServlet: ");
40   
41     }
42   
43   
44     public void doGet(HttpServletRequest request, HttpServletResponse response)
45        throws ServletException, IOException {
46   
47       String server = request.getServerName();
48       int port = request.getServerPort();
49   
50       MessageSender mSender = null;
51       try {
52         mSender =
53           new MessageSender(server, port, LetterTemplateGlobals.LETTERS_JOB_JMS_QUEUE);
54         String ctxProvider = mSender.getContextProviderUrl();
55         String initCtxFact = mSender.getInitContextFactory();
56   
57         String temporalPath = (String)request.getSession()
58           .getAttribute(WebKeys.ImagesTemporalPath);
59         /*String rtf2foConfDir = (String) request.getSession()
60                                   .getAttribute(WebKeys.RtfToFoConfigPath);*/
61         String companyId = (String)request.getSession()
62           .getAttribute(WebKeys.CompanyId);
63         Long userId = (Long)request.getSession()
64           .getAttribute(WebKeys.UserId);
65   
66         String maxZipSize =
67           CommonUtil.getApplicationProperty(JNDINames.ZipLettersFileMaxSize);
68         debug.println("maxZip = " + maxZipSize);
69   
70         Long jobId = new Long(1002);
71   
72         Message jobMsg =
73           mSender.buildLetterJobMessage(
74           companyId, temporalPath,  /*rtf2foConfDir,*/userId, jobId,
75           ctxProvider, initCtxFact, maxZipSize);
76   
77         debug.println("Job Message set up");
78   
79         mSender.send(jobMsg);
80   
81         debug.println("Message sent");
82         response.setContentType("text/html");
83         PrintWriter out = response.getWriter();
84         out.println("<HTML><BODY><CENTER><H1>");
85         out.println("Message Sent! <p>");
86         out.println("Please, dismiss this window");
87         out.println("</H1></CENTER></BODY></HTML>");
88         out.close();
89   
90       }
91       catch(JMSException jex) {
92         debug.println(CommonUtil.stackTraceToString(jex));
93         // Release JMS resources in reverse order of their creation.
94         try {
95           mSender.release();
96         }
97         catch(Exception ex) {
98           debug.println(CommonUtil.stackTraceToString(ex));
99         }
100      }
101    }
102  
103  
104    /**
105     *  doPost has the same effect than doGet
106     *
107     * @param request HTTP request
108     * @param response DHTTP response
109     * @exception ServletException
110     * @exception IOException
111     */
112    public void doPost(HttpServletRequest request, HttpServletResponse response)
113       throws ServletException, IOException {
114      doGet(request, response);
115    }
116  
117  
118  }
119