1
2
3
4
5
6
7
8
9 package net.kwfgrid.gwes.servlet;
10
11 import org.antlr.stringtemplate.StringTemplate;
12 import org.apache.log4j.Logger;
13
14 import javax.servlet.ServletException;
15 import javax.servlet.http.HttpServlet;
16 import javax.servlet.http.HttpServletRequest;
17 import javax.servlet.http.HttpServletResponse;
18 import java.io.IOException;
19 import java.io.PrintWriter;
20 import java.net.MalformedURLException;
21
22 import net.kwfgrid.gwes.client.RemoteGWES;
23
24
25
26
27
28
29
30
31 public class GWUIWebStartServlet extends HttpServlet {
32
33 final static Logger logger = Logger.getLogger(GWUIWebStartServlet.class);
34 private static GWESProperties pr;
35
36 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
37 ServletLogger.log(request);
38
39
40 if (pr == null) pr = GWESProperties.getInstance("/gwes.properties");
41
42 PrintWriter out = response.getWriter();
43
44
45 String workflowID = request.getParameter("workflowid");
46 if (workflowID == null) {
47 workflowID = (String) request.getSession().getAttribute("workflowid");
48 } else {
49 request.getSession().setAttribute("workflowid",workflowID);
50 }
51 logger.debug("session workflow = "+workflowID);
52
53 try {
54 response.setContentType("application/x-java-jnlp-file");
55 StringTemplate t = Template.getStringTemplateGroup("html_gwes-servlets").getInstanceOf("webstart");
56 if (workflowID!=null) t.setAttribute("workflowID", workflowID);
57 t.setAttribute("gwesBaseUrlExternal", pr.gwesBaseUrlExternal);
58 out.print(t.toString());
59 } catch (Exception e) {
60 out.println("<hr><b>ERROR starting GWUI Web Start: " + e + "</b>");
61 out.println("<pre>");
62 e.printStackTrace(out);
63 out.println("</pre>");
64 out.println("<hr>");
65 }
66 }
67
68 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
69 doGet(request, response);
70 }
71
72 }