petclinic-uncached
Changes
.springBeans 2(+1 -1)
src/main/webapp/WEB-INF/web.xml 2(+1 -1)
Details
.springBeans 2(+1 -1)
diff --git a/.springBeans b/.springBeans
index 34b281c..2edd02c 100644
--- a/.springBeans
+++ b/.springBeans
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<beansProjectDescription>
<version>1</version>
- <pluginVersion><![CDATA[2.3.0.200912170948-RELEASE]]></pluginVersion>
+ <pluginVersion><![CDATA[3.2.0.201211290605-M1]]></pluginVersion>
<configSuffixes>
<configSuffix><![CDATA[xml]]></configSuffix>
</configSuffixes>
diff --git a/src/main/java/org/springframework/samples/petclinic/BaseEntity.java b/src/main/java/org/springframework/samples/petclinic/BaseEntity.java
index bb68af4..8913ab0 100644
--- a/src/main/java/org/springframework/samples/petclinic/BaseEntity.java
+++ b/src/main/java/org/springframework/samples/petclinic/BaseEntity.java
@@ -1,5 +1,8 @@
package org.springframework.samples.petclinic;
+import javax.persistence.Id;
+import javax.persistence.MappedSuperclass;
+
/**
* Simple JavaBean domain object with an id property.
* Used as a base class for objects needing this property.
@@ -7,9 +10,10 @@ package org.springframework.samples.petclinic;
* @author Ken Krebs
* @author Juergen Hoeller
*/
+@MappedSuperclass
public class BaseEntity {
-
- private Integer id;
+ @Id
+ protected Integer id;
public void setId(Integer id) {
diff --git a/src/main/java/org/springframework/samples/petclinic/Clinic.java b/src/main/java/org/springframework/samples/petclinic/Clinic.java
index e48e850..9eca087 100644
--- a/src/main/java/org/springframework/samples/petclinic/Clinic.java
+++ b/src/main/java/org/springframework/samples/petclinic/Clinic.java
@@ -43,7 +43,7 @@ public interface Clinic {
* @return the <code>Owner</code> if found
* @throws org.springframework.dao.DataRetrievalFailureException if not found
*/
- Owner loadOwner(int id) throws DataAccessException;
+ Owner findOwner(int id) throws DataAccessException;
/**
* Retrieve a <code>Pet</code> from the data store by id.
@@ -51,7 +51,7 @@ public interface Clinic {
* @return the <code>Pet</code> if found
* @throws org.springframework.dao.DataRetrievalFailureException if not found
*/
- Pet loadPet(int id) throws DataAccessException;
+ Pet findPet(int id) throws DataAccessException;
/**
* Save an <code>Owner</code> to the data store, either inserting or updating it.
diff --git a/src/main/java/org/springframework/samples/petclinic/jdbc/SimpleJdbcClinic.java b/src/main/java/org/springframework/samples/petclinic/jdbc/SimpleJdbcClinic.java
index cc26338..7baef09 100644
--- a/src/main/java/org/springframework/samples/petclinic/jdbc/SimpleJdbcClinic.java
+++ b/src/main/java/org/springframework/samples/petclinic/jdbc/SimpleJdbcClinic.java
@@ -163,7 +163,7 @@ public class SimpleJdbcClinic implements Clinic, SimpleJdbcClinicMBean {
* owner, if not already loaded.
*/
@Transactional(readOnly = true)
- public Owner loadOwner(int id) throws DataAccessException {
+ public Owner findOwner(int id) throws DataAccessException {
Owner owner;
try {
owner = this.simpleJdbcTemplate.queryForObject(
@@ -179,7 +179,7 @@ public class SimpleJdbcClinic implements Clinic, SimpleJdbcClinicMBean {
}
@Transactional(readOnly = true)
- public Pet loadPet(int id) throws DataAccessException {
+ public Pet findPet(int id) throws DataAccessException {
JdbcPet pet;
try {
pet = this.simpleJdbcTemplate.queryForObject(
@@ -190,7 +190,7 @@ public class SimpleJdbcClinic implements Clinic, SimpleJdbcClinicMBean {
catch (EmptyResultDataAccessException ex) {
throw new ObjectRetrievalFailureException(Pet.class, new Integer(id));
}
- Owner owner = loadOwner(pet.getOwnerId());
+ Owner owner = findOwner(pet.getOwnerId());
owner.addPet(pet);
pet.setType(EntityUtils.getById(getPetTypes(), PetType.class, pet.getTypeId()));
loadVisits(pet);
diff --git a/src/main/java/org/springframework/samples/petclinic/jpa/EntityManagerClinic.java b/src/main/java/org/springframework/samples/petclinic/jpa/EntityManagerClinic.java
index 92fe1e2..d3fe8ef 100644
--- a/src/main/java/org/springframework/samples/petclinic/jpa/EntityManagerClinic.java
+++ b/src/main/java/org/springframework/samples/petclinic/jpa/EntityManagerClinic.java
@@ -55,12 +55,12 @@ public class EntityManagerClinic implements Clinic {
}
@Transactional(readOnly = true)
- public Owner loadOwner(int id) {
+ public Owner findOwner(int id) {
return this.em.find(Owner.class, id);
}
@Transactional(readOnly = true)
- public Pet loadPet(int id) {
+ public Pet findPet(int id) {
return this.em.find(Pet.class, id);
}
@@ -89,7 +89,7 @@ public class EntityManagerClinic implements Clinic {
}
public void deletePet(int id) throws DataAccessException {
- Pet pet = loadPet(id);
+ Pet pet = findPet(id);
this.em.remove(pet);
}
diff --git a/src/main/java/org/springframework/samples/petclinic/NamedEntity.java b/src/main/java/org/springframework/samples/petclinic/NamedEntity.java
index 40c5931..f77348e 100644
--- a/src/main/java/org/springframework/samples/petclinic/NamedEntity.java
+++ b/src/main/java/org/springframework/samples/petclinic/NamedEntity.java
@@ -1,5 +1,8 @@
package org.springframework.samples.petclinic;
+import javax.persistence.Column;
+import javax.persistence.MappedSuperclass;
+
/**
* Simple JavaBean domain object adds a name property to <code>BaseEntity</code>.
* Used as a base class for objects needing these properties.
@@ -7,8 +10,10 @@ package org.springframework.samples.petclinic;
* @author Ken Krebs
* @author Juergen Hoeller
*/
+@MappedSuperclass
public class NamedEntity extends BaseEntity {
+ @Column(name="name")
private String name;
diff --git a/src/main/java/org/springframework/samples/petclinic/Owner.java b/src/main/java/org/springframework/samples/petclinic/Owner.java
index 75ea3bc..13639f9 100644
--- a/src/main/java/org/springframework/samples/petclinic/Owner.java
+++ b/src/main/java/org/springframework/samples/petclinic/Owner.java
@@ -6,6 +6,12 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+
import org.springframework.beans.support.MutableSortDefinition;
import org.springframework.beans.support.PropertyComparator;
import org.springframework.core.style.ToStringCreator;
@@ -17,14 +23,18 @@ import org.springframework.core.style.ToStringCreator;
* @author Juergen Hoeller
* @author Sam Brannen
*/
+@Entity @Table(name="owners")
public class Owner extends Person {
-
+ @Column(name="address")
private String address;
-
+
+ @Column(name="city")
private String city;
+ @Column(name="telephone")
private String telephone;
+ @OneToMany(cascade=CascadeType.ALL, mappedBy="owner")
private Set<Pet> pets;
diff --git a/src/main/java/org/springframework/samples/petclinic/Person.java b/src/main/java/org/springframework/samples/petclinic/Person.java
index da7974a..8bfa1b5 100644
--- a/src/main/java/org/springframework/samples/petclinic/Person.java
+++ b/src/main/java/org/springframework/samples/petclinic/Person.java
@@ -1,15 +1,21 @@
package org.springframework.samples.petclinic;
+import javax.persistence.Column;
+import javax.persistence.MappedSuperclass;
+
/**
* Simple JavaBean domain object representing an person.
*
* @author Ken Krebs
*/
+@MappedSuperclass
public class Person extends BaseEntity {
+
+ @Column(name="first_name")
+ protected String firstName;
- private String firstName;
-
- private String lastName;
+ @Column(name="last_name")
+ protected String lastName;
public String getFirstName() {
return this.firstName;
diff --git a/src/main/java/org/springframework/samples/petclinic/Pet.java b/src/main/java/org/springframework/samples/petclinic/Pet.java
index f5294b5..6b39158 100644
--- a/src/main/java/org/springframework/samples/petclinic/Pet.java
+++ b/src/main/java/org/springframework/samples/petclinic/Pet.java
@@ -7,6 +7,14 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+
import org.springframework.beans.support.MutableSortDefinition;
import org.springframework.beans.support.PropertyComparator;
@@ -17,14 +25,21 @@ import org.springframework.beans.support.PropertyComparator;
* @author Juergen Hoeller
* @author Sam Brannen
*/
+@Entity @Table(name="pets")
public class Pet extends NamedEntity {
+ @Column(name="birth_date")
private Date birthDate;
+ @ManyToOne
+ @JoinColumn(name = "type_id")
private PetType type;
-
+
+ @ManyToOne
+ @JoinColumn(name = "owner_id")
private Owner owner;
-
+
+ @OneToMany(cascade=CascadeType.ALL, mappedBy="pet")
private Set<Visit> visits;
diff --git a/src/main/java/org/springframework/samples/petclinic/PetType.java b/src/main/java/org/springframework/samples/petclinic/PetType.java
index aaadc5c..4e4cebc 100644
--- a/src/main/java/org/springframework/samples/petclinic/PetType.java
+++ b/src/main/java/org/springframework/samples/petclinic/PetType.java
@@ -1,8 +1,12 @@
package org.springframework.samples.petclinic;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
/**
* @author Juergen Hoeller
*/
+@Entity @Table(name="types")
public class PetType extends NamedEntity {
}
diff --git a/src/main/java/org/springframework/samples/petclinic/Specialty.java b/src/main/java/org/springframework/samples/petclinic/Specialty.java
index d19ccab..08a6e85 100644
--- a/src/main/java/org/springframework/samples/petclinic/Specialty.java
+++ b/src/main/java/org/springframework/samples/petclinic/Specialty.java
@@ -1,10 +1,14 @@
package org.springframework.samples.petclinic;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
/**
* Models a {@link Vet Vet's} specialty (for example, dentistry).
*
* @author Juergen Hoeller
*/
+@Entity @Table(name="specialties")
public class Specialty extends NamedEntity {
}
diff --git a/src/main/java/org/springframework/samples/petclinic/Vet.java b/src/main/java/org/springframework/samples/petclinic/Vet.java
index 9c7c8da..e4250ae 100644
--- a/src/main/java/org/springframework/samples/petclinic/Vet.java
+++ b/src/main/java/org/springframework/samples/petclinic/Vet.java
@@ -5,6 +5,10 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+
+import javax.persistence.Entity;
+import javax.persistence.ManyToMany;
+import javax.persistence.Table;
import javax.xml.bind.annotation.XmlElement;
import org.springframework.beans.support.MutableSortDefinition;
@@ -18,8 +22,10 @@ import org.springframework.beans.support.PropertyComparator;
* @author Sam Brannen
* @author Arjen Poutsma
*/
+@Entity @Table(name="vets")
public class Vet extends Person {
+ @ManyToMany
private Set<Specialty> specialties;
diff --git a/src/main/java/org/springframework/samples/petclinic/Visit.java b/src/main/java/org/springframework/samples/petclinic/Visit.java
index c42bdce..7d7502d 100644
--- a/src/main/java/org/springframework/samples/petclinic/Visit.java
+++ b/src/main/java/org/springframework/samples/petclinic/Visit.java
@@ -2,20 +2,31 @@ package org.springframework.samples.petclinic;
import java.util.Date;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
/**
* Simple JavaBean domain object representing a visit.
*
* @author Ken Krebs
*/
+@Entity @Table(name="visits")
public class Visit extends BaseEntity {
/** Holds value of property date. */
+ @Column(name="visit_date")
private Date date;
/** Holds value of property description. */
+ @Column(name="description")
private String description;
/** Holds value of property pet. */
+ @ManyToOne
+ @JoinColumn(name = "pet_id")
private Pet pet;
diff --git a/src/main/java/org/springframework/samples/petclinic/web/AddPetController.java b/src/main/java/org/springframework/samples/petclinic/web/AddPetController.java
index 314b301..3d429d4 100644
--- a/src/main/java/org/springframework/samples/petclinic/web/AddPetController.java
+++ b/src/main/java/org/springframework/samples/petclinic/web/AddPetController.java
@@ -54,7 +54,7 @@ public class AddPetController {
@RequestMapping(method = RequestMethod.GET)
public String setupForm(@PathVariable("ownerId") int ownerId, Model model) {
- Owner owner = this.clinic.loadOwner(ownerId);
+ Owner owner = this.clinic.findOwner(ownerId);
Pet pet = new Pet();
owner.addPet(pet);
model.addAttribute("pet", pet);
diff --git a/src/main/java/org/springframework/samples/petclinic/web/AddVisitController.java b/src/main/java/org/springframework/samples/petclinic/web/AddVisitController.java
index 9312568..64a09ed 100644
--- a/src/main/java/org/springframework/samples/petclinic/web/AddVisitController.java
+++ b/src/main/java/org/springframework/samples/petclinic/web/AddVisitController.java
@@ -46,7 +46,7 @@ public class AddVisitController {
@RequestMapping(method = RequestMethod.GET)
public String setupForm(@PathVariable("petId") int petId, Model model) {
- Pet pet = this.clinic.loadPet(petId);
+ Pet pet = this.clinic.findPet(petId);
Visit visit = new Visit();
pet.addVisit(visit);
model.addAttribute("visit", visit);
diff --git a/src/main/java/org/springframework/samples/petclinic/web/ClinicController.java b/src/main/java/org/springframework/samples/petclinic/web/ClinicController.java
index fa9f092..d624e4d 100644
--- a/src/main/java/org/springframework/samples/petclinic/web/ClinicController.java
+++ b/src/main/java/org/springframework/samples/petclinic/web/ClinicController.java
@@ -71,7 +71,7 @@ public class ClinicController {
@RequestMapping("/owners/{ownerId}")
public ModelAndView showOwner(@PathVariable("ownerId") int ownerId) {
ModelAndView mav = new ModelAndView("owners/show");
- mav.addObject(this.clinic.loadOwner(ownerId));
+ mav.addObject(this.clinic.findOwner(ownerId));
return mav;
}
@@ -84,7 +84,7 @@ public class ClinicController {
@RequestMapping(value="/owners/*/pets/{petId}/visits", method=RequestMethod.GET)
public ModelAndView visitsHandler(@PathVariable int petId) {
ModelAndView mav = new ModelAndView("visits");
- mav.addObject("visits", this.clinic.loadPet(petId).getVisits());
+ mav.addObject("visits", this.clinic.findPet(petId).getVisits());
return mav;
}
diff --git a/src/main/java/org/springframework/samples/petclinic/web/EditOwnerController.java b/src/main/java/org/springframework/samples/petclinic/web/EditOwnerController.java
index e602f75..5c83018 100644
--- a/src/main/java/org/springframework/samples/petclinic/web/EditOwnerController.java
+++ b/src/main/java/org/springframework/samples/petclinic/web/EditOwnerController.java
@@ -44,7 +44,7 @@ public class EditOwnerController {
@RequestMapping(method = RequestMethod.GET)
public String setupForm(@PathVariable("ownerId") int ownerId, Model model) {
- Owner owner = this.clinic.loadOwner(ownerId);
+ Owner owner = this.clinic.findOwner(ownerId);
model.addAttribute(owner);
return "owners/form";
}
diff --git a/src/main/java/org/springframework/samples/petclinic/web/EditPetController.java b/src/main/java/org/springframework/samples/petclinic/web/EditPetController.java
index c7703c1..129f078 100644
--- a/src/main/java/org/springframework/samples/petclinic/web/EditPetController.java
+++ b/src/main/java/org/springframework/samples/petclinic/web/EditPetController.java
@@ -52,7 +52,7 @@ public class EditPetController {
@RequestMapping(method = RequestMethod.GET)
public String setupForm(@PathVariable("petId") int petId, Model model) {
- Pet pet = this.clinic.loadPet(petId);
+ Pet pet = this.clinic.findPet(petId);
model.addAttribute("pet", pet);
return "pets/form";
}
@@ -72,7 +72,7 @@ public class EditPetController {
@RequestMapping(method = RequestMethod.DELETE)
public String deletePet(@PathVariable int petId) {
- Pet pet = this.clinic.loadPet(petId);
+ Pet pet = this.clinic.findPet(petId);
this.clinic.deletePet(petId);
return "redirect:/owners/" + pet.getOwner().getId();
}
src/main/webapp/WEB-INF/web.xml 2(+1 -1)
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index 43c322b..b8dad07 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -37,7 +37,7 @@
-->
<context-param>
<param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/spring/applicationContext-jdbc.xml</param-value>
+ <param-value>classpath:spring/applicationContext-jdbc.xml</param-value>
<!--
<param-value>/WEB-INF/spring/applicationContext-hibernate.xml</param-value>
<param-value>/WEB-INF/spring/applicationContext-jpa.xml</param-value>
diff --git a/src/test/java/org/springframework/samples/petclinic/AbstractClinicTests.java b/src/test/java/org/springframework/samples/petclinic/AbstractClinicTests.java
index a62cb20..4d7b411 100644
--- a/src/test/java/org/springframework/samples/petclinic/AbstractClinicTests.java
+++ b/src/test/java/org/springframework/samples/petclinic/AbstractClinicTests.java
@@ -123,9 +123,9 @@ public abstract class AbstractClinicTests {
@Test
public void loadOwner() {
- Owner o1 = this.clinic.loadOwner(1);
+ Owner o1 = this.clinic.findOwner(1);
assertTrue(o1.getLastName().startsWith("Franklin"));
- Owner o10 = this.clinic.loadOwner(10);
+ Owner o10 = this.clinic.findOwner(10);
assertEquals("Carlos", o10.getFirstName());
// XXX: Add programmatic support for ending transactions with the
@@ -154,22 +154,22 @@ public abstract class AbstractClinicTests {
@Test
public void updateOwner() throws Exception {
- Owner o1 = this.clinic.loadOwner(1);
+ Owner o1 = this.clinic.findOwner(1);
String old = o1.getLastName();
o1.setLastName(old + "X");
this.clinic.storeOwner(o1);
- o1 = this.clinic.loadOwner(1);
+ o1 = this.clinic.findOwner(1);
assertEquals(old + "X", o1.getLastName());
}
@Test
public void loadPet() {
Collection<PetType> types = this.clinic.getPetTypes();
- Pet p7 = this.clinic.loadPet(7);
+ Pet p7 = this.clinic.findPet(7);
assertTrue(p7.getName().startsWith("Samantha"));
assertEquals(EntityUtils.getById(types, PetType.class, 1).getId(), p7.getType().getId());
assertEquals("Jean", p7.getOwner().getFirstName());
- Pet p6 = this.clinic.loadPet(6);
+ Pet p6 = this.clinic.findPet(6);
assertEquals("George", p6.getName());
assertEquals(EntityUtils.getById(types, PetType.class, 4).getId(), p6.getType().getId());
assertEquals("Peter", p6.getOwner().getFirstName());
@@ -177,7 +177,7 @@ public abstract class AbstractClinicTests {
@Test
public void insertPet() {
- Owner o6 = this.clinic.loadOwner(6);
+ Owner o6 = this.clinic.findOwner(6);
int found = o6.getPets().size();
Pet pet = new Pet();
pet.setName("bowser");
@@ -190,23 +190,23 @@ public abstract class AbstractClinicTests {
this.clinic.storePet(pet);
this.clinic.storeOwner(o6);
// assertTrue(!pet.isNew()); -- NOT TRUE FOR TOPLINK (before commit)
- o6 = this.clinic.loadOwner(6);
+ o6 = this.clinic.findOwner(6);
assertEquals(found + 1, o6.getPets().size());
}
@Test
public void updatePet() throws Exception {
- Pet p7 = this.clinic.loadPet(7);
+ Pet p7 = this.clinic.findPet(7);
String old = p7.getName();
p7.setName(old + "X");
this.clinic.storePet(p7);
- p7 = this.clinic.loadPet(7);
+ p7 = this.clinic.findPet(7);
assertEquals(old + "X", p7.getName());
}
@Test
public void insertVisit() {
- Pet p7 = this.clinic.loadPet(7);
+ Pet p7 = this.clinic.findPet(7);
int found = p7.getVisits().size();
Visit visit = new Visit();
p7.addVisit(visit);
@@ -215,7 +215,7 @@ public abstract class AbstractClinicTests {
this.clinic.storeVisit(visit);
this.clinic.storePet(p7);
// assertTrue(!visit.isNew()); -- NOT TRUE FOR TOPLINK (before commit)
- p7 = this.clinic.loadPet(7);
+ p7 = this.clinic.findPet(7);
assertEquals(found + 1, p7.getVisits().size());
}