aboutsummaryrefslogtreecommitdiffstats
path: root/ui-console/src/main/java/market/guess/ui
diff options
context:
space:
mode:
authorKostya <mail@sartin.in>2026-08-18 06:52:47 +0000
committerKostya <mail@sartin.in>2026-08-18 06:52:47 +0000
commitd2688a197bd680580699f05e8194f9180e4832fa (patch)
tree0531ef505b0637c9c4bcc17ab6183a6089e26889 /ui-console/src/main/java/market/guess/ui
parent13a221ffaefc169d028c7eab6f21ac88052d1d40 (diff)
downloadguess-market-d2688a197bd680580699f05e8194f9180e4832fa.tar.gz
guess-market-d2688a197bd680580699f05e8194f9180e4832fa.tar.xz
guess-market-d2688a197bd680580699f05e8194f9180e4832fa.zip
Add XML schema validation, split build scripts by module, rename BuyMenuCommand to PlaceOrderMenuCommand
Introduces XMLValidatorV1 and deserializer/adapter classes for events, ledgers, markets, users, and trading mechanisms. Replaces the monolithic build.bat/run.sh scripts with per-module tools (_util.sh, build.sh, package.sh, test.sh) that compile in dependency order.
Diffstat (limited to 'ui-console/src/main/java/market/guess/ui')
-rw-r--r--ui-console/src/main/java/market/guess/ui/console/App.java6
-rw-r--r--ui-console/src/main/java/market/guess/ui/console/command/LoadFileMenuCommand.java2
-rw-r--r--ui-console/src/main/java/market/guess/ui/console/command/PlaceOrderMenuCommand.java (renamed from ui-console/src/main/java/market/guess/ui/console/command/BuyMenuCommand.java)7
3 files changed, 9 insertions, 6 deletions
diff --git a/ui-console/src/main/java/market/guess/ui/console/App.java b/ui-console/src/main/java/market/guess/ui/console/App.java
index 5ee5aaf..047bad1 100644
--- a/ui-console/src/main/java/market/guess/ui/console/App.java
+++ b/ui-console/src/main/java/market/guess/ui/console/App.java
@@ -9,6 +9,7 @@ import market.guess.service.catalog.infrastructure.MarketContext;
9import market.guess.service.catalog.infrastructure.mapper.v1.EventMapperV1; 9import market.guess.service.catalog.infrastructure.mapper.v1.EventMapperV1;
10import market.guess.service.catalog.infrastructure.provider.Loader; 10import market.guess.service.catalog.infrastructure.provider.Loader;
11import market.guess.service.catalog.infrastructure.provider.v1.XMLLoaderV1; 11import market.guess.service.catalog.infrastructure.provider.v1.XMLLoaderV1;
12import market.guess.service.catalog.infrastructure.provider.v1.XMLValidatorV1;
12import market.guess.service.catalog.infrastructure.repository.EventRepository; 13import market.guess.service.catalog.infrastructure.repository.EventRepository;
13import market.guess.service.catalog.infrastructure.repository.InMemoryEventRepository; 14import market.guess.service.catalog.infrastructure.repository.InMemoryEventRepository;
14import market.guess.service.catalog.infrastructure.repository.InMemoryUserRepository; 15import market.guess.service.catalog.infrastructure.repository.InMemoryUserRepository;
@@ -22,12 +23,12 @@ import market.guess.service.risk.LocalRiskEngine;
22import market.guess.service.risk.RiskEngine; 23import market.guess.service.risk.RiskEngine;
23import market.guess.service.settlement.LocalSettlementContext; 24import market.guess.service.settlement.LocalSettlementContext;
24import market.guess.service.settlement.SettlementContext; 25import market.guess.service.settlement.SettlementContext;
25import market.guess.ui.console.command.BuyMenuCommand;
26import market.guess.ui.console.command.EventDetailsMenuCommand; 26import market.guess.ui.console.command.EventDetailsMenuCommand;
27import market.guess.ui.console.command.ExitMenuCommand; 27import market.guess.ui.console.command.ExitMenuCommand;
28import market.guess.ui.console.command.ListEventsMenuCommand; 28import market.guess.ui.console.command.ListEventsMenuCommand;
29import market.guess.ui.console.command.LoadFileMenuCommand; 29import market.guess.ui.console.command.LoadFileMenuCommand;
30import market.guess.ui.console.command.LoadMarketStateMenuCommand; 30import market.guess.ui.console.command.LoadMarketStateMenuCommand;
31import market.guess.ui.console.command.PlaceOrderMenuCommand;
31import market.guess.ui.console.command.SaveMarketStateMenuCommand; 32import market.guess.ui.console.command.SaveMarketStateMenuCommand;
32import market.guess.ui.console.command.SettleEventMenuCommand; 33import market.guess.ui.console.command.SettleEventMenuCommand;
33import market.guess.ui.console.io.InputProcessor; 34import market.guess.ui.console.io.InputProcessor;
@@ -43,6 +44,7 @@ public class App {
43 pico.addComponent(MarketContext.class); 44 pico.addComponent(MarketContext.class);
44 pico.addComponent(EventMapperV1.class); 45 pico.addComponent(EventMapperV1.class);
45 pico.addComponent(Loader.class, XMLLoaderV1.class); 46 pico.addComponent(Loader.class, XMLLoaderV1.class);
47 pico.addComponent(XMLValidatorV1.class);
46 pico.addComponent(GuessMarketContext.class, LocalGuessMarketContext.class); 48 pico.addComponent(GuessMarketContext.class, LocalGuessMarketContext.class);
47 pico.addComponent(CatalogContext.class, LocalCatalogContext.class); 49 pico.addComponent(CatalogContext.class, LocalCatalogContext.class);
48 pico.addComponent(LedgerContext.class); 50 pico.addComponent(LedgerContext.class);
@@ -56,7 +58,7 @@ public class App {
56 pico.addComponent(LoadFileMenuCommand.class); 58 pico.addComponent(LoadFileMenuCommand.class);
57 pico.addComponent(ListEventsMenuCommand.class); 59 pico.addComponent(ListEventsMenuCommand.class);
58 pico.addComponent(ExitMenuCommand.class); 60 pico.addComponent(ExitMenuCommand.class);
59 pico.addComponent(BuyMenuCommand.class); 61 pico.addComponent(PlaceOrderMenuCommand.class);
60 pico.addComponent(SettleEventMenuCommand.class); 62 pico.addComponent(SettleEventMenuCommand.class);
61 pico.addComponent(EventDetailsMenuCommand.class); 63 pico.addComponent(EventDetailsMenuCommand.class);
62 pico.addComponent(LoadMarketStateMenuCommand.class); 64 pico.addComponent(LoadMarketStateMenuCommand.class);
diff --git a/ui-console/src/main/java/market/guess/ui/console/command/LoadFileMenuCommand.java b/ui-console/src/main/java/market/guess/ui/console/command/LoadFileMenuCommand.java
index 024f1f7..11ec478 100644
--- a/ui-console/src/main/java/market/guess/ui/console/command/LoadFileMenuCommand.java
+++ b/ui-console/src/main/java/market/guess/ui/console/command/LoadFileMenuCommand.java
@@ -35,6 +35,6 @@ public final class LoadFileMenuCommand implements MenuCommand {
35 return; 35 return;
36 } 36 }
37 37
38 io.println("The file was not loaded, %s ".formatted(result.getMessage())); 38 io.println("The file was not loaded, %s ".formatted(result.getDetails()));
39 } 39 }
40} 40}
diff --git a/ui-console/src/main/java/market/guess/ui/console/command/BuyMenuCommand.java b/ui-console/src/main/java/market/guess/ui/console/command/PlaceOrderMenuCommand.java
index bee2351..6c2e674 100644
--- a/ui-console/src/main/java/market/guess/ui/console/command/BuyMenuCommand.java
+++ b/ui-console/src/main/java/market/guess/ui/console/command/PlaceOrderMenuCommand.java
@@ -6,12 +6,13 @@ import market.guess.api.GuessMarketContext;
6import market.guess.model.event.EventStatus; 6import market.guess.model.event.EventStatus;
7import market.guess.ui.console.io.InputProcessor; 7import market.guess.ui.console.io.InputProcessor;
8 8
9public final class BuyMenuCommand implements MenuCommand { 9public final class PlaceOrderMenuCommand implements MenuCommand {
10 private final GuessMarketContext context; 10 private final GuessMarketContext context;
11 private final CatalogContext catalog; 11 private final CatalogContext catalog;
12 private final InputProcessor io; 12 private final InputProcessor io;
13 13
14 public BuyMenuCommand(GuessMarketContext context, CatalogContext catalog, InputProcessor io) { 14 public PlaceOrderMenuCommand(
15 GuessMarketContext context, CatalogContext catalog, InputProcessor io) {
15 super(); 16 super();
16 this.context = context; 17 this.context = context;
17 this.catalog = catalog; 18 this.catalog = catalog;
@@ -25,7 +26,7 @@ public final class BuyMenuCommand implements MenuCommand {
25 26
26 @Override 27 @Override
27 public String getName() { 28 public String getName() {
28 return "Buy share(s) in an event"; 29 return "Create a but order on an event";
29 } 30 }
30 31
31 @Override 32 @Override