From 65ef330ad8182c95cc26260548e687d1d71c5ca2 Mon Sep 17 00:00:00 2001 From: Kostya Date: Fri, 14 Aug 2026 07:54:12 +0000 Subject: Wire EventRepository into LocalGuessMarketContext, add mapper/provider infra and tests Removes the placeholder Mapper interface in favor of concrete mapper/provider implementations, fixes Menu.stop() to no-op instead of throwing. --- .../java/market/guess/service/LocalGuessMarketContext.java | 7 +++++++ .../java/market/guess/service/infrastructure/Mapper.java | 3 --- .../guess/service/infrastructure/mapper/EventMapperV1.java | 13 +++++++++++++ .../market/guess/service/infrastructure/mapper/Mapper.java | 5 +++++ .../guess/service/infrastructure/provider/Loader.java | 8 ++++++++ .../market/guess/service/repository/EventRepository.java | 3 +++ 6 files changed, 36 insertions(+), 3 deletions(-) delete mode 100644 service/src/main/java/market/guess/service/infrastructure/Mapper.java create mode 100644 service/src/main/java/market/guess/service/infrastructure/mapper/EventMapperV1.java create mode 100644 service/src/main/java/market/guess/service/infrastructure/mapper/Mapper.java create mode 100644 service/src/main/java/market/guess/service/infrastructure/provider/Loader.java (limited to 'service/src/main/java') diff --git a/service/src/main/java/market/guess/service/LocalGuessMarketContext.java b/service/src/main/java/market/guess/service/LocalGuessMarketContext.java index cabb6ac..a01d6d7 100644 --- a/service/src/main/java/market/guess/service/LocalGuessMarketContext.java +++ b/service/src/main/java/market/guess/service/LocalGuessMarketContext.java @@ -9,8 +9,15 @@ import market.guess.api.GuessMarketContext; import market.guess.api.LoadResultDTO; import market.guess.api.PurchaseReceiptDTO; import market.guess.exception.GuessMarketException; +import market.guess.service.repository.EventRepository; public final class LocalGuessMarketContext implements GuessMarketContext { + private final EventRepository eventRepository; + + public LocalGuessMarketContext(EventRepository eventRepository) { + super(); + this.eventRepository = eventRepository; + } @Override public LoadResultDTO loadEvents(Path path) { diff --git a/service/src/main/java/market/guess/service/infrastructure/Mapper.java b/service/src/main/java/market/guess/service/infrastructure/Mapper.java deleted file mode 100644 index 07f565b..0000000 --- a/service/src/main/java/market/guess/service/infrastructure/Mapper.java +++ /dev/null @@ -1,3 +0,0 @@ -package market.guess.service.infrastructure; - -public interface Mapper {} diff --git a/service/src/main/java/market/guess/service/infrastructure/mapper/EventMapperV1.java b/service/src/main/java/market/guess/service/infrastructure/mapper/EventMapperV1.java new file mode 100644 index 0000000..dadbae6 --- /dev/null +++ b/service/src/main/java/market/guess/service/infrastructure/mapper/EventMapperV1.java @@ -0,0 +1,13 @@ +package market.guess.service.infrastructure.mapper; + +import market.guess.service.domain.Event; +import market.guess.service.model.v1.GMEvent; + +public final class EventMapperV1 implements Mapper { + + @Override + public Event toDomain(GMEvent source) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'toDomain'"); + } +} diff --git a/service/src/main/java/market/guess/service/infrastructure/mapper/Mapper.java b/service/src/main/java/market/guess/service/infrastructure/mapper/Mapper.java new file mode 100644 index 0000000..44e192b --- /dev/null +++ b/service/src/main/java/market/guess/service/infrastructure/mapper/Mapper.java @@ -0,0 +1,5 @@ +package market.guess.service.infrastructure.mapper; + +public interface Mapper { + TDomain toDomain(TModel source); +} diff --git a/service/src/main/java/market/guess/service/infrastructure/provider/Loader.java b/service/src/main/java/market/guess/service/infrastructure/provider/Loader.java new file mode 100644 index 0000000..7588855 --- /dev/null +++ b/service/src/main/java/market/guess/service/infrastructure/provider/Loader.java @@ -0,0 +1,8 @@ +package market.guess.service.infrastructure.provider; + +import java.nio.file.Path; +import market.guess.api.LoadResultDTO; + +public interface Loader { + LoadResultDTO load(Path path); +} diff --git a/service/src/main/java/market/guess/service/repository/EventRepository.java b/service/src/main/java/market/guess/service/repository/EventRepository.java index 506949f..f532793 100644 --- a/service/src/main/java/market/guess/service/repository/EventRepository.java +++ b/service/src/main/java/market/guess/service/repository/EventRepository.java @@ -1,7 +1,10 @@ package market.guess.service.repository; +import java.util.List; import market.guess.service.domain.Event; public interface EventRepository { Event getEvent(String id); + + List getAllEvents(); } -- cgit v1.2.3