From: David Roden Date: Sun, 26 Jan 2025 20:58:30 +0000 (+0100) Subject: ♻️ Extract method to create JSON object for window X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=80535ee8f90fc374a6c8d5b2b3ea08cc014b586c;p=msta.git ♻️ Extract method to create JSON object for window --- diff --git a/server/src/main/java/de/qsheltier/msta/Server.java b/server/src/main/java/de/qsheltier/msta/Server.java index bd7fd3f..f64c852 100644 --- a/server/src/main/java/de/qsheltier/msta/Server.java +++ b/server/src/main/java/de/qsheltier/msta/Server.java @@ -135,7 +135,7 @@ public class Server implements Closeable { var newWindows = currentlyOpenWindows.stream().filter(window -> !windows.containsValue(window)).toList(); newWindows.forEach(newWindow -> { synchronized (outputWriters) { - outputWriters.forEach(writeLine -> writeLine.accept(createEvent("window-opened", objectMapper.createObjectNode().put("id", newWindow.getName()).put("is-frame", newWindow instanceof Frame)))); + outputWriters.forEach(writeLine -> writeLine.accept(createEvent("window-opened", getWindowObject(newWindow)))); } windows.put(newWindow.getName(), newWindow); }); @@ -170,7 +170,7 @@ public class Server implements Closeable { if (words.getFirst().equalsIgnoreCase("info") && (words.size() == 3) && words.get(1).equalsIgnoreCase("window")) { var windowName = words.get(2); stream(Window.getWindows()).filter(window -> window.getName().equals(windowName)) - .forEach(window -> writeLine.accept(createMessage(objectMapper.createObjectNode().put("info", "window").put("id", window.getName())))); + .forEach(window -> writeLine.accept(createMessage(getWindowObject(window).put("info", "window")))); } } } finally { @@ -181,6 +181,13 @@ public class Server implements Closeable { } } + private ObjectNode getWindowObject(Window window) { + var windowNode = objectMapper.createObjectNode(); + windowNode.put("id", window.getName()); + windowNode.put("is-frame", window instanceof Frame); + return windowNode; + } + private String createEvent(String name, ObjectNode parameters) { parameters.put("event", name); return createMessage(parameters);