From b030cd4ebafcdcb017cbec979ec58b0de663ceba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ilkka=20Sepp=C3=A4l=C3=A4?= Date: Sat, 17 Sep 2016 09:20:33 +0300 Subject: [PATCH] Hexagonal pattern: Introduce lottery utils class --- .../hexagonal/domain/LotteryAdministration.java | 2 +- .../iluwatar/hexagonal/domain/LotteryService.java | 2 +- ...LotteryTicketChecker.java => LotteryUtils.java} | 14 ++++++-------- 3 files changed, 8 insertions(+), 10 deletions(-) rename hexagonal/src/main/java/com/iluwatar/hexagonal/domain/{LotteryTicketChecker.java => LotteryUtils.java} (83%) diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryAdministration.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryAdministration.java index d544c84a1..bc264a9ef 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryAdministration.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryAdministration.java @@ -65,7 +65,7 @@ public class LotteryAdministration { LotteryNumbers numbers = LotteryNumbers.createRandom(); Map tickets = getAllSubmittedTickets(); for (LotteryTicketId id : tickets.keySet()) { - LotteryTicketCheckResult result = new LotteryTicketChecker(repository).checkTicketForPrize(id, numbers); + LotteryTicketCheckResult result = LotteryUtils.checkTicketForPrize(repository, id, numbers); if (result.getResult().equals(LotteryTicketCheckResult.CheckResult.WIN_PRIZE)) { boolean transferred = wireTransfers.transferFunds(LotteryConstants.PRIZE_AMOUNT, LotteryConstants.SERVICE_BANK_ACCOUNT, tickets.get(id).getPlayerDetails().getBankAccount()); diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryService.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryService.java index 6a032462d..dceac26e4 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryService.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryService.java @@ -72,6 +72,6 @@ public class LotteryService { * Check if lottery ticket has won */ public LotteryTicketCheckResult checkTicketForPrize(LotteryTicketId id, LotteryNumbers winningNumbers) { - return new LotteryTicketChecker(repository).checkTicketForPrize(id, winningNumbers); + return LotteryUtils.checkTicketForPrize(repository, id, winningNumbers); } } diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryTicketChecker.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryUtils.java similarity index 83% rename from hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryTicketChecker.java rename to hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryUtils.java index ce193386b..dc34c7f7d 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryTicketChecker.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryUtils.java @@ -27,20 +27,18 @@ import com.iluwatar.hexagonal.database.LotteryTicketRepository; import java.util.Optional; /** - * Lottery ticket checker + * Lottery utilities */ -public class LotteryTicketChecker { +public class LotteryUtils { - private final LotteryTicketRepository repository; - - public LotteryTicketChecker(LotteryTicketRepository repository) { - this.repository = repository; + private LotteryUtils() { } /** - * Check if lottery ticket has won + * Checks if lottery ticket has won */ - public LotteryTicketCheckResult checkTicketForPrize(LotteryTicketId id, LotteryNumbers winningNumbers) { + public static LotteryTicketCheckResult checkTicketForPrize(LotteryTicketRepository repository, LotteryTicketId id, + LotteryNumbers winningNumbers) { Optional optional = repository.findById(id); if (optional.isPresent()) { if (optional.get().getNumbers().equals(winningNumbers)) {