diff --git a/src.zip b/src.zip new file mode 100644 index 000000000..8f9fc4907 Binary files /dev/null and b/src.zip differ diff --git a/src/main/java/org/springframework/samples/petclinic/PetClinicRuntimeHints.java b/src/main/java/org/springframework/samples/petclinic/PetClinicRuntimeHints.java index 2975923d7..18e8dd2a3 100644 --- a/src/main/java/org/springframework/samples/petclinic/PetClinicRuntimeHints.java +++ b/src/main/java/org/springframework/samples/petclinic/PetClinicRuntimeHints.java @@ -18,9 +18,9 @@ package org.springframework.samples.petclinic; import org.springframework.aot.hint.RuntimeHints; import org.springframework.aot.hint.RuntimeHintsRegistrar; -import org.springframework.samples.petclinic.model.BaseEntity; -import org.springframework.samples.petclinic.model.Person; -import org.springframework.samples.petclinic.vet.Vet; +import org.springframework.samples.petclinic.common.model.BaseEntity; +import org.springframework.samples.petclinic.common.model.Person; +import org.springframework.samples.petclinic.vet.model.Vet; public class PetClinicRuntimeHints implements RuntimeHintsRegistrar { diff --git a/src/main/java/org/springframework/samples/petclinic/owner/PetTypeFormatter.java b/src/main/java/org/springframework/samples/petclinic/common/formatter/PetTypeFormatter.java similarity index 89% rename from src/main/java/org/springframework/samples/petclinic/owner/PetTypeFormatter.java rename to src/main/java/org/springframework/samples/petclinic/common/formatter/PetTypeFormatter.java index 73bfa1ae1..8c00458ef 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/PetTypeFormatter.java +++ b/src/main/java/org/springframework/samples/petclinic/common/formatter/PetTypeFormatter.java @@ -13,9 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.owner; +package org.springframework.samples.petclinic.common.formatter; import org.springframework.format.Formatter; +import org.springframework.samples.petclinic.owner.model.PetType; +import org.springframework.samples.petclinic.owner.repository.OwnerRepository; import org.springframework.stereotype.Component; import java.text.ParseException; diff --git a/src/main/java/org/springframework/samples/petclinic/model/BaseEntity.java b/src/main/java/org/springframework/samples/petclinic/common/model/BaseEntity.java similarity index 95% rename from src/main/java/org/springframework/samples/petclinic/model/BaseEntity.java rename to src/main/java/org/springframework/samples/petclinic/common/model/BaseEntity.java index 3038bce3a..ce063a244 100644 --- a/src/main/java/org/springframework/samples/petclinic/model/BaseEntity.java +++ b/src/main/java/org/springframework/samples/petclinic/common/model/BaseEntity.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.model; +package org.springframework.samples.petclinic.common.model; import java.io.Serializable; diff --git a/src/main/java/org/springframework/samples/petclinic/model/NamedEntity.java b/src/main/java/org/springframework/samples/petclinic/common/model/NamedEntity.java similarity index 95% rename from src/main/java/org/springframework/samples/petclinic/model/NamedEntity.java rename to src/main/java/org/springframework/samples/petclinic/common/model/NamedEntity.java index 012e8c4be..2077c4489 100644 --- a/src/main/java/org/springframework/samples/petclinic/model/NamedEntity.java +++ b/src/main/java/org/springframework/samples/petclinic/common/model/NamedEntity.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.model; +package org.springframework.samples.petclinic.common.model; import jakarta.persistence.Column; import jakarta.persistence.MappedSuperclass; diff --git a/src/main/java/org/springframework/samples/petclinic/model/Person.java b/src/main/java/org/springframework/samples/petclinic/common/model/Person.java similarity index 95% rename from src/main/java/org/springframework/samples/petclinic/model/Person.java rename to src/main/java/org/springframework/samples/petclinic/common/model/Person.java index 7c3d81a84..b1d7b3137 100644 --- a/src/main/java/org/springframework/samples/petclinic/model/Person.java +++ b/src/main/java/org/springframework/samples/petclinic/common/model/Person.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.model; +package org.springframework.samples.petclinic.common.model; import jakarta.persistence.Column; import jakarta.persistence.MappedSuperclass; diff --git a/src/main/java/org/springframework/samples/petclinic/model/package-info.java b/src/main/java/org/springframework/samples/petclinic/model/package-info.java deleted file mode 100644 index 37d6295e8..000000000 --- a/src/main/java/org/springframework/samples/petclinic/model/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2012-2019 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * The classes in this package represent utilities used by the domain. - */ -package org.springframework.samples.petclinic.model; diff --git a/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java b/src/main/java/org/springframework/samples/petclinic/owner/controller/OwnerController.java similarity index 96% rename from src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java rename to src/main/java/org/springframework/samples/petclinic/owner/controller/OwnerController.java index fa3506456..0fbf7e2e4 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/controller/OwnerController.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.owner; +package org.springframework.samples.petclinic.owner.controller; import java.util.List; import java.util.Optional; @@ -21,6 +21,8 @@ import java.util.Optional; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; +import org.springframework.samples.petclinic.owner.model.Owner; +import org.springframework.samples.petclinic.owner.repository.OwnerRepository; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; @@ -44,7 +46,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes; * @author Wick Dynex */ @Controller -class OwnerController { +public class OwnerController { private static final String VIEWS_OWNER_CREATE_OR_UPDATE_FORM = "owners/createOrUpdateOwnerForm"; diff --git a/src/main/java/org/springframework/samples/petclinic/owner/PetController.java b/src/main/java/org/springframework/samples/petclinic/owner/controller/PetController.java similarity index 91% rename from src/main/java/org/springframework/samples/petclinic/owner/PetController.java rename to src/main/java/org/springframework/samples/petclinic/owner/controller/PetController.java index 3234e39d6..7b3e1bf54 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/PetController.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/controller/PetController.java @@ -13,12 +13,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.owner; +package org.springframework.samples.petclinic.owner.controller; import java.time.LocalDate; import java.util.Collection; import java.util.Optional; +import org.springframework.samples.petclinic.owner.model.Owner; +import org.springframework.samples.petclinic.owner.model.Pet; +import org.springframework.samples.petclinic.owner.model.PetType; +import org.springframework.samples.petclinic.owner.repository.OwnerRepository; +import org.springframework.samples.petclinic.owner.validation.PetValidator; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.util.StringUtils; @@ -42,7 +47,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes; */ @Controller @RequestMapping("/owners/{ownerId}") -class PetController { +public class PetController { private static final String VIEWS_PETS_CREATE_OR_UPDATE_FORM = "pets/createOrUpdatePetForm"; @@ -67,7 +72,7 @@ class PetController { @ModelAttribute("pet") public Pet findPet(@PathVariable("ownerId") int ownerId, - @PathVariable(name = "petId", required = false) Integer petId) { + @PathVariable(name = "petId", required = false) Integer petId) { if (petId == null) { return new Pet(); diff --git a/src/main/java/org/springframework/samples/petclinic/owner/VisitController.java b/src/main/java/org/springframework/samples/petclinic/owner/controller/VisitController.java similarity index 88% rename from src/main/java/org/springframework/samples/petclinic/owner/VisitController.java rename to src/main/java/org/springframework/samples/petclinic/owner/controller/VisitController.java index b546f609a..43ef4a99f 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/VisitController.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/controller/VisitController.java @@ -13,11 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.owner; +package org.springframework.samples.petclinic.owner.controller; import java.util.Map; import java.util.Optional; +import org.springframework.samples.petclinic.owner.model.Owner; +import org.springframework.samples.petclinic.owner.repository.OwnerRepository; +import org.springframework.samples.petclinic.owner.model.Pet; +import org.springframework.samples.petclinic.owner.model.Visit; import org.springframework.stereotype.Controller; import org.springframework.validation.BindingResult; import org.springframework.web.bind.WebDataBinder; @@ -39,7 +43,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes; * @author Wick Dynex */ @Controller -class VisitController { +public class VisitController { private final OwnerRepository owners; @@ -61,7 +65,7 @@ class VisitController { */ @ModelAttribute("visit") public Visit loadPetWithVisit(@PathVariable("ownerId") int ownerId, @PathVariable("petId") int petId, - Map model) { + Map model) { Optional optionalOwner = owners.findById(ownerId); Owner owner = optionalOwner.orElseThrow(() -> new IllegalArgumentException( "Owner not found with id: " + ownerId + ". Please ensure the ID is correct ")); diff --git a/src/main/java/org/springframework/samples/petclinic/owner/Owner.java b/src/main/java/org/springframework/samples/petclinic/owner/model/Owner.java similarity index 97% rename from src/main/java/org/springframework/samples/petclinic/owner/Owner.java rename to src/main/java/org/springframework/samples/petclinic/owner/model/Owner.java index c5ae067dc..9a1e179b4 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/Owner.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/model/Owner.java @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.owner; +package org.springframework.samples.petclinic.owner.model; import java.util.ArrayList; import java.util.List; import org.springframework.core.style.ToStringCreator; -import org.springframework.samples.petclinic.model.Person; +import org.springframework.samples.petclinic.common.model.Person; import org.springframework.util.Assert; import jakarta.persistence.CascadeType; diff --git a/src/main/java/org/springframework/samples/petclinic/owner/Pet.java b/src/main/java/org/springframework/samples/petclinic/owner/model/Pet.java similarity index 94% rename from src/main/java/org/springframework/samples/petclinic/owner/Pet.java rename to src/main/java/org/springframework/samples/petclinic/owner/model/Pet.java index 1fdc77cec..1f36454ed 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/Pet.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/model/Pet.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.owner; +package org.springframework.samples.petclinic.owner.model; import java.time.LocalDate; import java.util.Collection; @@ -21,7 +21,7 @@ import java.util.LinkedHashSet; import java.util.Set; import org.springframework.format.annotation.DateTimeFormat; -import org.springframework.samples.petclinic.model.NamedEntity; +import org.springframework.samples.petclinic.common.model.NamedEntity; import jakarta.persistence.CascadeType; import jakarta.persistence.Column; diff --git a/src/main/java/org/springframework/samples/petclinic/owner/PetType.java b/src/main/java/org/springframework/samples/petclinic/owner/model/PetType.java similarity index 86% rename from src/main/java/org/springframework/samples/petclinic/owner/PetType.java rename to src/main/java/org/springframework/samples/petclinic/owner/model/PetType.java index eeea6a758..19cb20aa2 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/PetType.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/model/PetType.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.owner; +package org.springframework.samples.petclinic.owner.model; -import org.springframework.samples.petclinic.model.NamedEntity; +import org.springframework.samples.petclinic.common.model.NamedEntity; import jakarta.persistence.Entity; import jakarta.persistence.Table; diff --git a/src/main/java/org/springframework/samples/petclinic/owner/Visit.java b/src/main/java/org/springframework/samples/petclinic/owner/model/Visit.java similarity index 92% rename from src/main/java/org/springframework/samples/petclinic/owner/Visit.java rename to src/main/java/org/springframework/samples/petclinic/owner/model/Visit.java index 35569bdaa..03a09ea6d 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/Visit.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/model/Visit.java @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.owner; +package org.springframework.samples.petclinic.owner.model; import java.time.LocalDate; import org.springframework.format.annotation.DateTimeFormat; -import org.springframework.samples.petclinic.model.BaseEntity; +import org.springframework.samples.petclinic.common.model.BaseEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java b/src/main/java/org/springframework/samples/petclinic/owner/repository/OwnerRepository.java similarity index 92% rename from src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java rename to src/main/java/org/springframework/samples/petclinic/owner/repository/OwnerRepository.java index ae4659114..a78c154c1 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/repository/OwnerRepository.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.owner; +package org.springframework.samples.petclinic.owner.repository; import java.util.List; import java.util.Optional; @@ -23,6 +23,8 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; +import org.springframework.samples.petclinic.owner.model.Owner; +import org.springframework.samples.petclinic.owner.model.PetType; /** * Repository class for Owner domain objects All method names are compliant diff --git a/src/main/java/org/springframework/samples/petclinic/owner/PetValidator.java b/src/main/java/org/springframework/samples/petclinic/owner/validation/PetValidator.java similarity index 93% rename from src/main/java/org/springframework/samples/petclinic/owner/PetValidator.java rename to src/main/java/org/springframework/samples/petclinic/owner/validation/PetValidator.java index 6422aa8db..0f8443f84 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/PetValidator.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/validation/PetValidator.java @@ -13,8 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.owner; +package org.springframework.samples.petclinic.owner.validation; +import org.springframework.samples.petclinic.owner.model.Pet; import org.springframework.util.StringUtils; import org.springframework.validation.Errors; import org.springframework.validation.Validator; diff --git a/src/main/java/org/springframework/samples/petclinic/system/CacheConfiguration.java b/src/main/java/org/springframework/samples/petclinic/system/config/CacheConfiguration.java similarity index 96% rename from src/main/java/org/springframework/samples/petclinic/system/CacheConfiguration.java rename to src/main/java/org/springframework/samples/petclinic/system/config/CacheConfiguration.java index f90679094..d42e1f1b5 100644 --- a/src/main/java/org/springframework/samples/petclinic/system/CacheConfiguration.java +++ b/src/main/java/org/springframework/samples/petclinic/system/config/CacheConfiguration.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.samples.petclinic.system; +package org.springframework.samples.petclinic.system.config; import org.springframework.boot.autoconfigure.cache.JCacheManagerCustomizer; import org.springframework.cache.annotation.EnableCaching; diff --git a/src/main/java/org/springframework/samples/petclinic/system/WebConfiguration.java b/src/main/java/org/springframework/samples/petclinic/system/config/WebConfiguration.java similarity index 96% rename from src/main/java/org/springframework/samples/petclinic/system/WebConfiguration.java rename to src/main/java/org/springframework/samples/petclinic/system/config/WebConfiguration.java index 1ef32e4dc..07c1653fa 100644 --- a/src/main/java/org/springframework/samples/petclinic/system/WebConfiguration.java +++ b/src/main/java/org/springframework/samples/petclinic/system/config/WebConfiguration.java @@ -1,4 +1,4 @@ -package org.springframework.samples.petclinic.system; +package org.springframework.samples.petclinic.system.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/src/main/java/org/springframework/samples/petclinic/system/CrashController.java b/src/main/java/org/springframework/samples/petclinic/system/controller/CrashController.java similarity index 92% rename from src/main/java/org/springframework/samples/petclinic/system/CrashController.java rename to src/main/java/org/springframework/samples/petclinic/system/controller/CrashController.java index 2b28600fd..4d686fcef 100644 --- a/src/main/java/org/springframework/samples/petclinic/system/CrashController.java +++ b/src/main/java/org/springframework/samples/petclinic/system/controller/CrashController.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.system; +package org.springframework.samples.petclinic.system.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.GetMapping; * Also see how a view that resolves to "error" has been added ("error.html"). */ @Controller -class CrashController { +public class CrashController { @GetMapping("/oups") public String triggerException() { diff --git a/src/main/java/org/springframework/samples/petclinic/system/WelcomeController.java b/src/main/java/org/springframework/samples/petclinic/system/controller/WelcomeController.java similarity index 92% rename from src/main/java/org/springframework/samples/petclinic/system/WelcomeController.java rename to src/main/java/org/springframework/samples/petclinic/system/controller/WelcomeController.java index 9224015bc..7b51b4fb6 100644 --- a/src/main/java/org/springframework/samples/petclinic/system/WelcomeController.java +++ b/src/main/java/org/springframework/samples/petclinic/system/controller/WelcomeController.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.samples.petclinic.system; +package org.springframework.samples.petclinic.system.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; diff --git a/src/main/java/org/springframework/samples/petclinic/vet/VetController.java b/src/main/java/org/springframework/samples/petclinic/vet/controller/VetController.java similarity index 90% rename from src/main/java/org/springframework/samples/petclinic/vet/VetController.java rename to src/main/java/org/springframework/samples/petclinic/vet/controller/VetController.java index 29fcecc7a..2121f4e7b 100644 --- a/src/main/java/org/springframework/samples/petclinic/vet/VetController.java +++ b/src/main/java/org/springframework/samples/petclinic/vet/controller/VetController.java @@ -13,13 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.vet; +package org.springframework.samples.petclinic.vet.controller; import java.util.List; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; +import org.springframework.samples.petclinic.vet.model.Vet; +import org.springframework.samples.petclinic.vet.repository.VetRepository; +import org.springframework.samples.petclinic.vet.model.Vets; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @@ -33,7 +36,7 @@ import org.springframework.web.bind.annotation.ResponseBody; * @author Arjen Poutsma */ @Controller -class VetController { +public class VetController { private final VetRepository vetRepository; diff --git a/src/main/java/org/springframework/samples/petclinic/vet/Specialty.java b/src/main/java/org/springframework/samples/petclinic/vet/model/Specialty.java similarity index 87% rename from src/main/java/org/springframework/samples/petclinic/vet/Specialty.java rename to src/main/java/org/springframework/samples/petclinic/vet/model/Specialty.java index b0b6315fc..91fc9c8ef 100644 --- a/src/main/java/org/springframework/samples/petclinic/vet/Specialty.java +++ b/src/main/java/org/springframework/samples/petclinic/vet/model/Specialty.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.vet; +package org.springframework.samples.petclinic.vet.model; -import org.springframework.samples.petclinic.model.NamedEntity; +import org.springframework.samples.petclinic.common.model.NamedEntity; import jakarta.persistence.Entity; import jakarta.persistence.Table; diff --git a/src/main/java/org/springframework/samples/petclinic/vet/Vet.java b/src/main/java/org/springframework/samples/petclinic/vet/model/Vet.java similarity index 91% rename from src/main/java/org/springframework/samples/petclinic/vet/Vet.java rename to src/main/java/org/springframework/samples/petclinic/vet/model/Vet.java index 00c7ec1c8..dd30033ce 100644 --- a/src/main/java/org/springframework/samples/petclinic/vet/Vet.java +++ b/src/main/java/org/springframework/samples/petclinic/vet/model/Vet.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.vet; +package org.springframework.samples.petclinic.vet.model; import java.util.Comparator; import java.util.HashSet; @@ -21,8 +21,8 @@ import java.util.List; import java.util.Set; import java.util.stream.Collectors; -import org.springframework.samples.petclinic.model.NamedEntity; -import org.springframework.samples.petclinic.model.Person; +import org.springframework.samples.petclinic.common.model.NamedEntity; +import org.springframework.samples.petclinic.common.model.Person; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; diff --git a/src/main/java/org/springframework/samples/petclinic/vet/Vets.java b/src/main/java/org/springframework/samples/petclinic/vet/model/Vets.java similarity index 95% rename from src/main/java/org/springframework/samples/petclinic/vet/Vets.java rename to src/main/java/org/springframework/samples/petclinic/vet/model/Vets.java index 9b672d25e..d792d9fd2 100644 --- a/src/main/java/org/springframework/samples/petclinic/vet/Vets.java +++ b/src/main/java/org/springframework/samples/petclinic/vet/model/Vets.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.vet; +package org.springframework.samples.petclinic.vet.model; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/org/springframework/samples/petclinic/vet/VetRepository.java b/src/main/java/org/springframework/samples/petclinic/vet/repository/VetRepository.java similarity index 94% rename from src/main/java/org/springframework/samples/petclinic/vet/VetRepository.java rename to src/main/java/org/springframework/samples/petclinic/vet/repository/VetRepository.java index 8b9e0823c..b0c872313 100644 --- a/src/main/java/org/springframework/samples/petclinic/vet/VetRepository.java +++ b/src/main/java/org/springframework/samples/petclinic/vet/repository/VetRepository.java @@ -13,13 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.vet; +package org.springframework.samples.petclinic.vet.repository; import org.springframework.cache.annotation.Cacheable; import org.springframework.dao.DataAccessException; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.repository.Repository; +import org.springframework.samples.petclinic.vet.model.Vet; import org.springframework.transaction.annotation.Transactional; import java.util.Collection; diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 6ed985654..6d677b6e6 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,7 +1,22 @@ # database init, supports mysql too -database=h2 -spring.sql.init.schema-locations=classpath*:db/${database}/schema.sql -spring.sql.init.data-locations=classpath*:db/${database}/data.sql +#database=jdbc:mysql://localhost:3306/petclinic?useSSL=false&serverTimezone=UTC +#spring.datasource.username=root +#spring.datasource.password=testA@123 +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver + +# database init, supports mysql too +database=mysql +spring.datasource.url=${MYSQL_URL:jdbc:mysql://localhost/petclinic} +spring.datasource.username=root +spring.datasource.password=testA@123 +# SQL is written to be idempotent so this is safe +spring.sql.init.mode=always + +# Hibernate Dialect (important for compatibility) +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect + +spring.sql.init.schema-locations=classpath*:db/mysql/schema.sql +spring.sql.init.data-locations=classpath*:db/mysql/data.sql # Web spring.thymeleaf.mode=HTML diff --git a/src/test/java/org/springframework/samples/petclinic/MySqlIntegrationTests.java b/src/test/java/org/springframework/samples/petclinic/MySqlIntegrationTests.java index d67e449dc..4c388bfa5 100644 --- a/src/test/java/org/springframework/samples/petclinic/MySqlIntegrationTests.java +++ b/src/test/java/org/springframework/samples/petclinic/MySqlIntegrationTests.java @@ -29,7 +29,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.vet.VetRepository; +import org.springframework.samples.petclinic.vet.repository.VetRepository; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.aot.DisabledInAotMode; import org.springframework.web.client.RestTemplate; diff --git a/src/test/java/org/springframework/samples/petclinic/PetClinicIntegrationTests.java b/src/test/java/org/springframework/samples/petclinic/PetClinicIntegrationTests.java index 6d9820696..ba587b1fe 100644 --- a/src/test/java/org/springframework/samples/petclinic/PetClinicIntegrationTests.java +++ b/src/test/java/org/springframework/samples/petclinic/PetClinicIntegrationTests.java @@ -28,7 +28,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.vet.VetRepository; +import org.springframework.samples.petclinic.vet.repository.VetRepository; import org.springframework.web.client.RestTemplate; @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) diff --git a/src/test/java/org/springframework/samples/petclinic/PostgresIntegrationTests.java b/src/test/java/org/springframework/samples/petclinic/PostgresIntegrationTests.java index 0b9e4f93a..9a1af03cd 100644 --- a/src/test/java/org/springframework/samples/petclinic/PostgresIntegrationTests.java +++ b/src/test/java/org/springframework/samples/petclinic/PostgresIntegrationTests.java @@ -43,7 +43,7 @@ import org.springframework.core.env.PropertySource; import org.springframework.http.HttpStatus; import org.springframework.http.RequestEntity; import org.springframework.http.ResponseEntity; -import org.springframework.samples.petclinic.vet.VetRepository; +import org.springframework.samples.petclinic.vet.repository.VetRepository; import org.springframework.test.context.ActiveProfiles; import org.springframework.web.client.RestTemplate; import org.testcontainers.DockerClientFactory; diff --git a/src/test/java/org/springframework/samples/petclinic/model/ValidatorTests.java b/src/test/java/org/springframework/samples/petclinic/model/ValidatorTests.java index c75328522..70d347a6b 100644 --- a/src/test/java/org/springframework/samples/petclinic/model/ValidatorTests.java +++ b/src/test/java/org/springframework/samples/petclinic/model/ValidatorTests.java @@ -23,6 +23,7 @@ import java.util.Set; import org.junit.jupiter.api.Test; import org.springframework.context.i18n.LocaleContextHolder; +import org.springframework.samples.petclinic.common.model.Person; import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean; import jakarta.validation.ConstraintViolation; diff --git a/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTests.java b/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTests.java index 46e7e87ce..bdaea7fa2 100644 --- a/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTests.java +++ b/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTests.java @@ -24,6 +24,12 @@ import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; +import org.springframework.samples.petclinic.owner.controller.OwnerController; +import org.springframework.samples.petclinic.owner.model.Owner; +import org.springframework.samples.petclinic.owner.model.Pet; +import org.springframework.samples.petclinic.owner.model.PetType; +import org.springframework.samples.petclinic.owner.model.Visit; +import org.springframework.samples.petclinic.owner.repository.OwnerRepository; import org.springframework.test.context.aot.DisabledInAotMode; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; diff --git a/src/test/java/org/springframework/samples/petclinic/owner/PetControllerTests.java b/src/test/java/org/springframework/samples/petclinic/owner/PetControllerTests.java index 6fc9a849e..e5c8e2cc3 100644 --- a/src/test/java/org/springframework/samples/petclinic/owner/PetControllerTests.java +++ b/src/test/java/org/springframework/samples/petclinic/owner/PetControllerTests.java @@ -24,6 +24,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.FilterType; +import org.springframework.samples.petclinic.common.formatter.PetTypeFormatter; +import org.springframework.samples.petclinic.owner.controller.PetController; +import org.springframework.samples.petclinic.owner.controller.PetController; +import org.springframework.samples.petclinic.owner.model.Owner; +import org.springframework.samples.petclinic.owner.model.Pet; +import org.springframework.samples.petclinic.owner.model.PetType; +import org.springframework.samples.petclinic.owner.repository.OwnerRepository; import org.springframework.test.context.aot.DisabledInAotMode; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; diff --git a/src/test/java/org/springframework/samples/petclinic/owner/PetTypeFormatterTests.java b/src/test/java/org/springframework/samples/petclinic/owner/PetTypeFormatterTests.java index 0295b4788..8c893c87e 100644 --- a/src/test/java/org/springframework/samples/petclinic/owner/PetTypeFormatterTests.java +++ b/src/test/java/org/springframework/samples/petclinic/owner/PetTypeFormatterTests.java @@ -32,6 +32,9 @@ import org.junit.jupiter.api.condition.DisabledInNativeImage; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.samples.petclinic.common.formatter.PetTypeFormatter; +import org.springframework.samples.petclinic.owner.model.PetType; +import org.springframework.samples.petclinic.owner.repository.OwnerRepository; /** * Test class for {@link PetTypeFormatter} diff --git a/src/test/java/org/springframework/samples/petclinic/owner/PetValidatorTests.java b/src/test/java/org/springframework/samples/petclinic/owner/PetValidatorTests.java index 1a153bcbc..4edcbf157 100644 --- a/src/test/java/org/springframework/samples/petclinic/owner/PetValidatorTests.java +++ b/src/test/java/org/springframework/samples/petclinic/owner/PetValidatorTests.java @@ -22,6 +22,9 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.DisabledInNativeImage; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.samples.petclinic.owner.model.Pet; +import org.springframework.samples.petclinic.owner.model.PetType; +import org.springframework.samples.petclinic.owner.validation.PetValidator; import org.springframework.validation.Errors; import org.springframework.validation.MapBindingResult; diff --git a/src/test/java/org/springframework/samples/petclinic/owner/VisitControllerTests.java b/src/test/java/org/springframework/samples/petclinic/owner/VisitControllerTests.java index e42e75034..20ea2f26a 100644 --- a/src/test/java/org/springframework/samples/petclinic/owner/VisitControllerTests.java +++ b/src/test/java/org/springframework/samples/petclinic/owner/VisitControllerTests.java @@ -28,6 +28,10 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.DisabledInNativeImage; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.samples.petclinic.owner.controller.VisitController; +import org.springframework.samples.petclinic.owner.model.Owner; +import org.springframework.samples.petclinic.owner.model.Pet; +import org.springframework.samples.petclinic.owner.repository.OwnerRepository; import org.springframework.test.context.aot.DisabledInAotMode; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; 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 17360278f..6d2084e00 100644 --- a/src/test/java/org/springframework/samples/petclinic/service/ClinicServiceTests.java +++ b/src/test/java/org/springframework/samples/petclinic/service/ClinicServiceTests.java @@ -29,13 +29,13 @@ import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabas import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import org.springframework.samples.petclinic.owner.Owner; -import org.springframework.samples.petclinic.owner.OwnerRepository; -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.vet.Vet; -import org.springframework.samples.petclinic.vet.VetRepository; +import org.springframework.samples.petclinic.owner.model.Owner; +import org.springframework.samples.petclinic.owner.repository.OwnerRepository; +import org.springframework.samples.petclinic.owner.model.Pet; +import org.springframework.samples.petclinic.owner.model.PetType; +import org.springframework.samples.petclinic.owner.model.Visit; +import org.springframework.samples.petclinic.vet.model.Vet; +import org.springframework.samples.petclinic.vet.repository.VetRepository; import org.springframework.transaction.annotation.Transactional; /** diff --git a/src/test/java/org/springframework/samples/petclinic/service/EntityUtils.java b/src/test/java/org/springframework/samples/petclinic/service/EntityUtils.java index 7b7a5e64a..accedcd74 100644 --- a/src/test/java/org/springframework/samples/petclinic/service/EntityUtils.java +++ b/src/test/java/org/springframework/samples/petclinic/service/EntityUtils.java @@ -17,7 +17,7 @@ package org.springframework.samples.petclinic.service; import org.springframework.orm.ObjectRetrievalFailureException; -import org.springframework.samples.petclinic.model.BaseEntity; +import org.springframework.samples.petclinic.common.model.BaseEntity; import java.util.Collection; @@ -27,7 +27,7 @@ import java.util.Collection; * * @author Juergen Hoeller * @author Sam Brannen - * @see org.springframework.samples.petclinic.model.BaseEntity + * @see BaseEntity * @since 29.10.2003 */ public abstract class EntityUtils { diff --git a/src/test/java/org/springframework/samples/petclinic/system/CrashControllerIntegrationTests.java b/src/test/java/org/springframework/samples/petclinic/system/CrashControllerIntegrationTests.java index 3cdca47bf..005f54863 100644 --- a/src/test/java/org/springframework/samples/petclinic/system/CrashControllerIntegrationTests.java +++ b/src/test/java/org/springframework/samples/petclinic/system/CrashControllerIntegrationTests.java @@ -41,7 +41,7 @@ import org.springframework.http.RequestEntity; import org.springframework.http.ResponseEntity; /** - * Integration Test for {@link CrashController}. + * Integration Test for {@link org.springframework.samples.petclinic.system.controller.CrashController}. * * @author Alex Lutz */ diff --git a/src/test/java/org/springframework/samples/petclinic/system/CrashControllerTests.java b/src/test/java/org/springframework/samples/petclinic/system/CrashControllerTests.java index cc2ad6746..f60b6819f 100644 --- a/src/test/java/org/springframework/samples/petclinic/system/CrashControllerTests.java +++ b/src/test/java/org/springframework/samples/petclinic/system/CrashControllerTests.java @@ -19,9 +19,10 @@ package org.springframework.samples.petclinic.system; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import org.springframework.samples.petclinic.system.controller.CrashController; /** - * Test class for {@link CrashController} + * Test class for {@link org.springframework.samples.petclinic.system.controller.CrashController} * * @author Colin But * @author Alex Lutz diff --git a/src/test/java/org/springframework/samples/petclinic/vet/VetControllerTests.java b/src/test/java/org/springframework/samples/petclinic/vet/VetControllerTests.java index 5fffeea47..54ac38311 100644 --- a/src/test/java/org/springframework/samples/petclinic/vet/VetControllerTests.java +++ b/src/test/java/org/springframework/samples/petclinic/vet/VetControllerTests.java @@ -25,6 +25,10 @@ import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; import org.springframework.http.MediaType; +import org.springframework.samples.petclinic.vet.controller.VetController; +import org.springframework.samples.petclinic.vet.model.Specialty; +import org.springframework.samples.petclinic.vet.model.Vet; +import org.springframework.samples.petclinic.vet.repository.VetRepository; import org.springframework.test.context.aot.DisabledInAotMode; import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.web.servlet.MockMvc; diff --git a/src/test/java/org/springframework/samples/petclinic/vet/VetTests.java b/src/test/java/org/springframework/samples/petclinic/vet/VetTests.java index b29c6d100..2bdc79ab8 100644 --- a/src/test/java/org/springframework/samples/petclinic/vet/VetTests.java +++ b/src/test/java/org/springframework/samples/petclinic/vet/VetTests.java @@ -16,6 +16,7 @@ package org.springframework.samples.petclinic.vet; import org.junit.jupiter.api.Test; +import org.springframework.samples.petclinic.vet.model.Vet; import org.springframework.util.SerializationUtils; import static org.assertj.core.api.Assertions.assertThat;