diff --git a/src/main/java/org/springframework/samples/petclinic/application/UseCase.java b/src/main/java/org/springframework/samples/petclinic/application/UseCase.java deleted file mode 100644 index 856ca0b87..000000000 --- a/src/main/java/org/springframework/samples/petclinic/application/UseCase.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.springframework.samples.petclinic.application; - -public class UseCase { - -} diff --git a/src/main/java/org/springframework/samples/petclinic/application/VetService.java b/src/main/java/org/springframework/samples/petclinic/application/VetService.java index e83c7f92a..7a5623bfc 100644 --- a/src/main/java/org/springframework/samples/petclinic/application/VetService.java +++ b/src/main/java/org/springframework/samples/petclinic/application/VetService.java @@ -2,10 +2,8 @@ package org.springframework.samples.petclinic.application; import java.util.Collection; import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Pageable; +import org.springframework.samples.petclinic.domain.VetRepository; import org.springframework.samples.petclinic.infrastructure.persistence.vet.Vet; -import org.springframework.samples.petclinic.infrastructure.persistence.vet.VetRepository; import org.springframework.stereotype.Service; @Service @@ -18,12 +16,11 @@ public class VetService { } public Page getVetPage(int page, int pageSize) { - Pageable pageable = PageRequest.of(page - 1, pageSize); - return this.vetRepository.findAll(pageable); + return this.vetRepository.getVetPage(page, pageSize); } public Collection getVets() { - return this.vetRepository.findAll(); + return this.vetRepository.getVets(); } } diff --git a/src/main/java/org/springframework/samples/petclinic/domain/MyDomain.java b/src/main/java/org/springframework/samples/petclinic/domain/MyDomain.java deleted file mode 100644 index 1e6a059a3..000000000 --- a/src/main/java/org/springframework/samples/petclinic/domain/MyDomain.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.springframework.samples.petclinic.domain; - -public class MyDomain { - -} diff --git a/src/main/java/org/springframework/samples/petclinic/domain/VetRepository.java b/src/main/java/org/springframework/samples/petclinic/domain/VetRepository.java new file mode 100644 index 000000000..d1852f049 --- /dev/null +++ b/src/main/java/org/springframework/samples/petclinic/domain/VetRepository.java @@ -0,0 +1,13 @@ +package org.springframework.samples.petclinic.domain; + +import java.util.Collection; +import org.springframework.data.domain.Page; +import org.springframework.samples.petclinic.infrastructure.persistence.vet.Vet; + +public interface VetRepository { + + Page getVetPage(int page, int pageSize); + + Collection getVets(); + +} diff --git a/src/main/java/org/springframework/samples/petclinic/infrastructure/persistence/vet/VetRepository.java b/src/main/java/org/springframework/samples/petclinic/infrastructure/persistence/vet/VetDataRepository.java similarity index 96% rename from src/main/java/org/springframework/samples/petclinic/infrastructure/persistence/vet/VetRepository.java rename to src/main/java/org/springframework/samples/petclinic/infrastructure/persistence/vet/VetDataRepository.java index 01747f682..7cf35581c 100644 --- a/src/main/java/org/springframework/samples/petclinic/infrastructure/persistence/vet/VetRepository.java +++ b/src/main/java/org/springframework/samples/petclinic/infrastructure/persistence/vet/VetDataRepository.java @@ -35,7 +35,7 @@ import java.util.Collection; * @author Sam Brannen * @author Michael Isvy */ -public interface VetRepository extends Repository { +public interface VetDataRepository extends Repository { /** * Retrieve all Vets from the data store. diff --git a/src/main/java/org/springframework/samples/petclinic/infrastructure/persistence/vet/VetRepositoryImpl.java b/src/main/java/org/springframework/samples/petclinic/infrastructure/persistence/vet/VetRepositoryImpl.java new file mode 100644 index 000000000..218688280 --- /dev/null +++ b/src/main/java/org/springframework/samples/petclinic/infrastructure/persistence/vet/VetRepositoryImpl.java @@ -0,0 +1,30 @@ +package org.springframework.samples.petclinic.infrastructure.persistence.vet; + +import java.util.Collection; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.samples.petclinic.domain.VetRepository; +import org.springframework.stereotype.Repository; + +@Repository +public class VetRepositoryImpl implements VetRepository { + + private final VetDataRepository vetDataRepository; + + public VetRepositoryImpl(VetDataRepository vetDataRepository) { + this.vetDataRepository = vetDataRepository; + } + + @Override + public Page getVetPage(int page, int pageSize) { + Pageable pageable = PageRequest.of(page - 1, pageSize); + return this.vetDataRepository.findAll(pageable); + } + + @Override + public Collection getVets() { + return this.vetDataRepository.findAll(); + } + +} diff --git a/src/test/java/org/springframework/samples/petclinic/PetClinicIntegrationTests.java b/src/test/java/org/springframework/samples/petclinic/PetClinicIntegrationTests.java index 16dd5ba88..e2832fd70 100644 --- a/src/test/java/org/springframework/samples/petclinic/PetClinicIntegrationTests.java +++ b/src/test/java/org/springframework/samples/petclinic/PetClinicIntegrationTests.java @@ -27,7 +27,7 @@ import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.http.HttpStatus; import org.springframework.http.RequestEntity; import org.springframework.http.ResponseEntity; -import org.springframework.samples.petclinic.infrastructure.persistence.vet.VetRepository; +import org.springframework.samples.petclinic.infrastructure.persistence.vet.VetDataRepository; import org.springframework.web.client.RestTemplate; @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) @@ -37,7 +37,7 @@ class PetClinicIntegrationTests { int port; @Autowired - private VetRepository vets; + private VetDataRepository vets; @Autowired private RestTemplateBuilder builder; diff --git a/src/test/java/org/springframework/samples/petclinic/infrastructure/controller/VetControllerTests.java b/src/test/java/org/springframework/samples/petclinic/infrastructure/controller/VetControllerTests.java index f6c0524e9..988712107 100644 --- a/src/test/java/org/springframework/samples/petclinic/infrastructure/controller/VetControllerTests.java +++ b/src/test/java/org/springframework/samples/petclinic/infrastructure/controller/VetControllerTests.java @@ -77,8 +77,7 @@ class VetControllerTests { given(this.vetService.getVets()).willReturn(vetsList); - given(this.vetService.getVetPage(1, 5)) - .willReturn(new PageImpl<>(vetsList)); + given(this.vetService.getVetPage(1, 5)).willReturn(new PageImpl<>(vetsList)); } diff --git a/src/test/java/org/springframework/samples/petclinic/service/ClinicServiceTests.java b/src/test/java/org/springframework/samples/petclinic/service/ClinicServiceTests.java index e30748c00..0636c61d4 100644 --- a/src/test/java/org/springframework/samples/petclinic/service/ClinicServiceTests.java +++ b/src/test/java/org/springframework/samples/petclinic/service/ClinicServiceTests.java @@ -35,7 +35,7 @@ import org.springframework.samples.petclinic.owner.Pet; import org.springframework.samples.petclinic.owner.PetType; import org.springframework.samples.petclinic.owner.Visit; import org.springframework.samples.petclinic.infrastructure.persistence.vet.Vet; -import org.springframework.samples.petclinic.infrastructure.persistence.vet.VetRepository; +import org.springframework.samples.petclinic.infrastructure.persistence.vet.VetDataRepository; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -67,7 +67,7 @@ import org.springframework.transaction.annotation.Transactional; * @author Michael Isvy * @author Dave Syer */ -@DataJpaTest(includeFilters = @ComponentScan.Filter(Service.class)) +@DataJpaTest // Ensure that if the mysql profile is active we connect to the real database: @AutoConfigureTestDatabase(replace = Replace.NONE) // @TestPropertySource("/application-postgres.properties") @@ -77,7 +77,7 @@ class ClinicServiceTests { protected OwnerRepository owners; @Autowired - protected VetRepository vets; + protected VetDataRepository vets; Pageable pageable;