From c41ff152c27a0fb3438e41cb02ce2f4469cc68d4 Mon Sep 17 00:00:00 2001 From: stvort Date: Mon, 5 May 2025 22:54:33 +0400 Subject: [PATCH] examples update 2 --- .../example/swing/MessageSystem.java | 28 +++++++++++-------- .../example/swing/SwingIOService.java | 3 -- .../ioservice/example/swing/UIConfig.java | 4 ++- .../test/java/ru.otus.hw/CommonHwTest.java | 1 - 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/examples/_for-qa-lesson/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/MessageSystem.java b/examples/_for-qa-lesson/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/MessageSystem.java index 5e4ce866..2cce1669 100644 --- a/examples/_for-qa-lesson/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/MessageSystem.java +++ b/examples/_for-qa-lesson/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/MessageSystem.java @@ -1,39 +1,45 @@ package ru.otus.ioservice.example.swing; -import lombok.SneakyThrows; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.stereotype.Service; +import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; @ConditionalOnBean(SwingIOService.class) @Service public class MessageSystem { - private final LinkedBlockingQueue inputQueue; - private final LinkedBlockingQueue outputQueue; + private final BlockingQueue inputQueue; + private final BlockingQueue outputQueue; public MessageSystem() { inputQueue = new LinkedBlockingQueue<>(); outputQueue = new LinkedBlockingQueue<>(); } - @SneakyThrows public void putToInputQueue(String message) { - inputQueue.put(message); + //noinspection ResultOfMethodCallIgnored + inputQueue.offer(message); } - @SneakyThrows public void putToOutputQueue(String message) { - outputQueue.put(message); + //noinspection ResultOfMethodCallIgnored + outputQueue.offer(message); } - @SneakyThrows public String takeFromInputQueue() { - return inputQueue.take(); + return takeFromQueue(inputQueue); } - @SneakyThrows public String takeFromOutputQueue() { - return outputQueue.take(); + return takeFromQueue(outputQueue); + } + + private String takeFromQueue(BlockingQueue queue) { + try { + return queue.take(); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } } } diff --git a/examples/_for-qa-lesson/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/SwingIOService.java b/examples/_for-qa-lesson/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/SwingIOService.java index ff9f56f1..3b90d3dd 100644 --- a/examples/_for-qa-lesson/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/SwingIOService.java +++ b/examples/_for-qa-lesson/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/SwingIOService.java @@ -1,7 +1,6 @@ package ru.otus.ioservice.example.swing; import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; import ru.otus.ioservice.example.api.IOService; @@ -12,13 +11,11 @@ import ru.otus.ioservice.example.api.IOService; public class SwingIOService implements IOService { private final MessageSystem ms; - @SneakyThrows @Override public void out(String message) { ms.putToOutputQueue(message); } - @SneakyThrows @Override public String readString() { return ms.takeFromInputQueue(); diff --git a/examples/_for-qa-lesson/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/UIConfig.java b/examples/_for-qa-lesson/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/UIConfig.java index 909838da..6d29163e 100644 --- a/examples/_for-qa-lesson/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/UIConfig.java +++ b/examples/_for-qa-lesson/ioservice-replacing-example/src/main/java/ru/otus/ioservice/example/swing/UIConfig.java @@ -1,5 +1,6 @@ package ru.otus.ioservice.example.swing; +import lombok.extern.slf4j.Slf4j; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; @@ -8,6 +9,7 @@ import ru.otus.ioservice.example.poll.PollService; import java.awt.*; +@Slf4j @ConditionalOnProperty(name = "use.console", havingValue = "false") @Configuration public class UIConfig { @@ -20,7 +22,7 @@ public class UIConfig { PollMainForm mainForm = new PollMainForm(ms); mainForm.init(); } catch (Exception e) { - e.printStackTrace(); + log.error("Error during main form initialization", e); } }); pollService.poll(); diff --git a/templates/hw02-annotation-config/src/test/java/ru.otus.hw/CommonHwTest.java b/templates/hw02-annotation-config/src/test/java/ru.otus.hw/CommonHwTest.java index d126ebbd..2b7c00cc 100644 --- a/templates/hw02-annotation-config/src/test/java/ru.otus.hw/CommonHwTest.java +++ b/templates/hw02-annotation-config/src/test/java/ru.otus.hw/CommonHwTest.java @@ -19,7 +19,6 @@ class CommonHwTest { private static final String CONFIGURATION_ANNOTATION_NAME = "org.springframework.context.annotation.Configuration"; - @DisplayName("") @Test void shouldNotContainConfigurationAnnotationAboveItSelf() { assertThat(AppProperties.class.isAnnotationPresent(Configuration.class))