aboutsummaryrefslogtreecommitdiffstats
path: root/engine/src/main/java/market
diff options
context:
space:
mode:
authorKostya <mail@sartin.in>2026-08-13 15:39:56 +0000
committerKostya <mail@sartin.in>2026-08-13 15:39:56 +0000
commit9dd3ec7ff11839503e4d5ef6639d0faa21403095 (patch)
tree925fb81222c055404b63cc8eed8ef7ae710ec5be /engine/src/main/java/market
parentc58e65ad4fba4b964d26dcf11d6163465fc3cfd3 (diff)
downloadguess-market-9dd3ec7ff11839503e4d5ef6639d0faa21403095.tar.gz
guess-market-9dd3ec7ff11839503e4d5ef6639d0faa21403095.tar.xz
guess-market-9dd3ec7ff11839503e4d5ef6639d0faa21403095.zip
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.
Diffstat (limited to 'engine/src/main/java/market')
-rw-r--r--engine/src/main/java/market/guess/engine/LocalGuessMarketService.java20
-rw-r--r--engine/src/main/java/market/guess/engine/provider/LocalGuessMarketContext.java11
2 files changed, 6 insertions, 25 deletions
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 @@
1package market.guess.engine;
2
3import java.util.concurrent.CompletableFuture;
4import market.guess.api.GuessMarketContext;
5import market.guess.api.GuessMarketEngine;
6import market.guess.api.LoadResultDTO;
7
8public class LocalGuessMarketService implements GuessMarketEngine {
9 private final GuessMarketContext context;
10
11 public LocalGuessMarketService(GuessMarketContext context) {
12 super();
13 this.context = context;
14 }
15
16 @Override
17 public CompletableFuture<LoadResultDTO> loadEvents() {
18 return context.LoadAsync();
19 }
20}
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;
4import jakarta.xml.bind.Marshaller; 4import jakarta.xml.bind.Marshaller;
5import java.io.File; 5import java.io.File;
6import java.util.List; 6import java.util.List;
7import java.util.concurrent.CompletableFuture;
8import market.guess.api.CommissionChargeType; 7import market.guess.api.CommissionChargeType;
9import market.guess.api.EventDTO; 8import market.guess.api.EventDTO;
10import market.guess.api.EventStatus; 9import market.guess.api.EventStatus;
11import market.guess.api.GuessMarketContext; 10import market.guess.api.GuessMarketContext;
12import market.guess.api.LoadResultDTO; 11import market.guess.api.LoadResultDTO;
12import market.guess.api.ProblemDTO;
13import market.guess.engine.model.GuessMarket; 13import market.guess.engine.model.GuessMarket;
14 14
15public class LocalGuessMarketContext implements GuessMarketContext { 15public class LocalGuessMarketContext implements GuessMarketContext {
16 private GuessMarket context; 16 private GuessMarket context;
17 17
18 @Override 18 @Override
19 public CompletableFuture<LoadResultDTO> LoadAsync() { 19 public LoadResultDTO LoadAsync() {
20 var file = new File("test-data/ex-1/multiple.xml");
20 try { 21 try {
21 var file = new File("test-data/ex-1/multiple.xml");
22 var ctx = JAXBContext.newInstance(GuessMarket.class); 22 var ctx = JAXBContext.newInstance(GuessMarket.class);
23 var unmarshaller = ctx.createUnmarshaller(); 23 var unmarshaller = ctx.createUnmarshaller();
24 24
25 context = (GuessMarket) unmarshaller.unmarshal(file); 25 context = (GuessMarket) unmarshaller.unmarshal(file);
26 26 return LoadResultDTO.success(file.getPath(), context.getGMEvents().getGMEvent().size());
27 } catch (Exception e) { 27 } catch (Exception e) {
28 e.printStackTrace(); 28 e.printStackTrace();
29 return LoadResultDTO.failure(
30 file.getPath(), List.of(new ProblemDTO("LOAD_FAILED", e.getMessage(), file.getPath())));
29 } 31 }
30 return CompletableFuture.completedFuture(new LoadResultDTO());
31 } 32 }
32 33
33 @Override 34 @Override