From 9dd3ec7ff11839503e4d5ef6639d0faa21403095 Mon Sep 17 00:00:00 2001 From: Kostya Date: Thu, 13 Aug 2026 15:39:56 +0000 Subject: Move I/O provider abstraction to ui-console, add ledger/account/problem DTOs InputProvider/OutputProvider were api-layer types only ever implemented by the console UI; relocate them there. Drop the unused GuessMarketEngine/LocalGuessMarketService pair, flesh out LoadResultDTO with success/failure variants, and make LocalGuessMarketContext.LoadAsync report real outcomes instead of an empty placeholder. --- .../market/guess/engine/LocalGuessMarketService.java | 20 -------------------- .../engine/provider/LocalGuessMarketContext.java | 11 ++++++----- 2 files changed, 6 insertions(+), 25 deletions(-) delete mode 100644 engine/src/main/java/market/guess/engine/LocalGuessMarketService.java (limited to 'engine/src') diff --git a/engine/src/main/java/market/guess/engine/LocalGuessMarketService.java b/engine/src/main/java/market/guess/engine/LocalGuessMarketService.java deleted file mode 100644 index dafbef6..0000000 --- a/engine/src/main/java/market/guess/engine/LocalGuessMarketService.java +++ /dev/null @@ -1,20 +0,0 @@ -package market.guess.engine; - -import java.util.concurrent.CompletableFuture; -import market.guess.api.GuessMarketContext; -import market.guess.api.GuessMarketEngine; -import market.guess.api.LoadResultDTO; - -public class LocalGuessMarketService implements GuessMarketEngine { - private final GuessMarketContext context; - - public LocalGuessMarketService(GuessMarketContext context) { - super(); - this.context = context; - } - - @Override - public CompletableFuture loadEvents() { - return context.LoadAsync(); - } -} diff --git a/engine/src/main/java/market/guess/engine/provider/LocalGuessMarketContext.java b/engine/src/main/java/market/guess/engine/provider/LocalGuessMarketContext.java index 628038d..cf0923b 100644 --- a/engine/src/main/java/market/guess/engine/provider/LocalGuessMarketContext.java +++ b/engine/src/main/java/market/guess/engine/provider/LocalGuessMarketContext.java @@ -4,30 +4,31 @@ import jakarta.xml.bind.JAXBContext; import jakarta.xml.bind.Marshaller; import java.io.File; import java.util.List; -import java.util.concurrent.CompletableFuture; import market.guess.api.CommissionChargeType; import market.guess.api.EventDTO; import market.guess.api.EventStatus; import market.guess.api.GuessMarketContext; import market.guess.api.LoadResultDTO; +import market.guess.api.ProblemDTO; import market.guess.engine.model.GuessMarket; public class LocalGuessMarketContext implements GuessMarketContext { private GuessMarket context; @Override - public CompletableFuture LoadAsync() { + public LoadResultDTO LoadAsync() { + var file = new File("test-data/ex-1/multiple.xml"); try { - var file = new File("test-data/ex-1/multiple.xml"); var ctx = JAXBContext.newInstance(GuessMarket.class); var unmarshaller = ctx.createUnmarshaller(); context = (GuessMarket) unmarshaller.unmarshal(file); - + return LoadResultDTO.success(file.getPath(), context.getGMEvents().getGMEvent().size()); } catch (Exception e) { e.printStackTrace(); + return LoadResultDTO.failure( + file.getPath(), List.of(new ProblemDTO("LOAD_FAILED", e.getMessage(), file.getPath()))); } - return CompletableFuture.completedFuture(new LoadResultDTO()); } @Override -- cgit v1.2.3