mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-04-24 11:22:49 +00:00
Improved the Owner search query
Signed-off-by: Perumal Raj A <perumalraj024@gmail.com>
This commit is contained in:
parent
2ab1cef91f
commit
e15623d232
2 changed files with 20 additions and 28 deletions
|
@ -92,33 +92,27 @@ class OwnerController {
|
|||
@GetMapping("/owners")
|
||||
public String processFindForm(@RequestParam(defaultValue = "1") int page, Owner owner, BindingResult result,
|
||||
Model model) {
|
||||
try {
|
||||
// allow parameterless GET request for /owners to return all records
|
||||
if (owner.getLastName() == null) {
|
||||
owner.setLastName(""); // empty string signifies broadest possible search
|
||||
}
|
||||
|
||||
// find owners by last name
|
||||
Page<Owner> ownersResults = findPaginatedForOwnersLastName(page, owner.getLastName());
|
||||
if (ownersResults.isEmpty()) {
|
||||
// no owners found
|
||||
result.rejectValue("lastName", "notFound", "not found");
|
||||
return "owners/findOwners";
|
||||
}
|
||||
|
||||
if (ownersResults.getTotalElements() == 1) {
|
||||
// 1 owner found
|
||||
owner = ownersResults.iterator().next();
|
||||
return "redirect:/owners/" + owner.getId();
|
||||
}
|
||||
// multiple owners found
|
||||
return addPaginationModel(page, model, ownersResults);
|
||||
// allow parameterless GET request for /owners to return all records
|
||||
if (owner.getLastName() == null) {
|
||||
owner.setLastName(""); // empty string signifies broadest possible search
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();// print exception to console or log in file
|
||||
return "error"; // redirect to generic error page
|
||||
|
||||
// find owners by last name
|
||||
Page<Owner> ownersResults = findPaginatedForOwnersLastName(page, owner.getLastName());
|
||||
if (ownersResults.isEmpty()) {
|
||||
// no owners found
|
||||
result.rejectValue("lastName", "notFound", "not found");
|
||||
return "owners/findOwners";
|
||||
}
|
||||
|
||||
if (ownersResults.getTotalElements() == 1) {
|
||||
// 1 owner found
|
||||
owner = ownersResults.iterator().next();
|
||||
return "redirect:/owners/" + owner.getId();
|
||||
}
|
||||
// multiple owners found
|
||||
return addPaginationModel(page, model, ownersResults);
|
||||
|
||||
}
|
||||
|
||||
private String addPaginationModel(int page, Model model, Page<Owner> paginated) {
|
||||
|
|
|
@ -18,10 +18,8 @@ management.endpoints.web.exposure.include=*
|
|||
|
||||
# Logging
|
||||
logging.level.org.springframework=INFO
|
||||
logging.level.org.springframework.web=DEBUG
|
||||
logging.level.org.springframework.context.annotation=TRACE
|
||||
logging.level.org.springframework=DEBUG
|
||||
logging.level.org.hibernate.SQL=DEBUG
|
||||
# logging.level.org.springframework.web=DEBUG
|
||||
# logging.level.org.springframework.context.annotation=TRACE
|
||||
|
||||
# Maximum time static resources should be cached
|
||||
spring.web.resources.cache.cachecontrol.max-age=12h
|
||||
|
|
Loading…
Reference in a new issue