Move interrupt message to ShellMessageBuilder

- Relates #761
This commit is contained in:
Janne Valkealahti
2023-08-30 09:18:17 +03:00
parent a3ca69bc72
commit aa3c580220
3 changed files with 14 additions and 12 deletions

View File

@@ -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<String> msg = ShellMessageBuilder.withPayload("int")
.setEventType(EventLoop.Type.SYSTEM)
.setPriority(0)
.build();
eventLoop.dispatch(msg);
eventLoop.dispatch(ShellMessageBuilder.ofInterrupt());
}
}

View File

@@ -71,6 +71,18 @@ public final class ShellMessageBuilder<T> {
.build();
}
/**
* Create a {@code interrupt} message.
*
* @return a interrupt message
*/
public static Message<String> ofInterrupt() {
return new ShellMessageBuilder<>("int", null)
.setEventType(EventLoop.Type.SYSTEM)
.setPriority(0)
.build();
}
/**
* Create a message of a {@link MouseEvent}.
*

View File

@@ -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<String> msg = ShellMessageBuilder.withPayload("int")
.setEventType(EventLoop.Type.SYSTEM)
.setPriority(0)
.build();
eventLoop.dispatch(msg);
eventLoop.dispatch(ShellMessageBuilder.ofInterrupt());
}
/**