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);
});
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 {
}
}
+ 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);