KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > springframework > samples > petclinic > web > EditPetForm


1 package org.springframework.samples.petclinic.web;
2
3 import java.util.HashMap JavaDoc;
4 import java.util.Map JavaDoc;
5
6 import javax.servlet.ServletException JavaDoc;
7 import javax.servlet.http.HttpServletRequest JavaDoc;
8
9 import org.springframework.samples.petclinic.Pet;
10 import org.springframework.samples.petclinic.PetType;
11 import org.springframework.samples.petclinic.util.EntityUtils;
12 import org.springframework.web.bind.RequestUtils;
13 import org.springframework.web.servlet.ModelAndView;
14
15 /**
16  * JavaBean Form controller that is used to edit an existing <code>Pet</code>.
17  *
18  * @author Ken Krebs
19  */

20 public class EditPetForm extends AbstractClinicForm {
21
22     public EditPetForm() {
23         // need a session to hold the formBackingObject
24
setSessionForm(true);
25         // initialize the form from the formBackingObject
26
setBindOnNewForm(true);
27     }
28
29     protected Map JavaDoc referenceData(HttpServletRequest JavaDoc request) throws ServletException JavaDoc {
30         Map JavaDoc refData = new HashMap JavaDoc();
31         refData.put("types", getClinic().getPetTypes());
32         return refData;
33     }
34
35     protected Object JavaDoc formBackingObject(HttpServletRequest JavaDoc request) throws ServletException JavaDoc {
36         // get the Pet referred to by id in the request
37
return getClinic().loadPet(RequestUtils.getRequiredIntParameter(request, "petId"));
38     }
39
40     protected void onBind(HttpServletRequest JavaDoc request, Object JavaDoc command) throws ServletException JavaDoc {
41         Pet pet = (Pet) command;
42         int typeId = RequestUtils.getRequiredIntParameter(request, "typeId");
43         pet.setType((PetType) EntityUtils.getById(getClinic().getPetTypes(), PetType.class, typeId));
44     }
45
46     /** Method updates an existing Pet */
47     protected ModelAndView onSubmit(Object JavaDoc command) throws ServletException JavaDoc {
48         Pet pet = (Pet) command;
49         // delegate the update to the business layer
50
getClinic().storePet(pet);
51         return new ModelAndView(getSuccessView(), "ownerId", pet.getOwner().getId());
52     }
53
54 }
55
Popular Tags