diff --git a/examples/ioservice-replacing-example/pom.xml b/examples/ioservice-replacing-example/pom.xml index a20e6db8..8e00cf54 100644 --- a/examples/ioservice-replacing-example/pom.xml +++ b/examples/ioservice-replacing-example/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 2.3.3.RELEASE + 2.4.1 diff --git a/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/console/ConsoleIOService.java b/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/console/ConsoleIOService.java index bdf68124..96de0884 100644 --- a/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/console/ConsoleIOService.java +++ b/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/console/ConsoleIOService.java @@ -1,9 +1,11 @@ package ru.otus.ioservice.example.console; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; import ru.otus.ioservice.example.api.IOService; +import java.io.InputStream; import java.io.PrintStream; import java.util.Scanner; @@ -14,9 +16,10 @@ public class ConsoleIOService implements IOService { private final Scanner sc; - public ConsoleIOService() { - this.out = System.out; - this.sc = new Scanner(System.in); + public ConsoleIOService(@Value("#{T(java.lang.System).out}") PrintStream out, + @Value("#{T(java.lang.System).in}")InputStream in) { + this.out = out; + this.sc = new Scanner(in); } @Override diff --git a/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/poll/PollService.java b/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/poll/PollService.java index 35382eb0..169885ea 100644 --- a/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/poll/PollService.java +++ b/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/poll/PollService.java @@ -11,7 +11,7 @@ public class PollService { private final IOService ioService; public void poll() { - System.out.println("Началось!"); + ioService.out("Началось!"); ioService.out("Как вас зовут?"); String name = ioService.readString(); diff --git a/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/MessageSystem.java b/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/MessageSystem.java index 492a8460..5e4ce866 100644 --- a/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/MessageSystem.java +++ b/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/MessageSystem.java @@ -9,31 +9,31 @@ import java.util.concurrent.LinkedBlockingQueue; @ConditionalOnBean(SwingIOService.class) @Service public class MessageSystem { - private final LinkedBlockingQueue pollQueue; - private final LinkedBlockingQueue uiQueue; + private final LinkedBlockingQueue inputQueue; + private final LinkedBlockingQueue outputQueue; public MessageSystem() { - pollQueue = new LinkedBlockingQueue<>(); - uiQueue = new LinkedBlockingQueue<>(); + inputQueue = new LinkedBlockingQueue<>(); + outputQueue = new LinkedBlockingQueue<>(); } @SneakyThrows - public void putToPollQueue(String message) { - pollQueue.put(message); + public void putToInputQueue(String message) { + inputQueue.put(message); } @SneakyThrows - public void putToUiQueue(String message) { - uiQueue.put(message); + public void putToOutputQueue(String message) { + outputQueue.put(message); } @SneakyThrows - public String takeFromPollQueue() { - return pollQueue.take(); + public String takeFromInputQueue() { + return inputQueue.take(); } @SneakyThrows - public String takeFromUiQueue() { - return uiQueue.take(); + public String takeFromOutputQueue() { + return outputQueue.take(); } } diff --git a/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/PollMainForm.java b/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/PollMainForm.java index ef10492f..90ce379b 100644 --- a/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/PollMainForm.java +++ b/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/PollMainForm.java @@ -14,6 +14,8 @@ import java.util.concurrent.atomic.AtomicBoolean; @RequiredArgsConstructor public class PollMainForm extends JFrame { + private static final int MESSAGE_DISPLAY_DURATION = 1500; + private final JPanel contentPane; private final JLabel inLabel; private final JTextField outTextField; @@ -51,7 +53,7 @@ public class PollMainForm extends JFrame { contentPane.add(outTextField); outBtn = new JButton("Ответить"); - outBtn.addActionListener(e -> ms.putToPollQueue(outTextField.getText())); + outBtn.addActionListener(e -> ms.putToInputQueue(outTextField.getText())); contentPane.add(outBtn); setOnCloseHandler(); setSize(450, 180); @@ -67,11 +69,11 @@ public class PollMainForm extends JFrame { uiFlow.execute(() -> { while (runFlag.get()) { try { - String msg = ms.takeFromUiQueue(); + String msg = ms.takeFromOutputQueue(); synchronized (inLabel) { inLabel.setText(msg); } - Thread.sleep(1000); + Thread.sleep(MESSAGE_DISPLAY_DURATION); } catch (InterruptedException e) { return; } @@ -85,7 +87,7 @@ public class PollMainForm extends JFrame { @Override public void windowClosing(WindowEvent e) { runFlag.set(false); - ms.putToUiQueue("exit"); + ms.putToOutputQueue("exit"); uiFlow.shutdown(); e.getWindow().dispose(); } diff --git a/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/SwingIOService.java b/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/SwingIOService.java index 324f8b97..f14fef19 100644 --- a/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/SwingIOService.java +++ b/examples/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/SwingIOService.java @@ -15,12 +15,12 @@ public class SwingIOService implements IOService { @SneakyThrows @Override public void out(String message) { - ms.putToUiQueue(message); + ms.putToOutputQueue(message); } @SneakyThrows @Override public String readString() { - return ms.takeFromPollQueue(); + return ms.takeFromInputQueue(); } } diff --git a/examples/unit-testing-pure-spring-parallel/pom.xml b/examples/unit-testing-pure-spring-parallel/pom.xml index 836c52c1..5397be31 100644 --- a/examples/unit-testing-pure-spring-parallel/pom.xml +++ b/examples/unit-testing-pure-spring-parallel/pom.xml @@ -14,7 +14,7 @@ 11 11 1.18.16 - 5.3.1 + 5.3.2 5.7.0 3.6.28 3.18.1