KickJava   Java API By Example, From Geeks To Geeks.

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


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 import javax.servlet.http.HttpServletResponse JavaDoc;
9
10 import org.springframework.samples.petclinic.Owner;
11 import org.springframework.samples.petclinic.Pet;
12 import org.springframework.samples.petclinic.PetType;
13 import org.springframework.samples.petclinic.util.EntityUtils;
14 import org.springframework.web.bind.RequestUtils;
15 import org.springframework.web.servlet.ModelAndView;
16
17 /**
18  * JavaBean form controller that is used to add a new <code>Pet</code> to the system.
19  *
20  * @author Ken Krebs
21  */

22 public class AddPetForm extends AbstractClinicForm {
23
24     public AddPetForm() {
25         // need a session to hold the formBackingObject
26
setSessionForm(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         Owner owner = getClinic().loadOwner(RequestUtils.getRequiredIntParameter(request, "ownerId"));
37         Pet pet = new Pet();
38         owner.addPet(pet);
39         return pet;
40     }
41
42     protected void onBind(HttpServletRequest JavaDoc request, Object JavaDoc command) {
43         Pet pet = (Pet) command;
44         int typeId = Integer.parseInt(request.getParameter("typeId"));
45         pet.setType((PetType) EntityUtils.getById(getClinic().getPetTypes(), PetType.class, typeId));
46     }
47
48     /** Method inserts a new Pet */
49     protected ModelAndView onSubmit(Object JavaDoc command) throws ServletException JavaDoc {
50         Pet pet = (Pet) command;
51         // delegate the insert to the Business layer
52
getClinic().storePet(pet);
53         return new ModelAndView(getSuccessView(), "ownerId", pet.getOwner().getId());
54     }
55
56     protected ModelAndView handleInvalidSubmit(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
57             throws Exception JavaDoc {
58         return disallowDuplicateFormSubmission(request, response);
59     }
60
61 }
62
Popular Tags