View Javadoc
1   /**
2    * Copyright 2005-2016 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.rice.krad.demo.uif.form;
17  
18  import java.io.Serializable;
19  import java.security.GeneralSecurityException;
20  import java.util.ArrayList;
21  import java.util.Arrays;
22  import java.util.Collections;
23  import java.util.List;
24  
25  import edu.sampleu.travel.dataobject.TravelAuthorizationDocument;
26  import edu.sampleu.travel.dataobject.TravelDestination;
27  
28  import org.apache.commons.lang.StringUtils;
29  import org.kuali.rice.core.api.CoreApiServiceLocator;
30  import org.kuali.rice.core.api.criteria.QueryByCriteria;
31  import org.kuali.rice.core.api.encryption.EncryptionService;
32  import org.kuali.rice.core.api.util.tree.Node;
33  import org.kuali.rice.core.api.util.tree.Tree;
34  import org.kuali.rice.kew.api.document.search.DocumentSearchCriteria;
35  import org.kuali.rice.kew.api.document.search.DocumentSearchResult;
36  import org.kuali.rice.kew.api.exception.WorkflowException;
37  import org.kuali.rice.kew.docsearch.service.DocumentSearchService;
38  import org.kuali.rice.kim.api.identity.Person;
39  import org.kuali.rice.kim.api.services.KimApiServiceLocator;
40  import org.kuali.rice.krad.demo.travel.dataobject.TravelAccount;
41  import org.kuali.rice.krad.document.Document;
42  import org.kuali.rice.krad.file.FileMetaBlob;
43  import org.kuali.rice.krad.service.KRADServiceLocator;
44  import org.kuali.rice.krad.service.KRADServiceLocatorWeb;
45  import org.kuali.rice.krad.web.bind.RequestAccessible;
46  import org.kuali.rice.krad.web.form.UifFormBase;
47  
48  /**
49   * Basic form for the KRAD sample application
50   *
51   * @author Kuali Rice Team (rice.collab@kuali.org)
52   */
53  public class KradSampleAppForm extends UifFormBase implements Serializable {
54      private static final long serialVersionUID = -7525378097732916418L;
55      private String themeName;
56      private String exampleShown;
57      private String currentExampleIndex;
58  
59      //Fields separated by demonstration type below:
60  
61      //InputField
62  
63      // RequestAccessible is needed on inputField1 for a breadcrumbs demo
64      @RequestAccessible
65      private String inputField1;
66      private String inputField2;
67      private String inputField3;
68      private String inputField4;
69      private String inputField5;
70      private String inputField6;
71      private String inputField7;
72      private String inputField8;
73      private String inputField9;
74      private String inputField10;
75      private String inputField11;
76      private String inputField12;
77      private String inputField13;
78      private String inputField14;
79      private String inputField15;
80      private String inputField16;
81      private String inputField17;
82      private String inputField18;
83      private String inputField19;
84      private String inputField20;
85      private String inputField21;
86      private String inputField22;
87      private String inputField23;
88      private String inputField24;
89      private String inputField25;
90      private String inputField26;
91      private String inputField27;
92      private String inputField28;
93      private String inputField29;
94      private String inputField30;
95  
96      private boolean booleanField1 = false;
97      private boolean booleanField2 = false;
98      private boolean booleanField3 = false;
99  
100     private List<String> checkboxesField1;
101     private List<String> checkboxesField2;
102     private List<String> checkboxesField3;
103     private List<String> checkboxesField4;
104     private List<String> checkboxesField5;
105 
106     private List<String> multiSelectField1;
107 
108     private String testPersonId;
109     private Person testPerson;
110 
111     private String testGroupId;
112 
113     private String testPrincipalId1 = "eric";
114     private String testPrincipalId2 = "erin";
115     private String testPrincipalId3= "test1";
116     private String testPrincipalId4= "edna";
117     private String testPrincipalName1 = "eric";
118     private String testPrincipalName2 = "erin";
119     private String testPrincipalName3 = "test1";
120     private String testPrincipalName4 = "edna";
121 
122     private String testGroupId1 = "2005";
123     private String testGroupId2 = "2001";
124     private String testGroupId3 = "2000";
125     private String testGroupId4 = "2005";
126     private String testGroupId5 = "2005";
127     private String testGroupNamespaceCode1 = "KUALI";
128     private String testGroupNamespaceCode2 = "KUALI";
129     private String testGroupNamespaceCode3 = "KR-WKFLW";
130     private String testGroupNamespaceCode4 = "KUALI";
131     private String testGroupNamespaceCode5 = "KUALI";
132     private String testGroupName1 = "Group1";
133     private String testGroupName2 = "TestGroup1";
134     private String testGroupName3 = "NotificationAdmin";
135     private String testGroupName4 = "Group1";
136     private String testGroupName5 = "Group1";
137 
138     private String testRoleId1 = "KRSAP10005";
139     private String testRoleId2 = "KR1000";
140     private String testRoleId3 = "67";
141     private String testRoleId4 = "KR1000";
142     private String testRoleId5 = "KR1000";
143     private String testRoleNamespaceCode1 = "KR-SAP";
144     private String testRoleNamespaceCode2 = "KUALI";
145     private String testRoleNamespaceCode3 = "KR-WKFLW";
146     private String testRoleNamespaceCode4 = "KUALI";
147     private String testRoleNamespaceCode5 = "KUALI";
148     private String testRoleName1 = "Travel Approver";
149     private String testRoleName2 = "GuestRole";
150     private String testRoleName3 = "Router";
151     private String testRoleName4 = "GuestRole";
152     private String testRoleName5 = "GuestRole";
153 
154     private UITestObject uiTestObject1;
155     private UITestObject uiTestObject2;
156 
157     //DataField
158     private String dataField1 = "1001";
159     private String dataField2;
160     private String dataField3 = "My Inline Book Title";
161     private String dataField4;
162     private String dataField5 = "Book Title";
163     private String dataField6 = "My Book Title";
164     private String dataField7 = "Option 3";
165     private String dataField8 = "My Second Book Title";
166     private String dataField9 = "Book Author";
167     private String dataField10 = "Book Category";
168     private String dataField11 = "My Third Book Title";
169     private String dataField12 = "A Book Title";
170 
171     //MessageField
172     private String messageField1;
173     private String richMessageField = "[color=green][b]Message[/b][/color]";
174 
175     // Collections
176     private List<UITestObject> collection1 = new ArrayList<UITestObject>();
177     private List<UITestObject> collection1_2 = new ArrayList<UITestObject>();
178     private List<UITestObject> collection1_3 = new ArrayList<UITestObject>();
179     private List<UITestObject> collection1_4 = new ArrayList<UITestObject>();
180     private List<UITestObject> collection1_5 = new ArrayList<UITestObject>();
181     private List<UITestObject> collection1_6 = new ArrayList<UITestObject>();
182     private List<UITestObject> collection1_7 = new ArrayList<UITestObject>();
183     private List<UITestObject> collection1_8 = new ArrayList<UITestObject>();
184     private List<UITestObject> collection1_9 = new ArrayList<UITestObject>();
185     private List<UITestObject> collection1_10 = new ArrayList<UITestObject>();
186     private List<UITestObject> collection2 = new ArrayList<UITestObject>();
187     private List<UITestObject> collection3 = new ArrayList<UITestObject>();
188     private List<UITestObject> collection4 = new ArrayList<UITestObject>();
189     private List<UITestObject> collection5 = new ArrayList<UITestObject>();
190     private List<UITestObject> collection6 = new ArrayList<UITestObject>();
191     private List<UITestObject> collection7 = new ArrayList<UITestObject>();
192 
193     private List<UIInactivatableTestObject> inactivatableCollection = new ArrayList<UIInactivatableTestObject>();
194 
195     private List<UITestObject> groupedCollection1 = new ArrayList<UITestObject>();
196     private List<UITestObject> groupedCollection2 = new ArrayList<UITestObject>();
197     private List<UITestObject> groupedCollection3 = new ArrayList<UITestObject>();
198     private List<UITestObject> doubleGroupedCollection = new ArrayList<UITestObject>();
199 
200     private List<UITestObject> emptyCollection = new ArrayList<UITestObject>();
201     private List<UITestObject> emptyCollection1 = new ArrayList<UITestObject>();
202     private List<UITestObject> emptyCollection2 = new ArrayList<UITestObject>();
203 
204     private List<UITestObject> names = new ArrayList<UITestObject>();
205 
206     private Tree<String, String> tree1 = new Tree<String, String>();
207     private Tree<UITestObject, String> tree2 = new Tree<UITestObject, String>();
208 
209     private List<UITestObject> subList = new ArrayList<UITestObject>();
210 
211     private String fakeTotal = "123(server value)";
212 
213     // ProgressBar
214     private String barStep = "4";
215     private int barPercent = 40;
216 
217     //preset fields
218     private List<String> optionListSelection = Arrays.asList("2", "4");
219 
220     private String codeSample = ""
221             + "        if ((testPerson == null) || !StringUtils.equals(testPerson.getPrincipalId(), getTestPersonId())) {\n"
222             + "            testPerson = KimApiServiceLocator.getPersonService().getPerson(getTestPersonId());\n"
223             + "\n"
224             + "            if (testPerson == null) {\n"
225             + "                try {\n"
226             + "                    testPerson = KimApiServiceLocator.getPersonService().getPersonImplementationClass().newInstance();\n"
227             + "                } catch (Exception e) {\n"
228             + "                    throw new RuntimeException(e);\n"
229             + "                }\n"
230             + "            }\n"
231             + "        }";
232 
233     private String documentNumber;
234 
235     private String travelAccountAttributeName;
236 
237     private List<TravelAccount> travelAccounts = new ArrayList<TravelAccount>();
238 
239     private List<FileMetaBlob> files = new ArrayList<FileMetaBlob>();
240     private List<FileMetaBlob> files1 = new ArrayList<FileMetaBlob>();
241     private List<FileMetaBlob> files2 = new ArrayList<FileMetaBlob>();
242     private List<FileMetaBlob> files3 = new ArrayList<FileMetaBlob>();
243 
244     public KradSampleAppForm() {
245         super();
246 
247         // added to test multiselect control
248         this.multiSelectField1 = new ArrayList();
249         this.multiSelectField1.add("2");
250         this.multiSelectField1.add("4");
251 
252         uiTestObject1 = new UITestObject("Foo", "FooBar", "FooBear", "FooRacket");
253         uiTestObject2 = new UITestObject("Foo2", "FooBar2", "FooBear2", "FooRacket2");
254         // add some sub objects
255         List<UITestObject> sl = new ArrayList<>();
256         for (int x = 0; x<3; ++x) {
257             sl.add(new UITestObject("sl1_f1_" + x, "sl1_f2_" + x, "sl1_f3_" + x, "sl1_f4_" + x));
258         }
259         uiTestObject1.setSubList(sl);
260         sl = new ArrayList<>();
261         for (int x = 0; x<3; ++x) {
262             sl.add(new UITestObject("sl2_f1_" + x, "sl2_f2_" + x, "sl2_f3_" + x, "sl2_f4_" + x));
263         }
264         uiTestObject2.setSubList(sl);
265 
266         messageField1 = "fruits";
267 
268         getCollection1().add(new UITestObject("13", "14", "15", "16", "17", "18"));
269         getCollection1().add(new UITestObject("19", "20", "21", "22", "23", "24"));
270         getCollection1().add(new UITestObject("7", "8", "9", "10", "11", "12"));
271         getCollection1().add(new UITestObject("1", "2", "3", "4", "5", "6"));
272         getCollection1().add(new UITestObject("13", "14", "15", "16", "17", "18"));
273         getCollection1().add(new UITestObject("19", "20", "21", "22", "23", "24"));
274         getCollection1().add(new UITestObject("213", "143", "151", "126", "137", "164"));
275         getCollection1().add(new UITestObject("133", "144", "155", "166", "177", "188"));
276         getCollection1().add(new UITestObject("25", "14", "15", "15", "17", "17"));
277         getCollection1().add(new UITestObject("1", "5", "5", "4", "6", "6"));
278         getCollection1().add(new UITestObject("5", "5", "5", "5", "5", "5"));
279         getCollection1().add(new UITestObject("5", "7", "3", "1", "9", "11"));
280         getCollection1().add(new UITestObject("13", "14", "15", "16", "17", "18"));
281         getCollection1().add(new UITestObject("19", "20", "21", "22", "23", "24"));
282         getCollection1().add(new UITestObject("7", "8", "9", "10", "11", "12"));
283         getCollection1().add(new UITestObject("1", "2", "3", "4", "5", "6"));
284         getCollection1().add(new UITestObject("13", "14", "15", "16", "17", "18"));
285         getCollection1().add(new UITestObject("19", "20", "21", "22", "23", "24"));
286         getCollection1().add(new UITestObject("213", "143", "151", "126", "137", "164"));
287         getCollection1().add(new UITestObject("133", "144", "155", "166", "177", "188"));
288         getCollection1().add(new UITestObject("25", "14", "15", "15", "17", "17"));
289         getCollection1().add(new UITestObject("1", "5", "5", "4", "6", "6"));
290         getCollection1().add(new UITestObject("5", "5", "5", "5", "5", "5"));
291         getCollection1().add(new UITestObject("5", "7", "3", "1", "9", "11"));
292         getCollection1().add(new UITestObject("13", "14", "15", "16", "17", "18"));
293         getCollection1().add(new UITestObject("19", "20", "21", "22", "23", "24"));
294         getCollection1().add(new UITestObject("7", "8", "9", "10", "11", "12"));
295         getCollection1().add(new UITestObject("1", "2", "3", "4", "5", "6"));
296         getCollection1().add(new UITestObject("13", "14", "15", "16", "17", "18"));
297         getCollection1().add(new UITestObject("19", "20", "21", "22", "23", "24"));
298         getCollection1().add(new UITestObject("213", "143", "151", "126", "137", "164"));
299         getCollection1().add(new UITestObject("133", "144", "155", "166", "177", "188"));
300         getCollection1().add(new UITestObject("25", "14", "15", "15", "17", "17"));
301         getCollection1().add(new UITestObject("1", "5", "5", "4", "6", "6"));
302         getCollection1().add(new UITestObject("5", "5", "5", "5", "5", "5"));
303         getCollection1().add(new UITestObject("5", "7", "3", "1", "9", "11"));
304 
305         // populate checkboxesField5 to test bindToForm
306         this.checkboxesField5 = new ArrayList<>();
307         for (UITestObject to : this.getCollection1()) {
308             this.checkboxesField5.add("check" + to.getField3());
309         }
310 
311         collection1_2.addAll(collection1);
312         collection1_3.addAll(collection1);
313         collection1_4.addAll(collection1);
314         collection1_5.addAll(collection1);
315         collection1_6.addAll(collection1);
316         collection1_7.addAll(collection1);
317         collection1_8.addAll(collection1);
318         collection1_9.addAll(collection1);
319         collection1_10.addAll(collection1);
320 
321         getCollection2().add(new UITestObject("A", "B", "C", "D"));
322         getCollection2().add(new UITestObject("1", "2", "3", "4"));
323         getCollection2().add(new UITestObject("W", "X", "Y", "Z"));
324         collection2.add(new UITestObject("a", "b", "c", "d"));
325         collection2.add(new UITestObject("a", "s", "d", "f"));
326 
327         collection3.add(new UITestObject("A", "B", "C", "D"));
328         collection3.get(0).getSubList().add(new UITestObject("A", "B", "C", "D"));
329         collection3.get(0).getSubList().add(new UITestObject("1", "2", "3", "4"));
330         collection3.get(0).getSubList().add(new UITestObject("W", "X", "Y", "Z"));
331         collection3.add(new UITestObject("1", "2", "3", "4"));
332         collection3.get(1).getSubList().add(new UITestObject("A", "B", "C", "D"));
333         collection3.get(1).getSubList().add(new UITestObject("1", "2", "3", "4"));
334         collection3.add(new UITestObject("W", "X", "Y", "Z"));
335         collection3.get(2).getSubList().add(new UITestObject("W", "X", "Y", "Z"));
336 
337         collection4.add(new UITestObject("A", "B", "C", "D"));
338         collection4.get(0).getSubList().add(new UITestObject("A", "B", "C", "D"));
339         collection4.get(0).getSubList().add(new UITestObject("1", "2", "3", "4"));
340         collection4.get(0).getSubList().add(new UITestObject("W", "X", "Y", "Z"));
341         collection4.add(new UITestObject("1", "2", "3", "4"));
342         collection4.get(1).getSubList().add(new UITestObject("a", "b", "C", "D"));
343         collection4.get(1).getSubList().add(new UITestObject("a", "s", "D", "F"));
344 
345         //triple nesting
346         collection5.add(new UITestObject("a", "a", "a", "a"));
347         collection5.get(0).getSubList().add(new UITestObject("A", "B", "C", "D"));
348         collection5.get(0).getSubList().get(0).getSubList().add(new UITestObject("a3", "3", "3", "3"));
349         collection5.get(0).getSubList().get(0).getSubList().add(new UITestObject("a3", "3", "3", "3"));
350         collection5.get(0).getSubList().add(new UITestObject("1", "2", "3", "4"));
351         collection5.get(0).getSubList().get(1).getSubList().add(new UITestObject("b3", "3", "3", "3"));
352         collection5.get(0).getSubList().get(1).getSubList().add(new UITestObject("b3", "3", "3", "3"));
353         collection5.get(0).getSubList().get(1).getSubList().add(new UITestObject("b3", "3", "3", "3"));
354         collection5.add(new UITestObject("b", "b", "b", "b"));
355         collection5.get(1).getSubList().add(new UITestObject("a", "b", "C", "D"));
356         collection5.get(1).getSubList().get(0).getSubList().add(new UITestObject("a23", "3", "3", "3"));
357         collection5.get(1).getSubList().get(0).getSubList().add(new UITestObject("a23", "3", "3", "3"));
358         collection5.get(1).getSubList().add(new UITestObject("a", "s", "D", "F"));
359         collection5.get(1).getSubList().get(1).getSubList().add(new UITestObject("b23", "3", "3", "3"));
360         collection5.get(1).getSubList().get(1).getSubList().add(new UITestObject("b23", "3", "3", "3"));
361 
362         collection6.add(new UITestObject("1", "2", "3", "4"));
363         collection6.add(new UITestObject("5", "6", "7", "8"));
364         collection6.add(new UITestObject("9", "10", "11", "12"));
365 
366         collection7.add(new UITestObject("A", "B", "C", "D"));
367         collection7.get(0).getSubList().add(new UITestObject("A", "B", "C", "D"));
368         collection7.get(0).getSubList().add(new UITestObject("1", "2", "3", "7"));
369         collection7.get(0).getSubList().add(new UITestObject("W", "X", "Y", "Z"));
370         collection7.add(new UITestObject("1", "2", "3", "7"));
371         collection7.get(1).getSubList().add(new UITestObject("a", "b", "C", "D"));
372         collection7.get(1).getSubList().add(new UITestObject("a", "s", "D", "F"));
373 
374         inactivatableCollection.add(new UIInactivatableTestObject("A", "100", "200", "300", true));
375         inactivatableCollection.add(new UIInactivatableTestObject("B", "100", "200", "300", true));
376         inactivatableCollection.add(new UIInactivatableTestObject("b3", "3", "3", "3", false));
377         inactivatableCollection.add(new UIInactivatableTestObject("a", "b", "C", "D", true));
378         inactivatableCollection.add(new UIInactivatableTestObject("W", "X", "Y", "Z", false));
379         inactivatableCollection.add(new UIInactivatableTestObject("a", "s", "d", "f", true));
380         inactivatableCollection.add(new UIInactivatableTestObject("Fall", "2002", "AAA123", "3", false));
381 
382         // groupedCollection1
383         groupedCollection1.add(new UITestObject("A", "100", "200", "300"));
384         groupedCollection1.add(new UITestObject("A", "101", "200", "300"));
385         groupedCollection1.add(new UITestObject("A", "102", "200", "300"));
386         groupedCollection1.add(new UITestObject("A", "103", "200", "300"));
387         groupedCollection1.add(new UITestObject("A", "104", "200", "300"));
388         groupedCollection1.add(new UITestObject("B", "100", "200", "300"));
389         groupedCollection1.add(new UITestObject("B", "101", "200", "300"));
390         groupedCollection1.add(new UITestObject("B", "102", "200", "300"));
391         groupedCollection1.add(new UITestObject("C", "100", "200", "300"));
392         groupedCollection1.add(new UITestObject("C", "101", "200", "300"));
393         groupedCollection1.add(new UITestObject("C", "102", "200", "300"));
394         groupedCollection1.add(new UITestObject("C", "103", "200", "300"));
395 
396         // groupedCollection2
397         groupedCollection2.addAll(groupedCollection1);
398         groupedCollection2.add(new UITestObject("D", "100", "200", "300"));
399         groupedCollection2.add(new UITestObject("D", "101", "200", "300"));
400         groupedCollection2.add(new UITestObject("D", "102", "200", "300"));
401         groupedCollection2.add(new UITestObject("D", "103", "200", "300"));
402         groupedCollection2.add(new UITestObject("D", "100", "200", "300"));
403         groupedCollection2.add(new UITestObject("D", "101", "200", "300"));
404         groupedCollection2.add(new UITestObject("D", "102", "200", "300"));
405         groupedCollection2.add(new UITestObject("D", "103", "200", "300"));
406         groupedCollection2.add(new UITestObject("D", "100", "200", "300"));
407         groupedCollection2.add(new UITestObject("D", "101", "200", "300"));
408         groupedCollection2.add(new UITestObject("D", "102", "200", "300"));
409         groupedCollection2.add(new UITestObject("D", "103", "200", "300"));
410         groupedCollection2.add(new UITestObject("D", "100", "200", "300"));
411         groupedCollection2.add(new UITestObject("D", "101", "200", "300"));
412         groupedCollection2.add(new UITestObject("D", "102", "200", "300"));
413         groupedCollection2.add(new UITestObject("D", "103", "200", "300"));
414         groupedCollection2.add(new UITestObject("D", "100", "200", "300"));
415         groupedCollection2.add(new UITestObject("D", "101", "200", "300"));
416         groupedCollection2.add(new UITestObject("D", "102", "200", "300"));
417         groupedCollection2.add(new UITestObject("D", "103", "200", "300"));
418         groupedCollection2.add(new UITestObject("D", "100", "200", "300"));
419         groupedCollection2.add(new UITestObject("D", "101", "200", "300"));
420         groupedCollection2.add(new UITestObject("D", "102", "200", "300"));
421         groupedCollection2.add(new UITestObject("D", "103", "200", "300"));
422 
423         // groupedCollection3
424         groupedCollection3.addAll(groupedCollection2);
425 
426         // doubleGroupedCollection
427         doubleGroupedCollection.add(new UITestObject("Fall", "2001", "AAA123", "2"));
428         doubleGroupedCollection.add(new UITestObject("Fall", "2001", "BBB123", "3"));
429         doubleGroupedCollection.add(new UITestObject("Fall", "2001", "CCC123", "4"));
430         doubleGroupedCollection.add(new UITestObject("Fall", "2001", "DDD123", "3"));
431         doubleGroupedCollection.add(new UITestObject("Fall", "2002", "AAA123", "3"));
432         doubleGroupedCollection.add(new UITestObject("Fall", "2002", "BBB123", "2"));
433         doubleGroupedCollection.add(new UITestObject("Fall", "2002", "CCC123", "3"));
434         doubleGroupedCollection.add(new UITestObject("Fall", "2003", "AAA123", "3"));
435         doubleGroupedCollection.add(new UITestObject("Fall", "2003", "CCC123", "3"));
436         doubleGroupedCollection.add(new UITestObject("Spring", "2001", "AAA123", "3"));
437         doubleGroupedCollection.add(new UITestObject("Spring", "2001", "BBB123", "3"));
438         doubleGroupedCollection.add(new UITestObject("Spring", "2001", "CCC123", "3"));
439         doubleGroupedCollection.add(new UITestObject("Spring", "2002", "AAA123", "4"));
440         doubleGroupedCollection.add(new UITestObject("Spring", "2002", "BBB123", "4"));
441         doubleGroupedCollection.add(new UITestObject("Spring", "2002", "CCC123", "2"));
442         doubleGroupedCollection.add(new UITestObject("Spring", "2003", "AAA123", "4"));
443         doubleGroupedCollection.add(new UITestObject("Spring", "2003", "BBB123", "3"));
444         doubleGroupedCollection.add(new UITestObject("Spring", "2003", "CCC123", "3"));
445         doubleGroupedCollection.add(new UITestObject("Spring", "2003", "DDD123", "2"));
446 
447         names.add(new UITestObject("1", "Jack", "Buck", ""));
448         names.add(new UITestObject("2", "Joe", "", ""));
449         names.add(new UITestObject("3", "John", "Wayne", ""));
450         names.add(new UITestObject("4", "Jim", "", ""));
451 
452         // build tree1 variable
453         { // scope for name hiding purposes
454             Node<String, String> item1 = new Node<String, String>("Item 1", "Item 1");
455             item1.addChild(new Node<String, String>("SubItem A", "SubItem A"));
456             item1.addChild(new Node<String, String>("SubItem B", "SubItem B"));
457 
458             Node<String, String> item2 = new Node<String, String>("Item 2", "Item 2");
459             item2.addChild(new Node<String, String>("SubItem A", "SubItem A"));
460             Node<String, String> sub2B = new Node<String, String>("SubItem B", "SubItem B");
461             sub2B.addChild(new Node<String, String>("Item B-1", "Item B-1"));
462             sub2B.addChild(new Node<String, String>("Item B-2", "Item B-2"));
463             sub2B.addChild(new Node<String, String>("Item B-3", "Item B-3"));
464             item2.addChild(sub2B);
465             item2.addChild(new Node<String, String>("SubItem C", "SubItem C"));
466 
467             Node<String, String> item3 = new Node<String, String>("Item 3", "Item 3");
468             item3.addChild(new Node<String, String>("SubItem A", "SubItem A"));
469             item3.addChild(new Node<String, String>("SubItem B", "SubItem B"));
470             item3.addChild(new Node<String, String>("SubItem C", "SubItem C"));
471             item3.addChild(new Node<String, String>("SubItem D", "SubItem D"));
472 
473             Node<String, String> root = new Node<String, String>("Root", "Root");
474             root.addChild(item1);
475             root.addChild(item2);
476             root.addChild(item3);
477 
478             tree1.setRootElement(root);
479         }
480 
481         // build tree2 variable
482         { // scope for name hiding purposes
483             Node<UITestObject, String> item1 = new Node<UITestObject, String>(new UITestObject("1-A", "1-B", "1-C", "1-D"), "Item 1");
484             item1.addChild(new Node<UITestObject, String>(new UITestObject("1SA-A", "1SA-B", "1SA-C", "1SA-D"), "SubItem A"));
485             item1.addChild(new Node<UITestObject, String>(new UITestObject("1SB-A", "1SB-B", "1SB-C", "1SB-D"), "SubItem B"));
486 
487             Node<UITestObject, String> item2 = new Node<UITestObject, String>(new UITestObject("2-A", "2-B", "2-C", "2-D"), "Item 2");
488             item2.addChild(new Node<UITestObject, String>(new UITestObject("SA-a", "SA-b", "SA-c", "SA-d"), "SubItem A"));
489             Node<UITestObject, String> sub2B = new Node<UITestObject, String>(new UITestObject("SB-a", "SB-b", "SB-c", "SB-d"), "SubItem B");
490             sub2B.addChild(new Node<UITestObject, String>(new UITestObject("AA", "BB", "CC", "DD"), "Item B-1"));
491             sub2B.addChild(new Node<UITestObject, String>(new UITestObject("Aa", "Bb", "Cc", "Dd"), "Item B-2"));
492             sub2B.addChild(new Node<UITestObject, String>(new UITestObject("aA", "bB", "cC", "dD"), "Item B-3"));
493             item2.addChild(sub2B);
494             item2.addChild(new Node<UITestObject, String>(new UITestObject("SC-a", "SC-b", "SC-c", "SC-d"), "SubItem C"));
495 
496             Node<UITestObject, String> item3 = new Node<UITestObject, String>(new UITestObject("3-A", "3-B", "3-C", "3-D"), "Item 3");
497             item3.addChild(new Node<UITestObject, String>(new UITestObject("A", "B", "C", "D"), "SubItem A"));
498             item3.addChild(new Node<UITestObject, String>(new UITestObject("1", "2", "3", "4"), "SubItem B"));
499             item3.addChild(new Node<UITestObject, String>(new UITestObject("w", "x", "y", "z"), "SubItem C"));
500             item3.addChild(new Node<UITestObject, String>(new UITestObject("!", "@", "#", "$"), "SubItem D"));
501 
502             Node<UITestObject, String> root = new Node<UITestObject, String>(new UITestObject("foo", "bar", "baz", "roo"), "Root");
503             root.addChild(item1);
504             root.addChild(item2);
505             root.addChild(item3);
506 
507             tree2.setRootElement(root);
508         }
509         
510         List<DocumentSearchResult> results = Collections.emptyList();
511         try {
512 			DocumentSearchCriteria.Builder builder = DocumentSearchCriteria.Builder.create();
513 			builder.setDocumentTypeName("TravelAuthorization");
514             DocumentSearchService documentSearchService = org.kuali.rice.kew.service.KEWServiceLocator.getDocumentSearchService();
515             if (documentSearchService != null) {
516                 results = documentSearchService.lookupDocuments(null, builder.build()).getSearchResults();
517             }
518         } catch (NoClassDefFoundError e) {
519         	results = Collections.emptyList();
520         }
521 
522         if (results.isEmpty()) {
523         	if (KRADServiceLocatorWeb.getDocumentService() != null) {
524 	            try {
525 	                Document newDocument = KRADServiceLocatorWeb.getDocumentService().getNewDocument(TravelAuthorizationDocument.class);
526 	                newDocument.getDocumentHeader().setDocumentDescription("Test");
527 	
528 	                TravelAuthorizationDocument newTravelAuthorizationDocument = (TravelAuthorizationDocument) newDocument;
529 	                newTravelAuthorizationDocument.setCellPhoneNumber("555-555-5555");
530 	
531 	                QueryByCriteria query = QueryByCriteria.Builder.create().build();
532 	                List<TravelDestination> travelDestinations = KRADServiceLocator.getDataObjectService().findMatching(TravelDestination.class, query).getResults();
533 	                if (!travelDestinations.isEmpty()) {
534 	                    newTravelAuthorizationDocument.setTripDestinationId(travelDestinations.get(0).getTravelDestinationId());
535 	                }
536 
537 	                Document document = KRADServiceLocatorWeb.getDocumentService().saveDocument(newTravelAuthorizationDocument);
538 	                setDocumentNumber(document.getDocumentNumber());
539 	            } catch (WorkflowException we) {
540 	                // ignore
541 	            }
542         	}
543         } else {
544             DocumentSearchResult result = results.get(0);
545             setDocumentNumber(result.getDocument().getDocumentId());
546         }
547     }
548 
549     /**
550      * Theme by name (id) currently used for the component library view
551      *
552      * @return
553      */
554     public String getThemeName() {
555         return themeName;
556     }
557 
558     /**
559      * @param themeName
560      */
561     public void setThemeName(String themeName) {
562         this.themeName = themeName;
563     }
564 
565     /**
566      * Backing property for the large example dropdown since on is required.  Stores dropdown selection
567      *
568      * @return
569      */
570     public String getExampleShown() {
571         return exampleShown;
572     }
573 
574     /**
575      * Large example selection
576      *
577      * @param exampleShown
578      */
579     public void setExampleShown(String exampleShown) {
580         this.exampleShown = exampleShown;
581     }
582 
583     /**
584      * Index of the current example, used to reselect between submit actions
585      *
586      * @return
587      */
588     public String getCurrentExampleIndex() {
589         return currentExampleIndex;
590     }
591 
592     /**
593      * Index of the current example
594      *
595      * @param currentExampleIndex
596      */
597     public void setCurrentExampleIndex(String currentExampleIndex) {
598         this.currentExampleIndex = currentExampleIndex;
599     }
600 
601     /**
602      * Below are basic getters and setters for this data object - no javadoc needed *
603      */
604 
605     public String getDataField1() {
606         return dataField1;
607     }
608 
609     public void setDataField1(String dataField1) {
610         this.dataField1 = dataField1;
611     }
612 
613     public String getDataField2() {
614         return dataField2;
615     }
616 
617     public void setDataField2(String dataField2) {
618         this.dataField2 = dataField2;
619     }
620 
621     public String getDataField3() {
622         return dataField3;
623     }
624 
625     public void setDataField3(String dataField3) {
626         this.dataField3 = dataField3;
627     }
628 
629     public String getDataField4() {
630         return dataField4;
631     }
632 
633     public void setDataField4(String dataField4) {
634         this.dataField4 = dataField4;
635     }
636 
637     public String getDataField5() {
638         return dataField5;
639     }
640 
641     public void setDataField5(String dataField5) {
642         this.dataField5 = dataField5;
643     }
644 
645     public String getDataField6() {
646         return dataField6;
647     }
648 
649     public void setDataField6(String dataField6) {
650         this.dataField6 = dataField6;
651     }
652 
653     public String getDataField7() {
654         return dataField7;
655     }
656 
657     public void setDataField7(String dataField7) {
658         this.dataField7 = dataField7;
659     }
660 
661     public String getDataField8() {
662         return dataField8;
663     }
664 
665     public void setDataField8(String dataField8) {
666         this.dataField8 = dataField8;
667     }
668 
669     public String getDataField9() {
670         return dataField9;
671     }
672 
673     public void setDataField9(String dataField9) {
674         this.dataField9 = dataField9;
675     }
676 
677     public String getDataField10() {
678         return dataField10;
679     }
680 
681     public void setDataField10(String dataField10) {
682         this.dataField10 = dataField10;
683     }
684 
685     public String getDataField11() {
686         return dataField11;
687     }
688 
689     public void setDataField11(String dataField11) {
690         this.dataField11 = dataField11;
691     }
692 
693     public String getDataField12() {
694         return dataField12;
695     }
696 
697     public void setDataField12(String dataField12) {
698         this.dataField12 = dataField12;
699     }
700 
701     public String getInputField1() {
702         return inputField1;
703     }
704 
705     public void setInputField1(String inputField1) {
706         this.inputField1 = inputField1;
707     }
708 
709     public String getInputField2() {
710         return inputField2;
711     }
712 
713     public void setInputField2(String inputField2) {
714         this.inputField2 = inputField2;
715     }
716 
717     public String getInputField3() {
718         return inputField3;
719     }
720 
721     public void setInputField3(String inputField3) {
722         this.inputField3 = inputField3;
723     }
724 
725     public String getInputField4() {
726         return inputField4;
727     }
728 
729     public void setInputField4(String inputField4) {
730         this.inputField4 = inputField4;
731     }
732 
733     public String getInputField5() {
734         return inputField5;
735     }
736 
737     public void setInputField5(String inputField5) {
738         this.inputField5 = inputField5;
739     }
740 
741     public String getInputField6() {
742         return inputField6;
743     }
744 
745     public void setInputField6(String inputField6) {
746         this.inputField6 = inputField6;
747     }
748 
749     public String getInputField7() {
750         return inputField7;
751     }
752 
753     public void setInputField7(String inputField7) {
754         this.inputField7 = inputField7;
755     }
756 
757     public String getInputField8() {
758         return inputField8;
759     }
760 
761     public void setInputField8(String inputField8) {
762         this.inputField8 = inputField8;
763     }
764 
765     public String getInputField9() {
766         return inputField9;
767     }
768 
769     public void setInputField9(String inputField9) {
770         this.inputField9 = inputField9;
771     }
772 
773     public String getInputField10() {
774         return inputField10;
775     }
776 
777     public void setInputField10(String inputField10) {
778         this.inputField10 = inputField10;
779     }
780 
781     public String getInputField11() {
782         return inputField11;
783     }
784 
785     public void setInputField11(String inputField11) {
786         this.inputField11 = inputField11;
787     }
788 
789     public String getInputField12() {
790         return inputField12;
791     }
792 
793     public void setInputField12(String inputField12) {
794         this.inputField12 = inputField12;
795     }
796 
797     public String getInputField13() {
798         return inputField13;
799     }
800 
801     public void setInputField13(String inputField13) {
802         this.inputField13 = inputField13;
803     }
804 
805     public String getInputField14() {
806         return inputField14;
807     }
808 
809     public void setInputField14(String inputField14) {
810         this.inputField14 = inputField14;
811     }
812 
813     public String getInputField15() {
814         return inputField15;
815     }
816 
817     public void setInputField15(String inputField15) {
818         this.inputField15 = inputField15;
819     }
820 
821     public String getInputField16() {
822         return inputField16;
823     }
824 
825     public void setInputField16(String inputField16) {
826         this.inputField16 = inputField16;
827     }
828 
829     public String getInputField17() {
830         return inputField17;
831     }
832 
833     public void setInputField17(String inputField17) {
834         this.inputField17 = inputField17;
835     }
836 
837     public String getInputField18() {
838         return inputField18;
839     }
840 
841     public void setInputField18(String inputField18) {
842         this.inputField18 = inputField18;
843     }
844 
845     public String getInputField19() {
846         return inputField19;
847     }
848 
849     public void setInputField19(String inputField19) {
850         this.inputField19 = inputField19;
851     }
852 
853     public String getInputField20() {
854         return inputField20;
855     }
856 
857     public void setInputField20(String inputField20) {
858         this.inputField20 = inputField20;
859     }
860 
861     public String getInputField21() {
862         return inputField21;
863     }
864 
865     public void setInputField21(String inputField21) {
866         this.inputField21 = inputField21;
867     }
868 
869     public String getInputField22() {
870         return inputField22;
871     }
872 
873     public void setInputField22(String inputField22) {
874         this.inputField22 = inputField22;
875     }
876 
877     public String getInputField23() {
878         return inputField23;
879     }
880 
881     public void setInputField23(String inputField23) {
882         this.inputField23 = inputField23;
883     }
884 
885     public String getInputField24() {
886         return inputField24;
887     }
888 
889     public void setInputField24(String inputField24) {
890         this.inputField24 = inputField24;
891     }
892 
893     public String getInputField25() {
894         return inputField25;
895     }
896 
897     public void setInputField25(String inputField25) {
898         this.inputField25 = inputField25;
899     }
900 
901     public String getInputField26() {
902         return inputField26;
903     }
904 
905     public void setInputField26(String inputField26) {
906         this.inputField26 = inputField26;
907     }
908 
909     public String getInputField27() {
910         return inputField27;
911     }
912 
913     public void setInputField27(String inputField27) {
914         this.inputField27 = inputField27;
915     }
916 
917     public String getInputField28() {
918         return inputField28;
919     }
920 
921     public void setInputField28(String inputField28) {
922         this.inputField28 = inputField28;
923     }
924 
925     public String getInputField29() {
926         return inputField29;
927     }
928 
929     public void setInputField29(String inputField29) {
930         this.inputField29 = inputField29;
931     }
932 
933     public String getInputField30() {
934         return inputField30;
935     }
936 
937     public void setInputField30(String inputField30) {
938         this.inputField30 = inputField30;
939     }
940 
941     public String getMessageField1() {
942         return messageField1;
943     }
944 
945     public void setMessageField1(String messageField1) {
946         this.messageField1 = messageField1;
947     }
948 
949     public String getTestPersonId() {
950         return testPersonId;
951     }
952 
953     public void setTestPersonId(String testPersonId) {
954         this.testPersonId = testPersonId;
955     }
956 
957     public Person getTestPerson() {
958         if ((testPerson == null) || !StringUtils.equals(testPerson.getPrincipalId(), getTestPersonId())) {
959             testPerson = KimApiServiceLocator.getPersonService().getPerson(getTestPersonId());
960 
961             if (testPerson == null) {
962                 try {
963                     testPerson = KimApiServiceLocator.getPersonService().getPersonImplementationClass().newInstance();
964                 } catch (Exception e) {
965                     throw new RuntimeException(e);
966                 }
967             }
968         }
969 
970         return testPerson;
971     }
972 
973     public void setTestPerson(Person testPerson) {
974         this.testPerson = testPerson;
975     }
976 
977     public String getTestGroupId() {
978         return testGroupId;
979     }
980 
981     public void setTestGroupId(String testGroupId) {
982         this.testGroupId = testGroupId;
983     }
984 
985     public String getTestPrincipalId1() {
986         return testPrincipalId1;
987     }
988 
989     public void setTestPrincipalId1(String testPrincipalId1) {
990         this.testPrincipalId1 = testPrincipalId1;
991     }
992 
993     public String getTestPrincipalId2() {
994         return testPrincipalId2;
995     }
996 
997     public void setTestPrincipalId2(String testPrincipalId2) {
998         this.testPrincipalId2 = testPrincipalId2;
999     }
1000 
1001     public String getTestPrincipalId3() {
1002         return testPrincipalId3;
1003     }
1004 
1005     public void setTestPrincipalId3(String testPrincipalId3) {
1006         this.testPrincipalId3 = testPrincipalId3;
1007     }
1008 
1009     public String getTestPrincipalId4() {
1010         return testPrincipalId4;
1011     }
1012 
1013     public void setTestPrincipalId4(String testPrincipalId4) {
1014         this.testPrincipalId4 = testPrincipalId4;
1015     }
1016 
1017     public String getTestPrincipalName1() {
1018         return testPrincipalName1;
1019     }
1020 
1021     public void setTestPrincipalName1(String testPrincipalName1) {
1022         this.testPrincipalName1 = testPrincipalName1;
1023     }
1024 
1025     public String getTestPrincipalName2() {
1026         return testPrincipalName2;
1027     }
1028 
1029     public void setTestPrincipalName2(String testPrincipalName2) {
1030         this.testPrincipalName2 = testPrincipalName2;
1031     }
1032 
1033     public String getTestPrincipalName3() {
1034         return testPrincipalName3;
1035     }
1036 
1037     public void setTestPrincipalName3(String testPrincipalName3) {
1038         this.testPrincipalName3 = testPrincipalName3;
1039     }
1040 
1041     public String getTestPrincipalName4() {
1042         return testPrincipalName4;
1043     }
1044 
1045     public void setTestPrincipalName4(String testPrincipalName4) {
1046         this.testPrincipalName4 = testPrincipalName4;
1047     }
1048 
1049     public String getTestGroupId1() {
1050         return testGroupId1;
1051     }
1052 
1053     public void setTestGroupId1(String testGroupId1) {
1054         this.testGroupId1 = testGroupId1;
1055     }
1056 
1057     public String getTestGroupId2() {
1058         return testGroupId2;
1059     }
1060 
1061     public void setTestGroupId2(String testGroupId2) {
1062         this.testGroupId2 = testGroupId2;
1063     }
1064 
1065     public String getTestGroupId3() {
1066         return testGroupId3;
1067     }
1068 
1069     public void setTestGroupId3(String testGroupId3) {
1070         this.testGroupId3 = testGroupId3;
1071     }
1072 
1073     public String getTestGroupId4() {
1074         return testGroupId4;
1075     }
1076 
1077     public void setTestGroupId4(String testGroupId4) {
1078         this.testGroupId4 = testGroupId4;
1079     }
1080 
1081     public String getTestGroupId5() {
1082         return testGroupId5;
1083     }
1084 
1085     public void setTestGroupId5(String testGroupId5) {
1086         this.testGroupId5 = testGroupId5;
1087     }
1088 
1089     public String getTestGroupNamespaceCode1() {
1090         return testGroupNamespaceCode1;
1091     }
1092 
1093     public void setTestGroupNamespaceCode1(String testGroupNamespaceCode1) {
1094         this.testGroupNamespaceCode1 = testGroupNamespaceCode1;
1095     }
1096 
1097     public String getTestGroupNamespaceCode2() {
1098         return testGroupNamespaceCode2;
1099     }
1100 
1101     public void setTestGroupNamespaceCode2(String testGroupNamespaceCode2) {
1102         this.testGroupNamespaceCode2 = testGroupNamespaceCode2;
1103     }
1104 
1105     public String getTestGroupNamespaceCode3() {
1106         return testGroupNamespaceCode3;
1107     }
1108 
1109     public void setTestGroupNamespaceCode3(String testGroupNamespaceCode3) {
1110         this.testGroupNamespaceCode3 = testGroupNamespaceCode3;
1111     }
1112 
1113     public String getTestGroupNamespaceCode4() {
1114         return testGroupNamespaceCode4;
1115     }
1116 
1117     public void setTestGroupNamespaceCode4(String testGroupNamespaceCode4) {
1118         this.testGroupNamespaceCode4 = testGroupNamespaceCode4;
1119     }
1120 
1121     public String getTestGroupNamespaceCode5() {
1122         return testGroupNamespaceCode5;
1123     }
1124 
1125     public void setTestGroupNamespaceCode5(String testGroupNamespaceCode5) {
1126         this.testGroupNamespaceCode5 = testGroupNamespaceCode5;
1127     }
1128 
1129     public String getTestGroupName1() {
1130         return testGroupName1;
1131     }
1132 
1133     public void setTestGroupName1(String testGroupName1) {
1134         this.testGroupName1 = testGroupName1;
1135     }
1136 
1137     public String getTestGroupName2() {
1138         return testGroupName2;
1139     }
1140 
1141     public void setTestGroupName2(String testGroupName2) {
1142         this.testGroupName2 = testGroupName2;
1143     }
1144 
1145     public String getTestGroupName3() {
1146         return testGroupName3;
1147     }
1148 
1149     public void setTestGroupName3(String testGroupName3) {
1150         this.testGroupName3 = testGroupName3;
1151     }
1152 
1153     public String getTestGroupName4() {
1154         return testGroupName4;
1155     }
1156 
1157     public void setTestGroupName4(String testGroupName4) {
1158         this.testGroupName4 = testGroupName4;
1159     }
1160 
1161     public String getTestGroupName5() {
1162         return testGroupName5;
1163     }
1164 
1165     public void setTestGroupName5(String testGroupName5) {
1166         this.testGroupName5 = testGroupName5;
1167     }
1168 
1169     public String getTestRoleId1() {
1170         return testRoleId1;
1171     }
1172 
1173     public void setTestRoleId1(String testRoleId1) {
1174         this.testRoleId1 = testRoleId1;
1175     }
1176 
1177     public String getTestRoleId2() {
1178         return testRoleId2;
1179     }
1180 
1181     public void setTestRoleId2(String testRoleId2) {
1182         this.testRoleId2 = testRoleId2;
1183     }
1184 
1185     public String getTestRoleId3() {
1186         return testRoleId3;
1187     }
1188 
1189     public void setTestRoleId3(String testRoleId3) {
1190         this.testRoleId3 = testRoleId3;
1191     }
1192 
1193     public String getTestRoleId4() {
1194         return testRoleId4;
1195     }
1196 
1197     public void setTestRoleId4(String testRoleId4) {
1198         this.testRoleId4 = testRoleId4;
1199     }
1200 
1201     public String getTestRoleId5() {
1202         return testRoleId5;
1203     }
1204 
1205     public void setTestRoleId5(String testRoleId5) {
1206         this.testRoleId5 = testRoleId5;
1207     }
1208 
1209     public String getTestRoleNamespaceCode1() {
1210         return testRoleNamespaceCode1;
1211     }
1212 
1213     public void setTestRoleNamespaceCode1(String testRoleNamespaceCode1) {
1214         this.testRoleNamespaceCode1 = testRoleNamespaceCode1;
1215     }
1216 
1217     public String getTestRoleNamespaceCode2() {
1218         return testRoleNamespaceCode2;
1219     }
1220 
1221     public void setTestRoleNamespaceCode2(String testRoleNamespaceCode2) {
1222         this.testRoleNamespaceCode2 = testRoleNamespaceCode2;
1223     }
1224 
1225     public String getTestRoleNamespaceCode3() {
1226         return testRoleNamespaceCode3;
1227     }
1228 
1229     public void setTestRoleNamespaceCode3(String testRoleNamespaceCode3) {
1230         this.testRoleNamespaceCode3 = testRoleNamespaceCode3;
1231     }
1232 
1233     public String getTestRoleNamespaceCode4() {
1234         return testRoleNamespaceCode4;
1235     }
1236 
1237     public void setTestRoleNamespaceCode4(String testRoleNamespaceCode4) {
1238         this.testRoleNamespaceCode4 = testRoleNamespaceCode4;
1239     }
1240 
1241     public String getTestRoleNamespaceCode5() {
1242         return testRoleNamespaceCode5;
1243     }
1244 
1245     public void setTestRoleNamespaceCode5(String testRoleNamespaceCode5) {
1246         this.testRoleNamespaceCode5 = testRoleNamespaceCode5;
1247     }
1248 
1249     public String getTestRoleName1() {
1250         return testRoleName1;
1251     }
1252 
1253     public void setTestRoleName1(String testRoleName1) {
1254         this.testRoleName1 = testRoleName1;
1255     }
1256 
1257     public String getTestRoleName2() {
1258         return testRoleName2;
1259     }
1260 
1261     public void setTestRoleName2(String testRoleName2) {
1262         this.testRoleName2 = testRoleName2;
1263     }
1264 
1265     public String getTestRoleName3() {
1266         return testRoleName3;
1267     }
1268 
1269     public void setTestRoleName3(String testRoleName3) {
1270         this.testRoleName3 = testRoleName3;
1271     }
1272 
1273     public String getTestRoleName4() {
1274         return testRoleName4;
1275     }
1276 
1277     public void setTestRoleName4(String testRoleName4) {
1278         this.testRoleName4 = testRoleName4;
1279     }
1280 
1281     public String getTestRoleName5() {
1282         return testRoleName5;
1283     }
1284 
1285     public void setTestRoleName5(String testRoleName5) {
1286         this.testRoleName5 = testRoleName5;
1287     }
1288 
1289     public List<UITestObject> getCollection1() {
1290         return collection1;
1291     }
1292 
1293     public void setCollection1(List<UITestObject> collection1) {
1294         this.collection1 = collection1;
1295     }
1296 
1297     public List<UITestObject> getCollection1_2() {
1298         return collection1_2;
1299     }
1300 
1301     public void setCollection1_2(List<UITestObject> collection1_2) {
1302         this.collection1_2 = collection1_2;
1303     }
1304 
1305     public List<UITestObject> getCollection1_3() {
1306         return collection1_3;
1307     }
1308 
1309     public void setCollection1_3(List<UITestObject> collection1_3) {
1310         this.collection1_3 = collection1_3;
1311     }
1312 
1313     public List<UITestObject> getCollection1_4() {
1314         return collection1_4;
1315     }
1316 
1317     public void setCollection1_4(List<UITestObject> collection1_4) {
1318         this.collection1_4 = collection1_4;
1319     }
1320 
1321     public List<UITestObject> getCollection1_5() {
1322         return collection1_5;
1323     }
1324 
1325     public void setCollection1_5(List<UITestObject> collection1_5) {
1326         this.collection1_5 = collection1_5;
1327     }
1328 
1329     public List<UITestObject> getCollection1_6() {
1330         return collection1_6;
1331     }
1332 
1333     public void setCollection1_6(List<UITestObject> collection1_6) {
1334         this.collection1_6 = collection1_6;
1335     }
1336 
1337     public List<UITestObject> getCollection1_7() {
1338         return collection1_7;
1339     }
1340 
1341     public void setCollection1_7(List<UITestObject> collection1_7) {
1342         this.collection1_7 = collection1_7;
1343     }
1344 
1345     public List<UITestObject> getCollection1_8() {
1346         return collection1_8;
1347     }
1348 
1349     public void setCollection1_8(List<UITestObject> collection1_8) {
1350         this.collection1_8 = collection1_8;
1351     }
1352 
1353     public List<UITestObject> getCollection1_9() {
1354         return collection1_9;
1355     }
1356 
1357     public void setCollection1_9(List<UITestObject> collection1_9) {
1358         this.collection1_9 = collection1_9;
1359     }
1360 
1361     public List<UITestObject> getCollection1_10() {
1362         return collection1_10;
1363     }
1364 
1365     public void setCollection1_10(List<UITestObject> collection1_10) {
1366         this.collection1_10 = collection1_10;
1367     }
1368 
1369     public List<UITestObject> getCollection2() {
1370         return collection2;
1371     }
1372 
1373     public void setCollection2(List<UITestObject> collection2) {
1374         this.collection2 = collection2;
1375     }
1376 
1377     public List<UITestObject> getCollection3() {
1378         return collection3;
1379     }
1380 
1381     public void setCollection3(List<UITestObject> collection3) {
1382         this.collection3 = collection3;
1383     }
1384 
1385     public List<UITestObject> getCollection4() {
1386         return collection4;
1387     }
1388 
1389     public void setCollection4(List<UITestObject> collection4) {
1390         this.collection4 = collection4;
1391     }
1392 
1393     public List<UITestObject> getCollection5() {
1394         return collection5;
1395     }
1396 
1397     public void setCollection5(List<UITestObject> collection5) {
1398         this.collection5 = collection5;
1399     }
1400 
1401     public List<UITestObject> getCollection6() {
1402         return collection6;
1403     }
1404 
1405     public void setCollection6(List<UITestObject> collection6) {
1406         this.collection6 = collection6;
1407     }
1408 
1409     public List<UITestObject> getCollection7() {
1410         return collection7;
1411     }
1412 
1413     public void setCollection7(List<UITestObject> collection7) {
1414         this.collection7 = collection7;
1415     }
1416 
1417     public List<UIInactivatableTestObject> getInactivatableCollection() {
1418         return inactivatableCollection;
1419     }
1420 
1421     public void setInactivatableCollection(List<UIInactivatableTestObject> inactivatableCollection) {
1422         this.inactivatableCollection = inactivatableCollection;
1423     }
1424 
1425     public List<UITestObject> getGroupedCollection1() {
1426         return groupedCollection1;
1427     }
1428 
1429     public void setGroupedCollection1(List<UITestObject> groupedCollection1) {
1430         this.groupedCollection1 = groupedCollection1;
1431     }
1432 
1433     public List<UITestObject> getGroupedCollection2() {
1434         return groupedCollection2;
1435     }
1436 
1437     public void setGroupedCollection2(List<UITestObject> groupedCollection2) {
1438         this.groupedCollection2 = groupedCollection2;
1439     }
1440 
1441     public List<UITestObject> getGroupedCollection3() {
1442         return groupedCollection3;
1443     }
1444 
1445     public void setGroupedCollection3(List<UITestObject> groupedCollection3) {
1446         this.groupedCollection3 = groupedCollection3;
1447     }
1448 
1449     public List<UITestObject> getDoubleGroupedCollection() {
1450         return doubleGroupedCollection;
1451     }
1452 
1453     public void setDoubleGroupedCollection(List<UITestObject> doubleGroupedCollection) {
1454         this.doubleGroupedCollection = doubleGroupedCollection;
1455     }
1456 
1457     public List<UITestObject> getNames() {
1458         return names;
1459     }
1460 
1461     public void setNames(List<UITestObject> names) {
1462         this.names = names;
1463     }
1464 
1465     public List<UITestObject> getEmptyCollection() {
1466         return emptyCollection;
1467     }
1468 
1469     public void setEmptyCollection(List<UITestObject> emptyCollection) {
1470         this.emptyCollection = emptyCollection;
1471     }
1472 
1473     public List<UITestObject> getEmptyCollection1() {
1474         return emptyCollection1;
1475     }
1476 
1477     public void setEmptyCollection1(List<UITestObject> emptyCollection1) {
1478         this.emptyCollection1 = emptyCollection1;
1479     }
1480 
1481     public List<UITestObject> getEmptyCollection2() {
1482         return emptyCollection2;
1483     }
1484 
1485     public void setEmptyCollection2(List<UITestObject> emptyCollection2) {
1486         this.emptyCollection2 = emptyCollection2;
1487     }
1488 
1489     public String getFakeTotal() {
1490         return fakeTotal;
1491     }
1492 
1493     public void setFakeTotal(String fakeTotal) {
1494         this.fakeTotal = fakeTotal;
1495     }
1496 
1497     public String getBarStep() {
1498         return barStep;
1499     }
1500 
1501     public void setBarStep(String barStep) {
1502         this.barStep = barStep;
1503     }
1504 
1505     public int getBarPercent() {
1506         return barPercent;
1507     }
1508 
1509     public void setBarPercent(int barPercent) {
1510         this.barPercent = barPercent;
1511     }
1512 
1513     public String getRichMessageField() {
1514         return richMessageField;
1515     }
1516 
1517     public void setRichMessageField(String richMessageField) {
1518         this.richMessageField = richMessageField;
1519     }
1520 
1521     public List<String> getCheckboxesField1() {
1522         return checkboxesField1;
1523     }
1524 
1525     public void setCheckboxesField1(List<String> checkboxesField1) {
1526         this.checkboxesField1 = checkboxesField1;
1527     }
1528 
1529     public List<String> getCheckboxesField2() {
1530         return checkboxesField2;
1531     }
1532 
1533     public void setCheckboxesField2(List<String> checkboxesField2) {
1534         this.checkboxesField2 = checkboxesField2;
1535     }
1536 
1537     public List<String> getCheckboxesField3() {
1538         return checkboxesField3;
1539     }
1540 
1541     public void setCheckboxesField3(List<String> checkboxesField3) {
1542         this.checkboxesField3 = checkboxesField3;
1543     }
1544 
1545     public List<String> getCheckboxesField5() {
1546         return checkboxesField5;
1547     }
1548 
1549     public void setCheckboxesField5(List<String> checkboxesField5) {
1550         this.checkboxesField5 = checkboxesField5;
1551     }
1552 
1553     public List<String> getCheckboxesField4() {
1554         return checkboxesField4;
1555     }
1556 
1557     public void setCheckboxesField4(List<String> checkboxesField4) {
1558         this.checkboxesField4 = checkboxesField4;
1559     }
1560 
1561     public List<String> getMultiSelectField1() {
1562         return multiSelectField1;
1563     }
1564 
1565     public void setMultiSelectField1(List<String> multiSelectField1) {
1566         this.multiSelectField1 = multiSelectField1;
1567     }
1568 
1569     public boolean isBooleanField1() {
1570         return booleanField1;
1571     }
1572 
1573     public void setBooleanField1(boolean booleanField1) {
1574         this.booleanField1 = booleanField1;
1575     }
1576 
1577     public boolean isBooleanField2() {
1578         return booleanField2;
1579     }
1580 
1581     public void setBooleanField2(boolean booleanField2) {
1582         this.booleanField2 = booleanField2;
1583     }
1584 
1585     public boolean isBooleanField3() {
1586         return booleanField3;
1587     }
1588 
1589     public void setBooleanField3(boolean booleanField3) {
1590         this.booleanField3 = booleanField3;
1591     }
1592 
1593     /**
1594      * @return the tree1
1595      */
1596     public Tree<String, String> getTree1() {
1597         return this.tree1;
1598     }
1599 
1600     /**
1601      * @param tree1 the tree1 to set
1602      */
1603     public void setTree1(Tree<String, String> tree1) {
1604         this.tree1 = tree1;
1605     }
1606 
1607     /**
1608      * @return the tree2
1609      */
1610     public Tree<UITestObject, String> getTree2() {
1611         return tree2;
1612     }
1613 
1614     /**
1615      * @param tree2 the tree2 to set
1616      */
1617     public void setTree2(Tree<UITestObject, String> tree2) {
1618         this.tree2 = tree2;
1619     }
1620 
1621     /**
1622      * @param subList the subList to set
1623      */
1624     public void setSubList(List<UITestObject> subList) {
1625         this.subList = subList;
1626     }
1627 
1628     /**
1629      * @return the subList
1630      */
1631     public List<UITestObject> getSubList() {
1632         return subList;
1633     }
1634 
1635     public List<String> getOptionListSelection() {
1636         return optionListSelection;
1637     }
1638 
1639     public void setOptionListSelection(List<String> optionListSelection) {
1640         this.optionListSelection = optionListSelection;
1641     }
1642 
1643     public String getCodeSample() {
1644         return codeSample;
1645     }
1646 
1647     public void setCodeSample(String codeSample) {
1648         this.codeSample = codeSample;
1649     }
1650 
1651     public String getDocumentNumber() {
1652         return documentNumber;
1653     }
1654 
1655     public void setDocumentNumber(String documentNumber) {
1656         this.documentNumber = documentNumber;
1657     }
1658 
1659     public String getTravelAccountAttributeName() {
1660         if (travelAccountAttributeName == null) {
1661             return "subsidizedPercent";
1662         }
1663         return travelAccountAttributeName;
1664     }
1665 
1666     public void setTravelAccountAttributeName(String travelAccountAttributeName) {
1667         this.travelAccountAttributeName = travelAccountAttributeName;
1668     }
1669 
1670     public List<TravelAccount> getTravelAccounts() {
1671         return travelAccounts;
1672     }
1673 
1674     public void setTravelAccounts(List<TravelAccount> travelAccounts) {
1675         this.travelAccounts = travelAccounts;
1676     }
1677 
1678     public List<FileMetaBlob> getFiles() {
1679         return files;
1680     }
1681 
1682     public void setFiles(List<FileMetaBlob> files) {
1683         this.files = files;
1684     }
1685 
1686     public List<FileMetaBlob> getFiles1() {
1687         return files1;
1688     }
1689 
1690     public void setFiles1(List<FileMetaBlob> files1) {
1691         this.files1 = files1;
1692     }
1693 
1694     public List<FileMetaBlob> getFiles2() {
1695         return files2;
1696     }
1697 
1698     public void setFiles2(List<FileMetaBlob> files2) {
1699         this.files2 = files2;
1700     }
1701 
1702     public List<FileMetaBlob> getFiles3() {
1703         return files3;
1704     }
1705 
1706     public void setFiles3(List<FileMetaBlob> files3) {
1707         this.files3 = files3;
1708     }
1709 
1710     public String getEncryptedValue(String value) {
1711         try {
1712             return CoreApiServiceLocator.getEncryptionService().encrypt(value);
1713         } catch (GeneralSecurityException gse) {
1714             // Fail silently
1715         }
1716 
1717         return StringUtils.EMPTY;
1718     }
1719 
1720     public UITestObject getUiTestObject1() {
1721         return uiTestObject1;
1722     }
1723 
1724     public void setUiTestObject1(UITestObject uiTestObject1) {
1725         this.uiTestObject1 = uiTestObject1;
1726     }
1727 
1728     public UITestObject getUiTestObject2() {
1729         return uiTestObject2;
1730     }
1731 
1732     public void setUiTestObject2(UITestObject uiTestObject2) {
1733         this.uiTestObject2 = uiTestObject2;
1734     }
1735 }