diff options
| author | Kostya <mail@sartin.in> | 2026-08-18 06:52:47 +0000 |
|---|---|---|
| committer | Kostya <mail@sartin.in> | 2026-08-18 06:52:47 +0000 |
| commit | d2688a197bd680580699f05e8194f9180e4832fa (patch) | |
| tree | 0531ef505b0637c9c4bcc17ab6183a6089e26889 /ui-console/src/main/java | |
| parent | 13a221ffaefc169d028c7eab6f21ac88052d1d40 (diff) | |
| download | guess-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')
| -rw-r--r-- | ui-console/src/main/java/market/guess/ui/console/App.java | 6 | ||||
| -rw-r--r-- | ui-console/src/main/java/market/guess/ui/console/command/LoadFileMenuCommand.java | 2 | ||||
| -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; | |||
| 9 | import market.guess.service.catalog.infrastructure.mapper.v1.EventMapperV1; | 9 | import market.guess.service.catalog.infrastructure.mapper.v1.EventMapperV1; |
| 10 | import market.guess.service.catalog.infrastructure.provider.Loader; | 10 | import market.guess.service.catalog.infrastructure.provider.Loader; |
| 11 | import market.guess.service.catalog.infrastructure.provider.v1.XMLLoaderV1; | 11 | import market.guess.service.catalog.infrastructure.provider.v1.XMLLoaderV1; |
| 12 | import market.guess.service.catalog.infrastructure.provider.v1.XMLValidatorV1; | ||
| 12 | import market.guess.service.catalog.infrastructure.repository.EventRepository; | 13 | import market.guess.service.catalog.infrastructure.repository.EventRepository; |
| 13 | import market.guess.service.catalog.infrastructure.repository.InMemoryEventRepository; | 14 | import market.guess.service.catalog.infrastructure.repository.InMemoryEventRepository; |
| 14 | import market.guess.service.catalog.infrastructure.repository.InMemoryUserRepository; | 15 | import market.guess.service.catalog.infrastructure.repository.InMemoryUserRepository; |
| @@ -22,12 +23,12 @@ import market.guess.service.risk.LocalRiskEngine; | |||
| 22 | import market.guess.service.risk.RiskEngine; | 23 | import market.guess.service.risk.RiskEngine; |
| 23 | import market.guess.service.settlement.LocalSettlementContext; | 24 | import market.guess.service.settlement.LocalSettlementContext; |
| 24 | import market.guess.service.settlement.SettlementContext; | 25 | import market.guess.service.settlement.SettlementContext; |
| 25 | import market.guess.ui.console.command.BuyMenuCommand; | ||
| 26 | import market.guess.ui.console.command.EventDetailsMenuCommand; | 26 | import market.guess.ui.console.command.EventDetailsMenuCommand; |
| 27 | import market.guess.ui.console.command.ExitMenuCommand; | 27 | import market.guess.ui.console.command.ExitMenuCommand; |
| 28 | import market.guess.ui.console.command.ListEventsMenuCommand; | 28 | import market.guess.ui.console.command.ListEventsMenuCommand; |
| 29 | import market.guess.ui.console.command.LoadFileMenuCommand; | 29 | import market.guess.ui.console.command.LoadFileMenuCommand; |
| 30 | import market.guess.ui.console.command.LoadMarketStateMenuCommand; | 30 | import market.guess.ui.console.command.LoadMarketStateMenuCommand; |
| 31 | import market.guess.ui.console.command.PlaceOrderMenuCommand; | ||
| 31 | import market.guess.ui.console.command.SaveMarketStateMenuCommand; | 32 | import market.guess.ui.console.command.SaveMarketStateMenuCommand; |
| 32 | import market.guess.ui.console.command.SettleEventMenuCommand; | 33 | import market.guess.ui.console.command.SettleEventMenuCommand; |
| 33 | import market.guess.ui.console.io.InputProcessor; | 34 | import 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; | |||
| 6 | import market.guess.model.event.EventStatus; | 6 | import market.guess.model.event.EventStatus; |
| 7 | import market.guess.ui.console.io.InputProcessor; | 7 | import market.guess.ui.console.io.InputProcessor; |
| 8 | 8 | ||
| 9 | public final class BuyMenuCommand implements MenuCommand { | 9 | public 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 |