diff --git a/src/main/java/guru/springframework/spring6restmvc/services/BeerServiceJPA.java b/src/main/java/guru/springframework/spring6restmvc/services/BeerServiceJPA.java index d19bcb086..e0f20612a 100644 --- a/src/main/java/guru/springframework/spring6restmvc/services/BeerServiceJPA.java +++ b/src/main/java/guru/springframework/spring6restmvc/services/BeerServiceJPA.java @@ -10,7 +10,6 @@ import java.util.List; import java.util.Optional; import java.util.UUID; -import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; /** @@ -44,20 +43,15 @@ public BeerDTO saveNewBeer(BeerDTO beer) { @Override public Optional updateBeerById(UUID beerId, BeerDTO beer) { - AtomicReference> atomicReference = new AtomicReference<>(); - - beerRepository.findById(beerId).ifPresentOrElse(foundBeer -> { - foundBeer.setBeerName(beer.getBeerName()); - foundBeer.setBeerStyle(beer.getBeerStyle()); - foundBeer.setUpc(beer.getUpc()); - foundBeer.setPrice(beer.getPrice()); - atomicReference.set(Optional.of(beerMapper - .beerToBeerDto(beerRepository.save(foundBeer)))); - }, () -> { - atomicReference.set(Optional.empty()); - }); - - return atomicReference.get(); + return beerRepository.findById(beerId) + .map(foundBeer -> { + foundBeer.setBeerName(beer.getBeerName()); + foundBeer.setBeerStyle(beer.getBeerStyle()); + foundBeer.setUpc(beer.getUpc()); + foundBeer.setPrice(beer.getPrice()); + beerRepository.save(foundBeer); + return beerMapper.beerToBeerDto(foundBeer); + }); } @Override