1 package com.instantbank.lettertemplate.setLetterJob.web;
2
3 import java.io.*;
4 import java.sql.*;
5 import java.util.ArrayList;
6 import java.util.StringTokenizer;
7 import javax.servlet.*;
8 import javax.servlet.http.*;
9
10
11 import javax.jms.Message;
12 import javax.jms.JMSException;
13
14
15 import java.rmi.RemoteException;
16 import javax.naming.Context;
17 import javax.naming.InitialContext;
18
19 import com.instantbank.component.lettersjobmdb.util.MessageSender;
20 import com.instantbank.lettertemplate.control.util.*;
21 import com.instantbank.common.utilcomponents.Debug;
22 import com.instantbank.common.utilcomponents.LetterTemplateExceptionMessage;
23 import com.instantbank.common.utilcomponents.LetterTemplateGlobals;
24 import com.instantbank.common.utilcomponents.JNDINames;
25 import com.instantbank.common.utilcomponents.CommonUtil;
26
27
28
35 public class LaunchJobServlet extends HttpServlet {
36
37
40 private Debug debug = null;
41
42
43
48 public void init() throws ServletException {
49 debug = new Debug();
50 debug.setDebugginOn(true);
51 debug.setPreMessage("** LaunchJobServlet: ");
52 }
53
54
55
64 public void doGet(HttpServletRequest request, HttpServletResponse response)
65 throws ServletException, IOException {
66 HttpSession session = request.getSession();
67 debug.println("new request=========================");
68
69 if(CommonUtil.controlTimeout(request, response,
70 getServletConfig().getServletContext())) {
71 debug.println("invalidate session and return by timeout");
72 session.invalidate();
73 return;
74
75
76 }
77
78
79 Long jobId = new Long(request.getParameter("jobId"));
80
81
82 MessageSender mSender = null;
83 String server = request.getServerName();
84 int port = request.getServerPort();
85
86 ServletOutputStream out = null;
87 try {
88 out = response.getOutputStream();
89
90 mSender = new MessageSender
91 (server, port, LetterTemplateGlobals.LETTERS_JOB_JMS_QUEUE);
92
93 String ctxProvider = mSender.getContextProviderUrl();
94 String initCtxFact = mSender.getInitContextFactory();
95
96 String temporalPath
97 = (String)session.getAttribute(WebKeys.ImagesTemporalPath);
98
100 String companyId = (String)session.getAttribute(WebKeys.CompanyId);
101 Long userId = (Long)session.getAttribute(WebKeys.UserId);
102
103 String maxZipSize = CommonUtil.getApplicationProperty
104 (JNDINames.ZipLettersFileMaxSize);
105
106 Message jobMsg = mSender.buildLetterJobMessage
107 (companyId, temporalPath, userId,
108 jobId, ctxProvider, initCtxFact, maxZipSize);
109
110 mSender.send(jobMsg);
111
112
113 response.setContentType("text/html");
114 char ch = '"';
115 out.println("<link href=" + ch
116 + "/lettertemplate/control_web/instantbank.css" + ch
117 + " rel=" + ch + "stylesheet" + ch + ">");
118 out.println("<CENTER>");
119 out.println("<H1>Launched Letter Job Confirmation</H1>");
120 out.println("<H4>The current letter job was successfully queued.</H4><br>");
121 out.println("<H4>Letter Batch execution takes some time.</H4><br>");
122 out.println("<H4>Use " + ch + "Letter Batch Review" + ch + " to view Log.</H4>");
123 out.println("</CENTER>");
124 out.flush();
125
126 }
127 catch(JMSException jex) {
128
129 try {
130 mSender.release();
131 }
132 catch(Exception ex) {
133 debug.println(CommonUtil.stackTraceToString(ex));
134 }
135 }
136 catch(Exception e) {
137 debug.println("Exception:" + e);
138 debug.println(CommonUtil.stackTraceToString(e));
139 response.setContentType("text/html");
140 out.println("<H3>EXCEPTION: " + e + "</H3>");
141 }
142 }
143
144
145
153 public void doPost(HttpServletRequest request, HttpServletResponse response)
154 throws ServletException, IOException {
155 doGet(request, response);
156 }
157
158 }
159