From 34deee1c5ef2df5ba2514f77ec4dfd4a684a9d13 Mon Sep 17 00:00:00 2001 From: Kostya Date: Sun, 9 Aug 2026 14:46:25 +0300 Subject: flatten modules to repo root, vendor deps, repair Eclipse build paths Move api, engine, ui-console and ui-desktop out of modules/ up to the repo root and drop the empty exception project (GuessMarketException now lives in api). Vendor gson, jaxb, okhttp, openjfx and tomcat under lib/, and group the JUnit standalone jar into lib/junit/ alongside them. Rewrite every .classpath: drop the copy-pasted optional="true" that was masking real build path errors, point the library entries at ../lib/, and put the JUnit jar on the test source folders so the placeholder AppTest classes compile. ui-desktop: take the JavaFX jars off the modulepath (there is no module-info.java, so module="true" left the packages unresolvable) and add a Launcher that calls Application.launch, avoiding the "JavaFX runtime components are missing" check without VM arguments. engine: add LocalGuessMarketService and the GuessMarketContext provider interface, and give GuessMarketException the no-arg and cause constructors they need. --- .../market/guess/engine/GuessMarketEngine.java | 7 ++++ .../guess/engine/LocalGuessMarketService.java | 18 +++++++++++ .../java/market/guess/engine/TradingMechanism.java | 15 +++++++++ .../engine/mechanism/LmsrTradingMechanism.java | 37 ++++++++++++++++++++++ .../guess/engine/mechanism/OrderBookMechanism.java | 37 ++++++++++++++++++++++ .../guess/engine/provider/GuessMarketContext.java | 17 ++++++++++ 6 files changed, 131 insertions(+) create mode 100644 engine/src/main/java/market/guess/engine/GuessMarketEngine.java create mode 100644 engine/src/main/java/market/guess/engine/LocalGuessMarketService.java create mode 100644 engine/src/main/java/market/guess/engine/TradingMechanism.java create mode 100644 engine/src/main/java/market/guess/engine/mechanism/LmsrTradingMechanism.java create mode 100644 engine/src/main/java/market/guess/engine/mechanism/OrderBookMechanism.java create mode 100644 engine/src/main/java/market/guess/engine/provider/GuessMarketContext.java (limited to 'engine/src/main/java') diff --git a/engine/src/main/java/market/guess/engine/GuessMarketEngine.java b/engine/src/main/java/market/guess/engine/GuessMarketEngine.java new file mode 100644 index 0000000..aab3cf4 --- /dev/null +++ b/engine/src/main/java/market/guess/engine/GuessMarketEngine.java @@ -0,0 +1,7 @@ +package market.guess.engine; + +import market.guess.api.LoadResultDTO; + +public interface GuessMarketEngine { + LoadResultDTO loadEvents(); +} diff --git a/engine/src/main/java/market/guess/engine/LocalGuessMarketService.java b/engine/src/main/java/market/guess/engine/LocalGuessMarketService.java new file mode 100644 index 0000000..5a16750 --- /dev/null +++ b/engine/src/main/java/market/guess/engine/LocalGuessMarketService.java @@ -0,0 +1,18 @@ +package market.guess.engine; + +import market.guess.api.LoadResultDTO; +import market.guess.engine.provider.GuessMarketContext; + +public class LocalGuessMarketService implements GuessMarketEngine { + private final GuessMarketContext context; + + public LocalGuessMarketService(GuessMarketContext context) { + super(); + this.context = context; + } + + @Override + public LoadResultDTO loadEvents() { + return context.LoadAsync(); + } +} diff --git a/engine/src/main/java/market/guess/engine/TradingMechanism.java b/engine/src/main/java/market/guess/engine/TradingMechanism.java new file mode 100644 index 0000000..2f97a2f --- /dev/null +++ b/engine/src/main/java/market/guess/engine/TradingMechanism.java @@ -0,0 +1,15 @@ +package market.guess.engine; + +import java.math.BigDecimal; + +public interface TradingMechanism { + BigDecimal initialCost(); + + void onOpen(); + + void submit(); + + void marketState(); + + void settle(); +} diff --git a/engine/src/main/java/market/guess/engine/mechanism/LmsrTradingMechanism.java b/engine/src/main/java/market/guess/engine/mechanism/LmsrTradingMechanism.java new file mode 100644 index 0000000..99a26ab --- /dev/null +++ b/engine/src/main/java/market/guess/engine/mechanism/LmsrTradingMechanism.java @@ -0,0 +1,37 @@ +package market.guess.engine.mechanism; + +import java.math.BigDecimal; +import market.guess.engine.TradingMechanism; + +public class LmsrTradingMechanism implements TradingMechanism { + + @Override + public BigDecimal initialCost() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'initialCost'"); + } + + @Override + public void onOpen() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'onOpen'"); + } + + @Override + public void submit() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'submit'"); + } + + @Override + public void marketState() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'marketState'"); + } + + @Override + public void settle() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'settle'"); + } +} diff --git a/engine/src/main/java/market/guess/engine/mechanism/OrderBookMechanism.java b/engine/src/main/java/market/guess/engine/mechanism/OrderBookMechanism.java new file mode 100644 index 0000000..be675ba --- /dev/null +++ b/engine/src/main/java/market/guess/engine/mechanism/OrderBookMechanism.java @@ -0,0 +1,37 @@ +package market.guess.engine.mechanism; + +import java.math.BigDecimal; +import market.guess.engine.TradingMechanism; + +public class OrderBookMechanism implements TradingMechanism { + + @Override + public BigDecimal initialCost() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'initialCost'"); + } + + @Override + public void onOpen() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'onOpen'"); + } + + @Override + public void submit() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'submit'"); + } + + @Override + public void marketState() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'marketState'"); + } + + @Override + public void settle() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'settle'"); + } +} diff --git a/engine/src/main/java/market/guess/engine/provider/GuessMarketContext.java b/engine/src/main/java/market/guess/engine/provider/GuessMarketContext.java new file mode 100644 index 0000000..2306c93 --- /dev/null +++ b/engine/src/main/java/market/guess/engine/provider/GuessMarketContext.java @@ -0,0 +1,17 @@ +package market.guess.engine.provider; + +import market.guess.api.LoadResultDTO; + +public interface GuessMarketContext { + LoadResultDTO LoadAsync(); + + void SaveChangesAsync(); + + void GetAllEventsAsync(); + + void GetEventInfoByIdAsync(); + + void CreateEventAsync(); + + void UpdateEventAsync(); +} -- cgit v1.2.3