Fix #101 display the pet type when using the JDBC profile

This commit is contained in:
Antoine Rey 2015-10-13 18:41:18 +02:00
parent cb0504ee97
commit 4bb829cbd1
3 changed files with 6 additions and 1 deletions

View file

@ -35,6 +35,7 @@ import org.springframework.samples.petclinic.model.Pet;
import org.springframework.samples.petclinic.model.PetType; import org.springframework.samples.petclinic.model.PetType;
import org.springframework.samples.petclinic.model.Visit; import org.springframework.samples.petclinic.model.Visit;
import org.springframework.samples.petclinic.repository.OwnerRepository; import org.springframework.samples.petclinic.repository.OwnerRepository;
import org.springframework.samples.petclinic.util.EntityUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
/** /**
@ -114,7 +115,9 @@ public class JdbcOwnerRepositoryImpl implements OwnerRepository {
params, params,
new JdbcPetVisitExtractor() new JdbcPetVisitExtractor()
); );
Collection<PetType> petTypes = getPetTypes();
for (JdbcPet pet : pets) { for (JdbcPet pet : pets) {
pet.setType(EntityUtils.getById(petTypes, PetType.class, pet.getTypeId()));
owner.addPet(pet); owner.addPet(pet);
} }
} }

View file

@ -58,7 +58,7 @@ public class PetValidator implements Validator {
*/ */
@Override @Override
public boolean supports(Class<?> clazz) { public boolean supports(Class<?> clazz) {
return Pet.class.equals(clazz); return Pet.class.isAssignableFrom(clazz);
} }

View file

@ -69,6 +69,8 @@ public abstract class AbstractClinicServiceTests {
Owner owner = this.clinicService.findOwnerById(1); Owner owner = this.clinicService.findOwnerById(1);
assertThat(owner.getLastName()).startsWith("Franklin"); assertThat(owner.getLastName()).startsWith("Franklin");
assertThat(owner.getPets().size()).isEqualTo(1); assertThat(owner.getPets().size()).isEqualTo(1);
assertThat(owner.getPets().get(0).getType()).isNotNull();
assertThat(owner.getPets().get(0).getType().getName()).isEqualTo("cat");
} }
@Test @Test