001 /* 002 * Copyright 2007 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 1.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl1.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package edu.sampleu.travel.krad.controller; 017 018 import java.util.ArrayList; 019 import java.util.List; 020 021 import javax.servlet.http.HttpServletRequest; 022 import javax.servlet.http.HttpServletResponse; 023 024 import org.kuali.rice.core.util.type.KualiPercent; 025 import org.kuali.rice.krad.util.GlobalVariables; 026 import org.kuali.rice.krad.web.controller.UifControllerBase; 027 import org.kuali.rice.krad.web.form.UifFormBase; 028 import org.springframework.stereotype.Controller; 029 import org.springframework.validation.BindingResult; 030 import org.springframework.web.bind.annotation.ModelAttribute; 031 import org.springframework.web.bind.annotation.RequestMapping; 032 import org.springframework.web.bind.annotation.RequestMethod; 033 import org.springframework.web.servlet.ModelAndView; 034 035 import edu.sampleu.travel.bo.FiscalOfficer; 036 import edu.sampleu.travel.bo.TravelAccount; 037 import edu.sampleu.travel.krad.form.UITestForm; 038 039 /** 040 * Controller for the Test UI Page 041 * 042 * @author Kuali Rice Team (rice.collab@kuali.org) 043 */ 044 @Controller 045 @RequestMapping(value = "/uitest") 046 public class UITestController extends UifControllerBase { 047 048 @Override 049 protected UITestForm createInitialForm(HttpServletRequest request) { 050 return new UITestForm(); 051 } 052 053 @Override 054 @RequestMapping(params = "methodToCall=start") 055 public ModelAndView start(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result, 056 HttpServletRequest request, HttpServletResponse response) { 057 UITestForm uiTestForm = (UITestForm) form; 058 059 // populate model for testing 060 TravelAccount travelAccount = new TravelAccount(); 061 travelAccount.setNumber("101"); 062 travelAccount.setName("Account 101"); 063 064 FiscalOfficer fiscalOfficer = new FiscalOfficer(); 065 fiscalOfficer.setId(new Long(1)); 066 FiscalOfficer fiscalOfficer2 = new FiscalOfficer(); 067 fiscalOfficer.setId(new Long(1)); 068 FiscalOfficer fiscalOfficer3 = new FiscalOfficer(); 069 fiscalOfficer.setId(new Long(1)); 070 FiscalOfficer fiscalOfficer4 = new FiscalOfficer(); 071 fiscalOfficer.setId(new Long(1)); 072 073 074 List<TravelAccount> officerAccounts = new ArrayList<TravelAccount>(); 075 076 TravelAccount travelAccount2 = new TravelAccount(); 077 travelAccount2.setNumber("102"); 078 travelAccount2.setName("Account 102"); 079 travelAccount2.setSubAccount("34"); 080 travelAccount2.setSubAccountName("G34 So"); 081 travelAccount2.setSubsidizedPercent(new KualiPercent(45.0)); 082 officerAccounts.add(travelAccount2); 083 084 TravelAccount travelAccount3 = new TravelAccount(); 085 travelAccount3.setNumber("103"); 086 travelAccount3.setName("Account 103"); 087 officerAccounts.add(travelAccount3); 088 089 TravelAccount travelAccount4 = new TravelAccount(); 090 travelAccount4.setNumber("104"); 091 travelAccount4.setName("Account 104"); 092 travelAccount4.setSubAccount("i84n"); 093 travelAccount4.setSubAccountName("Supplies"); 094 travelAccount4.setSubsidizedPercent(new KualiPercent(10)); 095 officerAccounts.add(travelAccount4); 096 097 fiscalOfficer.setAccounts(officerAccounts); 098 travelAccount.setFiscalOfficer(fiscalOfficer); 099 100 // build sub-collections 101 travelAccount2.setFiscalOfficer(fiscalOfficer2); 102 travelAccount3.setFiscalOfficer(fiscalOfficer3); 103 travelAccount4.setFiscalOfficer(fiscalOfficer4); 104 105 uiTestForm.setTravelAccount1(travelAccount); 106 uiTestForm.setTravelAccount2(travelAccount2); 107 uiTestForm.setTravelAccount3(travelAccount3); 108 uiTestForm.setTravelAccount4(travelAccount4); 109 110 uiTestForm.setField5("a14"); 111 112 uiTestForm.setField1("Field1"); 113 uiTestForm.setField2("Field2"); 114 115 uiTestForm.setHidden1("Hidden1"); 116 uiTestForm.setHidden2("Hidden2"); 117 118 return super.start(uiTestForm, result, request, response); 119 } 120 121 @RequestMapping(method = RequestMethod.POST, params = "methodToCall=save") 122 public ModelAndView save(@ModelAttribute("KualiForm") UITestForm uiTestForm, BindingResult result, 123 HttpServletRequest request, HttpServletResponse response) { 124 //For testing server side errors: 125 if(uiTestForm.getField2().equals("server_error")){ 126 GlobalVariables.getMessageMap().putError("field2", "serverTestError"); 127 GlobalVariables.getMessageMap().putError("field2", "serverTestError2"); 128 GlobalVariables.getMessageMap().putWarning("field2", "serverTestWarning"); 129 GlobalVariables.getMessageMap().putInfo("field2", "serverTestInfo"); 130 GlobalVariables.getMessageMap().putInfo("field3", "serverTestInfo"); 131 GlobalVariables.getMessageMap().putError("field13", "serverTestError"); 132 GlobalVariables.getMessageMap().putWarning("field4", "serverTestWarning"); 133 GlobalVariables.getMessageMap().putWarning("TEST_WARNING", "serverTestError3"); 134 GlobalVariables.getMessageMap().putError("TEST_ERROR", "serverTestError3"); 135 GlobalVariables.getMessageMap().putError("vField5", "serverTestError"); 136 GlobalVariables.getMessageMap().putError("vField6", "serverTestError"); 137 //GlobalVariables.getMessageMap().clearErrorMessages(); 138 return getUIFModelAndView(uiTestForm, uiTestForm.getViewId(), uiTestForm.getPageId()); 139 } 140 141 return getUIFModelAndView(uiTestForm, uiTestForm.getViewId(), "page2"); 142 } 143 144 @RequestMapping(method = RequestMethod.POST, params = "methodToCall=close") 145 public ModelAndView close(@ModelAttribute("KualiForm") UITestForm uiTestForm, BindingResult result, 146 HttpServletRequest request, HttpServletResponse response) { 147 148 return getUIFModelAndView(uiTestForm, uiTestForm.getViewId(), "page1"); 149 } 150 151 }