From 9dd3ec7ff11839503e4d5ef6639d0faa21403095 Mon Sep 17 00:00:00 2001 From: Kostya Date: Thu, 13 Aug 2026 15:39:56 +0000 Subject: Move I/O provider abstraction to ui-console, add ledger/account/problem DTOs InputProvider/OutputProvider were api-layer types only ever implemented by the console UI; relocate them there. Drop the unused GuessMarketEngine/LocalGuessMarketService pair, flesh out LoadResultDTO with success/failure variants, and make LocalGuessMarketContext.LoadAsync report real outcomes instead of an empty placeholder. --- .../main/java/market/guess/ui/console/ConsoleInputProvider.java | 1 - .../java/market/guess/ui/console/ConsoleInputProviderFactory.java | 3 --- .../main/java/market/guess/ui/console/ConsoleOutputProvider.java | 2 -- .../java/market/guess/ui/console/ConsoleOutputProviderFactory.java | 3 --- .../src/main/java/market/guess/ui/console/InputProvider.java | 5 +++++ .../main/java/market/guess/ui/console/InputProviderFactory.java | 5 +++++ ui-console/src/main/java/market/guess/ui/console/Menu.java | 2 -- .../src/main/java/market/guess/ui/console/OutputProvider.java | 7 +++++++ .../main/java/market/guess/ui/console/OutputProviderFactory.java | 5 +++++ 9 files changed, 22 insertions(+), 11 deletions(-) create mode 100644 ui-console/src/main/java/market/guess/ui/console/InputProvider.java create mode 100644 ui-console/src/main/java/market/guess/ui/console/InputProviderFactory.java create mode 100644 ui-console/src/main/java/market/guess/ui/console/OutputProvider.java create mode 100644 ui-console/src/main/java/market/guess/ui/console/OutputProviderFactory.java (limited to 'ui-console/src/main/java/market/guess/ui/console') diff --git a/ui-console/src/main/java/market/guess/ui/console/ConsoleInputProvider.java b/ui-console/src/main/java/market/guess/ui/console/ConsoleInputProvider.java index 71de3be..38b02a9 100644 --- a/ui-console/src/main/java/market/guess/ui/console/ConsoleInputProvider.java +++ b/ui-console/src/main/java/market/guess/ui/console/ConsoleInputProvider.java @@ -1,7 +1,6 @@ package market.guess.ui.console; import java.util.Scanner; -import market.guess.InputProvider; public class ConsoleInputProvider implements InputProvider { private final Scanner scanner = new Scanner(System.in); diff --git a/ui-console/src/main/java/market/guess/ui/console/ConsoleInputProviderFactory.java b/ui-console/src/main/java/market/guess/ui/console/ConsoleInputProviderFactory.java index d122549..a7433b7 100644 --- a/ui-console/src/main/java/market/guess/ui/console/ConsoleInputProviderFactory.java +++ b/ui-console/src/main/java/market/guess/ui/console/ConsoleInputProviderFactory.java @@ -1,8 +1,5 @@ package market.guess.ui.console; -import market.guess.InputProvider; -import market.guess.InputProviderFactory; - public class ConsoleInputProviderFactory implements InputProviderFactory { @Override diff --git a/ui-console/src/main/java/market/guess/ui/console/ConsoleOutputProvider.java b/ui-console/src/main/java/market/guess/ui/console/ConsoleOutputProvider.java index eb9f31b..84017ac 100644 --- a/ui-console/src/main/java/market/guess/ui/console/ConsoleOutputProvider.java +++ b/ui-console/src/main/java/market/guess/ui/console/ConsoleOutputProvider.java @@ -1,7 +1,5 @@ package market.guess.ui.console; -import market.guess.OutputProvider; - public class ConsoleOutputProvider implements OutputProvider { @Override diff --git a/ui-console/src/main/java/market/guess/ui/console/ConsoleOutputProviderFactory.java b/ui-console/src/main/java/market/guess/ui/console/ConsoleOutputProviderFactory.java index 6db91fc..3665df3 100644 --- a/ui-console/src/main/java/market/guess/ui/console/ConsoleOutputProviderFactory.java +++ b/ui-console/src/main/java/market/guess/ui/console/ConsoleOutputProviderFactory.java @@ -1,8 +1,5 @@ package market.guess.ui.console; -import market.guess.OutputProvider; -import market.guess.OutputProviderFactory; - public class ConsoleOutputProviderFactory implements OutputProviderFactory { @Override diff --git a/ui-console/src/main/java/market/guess/ui/console/InputProvider.java b/ui-console/src/main/java/market/guess/ui/console/InputProvider.java new file mode 100644 index 0000000..3579b4a --- /dev/null +++ b/ui-console/src/main/java/market/guess/ui/console/InputProvider.java @@ -0,0 +1,5 @@ +package market.guess.ui.console; + +public interface InputProvider extends AutoCloseable { + int nextInt(); +} diff --git a/ui-console/src/main/java/market/guess/ui/console/InputProviderFactory.java b/ui-console/src/main/java/market/guess/ui/console/InputProviderFactory.java new file mode 100644 index 0000000..dcbb1c6 --- /dev/null +++ b/ui-console/src/main/java/market/guess/ui/console/InputProviderFactory.java @@ -0,0 +1,5 @@ +package market.guess.ui.console; + +public interface InputProviderFactory { + InputProvider create(); +} diff --git a/ui-console/src/main/java/market/guess/ui/console/Menu.java b/ui-console/src/main/java/market/guess/ui/console/Menu.java index a5217a4..4bf8929 100644 --- a/ui-console/src/main/java/market/guess/ui/console/Menu.java +++ b/ui-console/src/main/java/market/guess/ui/console/Menu.java @@ -1,7 +1,5 @@ package market.guess.ui.console; -import market.guess.OutputProvider; -import market.guess.OutputProviderFactory; import org.picocontainer.Startable; public class Menu implements Startable { diff --git a/ui-console/src/main/java/market/guess/ui/console/OutputProvider.java b/ui-console/src/main/java/market/guess/ui/console/OutputProvider.java new file mode 100644 index 0000000..57ff001 --- /dev/null +++ b/ui-console/src/main/java/market/guess/ui/console/OutputProvider.java @@ -0,0 +1,7 @@ +package market.guess.ui.console; + +public interface OutputProvider { + void print(Object object); + + void println(Object object); +} diff --git a/ui-console/src/main/java/market/guess/ui/console/OutputProviderFactory.java b/ui-console/src/main/java/market/guess/ui/console/OutputProviderFactory.java new file mode 100644 index 0000000..6d6601f --- /dev/null +++ b/ui-console/src/main/java/market/guess/ui/console/OutputProviderFactory.java @@ -0,0 +1,5 @@ +package market.guess.ui.console; + +public interface OutputProviderFactory { + OutputProvider create(); +} -- cgit v1.2.3