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.kns.util.GlobalVariables; 026 import org.kuali.rice.kns.web.spring.controller.UifControllerBase; 027 import org.kuali.rice.kns.web.spring.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 067 List<TravelAccount> officerAccounts = new ArrayList<TravelAccount>(); 068 069 TravelAccount travelAccount2 = new TravelAccount(); 070 travelAccount2.setNumber("102"); 071 travelAccount2.setName("Account 102"); 072 travelAccount2.setSubAccount("34"); 073 travelAccount2.setSubAccountName("G34 So"); 074 travelAccount2.setSubsidizedPercent(new KualiPercent(45.0)); 075 officerAccounts.add(travelAccount2); 076 077 TravelAccount travelAccount3 = new TravelAccount(); 078 travelAccount3.setNumber("103"); 079 travelAccount3.setName("Account 103"); 080 officerAccounts.add(travelAccount3); 081 082 TravelAccount travelAccount4 = new TravelAccount(); 083 travelAccount4.setNumber("104"); 084 travelAccount4.setName("Account 104"); 085 travelAccount4.setSubAccount("i84n"); 086 travelAccount4.setSubAccountName("Supplies"); 087 travelAccount4.setSubsidizedPercent(new KualiPercent(10)); 088 officerAccounts.add(travelAccount4); 089 090 fiscalOfficer.setAccounts(officerAccounts); 091 travelAccount.setFiscalOfficer(fiscalOfficer); 092 093 // build sub-collections 094 travelAccount2.setFiscalOfficer(fiscalOfficer); 095 travelAccount3.setFiscalOfficer(fiscalOfficer); 096 travelAccount4.setFiscalOfficer(fiscalOfficer); 097 098 uiTestForm.setTravelAccount1(travelAccount); 099 uiTestForm.setTravelAccount2(travelAccount); 100 uiTestForm.setTravelAccount3(travelAccount); 101 uiTestForm.setTravelAccount4(travelAccount); 102 103 uiTestForm.setField5("a14"); 104 105 uiTestForm.setField1("Field1"); 106 uiTestForm.setField2("Field2"); 107 108 return super.start(uiTestForm, result, request, response); 109 } 110 111 @RequestMapping(method = RequestMethod.POST, params = "methodToCall=save") 112 public ModelAndView save(@ModelAttribute("KualiForm") UITestForm uiTestForm, BindingResult result, 113 HttpServletRequest request, HttpServletResponse response) { 114 //For testing server side errors: 115 if(uiTestForm.getField2().equals("server_error")){ 116 GlobalVariables.getMessageMap().putError("field2", "serverTestError"); 117 GlobalVariables.getMessageMap().putError("field2", "serverTestError2"); 118 GlobalVariables.getMessageMap().putWarning("field2", "serverTestWarning"); 119 GlobalVariables.getMessageMap().putInfo("field2", "serverTestInfo"); 120 GlobalVariables.getMessageMap().putInfo("field3", "serverTestInfo"); 121 GlobalVariables.getMessageMap().putError("field13", "serverTestError"); 122 GlobalVariables.getMessageMap().putWarning("field4", "serverTestWarning"); 123 GlobalVariables.getMessageMap().putWarning("TEST_WARNING", "serverTestError3"); 124 GlobalVariables.getMessageMap().putError("TEST_ERROR", "serverTestError3"); 125 GlobalVariables.getMessageMap().putError("vField5", "serverTestError"); 126 GlobalVariables.getMessageMap().putError("vField6", "serverTestError"); 127 //GlobalVariables.getMessageMap().clearErrorMessages(); 128 return getUIFModelAndView(uiTestForm, uiTestForm.getViewId(), uiTestForm.getPageId()); 129 } 130 131 return getUIFModelAndView(uiTestForm, uiTestForm.getViewId(), "page2"); 132 } 133 134 @RequestMapping(method = RequestMethod.POST, params = "methodToCall=close") 135 public ModelAndView close(@ModelAttribute("KualiForm") UITestForm uiTestForm, BindingResult result, 136 HttpServletRequest request, HttpServletResponse response) { 137 138 return getUIFModelAndView(uiTestForm, uiTestForm.getViewId(), "page1"); 139 } 140 141 }