aboutsummaryrefslogtreecommitdiffstats
path: root/engine/src/main/java
diff options
context:
space:
mode:
authorKostya <mail@sartin.in>2026-08-09 14:46:25 +0300
committerKostya <mail@sartin.in>2026-08-09 14:46:25 +0300
commit34deee1c5ef2df5ba2514f77ec4dfd4a684a9d13 (patch)
tree17d9c867856ff9f1de4a59f63c13d6abf0ecb31e /engine/src/main/java
parent18a9b6e4f3c9f7e034a0c174a5e2cd6c043ee169 (diff)
downloadguess-market-34deee1c5ef2df5ba2514f77ec4dfd4a684a9d13.tar.gz
guess-market-34deee1c5ef2df5ba2514f77ec4dfd4a684a9d13.tar.xz
guess-market-34deee1c5ef2df5ba2514f77ec4dfd4a684a9d13.zip
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.
Diffstat (limited to 'engine/src/main/java')
-rw-r--r--engine/src/main/java/market/guess/engine/GuessMarketEngine.java7
-rw-r--r--engine/src/main/java/market/guess/engine/LocalGuessMarketService.java18
-rw-r--r--engine/src/main/java/market/guess/engine/TradingMechanism.java15
-rw-r--r--engine/src/main/java/market/guess/engine/mechanism/LmsrTradingMechanism.java37
-rw-r--r--engine/src/main/java/market/guess/engine/mechanism/OrderBookMechanism.java37
-rw-r--r--engine/src/main/java/market/guess/engine/provider/GuessMarketContext.java17
6 files changed, 131 insertions, 0 deletions
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 @@
1package market.guess.engine;
2
3import market.guess.api.LoadResultDTO;
4
5public interface GuessMarketEngine {
6 LoadResultDTO loadEvents();
7}
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 @@
1package market.guess.engine;
2
3import market.guess.api.LoadResultDTO;
4import market.guess.engine.provider.GuessMarketContext;
5
6public class LocalGuessMarketService implements GuessMarketEngine {
7 private final GuessMarketContext context;
8
9 public LocalGuessMarketService(GuessMarketContext context) {
10 super();
11 this.context = context;
12 }
13
14 @Override
15 public LoadResultDTO loadEvents() {
16 return context.LoadAsync();
17 }
18}
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 @@
1package market.guess.engine;
2
3import java.math.BigDecimal;
4
5public interface TradingMechanism {
6 BigDecimal initialCost();
7
8 void onOpen();
9
10 void submit();
11
12 void marketState();
13
14 void settle();
15}
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 @@
1package market.guess.engine.mechanism;
2
3import java.math.BigDecimal;
4import market.guess.engine.TradingMechanism;
5
6public class LmsrTradingMechanism implements TradingMechanism {
7
8 @Override
9 public BigDecimal initialCost() {
10 // TODO Auto-generated method stub
11 throw new UnsupportedOperationException("Unimplemented method 'initialCost'");
12 }
13
14 @Override
15 public void onOpen() {
16 // TODO Auto-generated method stub
17 throw new UnsupportedOperationException("Unimplemented method 'onOpen'");
18 }
19
20 @Override
21 public void submit() {
22 // TODO Auto-generated method stub
23 throw new UnsupportedOperationException("Unimplemented method 'submit'");
24 }
25
26 @Override
27 public void marketState() {
28 // TODO Auto-generated method stub
29 throw new UnsupportedOperationException("Unimplemented method 'marketState'");
30 }
31
32 @Override
33 public void settle() {
34 // TODO Auto-generated method stub
35 throw new UnsupportedOperationException("Unimplemented method 'settle'");
36 }
37}
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 @@
1package market.guess.engine.mechanism;
2
3import java.math.BigDecimal;
4import market.guess.engine.TradingMechanism;
5
6public class OrderBookMechanism implements TradingMechanism {
7
8 @Override
9 public BigDecimal initialCost() {
10 // TODO Auto-generated method stub
11 throw new UnsupportedOperationException("Unimplemented method 'initialCost'");
12 }
13
14 @Override
15 public void onOpen() {
16 // TODO Auto-generated method stub
17 throw new UnsupportedOperationException("Unimplemented method 'onOpen'");
18 }
19
20 @Override
21 public void submit() {
22 // TODO Auto-generated method stub
23 throw new UnsupportedOperationException("Unimplemented method 'submit'");
24 }
25
26 @Override
27 public void marketState() {
28 // TODO Auto-generated method stub
29 throw new UnsupportedOperationException("Unimplemented method 'marketState'");
30 }
31
32 @Override
33 public void settle() {
34 // TODO Auto-generated method stub
35 throw new UnsupportedOperationException("Unimplemented method 'settle'");
36 }
37}
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 @@
1package market.guess.engine.provider;
2
3import market.guess.api.LoadResultDTO;
4
5public interface GuessMarketContext {
6 LoadResultDTO LoadAsync();
7
8 void SaveChangesAsync();
9
10 void GetAllEventsAsync();
11
12 void GetEventInfoByIdAsync();
13
14 void CreateEventAsync();
15
16 void UpdateEventAsync();
17}