1 package org.springframework.samples.petclinic.web; 2 3 import java.util.Collection ; 4 5 import javax.servlet.http.HttpServletRequest ; 6 import javax.servlet.http.HttpServletResponse ; 7 8 import org.springframework.samples.petclinic.Owner; 9 import org.springframework.validation.BindException; 10 import org.springframework.web.servlet.ModelAndView; 11 12 17 public class FindOwnersForm extends AbstractClinicForm { 18 19 private String selectView; 20 21 22 public FindOwnersForm() { 23 setCommandClass(Owner.class); 25 } 26 27 30 public void setSelectView(String selectView) { 31 this.selectView = selectView; 32 } 33 34 protected void initApplicationContext() { 35 super.initApplicationContext(); 36 if (this.selectView == null) { 37 throw new IllegalArgumentException ("selectView isn't set"); 38 } 39 } 40 41 44 protected ModelAndView onSubmit( 45 HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) 46 throws Exception { 47 48 Owner owner = (Owner) command; 49 50 Collection results = getClinic().findOwners(owner.getLastName()); 52 53 if (results.size() < 1) { 54 errors.rejectValue("lastName", "notFound", null, "not found"); 56 return showForm(request, response, errors); 57 } 58 59 if (results.size() > 1) { 60 return new ModelAndView(this.selectView, "selections", results); 62 } 63 64 owner = (Owner) results.iterator().next(); 66 return new ModelAndView(getSuccessView(), "ownerId", owner.getId()); 67 } 68 69 } 70 | Popular Tags |