1
2
3
4
5
6 package net.kwfgrid.gwui.taskframework;
7
8 import net.kwfgrid.gwui.servlets.ServletConstants;
9 import net.kwfgrid.gwui.Browser;
10 import net.kwfgrid.gwui.GWUI;
11 import net.kwfgrid.gworkflowdl.structure.*;
12 import net.kwfgrid.gworkflowdl.protocol.client.ClientWorkflow;
13
14 import java.net.URL;
15 import java.net.URLEncoder;
16 import java.net.MalformedURLException;
17 import java.io.UnsupportedEncodingException;
18
19 import org.apache.log4j.Logger;
20
21 /***
22 Wrapper for HTML data input form.
23 */
24 public class HTMLDataInputFormWrapper implements Form {
25 /*** The identifier for the window tiggered by this Wrapper. */
26 public static final String WINDOW_IDENTIFIER = "kwfgrid.HTMLDataInputFormWrapper.window";
27
28 private static final Logger logger = Logger.getLogger(HTMLDataInputFormWrapper.class);
29
30 private Browser _browser;
31 private boolean _windowopen;
32 private ClientWorkflow _workflow;
33 private Transition _transition;
34
35 /***
36 Constructor for a HTMLDataInputFormWrapper for firing a transition.
37 @param wf The workflow containing the transition.
38 @param t The transition to fire by means of user input.
39 @param browser The browser.
40 */
41 public HTMLDataInputFormWrapper(ClientWorkflow wf, Transition t, Browser browser) {
42 _browser = browser;
43 _windowopen = false;
44 _workflow = wf;
45 _transition = t;
46 }
47
48 public void show() {
49 try {
50 StringBuffer servlet = new StringBuffer((String)GWUI.getInstance().getProperty(GWUI.FORM_SELECTION_SERVLET_URL_KEY));
51 servlet
52 .append("?")
53 .append(ServletConstants.KEY_NEWSESSION).append("=true")
54 .append("&")
55 .append(ServletConstants.KEY_WORKFLOWID).append("=").append(URLEncoder.encode(_workflow.getID(), "UTF-8"))
56 .append("&")
57 .append(ServletConstants.KEY_TRANSITIONID).append("=").append(URLEncoder.encode(_transition.getID(), "UTF-8"))
58 .append("&")
59 .append(ServletConstants.KEY_VERSIONNUMBER).append("=").append(_workflow.getVersionNumber())
60 .append("&")
61 .append(ServletConstants.KEY_GWESADDRESS).append("=").append(URLEncoder.encode((String)GWUI.getInstance().getProperty(GWUI.GWES_URI_KEY), "UTF-8"))
62 .append("&")
63 .append(ServletConstants.KEY_COMMAND).append("=").append(ServletConstants.FIRE_COMMAND);
64 URL servleturl = new URL(servlet.toString());
65
66 logger.debug("Opening URL: "+servleturl);
67
68 _browser.showDocument(servleturl, WINDOW_IDENTIFIER);
69 _windowopen = true;
70 } catch (MalformedURLException x) {
71 logger.fatal("Could not build form-selection-servlet URL.", x);
72 } catch (UnsupportedEncodingException x) {
73 logger.fatal("Could not build form-selection-servlet URL.", x);
74 }
75 }
76
77 public void dispose() {
78
79 }
80
81 }