From aa3c5802201ac9ddf1a091f74dfd925c6823e831 Mon Sep 17 00:00:00 2001 From: Janne Valkealahti Date: Wed, 30 Aug 2023 09:18:17 +0300 Subject: [PATCH] Move interrupt message to ShellMessageBuilder - Relates #761 --- .../shell/component/ViewComponent.java | 7 +------ .../component/view/message/ShellMessageBuilder.java | 12 ++++++++++++ .../shell/samples/catalog/Catalog.java | 7 +------ 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/spring-shell-core/src/main/java/org/springframework/shell/component/ViewComponent.java b/spring-shell-core/src/main/java/org/springframework/shell/component/ViewComponent.java index 0d729705..fcbdfb09 100644 --- a/spring-shell-core/src/main/java/org/springframework/shell/component/ViewComponent.java +++ b/spring-shell-core/src/main/java/org/springframework/shell/component/ViewComponent.java @@ -17,7 +17,6 @@ package org.springframework.shell.component; import org.jline.terminal.Terminal; -import org.springframework.messaging.Message; import org.springframework.shell.component.view.TerminalUI; import org.springframework.shell.component.view.control.View; import org.springframework.shell.component.view.control.ViewDoneEvent; @@ -66,11 +65,7 @@ public class ViewComponent { if (eventLoop == null) { return; } - Message msg = ShellMessageBuilder.withPayload("int") - .setEventType(EventLoop.Type.SYSTEM) - .setPriority(0) - .build(); - eventLoop.dispatch(msg); + eventLoop.dispatch(ShellMessageBuilder.ofInterrupt()); } } diff --git a/spring-shell-core/src/main/java/org/springframework/shell/component/view/message/ShellMessageBuilder.java b/spring-shell-core/src/main/java/org/springframework/shell/component/view/message/ShellMessageBuilder.java index b3cb9a3f..2ebc25d0 100644 --- a/spring-shell-core/src/main/java/org/springframework/shell/component/view/message/ShellMessageBuilder.java +++ b/spring-shell-core/src/main/java/org/springframework/shell/component/view/message/ShellMessageBuilder.java @@ -71,6 +71,18 @@ public final class ShellMessageBuilder { .build(); } + /** + * Create a {@code interrupt} message. + * + * @return a interrupt message + */ + public static Message ofInterrupt() { + return new ShellMessageBuilder<>("int", null) + .setEventType(EventLoop.Type.SYSTEM) + .setPriority(0) + .build(); + } + /** * Create a message of a {@link MouseEvent}. * diff --git a/spring-shell-samples/spring-shell-sample-catalog/src/main/java/org/springframework/shell/samples/catalog/Catalog.java b/spring-shell-samples/spring-shell-sample-catalog/src/main/java/org/springframework/shell/samples/catalog/Catalog.java index 3a4da430..16377966 100644 --- a/spring-shell-samples/spring-shell-sample-catalog/src/main/java/org/springframework/shell/samples/catalog/Catalog.java +++ b/spring-shell-samples/spring-shell-sample-catalog/src/main/java/org/springframework/shell/samples/catalog/Catalog.java @@ -27,7 +27,6 @@ import org.slf4j.LoggerFactory; import org.springframework.core.ParameterizedTypeReference; import org.springframework.core.annotation.AnnotationUtils; -import org.springframework.messaging.Message; import org.springframework.shell.component.view.TerminalUI; import org.springframework.shell.component.view.control.AppView; import org.springframework.shell.component.view.control.AppView.AppViewEvent; @@ -116,11 +115,7 @@ public class Catalog { } private void requestQuit() { - Message msg = ShellMessageBuilder.withPayload("int") - .setEventType(EventLoop.Type.SYSTEM) - .setPriority(0) - .build(); - eventLoop.dispatch(msg); + eventLoop.dispatch(ShellMessageBuilder.ofInterrupt()); } /**