1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.kuali.rice.kns.web.struts.form;
18
19 import java.util.ArrayList;
20
21 import javax.servlet.http.HttpServletRequest;
22
23 import org.kuali.rice.kns.question.Question;
24 import org.kuali.rice.kns.service.KNSServiceLocator;
25 import org.kuali.rice.kns.util.KNSConstants;
26 import org.kuali.rice.kns.util.WebUtils;
27
28
29
30
31
32
33 public class QuestionPromptForm extends KualiForm {
34 private static final long serialVersionUID = 1L;
35 private ArrayList buttons;
36 private String caller;
37
38 private String formKey;
39 private String questionIndex;
40 private String questionText;
41 private String questionType;
42 private String title;
43 private String context;
44 private String reason;
45 private String showReasonField;
46 private String questionAnchor;
47 private String methodToCallPath;
48 private String docNum;
49
50
51
52
53 public String getDocNum() {
54 return this.docNum;
55 }
56
57
58
59
60 public void setDocNum(String docNum) {
61 this.docNum = docNum;
62 }
63
64
65
66
67 public String getShowReasonField() {
68 return showReasonField;
69 }
70
71
72
73
74 public void setShowReasonField(String showReasonField) {
75 this.showReasonField = showReasonField;
76 }
77
78
79
80
81 public ArrayList getButtons() {
82 return buttons;
83 }
84
85
86
87
88 public String getCaller() {
89 return caller;
90 }
91
92
93
94
95 public String getFormKey() {
96 return formKey;
97 }
98
99
100
101
102 public String getQuestionIndex() {
103 return questionIndex;
104 }
105
106
107
108
109 public String getQuestionText() {
110 return questionText != null ? WebUtils.filterHtmlAndReplaceRiceMarkup(questionText) : questionText;
111 }
112
113
114
115
116 public String getQuestionType() {
117 return questionType;
118 }
119
120
121
122
123 public String getTitle() {
124 return title;
125 }
126
127
128
129
130 public void populate(HttpServletRequest request) {
131 super.populate(request);
132
133
134 title = KNSConstants.QUESTION_PAGE_TITLE;
135
136 if (request.getAttribute(KNSConstants.DOC_FORM_KEY) != null) {
137 this.setFormKey((String) request.getAttribute(KNSConstants.DOC_FORM_KEY));
138 }
139 else if (request.getParameter(KNSConstants.DOC_FORM_KEY) != null) {
140 this.setFormKey(request.getParameter(KNSConstants.DOC_FORM_KEY));
141 }
142
143 if (request.getAttribute(KNSConstants.DOC_NUM) != null) {
144 this.setFormKey((String) request.getAttribute(KNSConstants.DOC_NUM));
145 }
146
147
148 if (request.getParameter(KNSConstants.RETURN_LOCATION_PARAMETER) != null) {
149 this.setBackLocation(request.getParameter(KNSConstants.RETURN_LOCATION_PARAMETER));
150 }
151
152 if (getMethodToCall().equals(KNSConstants.START_METHOD)) {
153 Question kualiQuestion = KNSServiceLocator.getQuestion(questionType);
154 if (kualiQuestion == null) {
155 throw new RuntimeException("question implementation not found: " + request.getParameter(KNSConstants.QUESTION_IMPL_ATTRIBUTE_NAME));
156 }
157
158
159
160
161 if (questionText == null) {
162 questionText = kualiQuestion.getQuestion();
163 }
164
165 if (buttons == null) {
166 buttons = kualiQuestion.getButtons();
167 }
168 }
169 }
170
171
172
173
174 public void setButtons(ArrayList buttons) {
175 this.buttons = buttons;
176 }
177
178
179
180
181 public void setCaller(String caller) {
182 this.caller = caller;
183 }
184
185
186
187
188 public void setFormKey(String formKey) {
189 this.formKey = formKey;
190 }
191
192
193
194
195 public void setQuestionIndex(String questionIndex) {
196 this.questionIndex = questionIndex;
197 }
198
199
200
201
202 public void setQuestionText(String questionText) {
203 this.questionText = questionText;
204 }
205
206
207
208
209 public void setQuestionType(String questionName) {
210 this.questionType = questionName;
211 }
212
213
214
215
216 public void setTitle(String title) {
217 this.title = title;
218 }
219
220 public String getContext() {
221 return context;
222 }
223
224 public void setContext(String context) {
225 this.context = context;
226 }
227
228
229
230
231 public String getReason() {
232 return reason;
233 }
234
235
236
237
238 public void setReason(String reason) {
239 this.reason = reason;
240 }
241
242 public String getQuestionAnchor() {
243 return questionAnchor;
244 }
245
246 public void setQuestionAnchor(String questionAnchor) {
247 this.questionAnchor = questionAnchor;
248 }
249
250 public String getMethodToCallPath() {
251 return methodToCallPath;
252 }
253 public void setMethodToCallPath(String methodToCallPath) {
254 this.methodToCallPath = methodToCallPath;
255 }
256
257 }