Skip to content

Commit b030cd4

Browse files
committed
Hexagonal pattern: Introduce lottery utils class
1 parent 6aa58e8 commit b030cd4

File tree

3 files changed

+8
-10
lines changed

3 files changed

+8
-10
lines changed

hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryAdministration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public LotteryNumbers performLottery() {
6565
LotteryNumbers numbers = LotteryNumbers.createRandom();
6666
Map<LotteryTicketId, LotteryTicket> tickets = getAllSubmittedTickets();
6767
for (LotteryTicketId id : tickets.keySet()) {
68-
LotteryTicketCheckResult result = new LotteryTicketChecker(repository).checkTicketForPrize(id, numbers);
68+
LotteryTicketCheckResult result = LotteryUtils.checkTicketForPrize(repository, id, numbers);
6969
if (result.getResult().equals(LotteryTicketCheckResult.CheckResult.WIN_PRIZE)) {
7070
boolean transferred = wireTransfers.transferFunds(LotteryConstants.PRIZE_AMOUNT,
7171
LotteryConstants.SERVICE_BANK_ACCOUNT, tickets.get(id).getPlayerDetails().getBankAccount());

hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,6 @@ public Optional<LotteryTicketId> submitTicket(LotteryTicket ticket) {
7272
* Check if lottery ticket has won
7373
*/
7474
public LotteryTicketCheckResult checkTicketForPrize(LotteryTicketId id, LotteryNumbers winningNumbers) {
75-
return new LotteryTicketChecker(repository).checkTicketForPrize(id, winningNumbers);
75+
return LotteryUtils.checkTicketForPrize(repository, id, winningNumbers);
7676
}
7777
}

hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryTicketChecker.java renamed to hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryUtils.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,18 @@
2727
import java.util.Optional;
2828

2929
/**
30-
* Lottery ticket checker
30+
* Lottery utilities
3131
*/
32-
public class LotteryTicketChecker {
32+
public class LotteryUtils {
3333

34-
private final LotteryTicketRepository repository;
35-
36-
public LotteryTicketChecker(LotteryTicketRepository repository) {
37-
this.repository = repository;
34+
private LotteryUtils() {
3835
}
3936

4037
/**
41-
* Check if lottery ticket has won
38+
* Checks if lottery ticket has won
4239
*/
43-
public LotteryTicketCheckResult checkTicketForPrize(LotteryTicketId id, LotteryNumbers winningNumbers) {
40+
public static LotteryTicketCheckResult checkTicketForPrize(LotteryTicketRepository repository, LotteryTicketId id,
41+
LotteryNumbers winningNumbers) {
4442
Optional<LotteryTicket> optional = repository.findById(id);
4543
if (optional.isPresent()) {
4644
if (optional.get().getNumbers().equals(winningNumbers)) {

0 commit comments

Comments
 (0)