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. --- engine/.classpath | 18 +++++++++++ engine/.project | 28 ++++++++++++++++ .../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 ++++++++++ .../src/test/java/market/guess/engine/AppTest.java | 12 +++++++ 9 files changed, 189 insertions(+) create mode 100644 engine/.classpath create mode 100644 engine/.project 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 create mode 100644 engine/src/test/java/market/guess/engine/AppTest.java (limited to 'engine') diff --git a/engine/.classpath b/engine/.classpath new file mode 100644 index 0000000..df0a2ce --- /dev/null +++ b/engine/.classpath @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/engine/.project b/engine/.project new file mode 100644 index 0000000..943db42 --- /dev/null +++ b/engine/.project @@ -0,0 +1,28 @@ + + + gauss-market-engine + + + gauss-market-api + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.jdt.core.javanature + + + + 1784965956299 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + + 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(); +} diff --git a/engine/src/test/java/market/guess/engine/AppTest.java b/engine/src/test/java/market/guess/engine/AppTest.java new file mode 100644 index 0000000..0638bc1 --- /dev/null +++ b/engine/src/test/java/market/guess/engine/AppTest.java @@ -0,0 +1,12 @@ +package market.guess.engine; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.Test; + +public class AppTest { + @Test + void deterministicTest() { + assertTrue(true); + } +} -- cgit v1.2.3